diff --git a/docs/google-docs/index.md b/docs/google-docs/index.md index 9dddec396d..79b32c4873 100644 --- a/docs/google-docs/index.md +++ b/docs/google-docs/index.md @@ -1,102 +1,100 @@ ---- -title: google -hide_title: false -hide_table_of_contents: false -keywords: - - google - - stackql - - infrastructure-as-code - - configuration-as-data - - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL -custom_edit_url: null -image: /img/providers/google/stackql-google-provider-featured-image.png -id: google-doc -slug: /providers/google ---- +--- +title: google +hide_title: false +hide_table_of_contents: false +keywords: + - google + - google cloud platform + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +id: google-doc +slug: /providers/google + +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; + +Cloud services from Google. -import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; - -Cloud computing services offered by Google. - -:::info Provider Summary (v24.06.00236) +:::info Provider Summary (v24.09.00251)
-total services: 163
-total methods: 8365
-
-
-total resources: 1706
-total selectable resources: 1438
+total services: 167
+total resources: 0
::: -See also: -[[` SHOW `]](https://stackql.io/docs/language-spec/show) [[` DESCRIBE `]](https://stackql.io/docs/language-spec/describe) [[` REGISTRY `]](https://stackql.io/docs/language-spec/registry) -* * * - -## Installation - -To pull the latest version of the `google` provider, run the following command: - -```bash -REGISTRY PULL google; -``` -> To view previous provider versions or to pull a specific provider version, see [here](https://stackql.io/docs/language-spec/registry). - -## Authentication - - -The following authentication methods are supported: -- -- for running interactive queries from Cloud Shell or other machines where the user is authenticated using - -> for more information on creating service accounts and key files, see [Service accounts overview](https://cloud.google.com/iam/docs/service-account-overview). - -### Service Account Environment Variable (default) - -The following system environment variable is used by default: - -- - contents of the google service account key json file. This variable is sourced at runtime (from the local machine using export GOOGLE_CREDENTIALS=cat creds/my-sa-key.json for example or as a CI variable/secret). - -This variable is sourced at runtime (from the local machine using `export GOOGLE_CREDENTIALS=$(cat creds/my-sa-key.json)` for example or as a CI variable/secret). - -
- -Specifying the service account key file location directly - -You can specify the path to the service account key file without using the default environment variable by using the flag of the stackql program. For example: - -```bash -AUTH='{ "google": { "type": "service_account", "credentialsfilepath": "creds/sa-key.json" }}' -stackql shell --auth="${AUTH}" -``` - -or using PowerShell: - -```powershell -$Auth = "{ 'google': { 'type': 'service_account', 'credentialsfilepath': 'creds/sa-key.json' }}" -stackql.exe shell --auth=$Auth -``` - -
- -### Interactive Authentication -When you are using Google Cloud Shell or on a machine where you have authenticated using , you can then use the following authentication method: - -```bash -AUTH='{ "google": { "type": "interactive" }}' -stackql shell --auth="${AUTH}" -``` - -or using PowerShell: - -```powershell -$Auth = "{ 'google': { 'type': 'interactive' }}" -stackql.exe shell --auth=$Auth +See also: +[[` SHOW `]](https://stackql.io/docs/language-spec/show) [[` DESCRIBE `]](https://stackql.io/docs/language-spec/describe) [[` REGISTRY `]](https://stackql.io/docs/language-spec/registry) +* * * + +## Installation + +To pull the latest version of the `google` provider, run the following command: + +```bash +REGISTRY PULL google; +``` +> To view previous provider versions or to pull a specific provider version, see [here](https://stackql.io/docs/language-spec/registry). + +## Authentication + + +The following authentication methods are supported: +- +- for running interactive queries from Cloud Shell or other machines where the user is authenticated using + +> for more information on creating service accounts and key files, see [Service accounts overview](https://cloud.google.com/iam/docs/service-account-overview). + +### Service Account Environment Variable (default) + +The following system environment variable is used by default: + +- - contents of the google service account key json file. This variable is sourced at runtime (from the local machine using export GOOGLE_CREDENTIALS=cat creds/my-sa-key.json for example or as a CI variable/secret). + +This variable is sourced at runtime (from the local machine using `export GOOGLE_CREDENTIALS=$(cat creds/my-sa-key.json)` for example or as a CI variable/secret). + +
+ +Specifying the service account key file location directly + +You can specify the path to the service account key file without using the default environment variable by using the flag of the stackql program. For example: + +```bash +AUTH='{ "google": { "type": "service_account", "credentialsfilepath": "creds/sa-key.json" }}' +stackql shell --auth="${AUTH}" +``` + +or using PowerShell: + +```powershell +$Auth = "{ 'google': { 'type': 'service_account', 'credentialsfilepath': 'creds/sa-key.json' }}" +stackql.exe shell --auth=$Auth +``` + +
+ +### Interactive Authentication +When you are using Google Cloud Shell or on a machine where you have authenticated using , you can then use the following authentication method: + +```bash +AUTH='{ "google": { "type": "interactive" }}' +stackql shell --auth="${AUTH}" +``` + +or using PowerShell: + +```powershell +$Auth = "{ 'google': { 'type': 'interactive' }}" +stackql.exe shell --auth=$Auth ``` ## Services @@ -107,12 +105,14 @@ stackql.exe shell --auth=$Auth addressvalidation
advisorynotifications
aiplatform
+airquality
alloydb
analyticshub
apigateway
apigee
apigeeregistry
apikeys
+apim
appengine
apphub
artifactregistry
@@ -190,6 +190,8 @@ stackql.exe shell --auth=$Auth healthcare
iam
iamcredentials
+iamv2
+iamv2beta
iap
identitytoolkit
ids
@@ -220,6 +222,7 @@ stackql.exe shell --auth=$Auth policyanalyzer
policysimulator
policytroubleshooter
+pollen
privateca
prod_tt_sasportal
publicca
@@ -244,7 +247,6 @@ stackql.exe shell --auth=$Auth servicenetworking
serviceusage
solar
-sourcerepo
spanner
speech
sqladmin
diff --git a/docs/google-docs/providers/google/accessapproval/access_approval_settings/index.md b/docs/google-docs/providers/google/accessapproval/access_approval_settings/index.md index 5d385e7c31..38005e3300 100644 --- a/docs/google-docs/providers/google/accessapproval/access_approval_settings/index.md +++ b/docs/google-docs/providers/google/accessapproval/access_approval_settings/index.md @@ -1,3 +1,4 @@ + --- title: access_approval_settings hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - access_approval_settings - accessapproval - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an access_approval_setting resource or lists access_approval_settings in a region ## Overview @@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The resource name of the settings. Format is one of: * "projects/{project}/accessApprovalSettings" * "folders/{folder}/accessApprovalSettings" * "organizations/{organization}/accessApprovalSettings" | +| | `string` | The resource name of the settings. Format is one of: * "projects/{project}/accessApprovalSettings" * "folders/{folder}/accessApprovalSettings" * "organizations/{organization}/accessApprovalSettings" | | | `string` | The asymmetric crypto key version to use for signing approval requests. Empty active_key_version indicates that a Google-managed key should be used for signing. This property will be ignored if set by an ancestor of this resource, and new non-empty values may not be set. | | | `boolean` | Output only. This field is read only (not settable via UpdateAccessApprovalSettings method). If the field is true, that indicates that an ancestor of this Project or Folder has set active_key_version (this field will always be unset for the organization since organizations do not have ancestors). | | | `boolean` | Output only. This field is read only (not settable via UpdateAccessApprovalSettings method). If the field is true, that indicates that at least one service is enrolled for Access Approval in one or more ancestors of the Project or Folder (this field will always be unset for the organization since organizations do not have ancestors). | @@ -40,7 +42,9 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Optional. A pubsub topic to which notifications relating to approval requests should be sent. | | | `boolean` | This preference is communicated to Google personnel when sending an approval request but can be overridden if necessary. | | | `integer` | This preference is shared with Google personnel, but can be overridden if said personnel deems necessary. The approver ultimately can set the expiration at approval time. | +| | `string` | Optional. A setting to indicate the maximum width of an Access Approval request. | | | `boolean` | Optional. A setting to require approval request justifications to be customer visible. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -50,6 +54,60 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `DELETE` | | Deletes the settings associated with a project, folder, or organization. This will have the effect of disabling Access Approval for the project, folder, or organization, but only if all ancestors also have Access Approval disabled. If Access Approval is enabled at a higher level of the hierarchy, then Access Approval will still be enabled at this level as the settings are inherited. | | | `DELETE` | | Deletes the settings associated with a project, folder, or organization. This will have the effect of disabling Access Approval for the project, folder, or organization, but only if all ancestors also have Access Approval disabled. If Access Approval is enabled at a higher level of the hierarchy, then Access Approval will still be enabled at this level as the settings are inherited. | | | `DELETE` | | Deletes the settings associated with a project, folder, or organization. This will have the effect of disabling Access Approval for the project, folder, or organization, but only if all ancestors also have Access Approval disabled. If Access Approval is enabled at a higher level of the hierarchy, then Access Approval will still be enabled at this level as the settings are inherited. | -| | `EXEC` | | Updates the settings associated with a project, folder, or organization. Settings to update are determined by the value of field_mask. | -| | `EXEC` | | Updates the settings associated with a project, folder, or organization. Settings to update are determined by the value of field_mask. | -| | `EXEC` | | Updates the settings associated with a project, folder, or organization. Settings to update are determined by the value of field_mask. | +| | `UPDATE` | | Updates the settings associated with a project, folder, or organization. Settings to update are determined by the value of field_mask. | +| | `UPDATE` | | Updates the settings associated with a project, folder, or organization. Settings to update are determined by the value of field_mask. | +| | `UPDATE` | | Updates the settings associated with a project, folder, or organization. Settings to update are determined by the value of field_mask. | + +## `SELECT` examples + +Gets the settings associated with a project, folder, or organization. + +```sql +SELECT +name, +activeKeyVersion, +ancestorHasActiveKeyVersion, +enrolledAncestor, +enrolledServices, +invalidKeyVersion, +notificationEmails, +notificationPubsubTopic, +preferNoBroadApprovalRequests, +preferredRequestExpirationDays, +requestScopeMaxWidthPreference, +requireCustomerVisibleJustification +FROM google.accessapproval.access_approval_settings +WHERE foldersId = '{{ foldersId }}'; +``` + +## `UPDATE` example + +Updates a access_approval_setting only if the necessary resources are available. + +```sql +UPDATE google.accessapproval.access_approval_settings +SET +name = '{{ name }}', +notificationEmails = '{{ notificationEmails }}', +enrolledServices = '{{ enrolledServices }}', +enrolledAncestor = true|false, +activeKeyVersion = '{{ activeKeyVersion }}', +ancestorHasActiveKeyVersion = true|false, +invalidKeyVersion = true|false, +preferredRequestExpirationDays = '{{ preferredRequestExpirationDays }}', +preferNoBroadApprovalRequests = true|false, +notificationPubsubTopic = '{{ notificationPubsubTopic }}', +requireCustomerVisibleJustification = true|false, +requestScopeMaxWidthPreference = '{{ requestScopeMaxWidthPreference }}' +WHERE +foldersId = '{{ foldersId }}'; +``` + +## `DELETE` example + +Deletes the specified access_approval_setting resource. + +```sql +DELETE FROM google.accessapproval.access_approval_settings +WHERE foldersId = '{{ foldersId }}'; +``` diff --git a/docs/google-docs/providers/google/accessapproval/approval_requests/index.md b/docs/google-docs/providers/google/accessapproval/approval_requests/index.md index 433b5766d6..4561e1b46d 100644 --- a/docs/google-docs/providers/google/accessapproval/approval_requests/index.md +++ b/docs/google-docs/providers/google/accessapproval/approval_requests/index.md @@ -1,3 +1,4 @@ + --- title: approval_requests hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - approval_requests - accessapproval - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an approval_request resource or lists approval_requests in a region ## Overview
@@ -30,16 +32,18 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The resource name of the request. Format is "{projects\|folders\|organizations}/{id}/approvalRequests/{approval_request}". | +| | `string` | The resource name of the request. Format is "{projects|folders|organizations}/{id}/approvalRequests/{approval_request}". | | | `object` | A decision that has been made to approve access to a resource. | | | `object` | A decision that has been made to dismiss an approval request. | | | `string` | The time at which approval was requested. | +| | `object` | This field contains the augmented information of the request. | | | `string` | The requested access duration. | | | `string` | The original requested expiration for the approval. Calculated by adding the requested_duration to the request_time. | | | `object` | Home office and physical location of the principal. | | | `object` | | | | `string` | The resource for which approval is being requested. The format of the resource name is defined at https://cloud.google.com/apis/design/resource_names. The resource name here may either be a "full" resource name (e.g. "//library.googleapis.com/shelves/shelf1/books/book2") or a "relative" resource name (e.g. "shelves/shelf1/books/book2") as described in the resource name specification. | | | `object` | The properties associated with the resource of the request. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -49,9 +53,6 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists approval requests associated with a project, folder, or organization. Approval requests can be filtered by state (pending, active, dismissed). The order is reverse chronological. | | | `SELECT` | | Gets an approval request. Returns NOT_FOUND if the request does not exist. | | | `SELECT` | | Lists approval requests associated with a project, folder, or organization. Approval requests can be filtered by state (pending, active, dismissed). The order is reverse chronological. | -| | `EXEC` | | Lists approval requests associated with a project, folder, or organization. Approval requests can be filtered by state (pending, active, dismissed). The order is reverse chronological. | -| | `EXEC` | | Lists approval requests associated with a project, folder, or organization. Approval requests can be filtered by state (pending, active, dismissed). The order is reverse chronological. | -| | `EXEC` | | Lists approval requests associated with a project, folder, or organization. Approval requests can be filtered by state (pending, active, dismissed). The order is reverse chronological. | | | `EXEC` | | Approves a request and returns the updated ApprovalRequest. Returns NOT_FOUND if the request does not exist. Returns FAILED_PRECONDITION if the request exists but is not in a pending state. | | | `EXEC` | | Dismisses a request. Returns the updated ApprovalRequest. NOTE: This does not deny access to the resource if another request has been made and approved. It is equivalent in effect to ignoring the request altogether. Returns NOT_FOUND if the request does not exist. Returns FAILED_PRECONDITION if the request exists but is not in a pending state. | | | `EXEC` | | Invalidates an existing ApprovalRequest. Returns the updated ApprovalRequest. NOTE: This does not deny access to the resource if another request has been made and approved. It only invalidates a single approval. Returns FAILED_PRECONDITION if the request exists but is not in an approved state. | @@ -61,3 +62,24 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `EXEC` | | Approves a request and returns the updated ApprovalRequest. Returns NOT_FOUND if the request does not exist. Returns FAILED_PRECONDITION if the request exists but is not in a pending state. | | | `EXEC` | | Dismisses a request. Returns the updated ApprovalRequest. NOTE: This does not deny access to the resource if another request has been made and approved. It is equivalent in effect to ignoring the request altogether. Returns NOT_FOUND if the request does not exist. Returns FAILED_PRECONDITION if the request exists but is not in a pending state. | | | `EXEC` | | Invalidates an existing ApprovalRequest. Returns the updated ApprovalRequest. NOTE: This does not deny access to the resource if another request has been made and approved. It only invalidates a single approval. Returns FAILED_PRECONDITION if the request exists but is not in an approved state. | + +## `SELECT` examples + +Lists approval requests associated with a project, folder, or organization. Approval requests can be filtered by state (pending, active, dismissed). The order is reverse chronological. + +```sql +SELECT +name, +approve, +dismiss, +requestTime, +requestedAugmentedInfo, +requestedDuration, +requestedExpiration, +requestedLocations, +requestedReason, +requestedResourceName, +requestedResourceProperties +FROM google.accessapproval.approval_requests +WHERE foldersId = '{{ foldersId }}'; +``` diff --git a/docs/google-docs/providers/google/accessapproval/index.md b/docs/google-docs/providers/google/accessapproval/index.md index a539a2db26..3913865018 100644 --- a/docs/google-docs/providers/google/accessapproval/index.md +++ b/docs/google-docs/providers/google/accessapproval/index.md @@ -9,41 +9,30 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -An API for controlling access to data by Google personnel. - +The accessapproval service documentation. + :::info Service Summary
total resources: 3
-total selectable resources: 3
-total methods: 30
::: -## Overview -
- - - - - -
Namegoogle.accessapproval
TypeService
TitleAccess Approval API
DescriptionAn API for controlling access to data by Google personnel.
Idaccessapproval:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/accessapproval/service_account/index.md b/docs/google-docs/providers/google/accessapproval/service_account/index.md index 01b967a6a6..79282459ae 100644 --- a/docs/google-docs/providers/google/accessapproval/service_account/index.md +++ b/docs/google-docs/providers/google/accessapproval/service_account/index.md @@ -1,3 +1,4 @@ + --- title: service_account hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - service_account - accessapproval - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an service_account resource or lists service_account in a region ## Overview @@ -30,11 +32,24 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The resource name of the Access Approval service account. Format is one of: * "projects/{project}/serviceAccount" * "folders/{folder}/serviceAccount" * "organizations/{organization}/serviceAccount" | +| | `string` | The resource name of the Access Approval service account. Format is one of: * "projects/{project}/serviceAccount" * "folders/{folder}/serviceAccount" * "organizations/{organization}/serviceAccount" | | | `string` | Email address of the service account. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `SELECT` | | -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Retrieves the service account that is used by Access Approval to access KMS keys for signing approved approval requests. | +| | `SELECT` | | Retrieves the service account that is used by Access Approval to access KMS keys for signing approved approval requests. | +| | `SELECT` | | Retrieves the service account that is used by Access Approval to access KMS keys for signing approved approval requests. | + +## `SELECT` examples + +Retrieves the service account that is used by Access Approval to access KMS keys for signing approved approval requests. + +```sql +SELECT +name, +accountEmail +FROM google.accessapproval.service_account +WHERE foldersId = '{{ foldersId }}'; +``` diff --git a/docs/google-docs/providers/google/accesscontextmanager/access_levels/index.md b/docs/google-docs/providers/google/accesscontextmanager/access_levels/index.md index 5b277de119..cc54a603fd 100644 --- a/docs/google-docs/providers/google/accesscontextmanager/access_levels/index.md +++ b/docs/google-docs/providers/google/accesscontextmanager/access_levels/index.md @@ -1,3 +1,4 @@ + --- title: access_levels hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - access_levels - accesscontextmanager - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an access_level resource or lists access_levels in a region ## Overview
@@ -30,11 +32,12 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Resource name for the `AccessLevel`. Format: `accessPolicies/{access_policy}/accessLevels/{access_level}`. The `access_level` component must begin with a letter, followed by alphanumeric characters or `_`. Its maximum length is 50 characters. After you create an `AccessLevel`, you cannot change its `name`. | +| | `string` | Identifier. Resource name for the `AccessLevel`. Format: `accessPolicies/{access_policy}/accessLevels/{access_level}`. The `access_level` component must begin with a letter, followed by alphanumeric characters or `_`. Its maximum length is 50 characters. After you create an `AccessLevel`, you cannot change its `name`. | | | `string` | Description of the `AccessLevel` and its use. Does not affect behavior. | | | `object` | `BasicLevel` is an `AccessLevel` using a set of recommended features. | | | `object` | `CustomLevel` is an `AccessLevel` using the Cloud Common Expression Language to represent the necessary conditions for the level to apply to a request. See CEL spec at: https://github.com/google/cel-spec | | | `string` | Human readable title. Must be unique within the Policy. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -43,5 +46,100 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates an access level. The long-running operation from this RPC has a successful status after the access level propagates to long-lasting storage. If access levels contain errors, an error response is returned for the first error encountered. | | | `DELETE` | | Deletes an access level based on the resource name. The long-running operation from this RPC has a successful status after the access level has been removed from long-lasting storage. | | | `UPDATE` | | Updates an access level. The long-running operation from this RPC has a successful status after the changes to the access level propagate to long-lasting storage. If access levels contain errors, an error response is returned for the first error encountered. | -| | `EXEC` | | Lists all access levels for an access policy. | | | `EXEC` | | Replaces all existing access levels in an access policy with the access levels provided. This is done atomically. The long-running operation from this RPC has a successful status after all replacements propagate to long-lasting storage. If the replacement contains errors, an error response is returned for the first error encountered. Upon error, the replacement is cancelled, and existing access levels are not affected. The Operation.response field contains ReplaceAccessLevelsResponse. Removing access levels contained in existing service perimeters result in an error. | + +## `SELECT` examples + +Lists all access levels for an access policy. + +```sql +SELECT +name, +description, +basic, +custom, +title +FROM google.accesscontextmanager.access_levels +WHERE accessPoliciesId = '{{ accessPoliciesId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new access_levels resource. + + + + +```sql +/*+ create */ +INSERT INTO google.accesscontextmanager.access_levels ( +accessPoliciesId, +name, +title, +description, +basic, +custom +) +SELECT +'{{ accessPoliciesId }}', +'{{ name }}', +'{{ title }}', +'{{ description }}', +'{{ basic }}', +'{{ custom }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: title + value: '{{ title }}' + - name: description + value: '{{ description }}' + - name: basic + value: '{{ basic }}' + - name: custom + value: '{{ custom }}' + +``` + + + +## `UPDATE` example + +Updates a access_level only if the necessary resources are available. + +```sql +UPDATE google.accesscontextmanager.access_levels +SET +name = '{{ name }}', +title = '{{ title }}', +description = '{{ description }}', +basic = '{{ basic }}', +custom = '{{ custom }}' +WHERE +accessLevelsId = '{{ accessLevelsId }}' +AND accessPoliciesId = '{{ accessPoliciesId }}'; +``` + +## `DELETE` example + +Deletes the specified access_level resource. + +```sql +DELETE FROM google.accesscontextmanager.access_levels +WHERE accessLevelsId = '{{ accessLevelsId }}' +AND accessPoliciesId = '{{ accessPoliciesId }}'; +``` diff --git a/docs/google-docs/providers/google/accesscontextmanager/access_levels_iam_policies/index.md b/docs/google-docs/providers/google/accesscontextmanager/access_levels_iam_policies/index.md index ce252adcbd..42500ce129 100644 --- a/docs/google-docs/providers/google/accesscontextmanager/access_levels_iam_policies/index.md +++ b/docs/google-docs/providers/google/accesscontextmanager/access_levels_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: access_levels_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - access_levels_iam_policies - accesscontextmanager - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an access_levels_iam_policy resource or lists access_levels_iam_policies in a region ## Overview
@@ -28,8 +30,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Returns the IAM permissions that the caller has on the specified Access Context Manager resource. The resource can be an AccessPolicy, AccessLevel, or ServicePerimeter. This method does not support other resources. | diff --git a/docs/google-docs/providers/google/accesscontextmanager/access_policies/index.md b/docs/google-docs/providers/google/accesscontextmanager/access_policies/index.md index d0a9fc3a46..b72be4c5a7 100644 --- a/docs/google-docs/providers/google/accesscontextmanager/access_policies/index.md +++ b/docs/google-docs/providers/google/accesscontextmanager/access_policies/index.md @@ -1,3 +1,4 @@ + --- title: access_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - access_policies - accesscontextmanager - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an access_policy resource or lists access_policies in a region ## Overview @@ -30,17 +32,111 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. Resource name of the `AccessPolicy`. Format: `accessPolicies/{access_policy}` | -| | `string` | Output only. An opaque identifier for the current version of the `AccessPolicy`. This will always be a strongly validated etag, meaning that two Access Polices will be identical if and only if their etags are identical. Clients should not expect this to be in any specific format. | -| | `string` | Required. The parent of this `AccessPolicy` in the Cloud Resource Hierarchy. Currently immutable once created. Format: `organizations/{organization_id}` | -| | `array` | The scopes of the AccessPolicy. Scopes define which resources a policy can restrict and where its resources can be referenced. For example, policy A with `scopes=["folders/123"]` has the following behavior: - ServicePerimeter can only restrict projects within `folders/123`. - ServicePerimeter within policy A can only reference access levels defined within policy A. - Only one policy can include a given scope; thus, attempting to create a second policy which includes `folders/123` will result in an error. If no scopes are provided, then any resource within the organization can be restricted. Scopes cannot be modified after a policy is created. Policies can only have a single scope. Format: list of `folders/{folder_number}` or `projects/{project_number}` | +| | `string` | Output only. Identifier. Resource name of the `AccessPolicy`. Format: `accessPolicies/{access_policy}` | +| | `string` | Output only. An opaque identifier for the current version of the `AccessPolicy`. This will always be a strongly validated etag, meaning that two Access Policies will be identical if and only if their etags are identical. Clients should not expect this to be in any specific format. | +| | `string` | Required. The parent of this `AccessPolicy` in the Cloud Resource Hierarchy. Currently immutable once created. Format: `organizations/{organization_id}` | +| | `array` | The scopes of the AccessPolicy. Scopes define which resources a policy can restrict and where its resources can be referenced. For example, policy A with `scopes=["folders/123"]` has the following behavior: - ServicePerimeter can only restrict projects within `folders/123`. - ServicePerimeter within policy A can only reference access levels defined within policy A. - Only one policy can include a given scope; thus, attempting to create a second policy which includes `folders/123` will result in an error. If no scopes are provided, then any resource within the organization can be restricted. Scopes cannot be modified after a policy is created. Policies can only have a single scope. Format: list of `folders/{folder_number}` or `projects/{project_number}` | | | `string` | Required. Human readable title. Does not affect behavior. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Returns an access policy based on the name. | -| | `SELECT` | | Lists all access policies in an organization. | -| | `INSERT` | | Creates an access policy. This method fails if the organization already has an access policy. The long-running operation has a successful status after the access policy propagates to long-lasting storage. Syntactic and basic semantic errors are returned in `metadata` as a BadRequest proto. | +| | `SELECT` | | Lists all access policies in an organization. | +| | `INSERT` | | Creates an access policy. This method fails if the organization already has an access policy. The long-running operation has a successful status after the access policy propagates to long-lasting storage. Syntactic and basic semantic errors are returned in `metadata` as a BadRequest proto. | | | `DELETE` | | Deletes an access policy based on the resource name. The long-running operation has a successful status after the access policy is removed from long-lasting storage. | | | `UPDATE` | | Updates an access policy. The long-running operation from this RPC has a successful status after the changes to the access policy propagate to long-lasting storage. | -| | `EXEC` | | Lists all access policies in an organization. | + +## `SELECT` examples + +Lists all access policies in an organization. + +```sql +SELECT +name, +etag, +parent, +scopes, +title +FROM google.accesscontextmanager.access_policies +WHERE = '{{ }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new access_policies resource. + + + + +```sql +/*+ create */ +INSERT INTO google.accesscontextmanager.access_policies ( +, +name, +parent, +title, +scopes, +etag +) +SELECT +'{{ }}', +'{{ name }}', +'{{ parent }}', +'{{ title }}', +'{{ scopes }}', +'{{ etag }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: parent + value: '{{ parent }}' + - name: title + value: '{{ title }}' + - name: scopes + value: '{{ scopes }}' + - name: etag + value: '{{ etag }}' + +``` + + + +## `UPDATE` example + +Updates a access_policy only if the necessary resources are available. + +```sql +UPDATE google.accesscontextmanager.access_policies +SET +name = '{{ name }}', +parent = '{{ parent }}', +title = '{{ title }}', +scopes = '{{ scopes }}', +etag = '{{ etag }}' +WHERE +accessPoliciesId = '{{ accessPoliciesId }}'; +``` + +## `DELETE` example + +Deletes the specified access_policy resource. + +```sql +DELETE FROM google.accesscontextmanager.access_policies +WHERE accessPoliciesId = '{{ accessPoliciesId }}'; +``` diff --git a/docs/google-docs/providers/google/accesscontextmanager/access_policies_iam_policies/index.md b/docs/google-docs/providers/google/accesscontextmanager/access_policies_iam_policies/index.md index 9c24eeefb7..1f494d004f 100644 --- a/docs/google-docs/providers/google/accesscontextmanager/access_policies_iam_policies/index.md +++ b/docs/google-docs/providers/google/accesscontextmanager/access_policies_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: access_policies_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - access_policies_iam_policies - accesscontextmanager - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an access_policies_iam_policy resource or lists access_policies_iam_policies in a region ## Overview
@@ -30,13 +32,26 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the IAM policy for the specified Access Context Manager access policy. | -| | `EXEC` | | Gets the IAM policy for the specified Access Context Manager access policy. | | | `EXEC` | | Sets the IAM policy for the specified Access Context Manager access policy. This method replaces the existing IAM policy on the access policy. The IAM policy controls the set of users who can perform specific operations on the Access Context Manager access policy. | | | `EXEC` | | Returns the IAM permissions that the caller has on the specified Access Context Manager resource. The resource can be an AccessPolicy, AccessLevel, or ServicePerimeter. This method does not support other resources. | + +## `SELECT` examples + +Gets the IAM policy for the specified Access Context Manager access policy. + +```sql +SELECT +condition, +members, +role +FROM google.accesscontextmanager.access_policies_iam_policies +WHERE accessPoliciesId = '{{ accessPoliciesId }}'; +``` diff --git a/docs/google-docs/providers/google/accesscontextmanager/authorized_orgs_descs/index.md b/docs/google-docs/providers/google/accesscontextmanager/authorized_orgs_descs/index.md index 6adbef0bf3..42e01057b7 100644 --- a/docs/google-docs/providers/google/accesscontextmanager/authorized_orgs_descs/index.md +++ b/docs/google-docs/providers/google/accesscontextmanager/authorized_orgs_descs/index.md @@ -1,3 +1,4 @@ + --- title: authorized_orgs_descs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - authorized_orgs_descs - accesscontextmanager - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an authorized_orgs_desc resource or lists authorized_orgs_descs in a region ## Overview
@@ -30,11 +32,12 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Resource name for the `AuthorizedOrgsDesc`. Format: `accessPolicies/{access_policy}/authorizedOrgsDescs/{authorized_orgs_desc}`. The `authorized_orgs_desc` component must begin with a letter, followed by alphanumeric characters or `_`. After you create an `AuthorizedOrgsDesc`, you cannot change its `name`. | +| | `string` | Identifier. Resource name for the `AuthorizedOrgsDesc`. Format: `accessPolicies/{access_policy}/authorizedOrgsDescs/{authorized_orgs_desc}`. The `authorized_orgs_desc` component must begin with a letter, followed by alphanumeric characters or `_`. After you create an `AuthorizedOrgsDesc`, you cannot change its `name`. | | | `string` | The asset type of this authorized orgs desc. Valid values are `ASSET_TYPE_DEVICE`, and `ASSET_TYPE_CREDENTIAL_STRENGTH`. | | | `string` | The direction of the authorization relationship between this organization and the organizations listed in the `orgs` field. The valid values for this field include the following: `AUTHORIZATION_DIRECTION_FROM`: Allows this organization to evaluate traffic in the organizations listed in the `orgs` field. `AUTHORIZATION_DIRECTION_TO`: Allows the organizations listed in the `orgs` field to evaluate the traffic in this organization. For the authorization relationship to take effect, all of the organizations must authorize and specify the appropriate relationship direction. For example, if organization A authorized organization B and C to evaluate its traffic, by specifying `AUTHORIZATION_DIRECTION_TO` as the authorization direction, organizations B and C must specify `AUTHORIZATION_DIRECTION_FROM` as the authorization direction in their `AuthorizedOrgsDesc` resource. | | | `string` | A granular control type for authorization levels. Valid value is `AUTHORIZATION_TYPE_TRUST`. | | | `array` | The list of organization ids in this AuthorizedOrgsDesc. Format: `organizations/` Example: `organizations/123456` | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -43,4 +46,99 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates an authorized orgs desc. The long-running operation from this RPC has a successful status after the authorized orgs desc propagates to long-lasting storage. If a authorized orgs desc contains errors, an error response is returned for the first error encountered. The name of this `AuthorizedOrgsDesc` will be assigned during creation. | | | `DELETE` | | Deletes an authorized orgs desc based on the resource name. The long-running operation from this RPC has a successful status after the authorized orgs desc is removed from long-lasting storage. | | | `UPDATE` | | Updates an authorized orgs desc. The long-running operation from this RPC has a successful status after the authorized orgs desc propagates to long-lasting storage. If a authorized orgs desc contains errors, an error response is returned for the first error encountered. Only the organization list in `AuthorizedOrgsDesc` can be updated. The name, authorization_type, asset_type and authorization_direction cannot be updated. | -| | `EXEC` | | Lists all authorized orgs descs for an access policy. | + +## `SELECT` examples + +Lists all authorized orgs descs for an access policy. + +```sql +SELECT +name, +assetType, +authorizationDirection, +authorizationType, +orgs +FROM google.accesscontextmanager.authorized_orgs_descs +WHERE accessPoliciesId = '{{ accessPoliciesId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new authorized_orgs_descs resource. + + + + +```sql +/*+ create */ +INSERT INTO google.accesscontextmanager.authorized_orgs_descs ( +accessPoliciesId, +name, +authorizationType, +assetType, +authorizationDirection, +orgs +) +SELECT +'{{ accessPoliciesId }}', +'{{ name }}', +'{{ authorizationType }}', +'{{ assetType }}', +'{{ authorizationDirection }}', +'{{ orgs }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: authorizationType + value: '{{ authorizationType }}' + - name: assetType + value: '{{ assetType }}' + - name: authorizationDirection + value: '{{ authorizationDirection }}' + - name: orgs + value: '{{ orgs }}' + +``` + + + +## `UPDATE` example + +Updates a authorized_orgs_desc only if the necessary resources are available. + +```sql +UPDATE google.accesscontextmanager.authorized_orgs_descs +SET +name = '{{ name }}', +authorizationType = '{{ authorizationType }}', +assetType = '{{ assetType }}', +authorizationDirection = '{{ authorizationDirection }}', +orgs = '{{ orgs }}' +WHERE +accessPoliciesId = '{{ accessPoliciesId }}' +AND authorizedOrgsDescsId = '{{ authorizedOrgsDescsId }}'; +``` + +## `DELETE` example + +Deletes the specified authorized_orgs_desc resource. + +```sql +DELETE FROM google.accesscontextmanager.authorized_orgs_descs +WHERE accessPoliciesId = '{{ accessPoliciesId }}' +AND authorizedOrgsDescsId = '{{ authorizedOrgsDescsId }}'; +``` diff --git a/docs/google-docs/providers/google/accesscontextmanager/gcp_user_access_bindings/index.md b/docs/google-docs/providers/google/accesscontextmanager/gcp_user_access_bindings/index.md index d7498f5b59..0c99d3b38d 100644 --- a/docs/google-docs/providers/google/accesscontextmanager/gcp_user_access_bindings/index.md +++ b/docs/google-docs/providers/google/accesscontextmanager/gcp_user_access_bindings/index.md @@ -1,3 +1,4 @@ + --- title: gcp_user_access_bindings hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - gcp_user_access_bindings - accesscontextmanager - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an gcp_user_access_binding resource or lists gcp_user_access_bindings in a region ## Overview
@@ -34,7 +36,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `array` | Optional. 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" | | | `array` | Optional. Dry run access level that will be evaluated but will not be enforced. The access denial based on dry run policy will be logged. Only one access level is supported, not multiple. This list must have exactly one element. Example: "accessPolicies/9522/accessLevels/device_trusted" | | | `string` | 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] (https://developers.google.com/admin-sdk/directory/v1/reference/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" | +| | `object` | Stores settings related to Google Cloud Session Length including session duration, the type of challenge (i.e. method) they should face when their session expires, and other related settings. | | | `array` | Optional. A list of applications that are subject to this binding's restrictions. If the list is empty, the binding restrictions will universally apply to all applications. | +| | `array` | Optional. A list of scoped access settings that set this binding's restrictions on a subset of applications. This field cannot be set if restricted_client_applications is set. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -43,4 +48,111 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a GcpUserAccessBinding. If the client specifies a name, the server ignores it. Fails if a resource already exists with the same group_key. Completion of this long-running operation does not necessarily signify that the new binding is deployed onto all affected users, which may take more time. | | | `DELETE` | | Deletes a GcpUserAccessBinding. Completion of this long-running operation does not necessarily signify that the binding deletion is deployed onto all affected users, which may take more time. | | | `UPDATE` | | Updates a GcpUserAccessBinding. Completion of this long-running operation does not necessarily signify that the changed binding is deployed onto all affected users, which may take more time. | -| | `EXEC` | | Lists all GcpUserAccessBindings for a Google Cloud organization. | + +## `SELECT` examples + +Lists all GcpUserAccessBindings for a Google Cloud organization. + +```sql +SELECT +name, +accessLevels, +dryRunAccessLevels, +groupKey, +reauthSettings, +restrictedClientApplications, +scopedAccessSettings +FROM google.accesscontextmanager.gcp_user_access_bindings +WHERE organizationsId = '{{ organizationsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new gcp_user_access_bindings resource. + + + + +```sql +/*+ create */ +INSERT INTO google.accesscontextmanager.gcp_user_access_bindings ( +organizationsId, +name, +groupKey, +accessLevels, +dryRunAccessLevels, +reauthSettings, +restrictedClientApplications, +scopedAccessSettings +) +SELECT +'{{ organizationsId }}', +'{{ name }}', +'{{ groupKey }}', +'{{ accessLevels }}', +'{{ dryRunAccessLevels }}', +'{{ reauthSettings }}', +'{{ restrictedClientApplications }}', +'{{ scopedAccessSettings }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: groupKey + value: '{{ groupKey }}' + - name: accessLevels + value: '{{ accessLevels }}' + - name: dryRunAccessLevels + value: '{{ dryRunAccessLevels }}' + - name: reauthSettings + value: '{{ reauthSettings }}' + - name: restrictedClientApplications + value: '{{ restrictedClientApplications }}' + - name: scopedAccessSettings + value: '{{ scopedAccessSettings }}' + +``` + + + +## `UPDATE` example + +Updates a gcp_user_access_binding only if the necessary resources are available. + +```sql +UPDATE google.accesscontextmanager.gcp_user_access_bindings +SET +name = '{{ name }}', +groupKey = '{{ groupKey }}', +accessLevels = '{{ accessLevels }}', +dryRunAccessLevels = '{{ dryRunAccessLevels }}', +reauthSettings = '{{ reauthSettings }}', +restrictedClientApplications = '{{ restrictedClientApplications }}', +scopedAccessSettings = '{{ scopedAccessSettings }}' +WHERE +gcpUserAccessBindingsId = '{{ gcpUserAccessBindingsId }}' +AND organizationsId = '{{ organizationsId }}'; +``` + +## `DELETE` example + +Deletes the specified gcp_user_access_binding resource. + +```sql +DELETE FROM google.accesscontextmanager.gcp_user_access_bindings +WHERE gcpUserAccessBindingsId = '{{ gcpUserAccessBindingsId }}' +AND organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/accesscontextmanager/index.md b/docs/google-docs/providers/google/accesscontextmanager/index.md index 07b4dd8863..32f847df31 100644 --- a/docs/google-docs/providers/google/accesscontextmanager/index.md +++ b/docs/google-docs/providers/google/accesscontextmanager/index.md @@ -9,34 +9,23 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -An API for setting attribute based access control to requests to Google Cloud services. *Warning:* Do not mix *v1alpha* and *v1* API usage in the same access policy. The v1alpha API supports new Access Context Manager features, which may have different attributes or behaviors that are not supported by v1. The practice of mixed API usage within a policy may result in the inability to update that policy, including any access levels or service perimeters belonging to it. It is not recommended to use both v1 and v1alpha for modifying policies with critical service perimeters. Modifications using v1alpha should be limited to policies with non-production/non-critical service perimeters. - +The accesscontextmanager service documentation. + :::info Service Summary
total resources: 10
-total selectable resources: 8
-total methods: 47
::: -## Overview -
- - - - - -
Namegoogle.accesscontextmanager
TypeService
TitleAccess Context Manager API
DescriptionAn API for setting attribute based access control to requests to Google Cloud services. *Warning:* Do not mix *v1alpha* and *v1* API usage in the same access policy. The v1alpha API supports new Access Context Manager features, which may have different attributes or behaviors that are not supported by v1. The practice of mixed API usage within a policy may result in the inability to update that policy, including any access levels or service perimeters belonging to it. It is not recommended to use both v1 and v1alpha for modifying policies with critical service perimeters. Modifications using v1alpha should be limited to policies with non-production/non-critical service perimeters.
Idaccesscontextmanager:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/accesscontextmanager/operations/index.md b/docs/google-docs/providers/google/accesscontextmanager/operations/index.md index 993b4b2c6f..968e8e315f 100644 --- a/docs/google-docs/providers/google/accesscontextmanager/operations/index.md +++ b/docs/google-docs/providers/google/accesscontextmanager/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - accesscontextmanager - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview @@ -30,16 +32,40 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | -| | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | +| | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.accesscontextmanager.operations +WHERE = '{{ }}'; +``` + +## `DELETE` example + +Deletes the specified operation resource. + +```sql +DELETE FROM google.accesscontextmanager.operations +WHERE operationsId = '{{ operationsId }}'; +``` diff --git a/docs/google-docs/providers/google/accesscontextmanager/service_perimeters/index.md b/docs/google-docs/providers/google/accesscontextmanager/service_perimeters/index.md index 97e55f9271..4685d49f0e 100644 --- a/docs/google-docs/providers/google/accesscontextmanager/service_perimeters/index.md +++ b/docs/google-docs/providers/google/accesscontextmanager/service_perimeters/index.md @@ -1,3 +1,4 @@ + --- title: service_perimeters hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - service_perimeters - accesscontextmanager - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an service_perimeter resource or lists service_perimeters in a region ## Overview
@@ -30,13 +32,14 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Resource name for the `ServicePerimeter`. Format: `accessPolicies/{access_policy}/servicePerimeters/{service_perimeter}`. The `service_perimeter` component must begin with a letter, followed by alphanumeric characters or `_`. After you create a `ServicePerimeter`, you cannot change its `name`. | +| | `string` | Identifier. Resource name for the `ServicePerimeter`. Format: `accessPolicies/{access_policy}/servicePerimeters/{service_perimeter}`. The `service_perimeter` component must begin with a letter, followed by alphanumeric characters or `_`. After you create a `ServicePerimeter`, you cannot change its `name`. | | | `string` | Description of the `ServicePerimeter` and its use. Does not affect behavior. | | | `string` | Perimeter type indicator. A single project or VPC network is allowed to be a member of single regular perimeter, but multiple service perimeter bridges. A project cannot be a included in a perimeter bridge without being included in regular perimeter. For perimeter bridges, the restricted service list as well as access level lists must be empty. | | | `object` | `ServicePerimeterConfig` specifies a set of Google Cloud resources that describe specific Service Perimeter configuration. | | | `object` | `ServicePerimeterConfig` specifies a set of Google Cloud resources that describe specific Service Perimeter configuration. | | | `string` | Human readable title. Must be unique within the Policy. | | | `boolean` | Use explicit dry run spec flag. Ordinarily, a dry-run spec implicitly exists for all Service Perimeters, and that spec is identical to the status for those Service Perimeters. When this flag is set, it inhibits the generation of the implicit spec, thereby allowing the user to explicitly provide a configuration ("spec") to use in a dry-run version of the Service Perimeter. This allows the user to test changes to the enforced config ("status") without actually enforcing them. This testing is done through analyzing the differences between currently enforced and suggested restrictions. use_explicit_dry_run_spec must bet set to True if any of the fields in the spec are set to non-default values. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -45,6 +48,113 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a service perimeter. The long-running operation from this RPC has a successful status after the service perimeter propagates to long-lasting storage. If a service perimeter contains errors, an error response is returned for the first error encountered. | | | `DELETE` | | Deletes a service perimeter based on the resource name. The long-running operation from this RPC has a successful status after the service perimeter is removed from long-lasting storage. | | | `UPDATE` | | Updates a service perimeter. The long-running operation from this RPC has a successful status after the service perimeter propagates to long-lasting storage. If a service perimeter contains errors, an error response is returned for the first error encountered. | -| | `EXEC` | | Lists all service perimeters for an access policy. | | | `EXEC` | | Commits the dry-run specification for all the service perimeters in an access policy. A commit operation on a service perimeter involves copying its `spec` field to the `status` field of the service perimeter. Only service perimeters with `use_explicit_dry_run_spec` field set to true are affected by a commit operation. The long-running operation from this RPC has a successful status after the dry-run specifications for all the service perimeters have been committed. If a commit fails, it causes the long-running operation to return an error response and the entire commit operation is cancelled. When successful, the Operation.response field contains CommitServicePerimetersResponse. The `dry_run` and the `spec` fields are cleared after a successful commit operation. | | | `EXEC` | | Replace all existing service perimeters in an access policy with the service perimeters provided. This is done atomically. The long-running operation from this RPC has a successful status after all replacements propagate to long-lasting storage. Replacements containing errors result in an error response for the first error encountered. Upon an error, replacement are cancelled and existing service perimeters are not affected. The Operation.response field contains ReplaceServicePerimetersResponse. | + +## `SELECT` examples + +Lists all service perimeters for an access policy. + +```sql +SELECT +name, +description, +perimeterType, +spec, +status, +title, +useExplicitDryRunSpec +FROM google.accesscontextmanager.service_perimeters +WHERE accessPoliciesId = '{{ accessPoliciesId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new service_perimeters resource. + + + + +```sql +/*+ create */ +INSERT INTO google.accesscontextmanager.service_perimeters ( +accessPoliciesId, +name, +title, +description, +perimeterType, +status, +spec, +useExplicitDryRunSpec +) +SELECT +'{{ accessPoliciesId }}', +'{{ name }}', +'{{ title }}', +'{{ description }}', +'{{ perimeterType }}', +'{{ status }}', +'{{ spec }}', +true|false +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: title + value: '{{ title }}' + - name: description + value: '{{ description }}' + - name: perimeterType + value: '{{ perimeterType }}' + - name: status + value: '{{ status }}' + - name: spec + value: '{{ spec }}' + - name: useExplicitDryRunSpec + value: '{{ useExplicitDryRunSpec }}' + +``` + + + +## `UPDATE` example + +Updates a service_perimeter only if the necessary resources are available. + +```sql +UPDATE google.accesscontextmanager.service_perimeters +SET +name = '{{ name }}', +title = '{{ title }}', +description = '{{ description }}', +perimeterType = '{{ perimeterType }}', +status = '{{ status }}', +spec = '{{ spec }}', +useExplicitDryRunSpec = true|false +WHERE +accessPoliciesId = '{{ accessPoliciesId }}' +AND servicePerimetersId = '{{ servicePerimetersId }}'; +``` + +## `DELETE` example + +Deletes the specified service_perimeter resource. + +```sql +DELETE FROM google.accesscontextmanager.service_perimeters +WHERE accessPoliciesId = '{{ accessPoliciesId }}' +AND servicePerimetersId = '{{ servicePerimetersId }}'; +``` diff --git a/docs/google-docs/providers/google/accesscontextmanager/service_perimeters_iam_policies/index.md b/docs/google-docs/providers/google/accesscontextmanager/service_perimeters_iam_policies/index.md index 25043a7153..c443247295 100644 --- a/docs/google-docs/providers/google/accesscontextmanager/service_perimeters_iam_policies/index.md +++ b/docs/google-docs/providers/google/accesscontextmanager/service_perimeters_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: service_perimeters_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - service_perimeters_iam_policies - accesscontextmanager - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an service_perimeters_iam_policy resource or lists service_perimeters_iam_policies in a region ## Overview
@@ -28,8 +30,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Returns the IAM permissions that the caller has on the specified Access Context Manager resource. The resource can be an AccessPolicy, AccessLevel, or ServicePerimeter. This method does not support other resources. | diff --git a/docs/google-docs/providers/google/accesscontextmanager/services/index.md b/docs/google-docs/providers/google/accesscontextmanager/services/index.md index c206c9cef6..1d419a6379 100644 --- a/docs/google-docs/providers/google/accesscontextmanager/services/index.md +++ b/docs/google-docs/providers/google/accesscontextmanager/services/index.md @@ -1,3 +1,4 @@ + --- title: services hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - services - accesscontextmanager - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an service resource or lists services in a region ## Overview @@ -33,12 +35,30 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The service name or address of the supported service, such as `service.googleapis.com`. | | | `boolean` | True if the service is available on the restricted VIP. Services on the restricted VIP typically either support VPC Service Controls or are core infrastructure services required for the functioning of Google Cloud. | | | `boolean` | True if the service is supported with some limitations. Check [documentation](https://cloud.google.com/vpc-service-controls/docs/supported-products) for details. | +| | `string` | The support stage of the service. | | | `string` | The support stage of the service. | | | `array` | The list of the supported methods. This field exists only in response to GetSupportedService | | | `string` | The name of the supported product, such as 'Cloud Product API'. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Returns a VPC-SC supported service based on the service name. | -| | `SELECT` | | Lists all VPC-SC supported services. | -| | `EXEC` | | Lists all VPC-SC supported services. | +| | `SELECT` | | Lists all VPC-SC supported services. | + +## `SELECT` examples + +Lists all VPC-SC supported services. + +```sql +SELECT +name, +availableOnRestrictedVip, +knownLimitations, +serviceSupportStage, +supportStage, +supportedMethods, +title +FROM google.accesscontextmanager.services +WHERE = '{{ }}'; +``` diff --git a/docs/google-docs/providers/google/addressvalidation/addressvalidation/index.md b/docs/google-docs/providers/google/addressvalidation/addressvalidation/index.md index e0048d4939..d091a9c966 100644 --- a/docs/google-docs/providers/google/addressvalidation/addressvalidation/index.md +++ b/docs/google-docs/providers/google/addressvalidation/addressvalidation/index.md @@ -1,3 +1,4 @@ + --- title: addressvalidation hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - addressvalidation - addressvalidation - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an addressvalidation resource or lists addressvalidation in a region ## Overview
@@ -28,9 +30,11 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| -| | `EXEC` | | Feedback about the outcome of the sequence of validation attempts. This should be the last call made after a sequence of validation calls for the same address, and should be called once the transaction is concluded. This should only be sent once for the sequence of `ValidateAddress` requests needed to validate an address fully. | -| | `EXEC` | | Validates an address. | +| | `EXEC` | | Feedback about the outcome of the sequence of validation attempts. This should be the last call made after a sequence of validation calls for the same address, and should be called once the transaction is concluded. This should only be sent once for the sequence of `ValidateAddress` requests needed to validate an address fully. | +| | `EXEC` | | Validates an address. | diff --git a/docs/google-docs/providers/google/addressvalidation/index.md b/docs/google-docs/providers/google/addressvalidation/index.md index 2afcd632c9..f847c9139d 100644 --- a/docs/google-docs/providers/google/addressvalidation/index.md +++ b/docs/google-docs/providers/google/addressvalidation/index.md @@ -9,39 +9,29 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -The Address Validation API allows developers to verify the accuracy of addresses. Given an address, it returns information about the correctness of the components of the parsed address, a geocode, and a verdict on the deliverability of the parsed address. - +The addressvalidation service documentation. + :::info Service Summary
total resources: 1
-total selectable resources: 0
-total methods: 2
::: -## Overview - - - - - - -
Namegoogle.addressvalidation
TypeService
TitleAddress Validation API
DescriptionThe Address Validation API allows developers to verify the accuracy of addresses. Given an address, it returns information about the correctness of the components of the parsed address, a geocode, and a verdict on the deliverability of the parsed address.
Idaddressvalidation:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/advisorynotifications/index.md b/docs/google-docs/providers/google/advisorynotifications/index.md index cbd0cc514f..b795f32969 100644 --- a/docs/google-docs/providers/google/advisorynotifications/index.md +++ b/docs/google-docs/providers/google/advisorynotifications/index.md @@ -9,40 +9,29 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -An API for accessing Advisory Notifications in Google Cloud - +The advisorynotifications service documentation. + :::info Service Summary
total resources: 2
-total selectable resources: 2
-total methods: 5
::: -## Overview - - - - - - -
Namegoogle.advisorynotifications
TypeService
TitleAdvisory Notifications API
DescriptionAn API for accessing Advisory Notifications in Google Cloud
Idadvisorynotifications:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/advisorynotifications/notifications/index.md b/docs/google-docs/providers/google/advisorynotifications/notifications/index.md index 0379f20c8c..7b2d3469d3 100644 --- a/docs/google-docs/providers/google/advisorynotifications/notifications/index.md +++ b/docs/google-docs/providers/google/advisorynotifications/notifications/index.md @@ -1,3 +1,4 @@ + --- title: notifications hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - notifications - advisorynotifications - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an notification resource or lists notifications in a region ## Overview @@ -30,14 +32,30 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The resource name of the notification. Format: organizations/{organization}/locations/{location}/notifications/{notification} or projects/{project}/locations/{location}/notifications/{notification}. | +| | `string` | The resource name of the notification. Format: organizations/{organization}/locations/{location}/notifications/{notification} or projects/{project}/locations/{location}/notifications/{notification}. | | | `string` | Output only. Time the notification was created. | | | `array` | A list of messages in the notification. | | | `string` | Type of notification | | | `object` | A subject line of a notification. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets a notification. | | | `SELECT` | | Lists notifications under a given parent. | -| | `EXEC` | | Lists notifications under a given parent. | + +## `SELECT` examples + +Lists notifications under a given parent. + +```sql +SELECT +name, +createTime, +messages, +notificationType, +subject +FROM google.advisorynotifications.notifications +WHERE locationsId = '{{ locationsId }}' +AND organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/advisorynotifications/settings/index.md b/docs/google-docs/providers/google/advisorynotifications/settings/index.md index e611688982..6a1520c230 100644 --- a/docs/google-docs/providers/google/advisorynotifications/settings/index.md +++ b/docs/google-docs/providers/google/advisorynotifications/settings/index.md @@ -1,3 +1,4 @@ + --- title: settings hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - settings - advisorynotifications - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an setting resource or lists settings in a region ## Overview
@@ -30,11 +32,41 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Identifier. The resource name of the settings to retrieve. Format: organizations/{organization}/locations/{location}/settings or projects/{projects}/locations/{location}/settings. | +| | `string` | Identifier. The resource name of the settings to retrieve. Format: organizations/{organization}/locations/{location}/settings or projects/{projects}/locations/{location}/settings. | | | `string` | Required. Fingerprint for optimistic concurrency returned in Get requests. Must be provided for Update requests. If the value provided does not match the value known to the server, ABORTED will be thrown, and the client should retry the read-modify-write cycle. | | | `object` | Required. Map of each notification type and its settings to get/set all settings at once. The server will validate the value for each notification type. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Get notification settings. | -| | `EXEC` | | Update notification settings. | +| | `UPDATE` | | Update notification settings. | + +## `SELECT` examples + +Get notification settings. + +```sql +SELECT +name, +etag, +notificationSettings +FROM google.advisorynotifications.settings +WHERE locationsId = '{{ locationsId }}' +AND organizationsId = '{{ organizationsId }}'; +``` + +## `UPDATE` example + +Updates a setting only if the necessary resources are available. + +```sql +UPDATE google.advisorynotifications.settings +SET +etag = '{{ etag }}', +name = '{{ name }}', +notificationSettings = '{{ notificationSettings }}' +WHERE +locationsId = '{{ locationsId }}' +AND organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/aiplatform/annotation_specs/index.md b/docs/google-docs/providers/google/aiplatform/annotation_specs/index.md index 0f30d958f7..6c7db31bc7 100644 --- a/docs/google-docs/providers/google/aiplatform/annotation_specs/index.md +++ b/docs/google-docs/providers/google/aiplatform/annotation_specs/index.md @@ -1,3 +1,4 @@ + --- title: annotation_specs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - annotation_specs - aiplatform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an annotation_spec resource or lists annotation_specs in a region ## Overview
@@ -35,7 +37,26 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Required. The user-defined name of the AnnotationSpec. The name can be up to 128 characters long and can consist of any UTF-8 characters. | | | `string` | Optional. Used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens. | | | `string` | Output only. Timestamp when AnnotationSpec was last updated. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets an AnnotationSpec. | + +## `SELECT` examples + +Gets an AnnotationSpec. + +```sql +SELECT +name, +createTime, +displayName, +etag, +updateTime +FROM google.aiplatform.annotation_specs +WHERE annotationSpecsId = '{{ annotationSpecsId }}' +AND datasetsId = '{{ datasetsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/aiplatform/annotations/index.md b/docs/google-docs/providers/google/aiplatform/annotations/index.md index 4a21012e3d..669c8dd112 100644 --- a/docs/google-docs/providers/google/aiplatform/annotations/index.md +++ b/docs/google-docs/providers/google/aiplatform/annotations/index.md @@ -1,3 +1,4 @@ + --- title: annotations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - annotations - aiplatform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an annotation resource or lists annotations in a region ## Overview
@@ -38,8 +40,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `any` | Required. The schema of the payload can be found in payload_schema. | | | `string` | Required. Google Cloud Storage URI points to a YAML file describing payload. The schema is defined as an [OpenAPI 3.0.2 Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). The schema files that can be used here are found in gs://google-cloud-aiplatform/schema/dataset/annotation/, note that the chosen schema must be consistent with the parent Dataset's metadata. | | | `string` | Output only. Timestamp when this Annotation was last updated. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists Annotations belongs to a dataitem This RPC is only available in InternalDatasetService. It is only used for exporting conversation data to CCAI Insights. | + +## `SELECT` examples + +Lists Annotations belongs to a dataitem This RPC is only available in InternalDatasetService. It is only used for exporting conversation data to CCAI Insights. + +```sql +SELECT +name, +annotationSource, +createTime, +etag, +labels, +payload, +payloadSchemaUri, +updateTime +FROM google.aiplatform.annotations +WHERE dataItemsId = '{{ dataItemsId }}' +AND datasetsId = '{{ datasetsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/aiplatform/artifacts/index.md b/docs/google-docs/providers/google/aiplatform/artifacts/index.md index 628662a668..f5e2c2461b 100644 --- a/docs/google-docs/providers/google/aiplatform/artifacts/index.md +++ b/docs/google-docs/providers/google/aiplatform/artifacts/index.md @@ -1,3 +1,4 @@ + --- title: artifacts hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - artifacts - aiplatform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an artifact resource or lists artifacts in a region ## Overview
@@ -42,14 +44,162 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The state of this Artifact. This is a property of the Artifact, and does not imply or capture any ongoing process. This property is managed by clients (such as Vertex AI Pipelines), and the system does not prescribe or check the validity of state transitions. | | | `string` | Output only. Timestamp when this Artifact was last updated. | | | `string` | The uniform resource identifier of the artifact file. May be empty if there is no actual artifact file. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Retrieves a specific Artifact. | | | `SELECT` | | Lists Artifacts in the MetadataStore. | +| | `SELECT` | | Retrieves lineage of an Artifact represented through Artifacts and Executions connected by Event edges and returned as a LineageSubgraph. | | | `INSERT` | | Creates an Artifact associated with a MetadataStore. | | | `DELETE` | | Deletes an Artifact. | | | `UPDATE` | | Updates a stored Artifact. | -| | `EXEC` | | Lists Artifacts in the MetadataStore. | | | `EXEC` | | Purges Artifacts. | -| | `EXEC` | | Retrieves lineage of an Artifact represented through Artifacts and Executions connected by Event edges and returned as a LineageSubgraph. | + +## `SELECT` examples + +Lists Artifacts in the MetadataStore. + +```sql +SELECT +name, +description, +createTime, +displayName, +etag, +labels, +metadata, +schemaTitle, +schemaVersion, +state, +updateTime, +uri +FROM google.aiplatform.artifacts +WHERE locationsId = '{{ locationsId }}' +AND metadataStoresId = '{{ metadataStoresId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new artifacts resource. + + + + +```sql +/*+ create */ +INSERT INTO google.aiplatform.artifacts ( +locationsId, +metadataStoresId, +projectsId, +etag, +schemaTitle, +name, +metadata, +updateTime, +labels, +schemaVersion, +state, +displayName, +description, +uri, +createTime +) +SELECT +'{{ locationsId }}', +'{{ metadataStoresId }}', +'{{ projectsId }}', +'{{ etag }}', +'{{ schemaTitle }}', +'{{ name }}', +'{{ metadata }}', +'{{ updateTime }}', +'{{ labels }}', +'{{ schemaVersion }}', +'{{ state }}', +'{{ displayName }}', +'{{ description }}', +'{{ uri }}', +'{{ createTime }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: etag + value: '{{ etag }}' + - name: schemaTitle + value: '{{ schemaTitle }}' + - name: name + value: '{{ name }}' + - name: metadata + value: '{{ metadata }}' + - name: updateTime + value: '{{ updateTime }}' + - name: labels + value: '{{ labels }}' + - name: schemaVersion + value: '{{ schemaVersion }}' + - name: state + value: '{{ state }}' + - name: displayName + value: '{{ displayName }}' + - name: description + value: '{{ description }}' + - name: uri + value: '{{ uri }}' + - name: createTime + value: '{{ createTime }}' + +``` + + + +## `UPDATE` example + +Updates a artifact only if the necessary resources are available. + +```sql +UPDATE google.aiplatform.artifacts +SET +etag = '{{ etag }}', +schemaTitle = '{{ schemaTitle }}', +name = '{{ name }}', +metadata = '{{ metadata }}', +updateTime = '{{ updateTime }}', +labels = '{{ labels }}', +schemaVersion = '{{ schemaVersion }}', +state = '{{ state }}', +displayName = '{{ displayName }}', +description = '{{ description }}', +uri = '{{ uri }}', +createTime = '{{ createTime }}' +WHERE +artifactsId = '{{ artifactsId }}' +AND locationsId = '{{ locationsId }}' +AND metadataStoresId = '{{ metadataStoresId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified artifact resource. + +```sql +DELETE FROM google.aiplatform.artifacts +WHERE artifactsId = '{{ artifactsId }}' +AND locationsId = '{{ locationsId }}' +AND metadataStoresId = '{{ metadataStoresId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/aiplatform/batch_prediction_jobs/index.md b/docs/google-docs/providers/google/aiplatform/batch_prediction_jobs/index.md index 45f70a7e84..076aca4da4 100644 --- a/docs/google-docs/providers/google/aiplatform/batch_prediction_jobs/index.md +++ b/docs/google-docs/providers/google/aiplatform/batch_prediction_jobs/index.md @@ -1,3 +1,4 @@ + --- title: batch_prediction_jobs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - batch_prediction_jobs - aiplatform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an batch_prediction_job resource or lists batch_prediction_jobs in a region ## Overview
@@ -45,18 +47,21 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Configuration defining how to transform batch prediction input instances to the instances that the Model accepts. | | | `object` | The labels with user-defined metadata to organize BatchPredictionJobs. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels. | | | `object` | Manual batch tuning parameters. | -| | `string` | The name of the Model resource that produces the predictions via this job, must share the same ancestor Location. Starting this job has no impact on any existing deployments of the Model and their resources. Exactly one of model and unmanaged_container_model must be set. The model resource name may contain version id or version alias to specify the version. Example: `projects/{project}/locations/{location}/models/{model}@2` or `projects/{project}/locations/{location}/models/{model}@golden` if no version is specified, the default version will be deployed. The model resource could also be a publisher model. Example: `publishers/{publisher}/models/{model}` or `projects/{project}/locations/{location}/publishers/{publisher}/models/{model}` | +| | `string` | The name of the Model resource that produces the predictions via this job, must share the same ancestor Location. Starting this job has no impact on any existing deployments of the Model and their resources. Exactly one of model and unmanaged_container_model must be set. The model resource name may contain version id or version alias to specify the version. Example: `projects/{project}/locations/{location}/models/{model}@2` or `projects/{project}/locations/{location}/models/{model}@golden` if no version is specified, the default version will be deployed. The model resource could also be a publisher model. Example: `publishers/{publisher}/models/{model}` or `projects/{project}/locations/{location}/publishers/{publisher}/models/{model}` | | | `any` | The parameters that govern the predictions. The schema of the parameters may be specified via the Model's PredictSchemata's parameters_schema_uri. | | | `string` | Output only. The version ID of the Model that produces the predictions via this job. | | | `object` | Configures the output of BatchPredictionJob. See Model.supported_output_storage_formats for supported output formats, and how predictions are expressed via any of them. | | | `object` | Further describes this job's output. Supplements output_config. | | | `array` | Output only. Partial failures encountered. For example, single files that can't be read. This field never exceeds 20 entries. Status details fields contain standard Google Cloud error details. | | | `object` | Statistics information about resource consumption. | +| | `boolean` | Output only. Reserved for future use. | +| | `boolean` | Output only. Reserved for future use. | | | `string` | The service account that the DeployedModel's container runs as. If not specified, a system generated one will be used, which has minimal permissions and the custom container, if used, may not have enough permission to access other Google Cloud resources. Users deploying the Model must have the `iam.serviceAccounts.actAs` permission on this service account. | | | `string` | Output only. Time when the BatchPredictionJob for the first time entered the `JOB_STATE_RUNNING` state. | | | `string` | Output only. The detailed state of the job. | | | `object` | Contains model information necessary to perform batch prediction without requiring a full model import. | | | `string` | Output only. Time when the BatchPredictionJob was most recently updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -64,5 +69,207 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists BatchPredictionJobs in a Location. | | | `INSERT` | | Creates a BatchPredictionJob. A BatchPredictionJob once created will right away be attempted to start. | | | `DELETE` | | Deletes a BatchPredictionJob. Can only be called on jobs that already finished. | -| | `EXEC` | | Lists BatchPredictionJobs in a Location. | | | `EXEC` | | Cancels a BatchPredictionJob. Starts asynchronous cancellation on the BatchPredictionJob. The server makes the best effort to cancel the job, but success is not guaranteed. Clients can use JobService.GetBatchPredictionJob or other methods to check whether the cancellation succeeded or whether the job completed despite cancellation. On a successful cancellation, the BatchPredictionJob is not deleted;instead its BatchPredictionJob.state is set to `CANCELLED`. Any files already outputted by the job are not deleted. | + +## `SELECT` examples + +Lists BatchPredictionJobs in a Location. + +```sql +SELECT +name, +completionStats, +createTime, +dedicatedResources, +disableContainerLogging, +displayName, +encryptionSpec, +endTime, +error, +explanationSpec, +generateExplanation, +inputConfig, +instanceConfig, +labels, +manualBatchTuningParameters, +model, +modelParameters, +modelVersionId, +outputConfig, +outputInfo, +partialFailures, +resourcesConsumed, +satisfiesPzi, +satisfiesPzs, +serviceAccount, +startTime, +state, +unmanagedContainerModel, +updateTime +FROM google.aiplatform.batch_prediction_jobs +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new batch_prediction_jobs resource. + + + + +```sql +/*+ create */ +INSERT INTO google.aiplatform.batch_prediction_jobs ( +locationsId, +projectsId, +createTime, +disableContainerLogging, +completionStats, +displayName, +satisfiesPzs, +labels, +error, +generateExplanation, +explanationSpec, +serviceAccount, +manualBatchTuningParameters, +dedicatedResources, +resourcesConsumed, +name, +model, +endTime, +unmanagedContainerModel, +updateTime, +instanceConfig, +outputConfig, +outputInfo, +inputConfig, +modelVersionId, +state, +satisfiesPzi, +partialFailures, +modelParameters, +encryptionSpec, +startTime +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ createTime }}', +true|false, +'{{ completionStats }}', +'{{ displayName }}', +true|false, +'{{ labels }}', +'{{ error }}', +true|false, +'{{ explanationSpec }}', +'{{ serviceAccount }}', +'{{ manualBatchTuningParameters }}', +'{{ dedicatedResources }}', +'{{ resourcesConsumed }}', +'{{ name }}', +'{{ model }}', +'{{ endTime }}', +'{{ unmanagedContainerModel }}', +'{{ updateTime }}', +'{{ instanceConfig }}', +'{{ outputConfig }}', +'{{ outputInfo }}', +'{{ inputConfig }}', +'{{ modelVersionId }}', +'{{ state }}', +true|false, +'{{ partialFailures }}', +'{{ modelParameters }}', +'{{ encryptionSpec }}', +'{{ startTime }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: createTime + value: '{{ createTime }}' + - name: disableContainerLogging + value: '{{ disableContainerLogging }}' + - name: completionStats + value: '{{ completionStats }}' + - name: displayName + value: '{{ displayName }}' + - name: satisfiesPzs + value: '{{ satisfiesPzs }}' + - name: labels + value: '{{ labels }}' + - name: error + value: '{{ error }}' + - name: generateExplanation + value: '{{ generateExplanation }}' + - name: explanationSpec + value: '{{ explanationSpec }}' + - name: serviceAccount + value: '{{ serviceAccount }}' + - name: manualBatchTuningParameters + value: '{{ manualBatchTuningParameters }}' + - name: dedicatedResources + value: '{{ dedicatedResources }}' + - name: resourcesConsumed + value: '{{ resourcesConsumed }}' + - name: name + value: '{{ name }}' + - name: model + value: '{{ model }}' + - name: endTime + value: '{{ endTime }}' + - name: unmanagedContainerModel + value: '{{ unmanagedContainerModel }}' + - name: updateTime + value: '{{ updateTime }}' + - name: instanceConfig + value: '{{ instanceConfig }}' + - name: outputConfig + value: '{{ outputConfig }}' + - name: outputInfo + value: '{{ outputInfo }}' + - name: inputConfig + value: '{{ inputConfig }}' + - name: modelVersionId + value: '{{ modelVersionId }}' + - name: state + value: '{{ state }}' + - name: satisfiesPzi + value: '{{ satisfiesPzi }}' + - name: partialFailures + value: '{{ partialFailures }}' + - name: modelParameters + value: '{{ modelParameters }}' + - name: encryptionSpec + value: '{{ encryptionSpec }}' + - name: startTime + value: '{{ startTime }}' + +``` + + + +## `DELETE` example + +Deletes the specified batch_prediction_job resource. + +```sql +DELETE FROM google.aiplatform.batch_prediction_jobs +WHERE batchPredictionJobsId = '{{ batchPredictionJobsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/aiplatform/contexts/index.md b/docs/google-docs/providers/google/aiplatform/contexts/index.md index 14db167613..8bb220e6d8 100644 --- a/docs/google-docs/providers/google/aiplatform/contexts/index.md +++ b/docs/google-docs/providers/google/aiplatform/contexts/index.md @@ -1,3 +1,4 @@ + --- title: contexts hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - contexts - aiplatform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an context resource or lists contexts in a region ## Overview
@@ -41,14 +43,156 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The title of the schema describing the metadata. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. | | | `string` | The version of the schema in schema_name to use. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. | | | `string` | Output only. Timestamp when this Context was last updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Retrieves a specific Context. | | | `SELECT` | | Lists Contexts on the MetadataStore. | +| | `SELECT` | | Retrieves Artifacts and Executions within the specified Context, connected by Event edges and returned as a LineageSubgraph. | | | `INSERT` | | Creates a Context associated with a MetadataStore. | | | `DELETE` | | Deletes a stored Context. | | | `UPDATE` | | Updates a stored Context. | -| | `EXEC` | | Lists Contexts on the MetadataStore. | | | `EXEC` | | Purges Contexts. | -| | `EXEC` | | Retrieves Artifacts and Executions within the specified Context, connected by Event edges and returned as a LineageSubgraph. | + +## `SELECT` examples + +Lists Contexts on the MetadataStore. + +```sql +SELECT +name, +description, +createTime, +displayName, +etag, +labels, +metadata, +parentContexts, +schemaTitle, +schemaVersion, +updateTime +FROM google.aiplatform.contexts +WHERE locationsId = '{{ locationsId }}' +AND metadataStoresId = '{{ metadataStoresId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new contexts resource. + + + + +```sql +/*+ create */ +INSERT INTO google.aiplatform.contexts ( +locationsId, +metadataStoresId, +projectsId, +description, +updateTime, +displayName, +parentContexts, +createTime, +labels, +name, +schemaTitle, +metadata, +etag, +schemaVersion +) +SELECT +'{{ locationsId }}', +'{{ metadataStoresId }}', +'{{ projectsId }}', +'{{ description }}', +'{{ updateTime }}', +'{{ displayName }}', +'{{ parentContexts }}', +'{{ createTime }}', +'{{ labels }}', +'{{ name }}', +'{{ schemaTitle }}', +'{{ metadata }}', +'{{ etag }}', +'{{ schemaVersion }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: description + value: '{{ description }}' + - name: updateTime + value: '{{ updateTime }}' + - name: displayName + value: '{{ displayName }}' + - name: parentContexts + value: '{{ parentContexts }}' + - name: createTime + value: '{{ createTime }}' + - name: labels + value: '{{ labels }}' + - name: name + value: '{{ name }}' + - name: schemaTitle + value: '{{ schemaTitle }}' + - name: metadata + value: '{{ metadata }}' + - name: etag + value: '{{ etag }}' + - name: schemaVersion + value: '{{ schemaVersion }}' + +``` + + + +## `UPDATE` example + +Updates a context only if the necessary resources are available. + +```sql +UPDATE google.aiplatform.contexts +SET +description = '{{ description }}', +updateTime = '{{ updateTime }}', +displayName = '{{ displayName }}', +parentContexts = '{{ parentContexts }}', +createTime = '{{ createTime }}', +labels = '{{ labels }}', +name = '{{ name }}', +schemaTitle = '{{ schemaTitle }}', +metadata = '{{ metadata }}', +etag = '{{ etag }}', +schemaVersion = '{{ schemaVersion }}' +WHERE +contextsId = '{{ contextsId }}' +AND locationsId = '{{ locationsId }}' +AND metadataStoresId = '{{ metadataStoresId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified context resource. + +```sql +DELETE FROM google.aiplatform.contexts +WHERE contextsId = '{{ contextsId }}' +AND locationsId = '{{ locationsId }}' +AND metadataStoresId = '{{ metadataStoresId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/aiplatform/contexts_context_artifacts_and_executions/index.md b/docs/google-docs/providers/google/aiplatform/contexts_context_artifacts_and_executions/index.md index 396ae4d7c4..a9552bfee8 100644 --- a/docs/google-docs/providers/google/aiplatform/contexts_context_artifacts_and_executions/index.md +++ b/docs/google-docs/providers/google/aiplatform/contexts_context_artifacts_and_executions/index.md @@ -1,3 +1,4 @@ + --- title: contexts_context_artifacts_and_executions hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - contexts_context_artifacts_and_executions - aiplatform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an contexts_context_artifacts_and_execution resource or lists contexts_context_artifacts_and_executions in a region ## Overview
@@ -28,8 +30,58 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `INSERT` | | Adds a set of Artifacts and Executions to a Context. If any of the Artifacts or Executions have already been added to a Context, they are simply skipped. | + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new contexts_context_artifacts_and_executions resource. + + + + +```sql +/*+ create */ +INSERT INTO google.aiplatform.contexts_context_artifacts_and_executions ( +contextsId, +locationsId, +metadataStoresId, +projectsId, +artifacts, +executions +) +SELECT +'{{ contextsId }}', +'{{ locationsId }}', +'{{ metadataStoresId }}', +'{{ projectsId }}', +'{{ artifacts }}', +'{{ executions }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: artifacts + value: '{{ artifacts }}' + - name: executions + value: '{{ executions }}' + +``` + + diff --git a/docs/google-docs/providers/google/aiplatform/contexts_context_children/index.md b/docs/google-docs/providers/google/aiplatform/contexts_context_children/index.md index cf5aeeed7b..ca5575ad5c 100644 --- a/docs/google-docs/providers/google/aiplatform/contexts_context_children/index.md +++ b/docs/google-docs/providers/google/aiplatform/contexts_context_children/index.md @@ -1,3 +1,4 @@ + --- title: contexts_context_children hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - contexts_context_children - aiplatform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an contexts_context_child resource or lists contexts_context_children in a region ## Overview @@ -28,9 +30,67 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| -| | `EXEC` | | Adds a set of Contexts as children to a parent Context. If any of the child Contexts have already been added to the parent Context, they are simply skipped. If this call would create a cycle or cause any Context to have more than 10 parents, the request will fail with an INVALID_ARGUMENT error. | -| | `EXEC` | | Remove a set of children contexts from a parent Context. If any of the child Contexts were NOT added to the parent Context, they are simply skipped. | +| | `INSERT` | | Adds a set of Contexts as children to a parent Context. If any of the child Contexts have already been added to the parent Context, they are simply skipped. If this call would create a cycle or cause any Context to have more than 10 parents, the request will fail with an INVALID_ARGUMENT error. | +| | `DELETE` | | Remove a set of children contexts from a parent Context. If any of the child Contexts were NOT added to the parent Context, they are simply skipped. | + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new contexts_context_children resource. + + + + +```sql +/*+ create */ +INSERT INTO google.aiplatform.contexts_context_children ( +contextsId, +locationsId, +metadataStoresId, +projectsId, +childContexts +) +SELECT +'{{ contextsId }}', +'{{ locationsId }}', +'{{ metadataStoresId }}', +'{{ projectsId }}', +'{{ childContexts }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: childContexts + value: '{{ childContexts }}' + +``` + + + +## `DELETE` example + +Deletes the specified contexts_context_child resource. + +```sql +DELETE FROM google.aiplatform.contexts_context_children +WHERE contextsId = '{{ contextsId }}' +AND locationsId = '{{ locationsId }}' +AND metadataStoresId = '{{ metadataStoresId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/aiplatform/custom_jobs/index.md b/docs/google-docs/providers/google/aiplatform/custom_jobs/index.md index 485beed08f..cab6c9d99e 100644 --- a/docs/google-docs/providers/google/aiplatform/custom_jobs/index.md +++ b/docs/google-docs/providers/google/aiplatform/custom_jobs/index.md @@ -1,3 +1,4 @@ + --- title: custom_jobs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - custom_jobs - aiplatform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an custom_job resource or lists custom_jobs in a region ## Overview @@ -38,10 +40,13 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Represents the spec of a CustomJob. | | | `object` | The labels with user-defined metadata to organize CustomJobs. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels. | +| | `boolean` | Output only. Reserved for future use. | +| | `boolean` | Output only. Reserved for future use. | | | `string` | Output only. Time when the CustomJob for the first time entered the `JOB_STATE_RUNNING` state. | | | `string` | Output only. The detailed state of the job. | | | `string` | Output only. Time when the CustomJob was most recently updated. | | | `object` | Output only. URIs for accessing [interactive shells](https://cloud.google.com/vertex-ai/docs/training/monitor-debug-interactive-shell) (one URI for each training node). Only available if job_spec.enable_web_access is `true`. The keys are names of each node in the training job; for example, `workerpool0-0` for the primary node, `workerpool1-0` for the first node in the second worker pool, and `workerpool1-1` for the second node in the second worker pool. The values are the URIs for each node's interactive shell. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -49,5 +54,132 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists CustomJobs in a Location. | | | `INSERT` | | Creates a CustomJob. A created CustomJob right away will be attempted to be run. | | | `DELETE` | | Deletes a CustomJob. | -| | `EXEC` | | Lists CustomJobs in a Location. | | | `EXEC` | | Cancels a CustomJob. Starts asynchronous cancellation on the CustomJob. The server makes a best effort to cancel the job, but success is not guaranteed. Clients can use JobService.GetCustomJob or other methods to check whether the cancellation succeeded or whether the job completed despite cancellation. On successful cancellation, the CustomJob is not deleted; instead it becomes a job with a CustomJob.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`, and CustomJob.state is set to `CANCELLED`. | + +## `SELECT` examples + +Lists CustomJobs in a Location. + +```sql +SELECT +name, +createTime, +displayName, +encryptionSpec, +endTime, +error, +jobSpec, +labels, +satisfiesPzi, +satisfiesPzs, +startTime, +state, +updateTime, +webAccessUris +FROM google.aiplatform.custom_jobs +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new custom_jobs resource. + + + + +```sql +/*+ create */ +INSERT INTO google.aiplatform.custom_jobs ( +locationsId, +projectsId, +satisfiesPzs, +displayName, +encryptionSpec, +webAccessUris, +updateTime, +state, +error, +satisfiesPzi, +createTime, +labels, +name, +jobSpec, +endTime, +startTime +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +true|false, +'{{ displayName }}', +'{{ encryptionSpec }}', +'{{ webAccessUris }}', +'{{ updateTime }}', +'{{ state }}', +'{{ error }}', +true|false, +'{{ createTime }}', +'{{ labels }}', +'{{ name }}', +'{{ jobSpec }}', +'{{ endTime }}', +'{{ startTime }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: satisfiesPzs + value: '{{ satisfiesPzs }}' + - name: displayName + value: '{{ displayName }}' + - name: encryptionSpec + value: '{{ encryptionSpec }}' + - name: webAccessUris + value: '{{ webAccessUris }}' + - name: updateTime + value: '{{ updateTime }}' + - name: state + value: '{{ state }}' + - name: error + value: '{{ error }}' + - name: satisfiesPzi + value: '{{ satisfiesPzi }}' + - name: createTime + value: '{{ createTime }}' + - name: labels + value: '{{ labels }}' + - name: name + value: '{{ name }}' + - name: jobSpec + value: '{{ jobSpec }}' + - name: endTime + value: '{{ endTime }}' + - name: startTime + value: '{{ startTime }}' + +``` + + + +## `DELETE` example + +Deletes the specified custom_job resource. + +```sql +DELETE FROM google.aiplatform.custom_jobs +WHERE customJobsId = '{{ customJobsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/aiplatform/data_items/index.md b/docs/google-docs/providers/google/aiplatform/data_items/index.md index 6171d372c2..320742ac6e 100644 --- a/docs/google-docs/providers/google/aiplatform/data_items/index.md +++ b/docs/google-docs/providers/google/aiplatform/data_items/index.md @@ -1,3 +1,4 @@ + --- title: data_items hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - data_items - aiplatform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an data_item resource or lists data_items in a region ## Overview
@@ -35,9 +37,31 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Optional. Used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens. | | | `object` | Optional. The labels with user-defined metadata to organize your DataItems. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one DataItem(System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with "aiplatform.googleapis.com/" and are immutable. | | | `any` | Required. The data that the DataItem represents (for example, an image or a text snippet). The schema of the payload is stored in the parent Dataset's metadata schema's dataItemSchemaUri field. | +| | `boolean` | Output only. Reserved for future use. | +| | `boolean` | Output only. Reserved for future use. | | | `string` | Output only. Timestamp when this DataItem was last updated. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists DataItems in a Dataset. | + +## `SELECT` examples + +Lists DataItems in a Dataset. + +```sql +SELECT +name, +createTime, +etag, +labels, +payload, +satisfiesPzi, +satisfiesPzs, +updateTime +FROM google.aiplatform.data_items +WHERE datasetsId = '{{ datasetsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/aiplatform/data_labeling_jobs/index.md b/docs/google-docs/providers/google/aiplatform/data_labeling_jobs/index.md index ef20d81cbb..71e52f0318 100644 --- a/docs/google-docs/providers/google/aiplatform/data_labeling_jobs/index.md +++ b/docs/google-docs/providers/google/aiplatform/data_labeling_jobs/index.md @@ -1,3 +1,4 @@ + --- title: data_labeling_jobs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - data_labeling_jobs - aiplatform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an data_labeling_job resource or lists data_labeling_jobs in a region ## Overview
@@ -35,7 +37,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Labels to assign to annotations generated by this DataLabelingJob. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with "aiplatform.googleapis.com/" and are immutable. | | | `string` | Output only. Timestamp when this DataLabelingJob was created. | | | `object` | Represents an amount of money with its currency type. | -| | `array` | Required. Dataset resource names. Right now we only support labeling from a single Dataset. Format: `projects/{project}/locations/{location}/datasets/{dataset}` | +| | `array` | Required. Dataset resource names. Right now we only support labeling from a single Dataset. Format: `projects/{project}/locations/{location}/datasets/{dataset}` | | | `string` | Required. The user-defined name of the DataLabelingJob. The name can be up to 128 characters long and can consist of any UTF-8 characters. Display name of a DataLabelingJob. | | | `object` | Represents a customer-managed encryption key spec that can be applied to a top-level resource. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | @@ -48,6 +50,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `array` | The SpecialistPools' resource names associated with this job. | | | `string` | Output only. The detailed state of the job. | | | `string` | Output only. Timestamp when this DataLabelingJob was updated most recently. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -55,5 +58,152 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists DataLabelingJobs in a Location. | | | `INSERT` | | Creates a DataLabelingJob. | | | `DELETE` | | Deletes a DataLabelingJob. | -| | `EXEC` | | Lists DataLabelingJobs in a Location. | | | `EXEC` | | Cancels a DataLabelingJob. Success of cancellation is not guaranteed. | + +## `SELECT` examples + +Lists DataLabelingJobs in a Location. + +```sql +SELECT +name, +activeLearningConfig, +annotationLabels, +createTime, +currentSpend, +datasets, +displayName, +encryptionSpec, +error, +inputs, +inputsSchemaUri, +instructionUri, +labelerCount, +labelingProgress, +labels, +specialistPools, +state, +updateTime +FROM google.aiplatform.data_labeling_jobs +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new data_labeling_jobs resource. + + + + +```sql +/*+ create */ +INSERT INTO google.aiplatform.data_labeling_jobs ( +locationsId, +projectsId, +createTime, +displayName, +encryptionSpec, +labelerCount, +annotationLabels, +updateTime, +inputsSchemaUri, +inputs, +datasets, +labels, +name, +state, +currentSpend, +activeLearningConfig, +labelingProgress, +instructionUri, +specialistPools, +error +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ createTime }}', +'{{ displayName }}', +'{{ encryptionSpec }}', +'{{ labelerCount }}', +'{{ annotationLabels }}', +'{{ updateTime }}', +'{{ inputsSchemaUri }}', +'{{ inputs }}', +'{{ datasets }}', +'{{ labels }}', +'{{ name }}', +'{{ state }}', +'{{ currentSpend }}', +'{{ activeLearningConfig }}', +'{{ labelingProgress }}', +'{{ instructionUri }}', +'{{ specialistPools }}', +'{{ error }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: createTime + value: '{{ createTime }}' + - name: displayName + value: '{{ displayName }}' + - name: encryptionSpec + value: '{{ encryptionSpec }}' + - name: labelerCount + value: '{{ labelerCount }}' + - name: annotationLabels + value: '{{ annotationLabels }}' + - name: updateTime + value: '{{ updateTime }}' + - name: inputsSchemaUri + value: '{{ inputsSchemaUri }}' + - name: inputs + value: '{{ inputs }}' + - name: datasets + value: '{{ datasets }}' + - name: labels + value: '{{ labels }}' + - name: name + value: '{{ name }}' + - name: state + value: '{{ state }}' + - name: currentSpend + value: '{{ currentSpend }}' + - name: activeLearningConfig + value: '{{ activeLearningConfig }}' + - name: labelingProgress + value: '{{ labelingProgress }}' + - name: instructionUri + value: '{{ instructionUri }}' + - name: specialistPools + value: '{{ specialistPools }}' + - name: error + value: '{{ error }}' + +``` + + + +## `DELETE` example + +Deletes the specified data_labeling_job resource. + +```sql +DELETE FROM google.aiplatform.data_labeling_jobs +WHERE dataLabelingJobsId = '{{ dataLabelingJobsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/aiplatform/dataset_versions/index.md b/docs/google-docs/providers/google/aiplatform/dataset_versions/index.md index de1154e724..e454d8747f 100644 --- a/docs/google-docs/providers/google/aiplatform/dataset_versions/index.md +++ b/docs/google-docs/providers/google/aiplatform/dataset_versions/index.md @@ -1,3 +1,4 @@ + --- title: dataset_versions hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - dataset_versions - aiplatform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an dataset_version resource or lists dataset_versions in a region ## Overview
@@ -30,21 +32,149 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. The resource name of the DatasetVersion. | +| | `string` | Output only. Identifier. The resource name of the DatasetVersion. | | | `string` | Output only. Name of the associated BigQuery dataset. | | | `string` | Output only. Timestamp when this DatasetVersion was created. | | | `string` | The user-defined name of the DatasetVersion. The name can be up to 128 characters long and can consist of any UTF-8 characters. | | | `string` | Used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens. | | | `any` | Required. Output only. Additional information about the DatasetVersion. | | | `string` | Output only. Reference to the public base model last used by the dataset version. Only set for prompt dataset versions. | +| | `boolean` | Output only. Reserved for future use. | +| | `boolean` | Output only. Reserved for future use. | | | `string` | Output only. Timestamp when this DatasetVersion was last updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| -| | `SELECT` | | Gets a Dataset version. | -| | `SELECT` | | Lists DatasetVersions in a Dataset. | -| | `INSERT` | | Create a version from a Dataset. | -| | `DELETE` | | Deletes a Dataset version. | -| | `UPDATE` | | Updates a DatasetVersion. | -| | `EXEC` | | Lists DatasetVersions in a Dataset. | -| | `EXEC` | | Restores a dataset version. | +| | `SELECT` | | Gets a Dataset version. | +| | `SELECT` | | Lists DatasetVersions in a Dataset. | +| | `INSERT` | | Create a version from a Dataset. | +| | `DELETE` | | Deletes a Dataset version. | +| | `UPDATE` | | Updates a DatasetVersion. | +| | `EXEC` | | Restores a dataset version. | + +## `SELECT` examples + +Lists DatasetVersions in a Dataset. + +```sql +SELECT +name, +bigQueryDatasetName, +createTime, +displayName, +etag, +metadata, +modelReference, +satisfiesPzi, +satisfiesPzs, +updateTime +FROM google.aiplatform.dataset_versions +WHERE datasetsId = '{{ datasetsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new dataset_versions resource. + + + + +```sql +/*+ create */ +INSERT INTO google.aiplatform.dataset_versions ( +datasetsId, +etag, +satisfiesPzi, +createTime, +updateTime, +bigQueryDatasetName, +modelReference, +name, +metadata, +displayName, +satisfiesPzs +) +SELECT +'{{ datasetsId }}', +'{{ etag }}', +true|false, +'{{ createTime }}', +'{{ updateTime }}', +'{{ bigQueryDatasetName }}', +'{{ modelReference }}', +'{{ name }}', +'{{ metadata }}', +'{{ displayName }}', +true|false +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: etag + value: '{{ etag }}' + - name: satisfiesPzi + value: '{{ satisfiesPzi }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: bigQueryDatasetName + value: '{{ bigQueryDatasetName }}' + - name: modelReference + value: '{{ modelReference }}' + - name: name + value: '{{ name }}' + - name: metadata + value: '{{ metadata }}' + - name: displayName + value: '{{ displayName }}' + - name: satisfiesPzs + value: '{{ satisfiesPzs }}' + +``` + + + +## `UPDATE` example + +Updates a dataset_version only if the necessary resources are available. + +```sql +UPDATE google.aiplatform.dataset_versions +SET +etag = '{{ etag }}', +satisfiesPzi = true|false, +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +bigQueryDatasetName = '{{ bigQueryDatasetName }}', +modelReference = '{{ modelReference }}', +name = '{{ name }}', +metadata = '{{ metadata }}', +displayName = '{{ displayName }}', +satisfiesPzs = true|false +WHERE +datasetVersionsId = '{{ datasetVersionsId }}' +AND datasetsId = '{{ datasetsId }}'; +``` + +## `DELETE` example + +Deletes the specified dataset_version resource. + +```sql +DELETE FROM google.aiplatform.dataset_versions +WHERE datasetVersionsId = '{{ datasetVersionsId }}' +AND datasetsId = '{{ datasetsId }}'; +``` diff --git a/docs/google-docs/providers/google/aiplatform/datasets/index.md b/docs/google-docs/providers/google/aiplatform/datasets/index.md index 4f786ce352..c0df832dfd 100644 --- a/docs/google-docs/providers/google/aiplatform/datasets/index.md +++ b/docs/google-docs/providers/google/aiplatform/datasets/index.md @@ -1,3 +1,4 @@ + --- title: datasets hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - datasets - aiplatform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an dataset resource or lists datasets in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. The resource name of the Dataset. | +| | `string` | Output only. Identifier. The resource name of the Dataset. | | | `string` | The description of the Dataset. | | | `string` | Output only. Timestamp when this Dataset was created. | | | `string` | Output only. The number of DataItems in this Dataset. Only apply for non-structured Dataset. | @@ -39,20 +41,182 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens. | | | `object` | The labels with user-defined metadata to organize your Datasets. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Dataset (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with "aiplatform.googleapis.com/" and are immutable. Following system labels exist for each Dataset: * "aiplatform.googleapis.com/dataset_metadata_schema": output only, its value is the metadata_schema's title. | | | `any` | Required. Additional information about the Dataset. | -| | `string` | Output only. The resource name of the Artifact that was created in MetadataStore when creating the Dataset. The Artifact resource name pattern is `projects/{project}/locations/{location}/metadataStores/{metadata_store}/artifacts/{artifact}`. | +| | `string` | Output only. The resource name of the Artifact that was created in MetadataStore when creating the Dataset. The Artifact resource name pattern is `projects/{project}/locations/{location}/metadataStores/{metadata_store}/artifacts/{artifact}`. | | | `string` | Required. 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/. | | | `string` | Optional. Reference to the public base model last used by the dataset. Only set for prompt datasets. | +| | `boolean` | Output only. Reserved for future use. | +| | `boolean` | Output only. Reserved for future use. | | | `array` | All SavedQueries belong to the Dataset will be returned in List/Get Dataset response. The annotation_specs field will not be populated except for UI cases which will only use annotation_spec_count. In CreateDataset request, a SavedQuery is created together if this field is set, up to one SavedQuery can be set in CreateDatasetRequest. The SavedQuery should not contain any AnnotationSpec. | | | `string` | Output only. Timestamp when this Dataset was last updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| -| | `SELECT` | | Gets a Dataset. | -| | `SELECT` | | Lists Datasets in a Location. | -| | `INSERT` | | Creates a Dataset. | -| | `DELETE` | | Deletes a Dataset. | -| | `UPDATE` | | Updates a Dataset. | -| | `EXEC` | | Lists Datasets in a Location. | +| | `SELECT` | | Gets a Dataset. | +| | `SELECT` | | Lists Datasets in a Location. | +| | `INSERT` | | Creates a Dataset. | +| | `DELETE` | | Deletes a Dataset. | +| | `UPDATE` | | Updates a Dataset. | | | `EXEC` | | Exports data from a Dataset. | | | `EXEC` | | Imports data into a Dataset. | | | `EXEC` | | Searches DataItems in a Dataset. | + +## `SELECT` examples + +Lists Datasets in a Location. + +```sql +SELECT +name, +description, +createTime, +dataItemCount, +displayName, +encryptionSpec, +etag, +labels, +metadata, +metadataArtifact, +metadataSchemaUri, +modelReference, +satisfiesPzi, +satisfiesPzs, +savedQueries, +updateTime +FROM google.aiplatform.datasets +WHERE = '{{ }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new datasets resource. + + + + +```sql +/*+ create */ +INSERT INTO google.aiplatform.datasets ( +, +metadataSchemaUri, +updateTime, +satisfiesPzi, +metadataArtifact, +description, +createTime, +satisfiesPzs, +metadata, +etag, +displayName, +dataItemCount, +name, +labels, +modelReference, +encryptionSpec, +savedQueries +) +SELECT +'{{ }}', +'{{ metadataSchemaUri }}', +'{{ updateTime }}', +true|false, +'{{ metadataArtifact }}', +'{{ description }}', +'{{ createTime }}', +true|false, +'{{ metadata }}', +'{{ etag }}', +'{{ displayName }}', +'{{ dataItemCount }}', +'{{ name }}', +'{{ labels }}', +'{{ modelReference }}', +'{{ encryptionSpec }}', +'{{ savedQueries }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: metadataSchemaUri + value: '{{ metadataSchemaUri }}' + - name: updateTime + value: '{{ updateTime }}' + - name: satisfiesPzi + value: '{{ satisfiesPzi }}' + - name: metadataArtifact + value: '{{ metadataArtifact }}' + - name: description + value: '{{ description }}' + - name: createTime + value: '{{ createTime }}' + - name: satisfiesPzs + value: '{{ satisfiesPzs }}' + - name: metadata + value: '{{ metadata }}' + - name: etag + value: '{{ etag }}' + - name: displayName + value: '{{ displayName }}' + - name: dataItemCount + value: '{{ dataItemCount }}' + - name: name + value: '{{ name }}' + - name: labels + value: '{{ labels }}' + - name: modelReference + value: '{{ modelReference }}' + - name: encryptionSpec + value: '{{ encryptionSpec }}' + - name: savedQueries + value: '{{ savedQueries }}' + +``` + + + +## `UPDATE` example + +Updates a dataset only if the necessary resources are available. + +```sql +UPDATE google.aiplatform.datasets +SET +metadataSchemaUri = '{{ metadataSchemaUri }}', +updateTime = '{{ updateTime }}', +satisfiesPzi = true|false, +metadataArtifact = '{{ metadataArtifact }}', +description = '{{ description }}', +createTime = '{{ createTime }}', +satisfiesPzs = true|false, +metadata = '{{ metadata }}', +etag = '{{ etag }}', +displayName = '{{ displayName }}', +dataItemCount = '{{ dataItemCount }}', +name = '{{ name }}', +labels = '{{ labels }}', +modelReference = '{{ modelReference }}', +encryptionSpec = '{{ encryptionSpec }}', +savedQueries = '{{ savedQueries }}' +WHERE +datasetsId = '{{ datasetsId }}'; +``` + +## `DELETE` example + +Deletes the specified dataset resource. + +```sql +DELETE FROM google.aiplatform.datasets +WHERE datasetsId = '{{ datasetsId }}'; +``` diff --git a/docs/google-docs/providers/google/aiplatform/deployment_resource_pools/index.md b/docs/google-docs/providers/google/aiplatform/deployment_resource_pools/index.md index fe9e50b5e0..5da6d19de0 100644 --- a/docs/google-docs/providers/google/aiplatform/deployment_resource_pools/index.md +++ b/docs/google-docs/providers/google/aiplatform/deployment_resource_pools/index.md @@ -1,3 +1,4 @@ + --- title: deployment_resource_pools hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - deployment_resource_pools - aiplatform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an deployment_resource_pool resource or lists deployment_resource_pools in a region ## Overview
@@ -30,18 +32,116 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Immutable. The resource name of the DeploymentResourcePool. Format: `projects/{project}/locations/{location}/deploymentResourcePools/{deployment_resource_pool}` | +| | `string` | Immutable. The resource name of the DeploymentResourcePool. Format: `projects/{project}/locations/{location}/deploymentResourcePools/{deployment_resource_pool}` | | | `string` | Output only. Timestamp when this DeploymentResourcePool was created. | | | `object` | A description of resources that are dedicated to a DeployedModel, and that need a higher degree of manual configuration. | | | `boolean` | If the DeploymentResourcePool is deployed with custom-trained Models or AutoML Tabular Models, the container(s) of the DeploymentResourcePool will send `stderr` and `stdout` streams to Cloud Logging by default. Please note that the logs incur cost, which are subject to [Cloud Logging pricing](https://cloud.google.com/logging/pricing). User can disable container logging by setting this flag to true. | | | `object` | Represents a customer-managed encryption key spec that can be applied to a top-level resource. | +| | `boolean` | Output only. Reserved for future use. | +| | `boolean` | Output only. Reserved for future use. | | | `string` | The service account that the DeploymentResourcePool's container(s) run as. Specify the email address of the service account. If this service account is not specified, the container(s) run as a service account that doesn't have access to the resource project. Users deploying the Models to this DeploymentResourcePool must have the `iam.serviceAccounts.actAs` permission on this service account. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Get a DeploymentResourcePool. | | | `SELECT` | | List DeploymentResourcePools in a location. | +| | `SELECT` | | List DeployedModels that have been deployed on this DeploymentResourcePool. | | | `INSERT` | | Create a DeploymentResourcePool. | | | `DELETE` | | Delete a DeploymentResourcePool. | -| | `EXEC` | | List DeploymentResourcePools in a location. | -| | `EXEC` | | List DeployedModels that have been deployed on this DeploymentResourcePool. | +| | `UPDATE` | | Update a DeploymentResourcePool. | + +## `SELECT` examples + +List DeploymentResourcePools in a location. + +```sql +SELECT +name, +createTime, +dedicatedResources, +disableContainerLogging, +encryptionSpec, +satisfiesPzi, +satisfiesPzs, +serviceAccount +FROM google.aiplatform.deployment_resource_pools +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new deployment_resource_pools resource. + + + + +```sql +/*+ create */ +INSERT INTO google.aiplatform.deployment_resource_pools ( +locationsId, +projectsId, +deploymentResourcePoolId, +deploymentResourcePool +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ deploymentResourcePoolId }}', +'{{ deploymentResourcePool }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: deploymentResourcePoolId + value: '{{ deploymentResourcePoolId }}' + - name: deploymentResourcePool + value: '{{ deploymentResourcePool }}' + +``` + + + +## `UPDATE` example + +Updates a deployment_resource_pool only if the necessary resources are available. + +```sql +UPDATE google.aiplatform.deployment_resource_pools +SET +serviceAccount = '{{ serviceAccount }}', +dedicatedResources = '{{ dedicatedResources }}', +disableContainerLogging = true|false, +encryptionSpec = '{{ encryptionSpec }}', +createTime = '{{ createTime }}', +satisfiesPzs = true|false, +satisfiesPzi = true|false, +name = '{{ name }}' +WHERE +deploymentResourcePoolsId = '{{ deploymentResourcePoolsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified deployment_resource_pool resource. + +```sql +DELETE FROM google.aiplatform.deployment_resource_pools +WHERE deploymentResourcePoolsId = '{{ deploymentResourcePoolsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/aiplatform/endpoints/index.md b/docs/google-docs/providers/google/aiplatform/endpoints/index.md index 5fe608d97d..e15c68e4ba 100644 --- a/docs/google-docs/providers/google/aiplatform/endpoints/index.md +++ b/docs/google-docs/providers/google/aiplatform/endpoints/index.md @@ -1,3 +1,4 @@ + --- title: endpoints hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - endpoints - aiplatform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an endpoint resource or lists endpoints in a region ## Overview
@@ -33,18 +35,23 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The resource name of the Endpoint. | | | `string` | The description of the Endpoint. | | | `string` | Output only. Timestamp when this Endpoint was created. | +| | `string` | Output only. DNS of the dedicated endpoint. Will only be populated if dedicated_endpoint_enabled is true. Format: `https://{endpoint_id}.{region}-{project_number}.prediction.vertexai.goog`. | +| | `boolean` | If true, the endpoint will be exposed through a dedicated DNS [Endpoint.dedicated_endpoint_dns]. Your request to the dedicated DNS will be isolated from other users' traffic and will have better performance and reliability. Note: Once you enabled dedicated endpoint, you won't be able to send request to the shared DNS {region}-aiplatform.googleapis.com. The limitation will be removed soon. | | | `array` | Output only. The models deployed in this Endpoint. To add or remove DeployedModels use EndpointService.DeployModel and EndpointService.UndeployModel respectively. | | | `string` | Required. The display name of the Endpoint. The name can be up to 128 characters long and can consist of any UTF-8 characters. | | | `boolean` | Deprecated: If true, expose the Endpoint via private service connect. Only one of the fields, network or enable_private_service_connect, can be set. | | | `object` | Represents a customer-managed encryption key spec that can be applied to a top-level resource. | | | `string` | Used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens. | | | `object` | The labels with user-defined metadata to organize your Endpoints. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels. | -| | `string` | Output only. Resource name of the Model Monitoring job associated with this Endpoint if monitoring is enabled by JobService.CreateModelDeploymentMonitoringJob. Format: `projects/{project}/locations/{location}/modelDeploymentMonitoringJobs/{model_deployment_monitoring_job}` | -| | `string` | Optional. The full name of the Google Compute Engine [network](https://cloud.google.com//compute/docs/networks-and-firewalls#networks) to which the Endpoint should be peered. Private services access must already be configured for the network. If left unspecified, the Endpoint is not peered with any network. Only one of the fields, network or enable_private_service_connect, can be set. [Format](https://cloud.google.com/compute/docs/reference/rest/v1/networks/insert): `projects/{project}/global/networks/{network}`. Where `{project}` is a project number, as in `12345`, and `{network}` is network name. | +| | `string` | Output only. Resource name of the Model Monitoring job associated with this Endpoint if monitoring is enabled by JobService.CreateModelDeploymentMonitoringJob. Format: `projects/{project}/locations/{location}/modelDeploymentMonitoringJobs/{model_deployment_monitoring_job}` | +| | `string` | Optional. The full name of the Google Compute Engine [network](https://cloud.google.com//compute/docs/networks-and-firewalls#networks) to which the Endpoint should be peered. Private services access must already be configured for the network. If left unspecified, the Endpoint is not peered with any network. Only one of the fields, network or enable_private_service_connect, can be set. [Format](https://cloud.google.com/compute/docs/reference/rest/v1/networks/insert): `projects/{project}/global/networks/{network}`. Where `{project}` is a project number, as in `12345`, and `{network}` is network name. | | | `object` | Configuration for logging request-response to a BigQuery table. | | | `object` | Represents configuration for private service connect. | +| | `boolean` | Output only. Reserved for future use. | +| | `boolean` | Output only. Reserved for future use. | | | `object` | A map from a DeployedModel's ID to the percentage of this Endpoint's traffic that should be forwarded to that DeployedModel. If a DeployedModel's ID is not listed in this map, then it receives no traffic. The traffic percentage values must add up to 100, or map must be empty if the Endpoint is to not accept any traffic at a moment. | | | `string` | Output only. Timestamp when this Endpoint was last updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -53,18 +60,202 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates an Endpoint. | | | `DELETE` | | Deletes an Endpoint. | | | `UPDATE` | | Updates an Endpoint. | -| | `EXEC` | | Lists Endpoints in a Location. | -| | `EXEC` | | Return a list of tokens based on the input text. | -| | `EXEC` | | Perform a token counting. | +| | `EXEC` | | Return a list of tokens based on the input text. | +| | `EXEC` | | Perform a token counting. | | | `EXEC` | | Deploys a Model into this Endpoint, creating a DeployedModel within it. | | | `EXEC` | | Perform an unary online prediction request to a gRPC model server for Vertex first-party products and frameworks. | | | `EXEC` | | Perform an unary online prediction request to a gRPC model server for custom containers. | | | `EXEC` | | Perform an online explanation. If deployed_model_id is specified, the corresponding DeployModel must have explanation_spec populated. If deployed_model_id is not specified, all DeployedModels must have explanation_spec populated. | -| | `EXEC` | | Generate content with multimodal inputs. | +| | `EXEC` | | Generate content with multimodal inputs. | | | `EXEC` | | Updates an existing deployed model. Updatable fields include `min_replica_count`, `max_replica_count`, `autoscaling_metric_specs`, `disable_container_logging` (v1 only), and `enable_container_logging` (v1beta1 only). | | | `EXEC` | | Perform an online prediction. | | | `EXEC` | | Perform an online prediction with an arbitrary HTTP payload. The response includes the following HTTP headers: * `X-Vertex-AI-Endpoint-Id`: ID of the Endpoint that served this prediction. * `X-Vertex-AI-Deployed-Model-Id`: ID of the Endpoint's DeployedModel that served this prediction. | | | `EXEC` | | Perform a server-side streaming online prediction request for Vertex LLM streaming. | -| | `EXEC` | | Generate content with multimodal inputs with streaming support. | +| | `EXEC` | | Generate content with multimodal inputs with streaming support. | | | `EXEC` | | Perform a streaming online prediction with an arbitrary HTTP payload. | | | `EXEC` | | Undeploys a Model from an Endpoint, removing a DeployedModel from it, and freeing all resources it's using. | + +## `SELECT` examples + +Lists Endpoints in a Location. + +```sql +SELECT +name, +description, +createTime, +dedicatedEndpointDns, +dedicatedEndpointEnabled, +deployedModels, +displayName, +enablePrivateServiceConnect, +encryptionSpec, +etag, +labels, +modelDeploymentMonitoringJob, +network, +predictRequestResponseLoggingConfig, +privateServiceConnectConfig, +satisfiesPzi, +satisfiesPzs, +trafficSplit, +updateTime +FROM google.aiplatform.endpoints +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new endpoints resource. + + + + +```sql +/*+ create */ +INSERT INTO google.aiplatform.endpoints ( +locationsId, +projectsId, +dedicatedEndpointDns, +displayName, +trafficSplit, +predictRequestResponseLoggingConfig, +updateTime, +privateServiceConnectConfig, +encryptionSpec, +etag, +name, +enablePrivateServiceConnect, +modelDeploymentMonitoringJob, +labels, +deployedModels, +satisfiesPzs, +network, +satisfiesPzi, +description, +createTime, +dedicatedEndpointEnabled +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ dedicatedEndpointDns }}', +'{{ displayName }}', +'{{ trafficSplit }}', +'{{ predictRequestResponseLoggingConfig }}', +'{{ updateTime }}', +'{{ privateServiceConnectConfig }}', +'{{ encryptionSpec }}', +'{{ etag }}', +'{{ name }}', +true|false, +'{{ modelDeploymentMonitoringJob }}', +'{{ labels }}', +'{{ deployedModels }}', +true|false, +'{{ network }}', +true|false, +'{{ description }}', +'{{ createTime }}', +true|false +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: dedicatedEndpointDns + value: '{{ dedicatedEndpointDns }}' + - name: displayName + value: '{{ displayName }}' + - name: trafficSplit + value: '{{ trafficSplit }}' + - name: predictRequestResponseLoggingConfig + value: '{{ predictRequestResponseLoggingConfig }}' + - name: updateTime + value: '{{ updateTime }}' + - name: privateServiceConnectConfig + value: '{{ privateServiceConnectConfig }}' + - name: encryptionSpec + value: '{{ encryptionSpec }}' + - name: etag + value: '{{ etag }}' + - name: name + value: '{{ name }}' + - name: enablePrivateServiceConnect + value: '{{ enablePrivateServiceConnect }}' + - name: modelDeploymentMonitoringJob + value: '{{ modelDeploymentMonitoringJob }}' + - name: labels + value: '{{ labels }}' + - name: deployedModels + value: '{{ deployedModels }}' + - name: satisfiesPzs + value: '{{ satisfiesPzs }}' + - name: network + value: '{{ network }}' + - name: satisfiesPzi + value: '{{ satisfiesPzi }}' + - name: description + value: '{{ description }}' + - name: createTime + value: '{{ createTime }}' + - name: dedicatedEndpointEnabled + value: '{{ dedicatedEndpointEnabled }}' + +``` + + + +## `UPDATE` example + +Updates a endpoint only if the necessary resources are available. + +```sql +UPDATE google.aiplatform.endpoints +SET +dedicatedEndpointDns = '{{ dedicatedEndpointDns }}', +displayName = '{{ displayName }}', +trafficSplit = '{{ trafficSplit }}', +predictRequestResponseLoggingConfig = '{{ predictRequestResponseLoggingConfig }}', +updateTime = '{{ updateTime }}', +privateServiceConnectConfig = '{{ privateServiceConnectConfig }}', +encryptionSpec = '{{ encryptionSpec }}', +etag = '{{ etag }}', +name = '{{ name }}', +enablePrivateServiceConnect = true|false, +modelDeploymentMonitoringJob = '{{ modelDeploymentMonitoringJob }}', +labels = '{{ labels }}', +deployedModels = '{{ deployedModels }}', +satisfiesPzs = true|false, +network = '{{ network }}', +satisfiesPzi = true|false, +description = '{{ description }}', +createTime = '{{ createTime }}', +dedicatedEndpointEnabled = true|false +WHERE +endpointsId = '{{ endpointsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified endpoint resource. + +```sql +DELETE FROM google.aiplatform.endpoints +WHERE endpointsId = '{{ endpointsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/aiplatform/entity_types/index.md b/docs/google-docs/providers/google/aiplatform/entity_types/index.md index bf8911e4c0..23c4aea93c 100644 --- a/docs/google-docs/providers/google/aiplatform/entity_types/index.md +++ b/docs/google-docs/providers/google/aiplatform/entity_types/index.md @@ -1,3 +1,4 @@ + --- title: entity_types hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - entity_types - aiplatform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an entity_type resource or lists entity_types in a region ## Overview
@@ -30,14 +32,17 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Immutable. Name of the EntityType. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` The last part entity_type is assigned by the client. The entity_type can be up to 64 characters long and can consist only of ASCII Latin letters A-Z and a-z and underscore(_), and ASCII digits 0-9 starting with a letter. The value will be unique given a featurestore. | +| | `string` | Immutable. Name of the EntityType. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` The last part entity_type is assigned by the client. The entity_type can be up to 64 characters long and can consist only of ASCII Latin letters A-Z and a-z and underscore(_), and ASCII digits 0-9 starting with a letter. The value will be unique given a featurestore. | | | `string` | Optional. Description of the EntityType. | | | `string` | Output only. Timestamp when this EntityType was created. | | | `string` | Optional. Used to perform a consistent read-modify-write updates. If not set, a blind "overwrite" update happens. | | | `object` | Optional. The labels with user-defined metadata to organize your EntityTypes. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one EntityType (System labels are excluded)." System reserved label keys are prefixed with "aiplatform.googleapis.com/" and are immutable. | | | `object` | Configuration of how features in Featurestore are monitored. | | | `integer` | Optional. 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 `offline_storage_ttl_days` since the feature generation time. If unset (or explicitly set to 0), default to 4000 days TTL. | +| | `boolean` | Output only. Reserved for future use. | +| | `boolean` | Output only. Reserved for future use. | | | `string` | Output only. Timestamp when this EntityType was most recently updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -46,9 +51,144 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new EntityType in a given Featurestore. | | | `DELETE` | | Deletes a single EntityType. The EntityType must not have any Features or `force` must be set to true for the request to succeed. | | | `UPDATE` | | Updates the parameters of a single EntityType. | -| | `EXEC` | | Lists EntityTypes in a given Featurestore. | | | `EXEC` | | Exports Feature values from all the entities of a target EntityType. | | | `EXEC` | | Imports Feature values into the Featurestore from a source storage. The progress of the import is tracked by the returned operation. The imported features are guaranteed to be visible to subsequent read operations after the operation is marked as successfully done. If an import operation fails, the Feature values returned from reads and exports may be inconsistent. If consistency is required, the caller must retry the same import request again and wait till the new operation returned is marked as successfully done. There are also scenarios where the caller can cause inconsistency. - Source data for import contains multiple distinct Feature values for the same entity ID and timestamp. - Source is modified during an import. This includes adding, updating, or removing source data and/or metadata. Examples of updating metadata include but are not limited to changing storage location, storage class, or retention policy. - Online serving cluster is under-provisioned. | | | `EXEC` | | Reads Feature values of a specific entity of an EntityType. For reading feature values of multiple entities of an EntityType, please use StreamingReadFeatureValues. | | | `EXEC` | | Reads Feature values for multiple entities. Depending on their size, data for different entities may be broken up across multiple responses. | | | `EXEC` | | Writes Feature values of one or more entities of an EntityType. The Feature values are merged into existing entities if any. The Feature values to be written must have timestamp within the online storage retention. | + +## `SELECT` examples + +Lists EntityTypes in a given Featurestore. + +```sql +SELECT +name, +description, +createTime, +etag, +labels, +monitoringConfig, +offlineStorageTtlDays, +satisfiesPzi, +satisfiesPzs, +updateTime +FROM google.aiplatform.entity_types +WHERE featurestoresId = '{{ featurestoresId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new entity_types resource. + + + + +```sql +/*+ create */ +INSERT INTO google.aiplatform.entity_types ( +featurestoresId, +locationsId, +projectsId, +etag, +createTime, +name, +satisfiesPzi, +updateTime, +offlineStorageTtlDays, +description, +satisfiesPzs, +monitoringConfig, +labels +) +SELECT +'{{ featurestoresId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ etag }}', +'{{ createTime }}', +'{{ name }}', +true|false, +'{{ updateTime }}', +'{{ offlineStorageTtlDays }}', +'{{ description }}', +true|false, +'{{ monitoringConfig }}', +'{{ labels }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: etag + value: '{{ etag }}' + - name: createTime + value: '{{ createTime }}' + - name: name + value: '{{ name }}' + - name: satisfiesPzi + value: '{{ satisfiesPzi }}' + - name: updateTime + value: '{{ updateTime }}' + - name: offlineStorageTtlDays + value: '{{ offlineStorageTtlDays }}' + - name: description + value: '{{ description }}' + - name: satisfiesPzs + value: '{{ satisfiesPzs }}' + - name: monitoringConfig + value: '{{ monitoringConfig }}' + - name: labels + value: '{{ labels }}' + +``` + + + +## `UPDATE` example + +Updates a entity_type only if the necessary resources are available. + +```sql +UPDATE google.aiplatform.entity_types +SET +etag = '{{ etag }}', +createTime = '{{ createTime }}', +name = '{{ name }}', +satisfiesPzi = true|false, +updateTime = '{{ updateTime }}', +offlineStorageTtlDays = '{{ offlineStorageTtlDays }}', +description = '{{ description }}', +satisfiesPzs = true|false, +monitoringConfig = '{{ monitoringConfig }}', +labels = '{{ labels }}' +WHERE +entityTypesId = '{{ entityTypesId }}' +AND featurestoresId = '{{ featurestoresId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified entity_type resource. + +```sql +DELETE FROM google.aiplatform.entity_types +WHERE entityTypesId = '{{ entityTypesId }}' +AND featurestoresId = '{{ featurestoresId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/aiplatform/entity_types_feature_values/index.md b/docs/google-docs/providers/google/aiplatform/entity_types_feature_values/index.md index 8d01132355..0c00d82b55 100644 --- a/docs/google-docs/providers/google/aiplatform/entity_types_feature_values/index.md +++ b/docs/google-docs/providers/google/aiplatform/entity_types_feature_values/index.md @@ -1,3 +1,4 @@ + --- title: entity_types_feature_values hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - entity_types_feature_values - aiplatform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an entity_types_feature_value resource or lists entity_types_feature_values in a region ## Overview
@@ -28,8 +30,22 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `DELETE` | | Delete Feature values from Featurestore. The progress of the deletion is tracked by the returned operation. The deleted feature values are guaranteed to be invisible to subsequent read operations after the operation is marked as successfully done. If a delete feature values operation fails, the feature values returned from reads and exports may be inconsistent. If consistency is required, the caller must retry the same delete request again and wait till the new operation returned is marked as successfully done. | + +## `DELETE` example + +Deletes the specified entity_types_feature_value resource. + +```sql +DELETE FROM google.aiplatform.entity_types_feature_values +WHERE entityTypesId = '{{ entityTypesId }}' +AND featurestoresId = '{{ featurestoresId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/aiplatform/entity_types_iam_policies/index.md b/docs/google-docs/providers/google/aiplatform/entity_types_iam_policies/index.md index 59f7f0ef4b..af8a120afc 100644 --- a/docs/google-docs/providers/google/aiplatform/entity_types_iam_policies/index.md +++ b/docs/google-docs/providers/google/aiplatform/entity_types_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: entity_types_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - entity_types_iam_policies - aiplatform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an entity_types_iam_policy resource or lists entity_types_iam_policies in a region ## Overview @@ -30,13 +32,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.aiplatform.entity_types_iam_policies +WHERE entityTypesId = '{{ entityTypesId }}' +AND featurestoresId = '{{ featurestoresId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/aiplatform/evaluations/index.md b/docs/google-docs/providers/google/aiplatform/evaluations/index.md index b249d46fcb..f2ff9af7de 100644 --- a/docs/google-docs/providers/google/aiplatform/evaluations/index.md +++ b/docs/google-docs/providers/google/aiplatform/evaluations/index.md @@ -1,3 +1,4 @@ + --- title: evaluations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - evaluations - aiplatform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an evaluation resource or lists evaluations in a region ## Overview
@@ -41,10 +43,33 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Points to a YAML file stored on Google Cloud Storage describing the metrics of this ModelEvaluation. The schema is defined as an OpenAPI 3.0.2 [Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). | | | `object` | Aggregated explanation metrics for a Model over a set of instances. | | | `array` | All possible dimensions of ModelEvaluationSlices. The dimensions can be used as the filter of the ModelService.ListModelEvaluationSlices request, in the form of `slice.dimension = `. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets a ModelEvaluation. | | | `SELECT` | | Lists ModelEvaluations in a Model. | -| | `EXEC` | | Lists ModelEvaluations in a Model. | | | `EXEC` | | Imports an externally generated ModelEvaluation. | + +## `SELECT` examples + +Lists ModelEvaluations in a Model. + +```sql +SELECT +name, +annotationSchemaUri, +createTime, +dataItemSchemaUri, +displayName, +explanationSpecs, +metadata, +metrics, +metricsSchemaUri, +modelExplanation, +sliceDimensions +FROM google.aiplatform.evaluations +WHERE locationsId = '{{ locationsId }}' +AND modelsId = '{{ modelsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/aiplatform/executions/index.md b/docs/google-docs/providers/google/aiplatform/executions/index.md index dca046f1da..0035eb6fb6 100644 --- a/docs/google-docs/providers/google/aiplatform/executions/index.md +++ b/docs/google-docs/providers/google/aiplatform/executions/index.md @@ -1,3 +1,4 @@ + --- title: executions hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - executions - aiplatform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an execution resource or lists executions in a region ## Overview
@@ -30,25 +32,151 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. The resource name of the Execution. | -| | `string` | Description of the Execution | -| | `string` | Output only. Timestamp when this Execution was created. | -| | `string` | User provided display name of the Execution. May be up to 128 Unicode characters. | -| | `string` | An eTag used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens. | -| | `object` | The labels with user-defined metadata to organize your Executions. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Execution (System labels are excluded). | -| | `object` | Properties of the Execution. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. | -| | `string` | The title of the schema describing the metadata. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. | -| | `string` | The version of the schema in `schema_title` to use. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. | -| | `string` | The state of this Execution. This is a property of the Execution, and does not imply or capture any ongoing process. This property is managed by clients (such as Vertex AI Pipelines) and the system does not prescribe or check the validity of state transitions. | -| | `string` | Output only. Timestamp when this Execution was last updated. | +| | `array` | The Artifact nodes in the subgraph. | +| | `array` | The Event edges between Artifacts and Executions in the subgraph. | +| | `array` | The Execution nodes in the subgraph. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Retrieves a specific Execution. | | | `SELECT` | | Lists Executions in the MetadataStore. | +| | `SELECT` | | Obtains the set of input and output Artifacts for this Execution, in the form of LineageSubgraph that also contains the Execution and connecting Events. | | | `INSERT` | | Creates an Execution associated with a MetadataStore. | | | `DELETE` | | Deletes an Execution. | | | `UPDATE` | | Updates a stored Execution. | -| | `EXEC` | | Lists Executions in the MetadataStore. | | | `EXEC` | | Purges Executions. | -| | `EXEC` | | Obtains the set of input and output Artifacts for this Execution, in the form of LineageSubgraph that also contains the Execution and connecting Events. | + +## `SELECT` examples + +Lists Executions in the MetadataStore. + +```sql +SELECT +artifacts, +events, +executions +FROM google.aiplatform.executions +WHERE locationsId = '{{ locationsId }}' +AND metadataStoresId = '{{ metadataStoresId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new executions resource. + + + + +```sql +/*+ create */ +INSERT INTO google.aiplatform.executions ( +locationsId, +metadataStoresId, +projectsId, +name, +description, +state, +labels, +createTime, +displayName, +schemaVersion, +schemaTitle, +etag, +updateTime, +metadata +) +SELECT +'{{ locationsId }}', +'{{ metadataStoresId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ description }}', +'{{ state }}', +'{{ labels }}', +'{{ createTime }}', +'{{ displayName }}', +'{{ schemaVersion }}', +'{{ schemaTitle }}', +'{{ etag }}', +'{{ updateTime }}', +'{{ metadata }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: state + value: '{{ state }}' + - name: labels + value: '{{ labels }}' + - name: createTime + value: '{{ createTime }}' + - name: displayName + value: '{{ displayName }}' + - name: schemaVersion + value: '{{ schemaVersion }}' + - name: schemaTitle + value: '{{ schemaTitle }}' + - name: etag + value: '{{ etag }}' + - name: updateTime + value: '{{ updateTime }}' + - name: metadata + value: '{{ metadata }}' + +``` + + + +## `UPDATE` example + +Updates a execution only if the necessary resources are available. + +```sql +UPDATE google.aiplatform.executions +SET +name = '{{ name }}', +description = '{{ description }}', +state = '{{ state }}', +labels = '{{ labels }}', +createTime = '{{ createTime }}', +displayName = '{{ displayName }}', +schemaVersion = '{{ schemaVersion }}', +schemaTitle = '{{ schemaTitle }}', +etag = '{{ etag }}', +updateTime = '{{ updateTime }}', +metadata = '{{ metadata }}' +WHERE +executionsId = '{{ executionsId }}' +AND locationsId = '{{ locationsId }}' +AND metadataStoresId = '{{ metadataStoresId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified execution resource. + +```sql +DELETE FROM google.aiplatform.executions +WHERE executionsId = '{{ executionsId }}' +AND locationsId = '{{ locationsId }}' +AND metadataStoresId = '{{ metadataStoresId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/aiplatform/executions_execution_events/index.md b/docs/google-docs/providers/google/aiplatform/executions_execution_events/index.md index 61423526f2..6e719b974e 100644 --- a/docs/google-docs/providers/google/aiplatform/executions_execution_events/index.md +++ b/docs/google-docs/providers/google/aiplatform/executions_execution_events/index.md @@ -1,3 +1,4 @@ + --- title: executions_execution_events hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - executions_execution_events - aiplatform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an executions_execution_event resource or lists executions_execution_events in a region ## Overview
@@ -28,8 +30,54 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `INSERT` | | Adds Events to the specified Execution. An Event indicates whether an Artifact was used as an input or output for an Execution. If an Event already exists between the Execution and the Artifact, the Event is skipped. | + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new executions_execution_events resource. + + + + +```sql +/*+ create */ +INSERT INTO google.aiplatform.executions_execution_events ( +executionsId, +locationsId, +metadataStoresId, +projectsId, +events +) +SELECT +'{{ executionsId }}', +'{{ locationsId }}', +'{{ metadataStoresId }}', +'{{ projectsId }}', +'{{ events }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: events + value: '{{ events }}' + +``` + + diff --git a/docs/google-docs/providers/google/aiplatform/experiments/index.md b/docs/google-docs/providers/google/aiplatform/experiments/index.md index 76c61cd52f..90423a146c 100644 --- a/docs/google-docs/providers/google/aiplatform/experiments/index.md +++ b/docs/google-docs/providers/google/aiplatform/experiments/index.md @@ -1,3 +1,4 @@ + --- title: experiments hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - experiments - aiplatform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an experiment resource or lists experiments in a region ## Overview @@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. Name of the TensorboardExperiment. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}` | +| | `string` | Output only. Name of the TensorboardExperiment. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}` | | | `string` | Description of this TensorboardExperiment. | | | `string` | Output only. Timestamp when this TensorboardExperiment was created. | | | `string` | User provided name of this TensorboardExperiment. | @@ -38,14 +40,138 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | The labels with user-defined metadata to organize your TensorboardExperiment. Label keys and values cannot be longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Dataset (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with `aiplatform.googleapis.com/` and are immutable. The following system labels exist for each Dataset: * `aiplatform.googleapis.com/dataset_metadata_schema`: output only. Its value is the metadata_schema's title. | | | `string` | Immutable. Source of the TensorboardExperiment. Example: a custom training job. | | | `string` | Output only. Timestamp when this TensorboardExperiment was last updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets a TensorboardExperiment. | | | `SELECT` | | Lists TensorboardExperiments in a Location. | +| | `INSERT` | | Batch create TensorboardTimeSeries that belong to a TensorboardExperiment. | | | `INSERT` | | Creates a TensorboardExperiment. | | | `DELETE` | | Deletes a TensorboardExperiment. | | | `UPDATE` | | Updates a TensorboardExperiment. | -| | `EXEC` | | Lists TensorboardExperiments in a Location. | -| | `EXEC` | | Batch create TensorboardTimeSeries that belong to a TensorboardExperiment. | | | `EXEC` | | Write time series data points of multiple TensorboardTimeSeries in multiple TensorboardRun's. If any data fail to be ingested, an error is returned. | + +## `SELECT` examples + +Lists TensorboardExperiments in a Location. + +```sql +SELECT +name, +description, +createTime, +displayName, +etag, +labels, +source, +updateTime +FROM google.aiplatform.experiments +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND tensorboardsId = '{{ tensorboardsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new experiments resource. + + + + +```sql +/*+ create */ +INSERT INTO google.aiplatform.experiments ( +locationsId, +projectsId, +tensorboardsId, +labels, +displayName, +updateTime, +source, +createTime, +etag, +name, +description +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ tensorboardsId }}', +'{{ labels }}', +'{{ displayName }}', +'{{ updateTime }}', +'{{ source }}', +'{{ createTime }}', +'{{ etag }}', +'{{ name }}', +'{{ description }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: labels + value: '{{ labels }}' + - name: displayName + value: '{{ displayName }}' + - name: updateTime + value: '{{ updateTime }}' + - name: source + value: '{{ source }}' + - name: createTime + value: '{{ createTime }}' + - name: etag + value: '{{ etag }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + +``` + + + +## `UPDATE` example + +Updates a experiment only if the necessary resources are available. + +```sql +UPDATE google.aiplatform.experiments +SET +labels = '{{ labels }}', +displayName = '{{ displayName }}', +updateTime = '{{ updateTime }}', +source = '{{ source }}', +createTime = '{{ createTime }}', +etag = '{{ etag }}', +name = '{{ name }}', +description = '{{ description }}' +WHERE +experimentsId = '{{ experimentsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND tensorboardsId = '{{ tensorboardsId }}'; +``` + +## `DELETE` example + +Deletes the specified experiment resource. + +```sql +DELETE FROM google.aiplatform.experiments +WHERE experimentsId = '{{ experimentsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND tensorboardsId = '{{ tensorboardsId }}'; +``` diff --git a/docs/google-docs/providers/google/aiplatform/feature_groups/index.md b/docs/google-docs/providers/google/aiplatform/feature_groups/index.md index f9c2e6b645..963348e3b7 100644 --- a/docs/google-docs/providers/google/aiplatform/feature_groups/index.md +++ b/docs/google-docs/providers/google/aiplatform/feature_groups/index.md @@ -1,3 +1,4 @@ + --- title: feature_groups hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - feature_groups - aiplatform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an feature_group resource or lists feature_groups in a region ## Overview
@@ -30,13 +32,14 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Identifier. Name of the FeatureGroup. Format: `projects/{project}/locations/{location}/featureGroups/{featureGroup}` | +| | `string` | Identifier. Name of the FeatureGroup. Format: `projects/{project}/locations/{location}/featureGroups/{featureGroup}` | | | `string` | Optional. Description of the FeatureGroup. | | | `object` | Input source type for BigQuery Tables and Views. | | | `string` | Output only. Timestamp when this FeatureGroup was created. | | | `string` | Optional. Used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens. | | | `object` | Optional. The labels with user-defined metadata to organize your FeatureGroup. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one FeatureGroup(System labels are excluded)." System reserved label keys are prefixed with "aiplatform.googleapis.com/" and are immutable. | | | `string` | Output only. Timestamp when this FeatureGroup was last updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -45,4 +48,116 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new FeatureGroup in a given project and location. | | | `DELETE` | | Deletes a single FeatureGroup. | | | `UPDATE` | | Updates the parameters of a single FeatureGroup. | -| | `EXEC` | | Lists FeatureGroups in a given project and location. | + +## `SELECT` examples + +Lists FeatureGroups in a given project and location. + +```sql +SELECT +name, +description, +bigQuery, +createTime, +etag, +labels, +updateTime +FROM google.aiplatform.feature_groups +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new feature_groups resource. + + + + +```sql +/*+ create */ +INSERT INTO google.aiplatform.feature_groups ( +locationsId, +projectsId, +bigQuery, +updateTime, +name, +description, +labels, +createTime, +etag +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ bigQuery }}', +'{{ updateTime }}', +'{{ name }}', +'{{ description }}', +'{{ labels }}', +'{{ createTime }}', +'{{ etag }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: bigQuery + value: '{{ bigQuery }}' + - name: updateTime + value: '{{ updateTime }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: labels + value: '{{ labels }}' + - name: createTime + value: '{{ createTime }}' + - name: etag + value: '{{ etag }}' + +``` + + + +## `UPDATE` example + +Updates a feature_group only if the necessary resources are available. + +```sql +UPDATE google.aiplatform.feature_groups +SET +bigQuery = '{{ bigQuery }}', +updateTime = '{{ updateTime }}', +name = '{{ name }}', +description = '{{ description }}', +labels = '{{ labels }}', +createTime = '{{ createTime }}', +etag = '{{ etag }}' +WHERE +featureGroupsId = '{{ featureGroupsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified feature_group resource. + +```sql +DELETE FROM google.aiplatform.feature_groups +WHERE featureGroupsId = '{{ featureGroupsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/aiplatform/feature_online_stores/index.md b/docs/google-docs/providers/google/aiplatform/feature_online_stores/index.md index d3b22fe240..1c651bbe09 100644 --- a/docs/google-docs/providers/google/aiplatform/feature_online_stores/index.md +++ b/docs/google-docs/providers/google/aiplatform/feature_online_stores/index.md @@ -1,3 +1,4 @@ + --- title: feature_online_stores hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - feature_online_stores - aiplatform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an feature_online_store resource or lists feature_online_stores in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Identifier. Name of the FeatureOnlineStore. Format: `projects/{project}/locations/{location}/featureOnlineStores/{featureOnlineStore}` | +| | `string` | Identifier. Name of the FeatureOnlineStore. Format: `projects/{project}/locations/{location}/featureOnlineStores/{featureOnlineStore}` | | | `object` | | | | `string` | Output only. Timestamp when this FeatureOnlineStore was created. | | | `object` | The dedicated serving endpoint for this FeatureOnlineStore. Only need to set when you choose Optimized storage type. Public endpoint is provisioned by default. | @@ -38,8 +40,11 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Optional. Used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens. | | | `object` | Optional. The labels with user-defined metadata to organize your FeatureOnlineStore. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one FeatureOnlineStore(System labels are excluded)." System reserved label keys are prefixed with "aiplatform.googleapis.com/" and are immutable. | | | `object` | Optimized storage type | +| | `boolean` | Output only. Reserved for future use. | +| | `boolean` | Output only. Reserved for future use. | | | `string` | Output only. State of the featureOnlineStore. | | | `string` | Output only. Timestamp when this FeatureOnlineStore was last updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -48,4 +53,146 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new FeatureOnlineStore in a given project and location. | | | `DELETE` | | Deletes a single FeatureOnlineStore. The FeatureOnlineStore must not contain any FeatureViews. | | | `UPDATE` | | Updates the parameters of a single FeatureOnlineStore. | -| | `EXEC` | | Lists FeatureOnlineStores in a given project and location. | + +## `SELECT` examples + +Lists FeatureOnlineStores in a given project and location. + +```sql +SELECT +name, +bigtable, +createTime, +dedicatedServingEndpoint, +encryptionSpec, +etag, +labels, +optimized, +satisfiesPzi, +satisfiesPzs, +state, +updateTime +FROM google.aiplatform.feature_online_stores +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new feature_online_stores resource. + + + + +```sql +/*+ create */ +INSERT INTO google.aiplatform.feature_online_stores ( +locationsId, +projectsId, +dedicatedServingEndpoint, +updateTime, +etag, +satisfiesPzs, +labels, +createTime, +optimized, +name, +bigtable, +state, +encryptionSpec, +satisfiesPzi +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ dedicatedServingEndpoint }}', +'{{ updateTime }}', +'{{ etag }}', +true|false, +'{{ labels }}', +'{{ createTime }}', +'{{ optimized }}', +'{{ name }}', +'{{ bigtable }}', +'{{ state }}', +'{{ encryptionSpec }}', +true|false +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: dedicatedServingEndpoint + value: '{{ dedicatedServingEndpoint }}' + - name: updateTime + value: '{{ updateTime }}' + - name: etag + value: '{{ etag }}' + - name: satisfiesPzs + value: '{{ satisfiesPzs }}' + - name: labels + value: '{{ labels }}' + - name: createTime + value: '{{ createTime }}' + - name: optimized + value: '{{ optimized }}' + - name: name + value: '{{ name }}' + - name: bigtable + value: '{{ bigtable }}' + - name: state + value: '{{ state }}' + - name: encryptionSpec + value: '{{ encryptionSpec }}' + - name: satisfiesPzi + value: '{{ satisfiesPzi }}' + +``` + + + +## `UPDATE` example + +Updates a feature_online_store only if the necessary resources are available. + +```sql +UPDATE google.aiplatform.feature_online_stores +SET +dedicatedServingEndpoint = '{{ dedicatedServingEndpoint }}', +updateTime = '{{ updateTime }}', +etag = '{{ etag }}', +satisfiesPzs = true|false, +labels = '{{ labels }}', +createTime = '{{ createTime }}', +optimized = '{{ optimized }}', +name = '{{ name }}', +bigtable = '{{ bigtable }}', +state = '{{ state }}', +encryptionSpec = '{{ encryptionSpec }}', +satisfiesPzi = true|false +WHERE +featureOnlineStoresId = '{{ featureOnlineStoresId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified feature_online_store resource. + +```sql +DELETE FROM google.aiplatform.feature_online_stores +WHERE featureOnlineStoresId = '{{ featureOnlineStoresId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/aiplatform/feature_online_stores_iam_policies/index.md b/docs/google-docs/providers/google/aiplatform/feature_online_stores_iam_policies/index.md new file mode 100644 index 0000000000..f57293d0d6 --- /dev/null +++ b/docs/google-docs/providers/google/aiplatform/feature_online_stores_iam_policies/index.md @@ -0,0 +1,59 @@ + +--- +title: feature_online_stores_iam_policies +hide_title: false +hide_table_of_contents: false +keywords: + - feature_online_stores_iam_policies + - aiplatform + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an feature_online_stores_iam_policy resource or lists feature_online_stores_iam_policies in a region + +## Overview +
+ + + +
Namefeature_online_stores_iam_policies
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | +| | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | +| | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.aiplatform.feature_online_stores_iam_policies +WHERE featureOnlineStoresId = '{{ featureOnlineStoresId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/aiplatform/feature_view_syncs/index.md b/docs/google-docs/providers/google/aiplatform/feature_view_syncs/index.md index a3359425dc..ff0d4bbca4 100644 --- a/docs/google-docs/providers/google/aiplatform/feature_view_syncs/index.md +++ b/docs/google-docs/providers/google/aiplatform/feature_view_syncs/index.md @@ -1,3 +1,4 @@ + --- title: feature_view_syncs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - feature_view_syncs - aiplatform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an feature_view_sync resource or lists feature_view_syncs in a region ## Overview @@ -30,14 +32,36 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Identifier. Name of the FeatureViewSync. Format: `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}/featureViewSyncs/{feature_view_sync}` | +| | `string` | Identifier. Name of the FeatureViewSync. Format: `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}/featureViewSyncs/{feature_view_sync}` | | | `string` | Output only. Time when this FeatureViewSync is created. Creation of a FeatureViewSync means that the job is pending / waiting for sufficient resources but may not have started the actual data transfer yet. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Represents a time interval, encoded as a Timestamp start (inclusive) and a Timestamp end (exclusive). The start must be less than or equal to the end. When the start equals the end, the interval is empty (matches no time). When both start and end are unspecified, the interval matches any time. | +| | `boolean` | Output only. Reserved for future use. | +| | `boolean` | Output only. Reserved for future use. | | | `object` | Summary from the Sync job. For continuous syncs, the summary is updated periodically. For batch syncs, it gets updated on completion of the sync. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets details of a single FeatureViewSync. | | | `SELECT` | | Lists FeatureViewSyncs in a given FeatureView. | -| | `EXEC` | | Lists FeatureViewSyncs in a given FeatureView. | + +## `SELECT` examples + +Lists FeatureViewSyncs in a given FeatureView. + +```sql +SELECT +name, +createTime, +finalStatus, +runTime, +satisfiesPzi, +satisfiesPzs, +syncSummary +FROM google.aiplatform.feature_view_syncs +WHERE featureOnlineStoresId = '{{ featureOnlineStoresId }}' +AND featureViewsId = '{{ featureViewsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/aiplatform/feature_views/index.md b/docs/google-docs/providers/google/aiplatform/feature_views/index.md index cd4cb904b4..1112029e07 100644 --- a/docs/google-docs/providers/google/aiplatform/feature_views/index.md +++ b/docs/google-docs/providers/google/aiplatform/feature_views/index.md @@ -1,3 +1,4 @@ + --- title: feature_views hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - feature_views - aiplatform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an feature_view resource or lists feature_views in a region ## Overview
@@ -30,15 +32,19 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Identifier. Name of the FeatureView. Format: `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}` | +| | `string` | Identifier. Name of the FeatureView. Format: `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}` | | | `object` | | | | `string` | Output only. Timestamp when this FeatureView was created. | | | `string` | Optional. Used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens. | | | `object` | A Feature Registry source for features that need to be synced to Online Store. | | | `object` | Configuration for vector indexing. | | | `object` | Optional. The labels with user-defined metadata to organize your FeatureViews. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one FeatureOnlineStore(System labels are excluded)." System reserved label keys are prefixed with "aiplatform.googleapis.com/" and are immutable. | +| | `boolean` | Output only. Reserved for future use. | +| | `boolean` | Output only. Reserved for future use. | | | `object` | Configuration for Sync. Only one option is set. | | | `string` | Output only. Timestamp when this FeatureView was last updated. | +| | `object` | A Vertex Rag source for features that need to be synced to Online Store. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -47,6 +53,153 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new FeatureView in a given FeatureOnlineStore. | | | `DELETE` | | Deletes a single FeatureView. | | | `UPDATE` | | Updates the parameters of a single FeatureView. | -| | `EXEC` | | Lists FeatureViews in a given FeatureOnlineStore. | | | `EXEC` | | Search the nearest entities under a FeatureView. Search only works for indexable feature view; if a feature view isn't indexable, returns Invalid argument response. | | | `EXEC` | | Triggers on-demand sync for the FeatureView. | + +## `SELECT` examples + +Lists FeatureViews in a given FeatureOnlineStore. + +```sql +SELECT +name, +bigQuerySource, +createTime, +etag, +featureRegistrySource, +indexConfig, +labels, +satisfiesPzi, +satisfiesPzs, +syncConfig, +updateTime, +vertexRagSource +FROM google.aiplatform.feature_views +WHERE featureOnlineStoresId = '{{ featureOnlineStoresId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new feature_views resource. + + + + +```sql +/*+ create */ +INSERT INTO google.aiplatform.feature_views ( +featureOnlineStoresId, +locationsId, +projectsId, +satisfiesPzs, +createTime, +etag, +satisfiesPzi, +labels, +bigQuerySource, +name, +updateTime, +featureRegistrySource, +indexConfig, +vertexRagSource, +syncConfig +) +SELECT +'{{ featureOnlineStoresId }}', +'{{ locationsId }}', +'{{ projectsId }}', +true|false, +'{{ createTime }}', +'{{ etag }}', +true|false, +'{{ labels }}', +'{{ bigQuerySource }}', +'{{ name }}', +'{{ updateTime }}', +'{{ featureRegistrySource }}', +'{{ indexConfig }}', +'{{ vertexRagSource }}', +'{{ syncConfig }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: satisfiesPzs + value: '{{ satisfiesPzs }}' + - name: createTime + value: '{{ createTime }}' + - name: etag + value: '{{ etag }}' + - name: satisfiesPzi + value: '{{ satisfiesPzi }}' + - name: labels + value: '{{ labels }}' + - name: bigQuerySource + value: '{{ bigQuerySource }}' + - name: name + value: '{{ name }}' + - name: updateTime + value: '{{ updateTime }}' + - name: featureRegistrySource + value: '{{ featureRegistrySource }}' + - name: indexConfig + value: '{{ indexConfig }}' + - name: vertexRagSource + value: '{{ vertexRagSource }}' + - name: syncConfig + value: '{{ syncConfig }}' + +``` + + + +## `UPDATE` example + +Updates a feature_view only if the necessary resources are available. + +```sql +UPDATE google.aiplatform.feature_views +SET +satisfiesPzs = true|false, +createTime = '{{ createTime }}', +etag = '{{ etag }}', +satisfiesPzi = true|false, +labels = '{{ labels }}', +bigQuerySource = '{{ bigQuerySource }}', +name = '{{ name }}', +updateTime = '{{ updateTime }}', +featureRegistrySource = '{{ featureRegistrySource }}', +indexConfig = '{{ indexConfig }}', +vertexRagSource = '{{ vertexRagSource }}', +syncConfig = '{{ syncConfig }}' +WHERE +featureOnlineStoresId = '{{ featureOnlineStoresId }}' +AND featureViewsId = '{{ featureViewsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified feature_view resource. + +```sql +DELETE FROM google.aiplatform.feature_views +WHERE featureOnlineStoresId = '{{ featureOnlineStoresId }}' +AND featureViewsId = '{{ featureViewsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/aiplatform/feature_views_feature_values/index.md b/docs/google-docs/providers/google/aiplatform/feature_views_feature_values/index.md index 98079d456c..97391043a9 100644 --- a/docs/google-docs/providers/google/aiplatform/feature_views_feature_values/index.md +++ b/docs/google-docs/providers/google/aiplatform/feature_views_feature_values/index.md @@ -1,3 +1,4 @@ + --- title: feature_views_feature_values hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - feature_views_feature_values - aiplatform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an feature_views_feature_value resource or lists feature_views_feature_values in a region ## Overview
@@ -28,8 +30,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `object` | Lookup key for a feature view. | +| | `object` | Response structure in the format of key (feature name) and (feature) value pair. | +| | `object` | Feature values in proto Struct format. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Fetch feature values under a FeatureView. | + +## `SELECT` examples + +Fetch feature values under a FeatureView. + +```sql +SELECT +dataKey, +keyValues, +protoStruct +FROM google.aiplatform.feature_views_feature_values +WHERE featureOnlineStoresId = '{{ featureOnlineStoresId }}' +AND featureViewsId = '{{ featureViewsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/aiplatform/feature_views_iam_policies/index.md b/docs/google-docs/providers/google/aiplatform/feature_views_iam_policies/index.md new file mode 100644 index 0000000000..1a77bd9a3a --- /dev/null +++ b/docs/google-docs/providers/google/aiplatform/feature_views_iam_policies/index.md @@ -0,0 +1,60 @@ + +--- +title: feature_views_iam_policies +hide_title: false +hide_table_of_contents: false +keywords: + - feature_views_iam_policies + - aiplatform + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an feature_views_iam_policy resource or lists feature_views_iam_policies in a region + +## Overview + + + + +
Namefeature_views_iam_policies
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | +| | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | +| | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.aiplatform.feature_views_iam_policies +WHERE featureOnlineStoresId = '{{ featureOnlineStoresId }}' +AND featureViewsId = '{{ featureViewsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/aiplatform/features/index.md b/docs/google-docs/providers/google/aiplatform/features/index.md index d412899231..44d071eecf 100644 --- a/docs/google-docs/providers/google/aiplatform/features/index.md +++ b/docs/google-docs/providers/google/aiplatform/features/index.md @@ -1,3 +1,4 @@ + --- title: features hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - features - aiplatform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an feature resource or lists features in a region ## Overview @@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Immutable. Name of the Feature. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}/features/{feature}` `projects/{project}/locations/{location}/featureGroups/{feature_group}/features/{feature}` The last part feature is assigned by the client. The feature can be up to 64 characters long and can consist only of ASCII Latin letters A-Z and a-z, underscore(_), and ASCII digits 0-9 starting with a letter. The value will be unique given an entity type. | +| | `string` | Immutable. Name of the Feature. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}/features/{feature}` `projects/{project}/locations/{location}/featureGroups/{feature_group}/features/{feature}` The last part feature is assigned by the client. The feature can be up to 64 characters long and can consist only of ASCII Latin letters A-Z and a-z, underscore(_), and ASCII digits 0-9 starting with a letter. The value will be unique given an entity type. | | | `string` | Description of the Feature. | | | `string` | Output only. Only applicable for Vertex AI Feature Store (Legacy). Timestamp when this EntityType was created. | | | `boolean` | Optional. Only applicable for Vertex AI Feature Store (Legacy). If not set, use the monitoring_config defined for the EntityType this Feature belongs to. Only Features with type (Feature.ValueType) BOOL, STRING, DOUBLE or INT64 can enable monitoring. If set to true, all types of data monitoring are disabled despite the config on EntityType. | @@ -41,13 +43,155 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Only applicable for Vertex AI Feature Store (Legacy). Timestamp when this EntityType was most recently updated. | | | `string` | Immutable. Only applicable for Vertex AI Feature Store (Legacy). Type of Feature value. | | | `string` | Only applicable for Vertex AI Feature Store. The name of the BigQuery Table/View column hosting data for this version. If no value is provided, will use feature_id. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets details of a single Feature. | | | `SELECT` | | Lists Features in a given FeatureGroup. | +| | `INSERT` | | Creates a batch of Features in a given EntityType. | | | `INSERT` | | Creates a new Feature in a given FeatureGroup. | | | `DELETE` | | Deletes a single Feature. | | | `UPDATE` | | Updates the parameters of a single Feature. | -| | `EXEC` | | Lists Features in a given FeatureGroup. | -| | `EXEC` | | Creates a batch of Features in a given EntityType. | + +## `SELECT` examples + +Lists Features in a given FeatureGroup. + +```sql +SELECT +name, +description, +createTime, +disableMonitoring, +etag, +labels, +monitoringStatsAnomalies, +pointOfContact, +updateTime, +valueType, +versionColumnName +FROM google.aiplatform.features +WHERE featureGroupsId = '{{ featureGroupsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new features resource. + + + + +```sql +/*+ create */ +INSERT INTO google.aiplatform.features ( +featureGroupsId, +locationsId, +projectsId, +labels, +createTime, +versionColumnName, +valueType, +disableMonitoring, +etag, +description, +updateTime, +name, +monitoringStatsAnomalies, +pointOfContact +) +SELECT +'{{ featureGroupsId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ labels }}', +'{{ createTime }}', +'{{ versionColumnName }}', +'{{ valueType }}', +true|false, +'{{ etag }}', +'{{ description }}', +'{{ updateTime }}', +'{{ name }}', +'{{ monitoringStatsAnomalies }}', +'{{ pointOfContact }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: labels + value: '{{ labels }}' + - name: createTime + value: '{{ createTime }}' + - name: versionColumnName + value: '{{ versionColumnName }}' + - name: valueType + value: '{{ valueType }}' + - name: disableMonitoring + value: '{{ disableMonitoring }}' + - name: etag + value: '{{ etag }}' + - name: description + value: '{{ description }}' + - name: updateTime + value: '{{ updateTime }}' + - name: name + value: '{{ name }}' + - name: monitoringStatsAnomalies + value: '{{ monitoringStatsAnomalies }}' + - name: pointOfContact + value: '{{ pointOfContact }}' + +``` + + + +## `UPDATE` example + +Updates a feature only if the necessary resources are available. + +```sql +UPDATE google.aiplatform.features +SET +labels = '{{ labels }}', +createTime = '{{ createTime }}', +versionColumnName = '{{ versionColumnName }}', +valueType = '{{ valueType }}', +disableMonitoring = true|false, +etag = '{{ etag }}', +description = '{{ description }}', +updateTime = '{{ updateTime }}', +name = '{{ name }}', +monitoringStatsAnomalies = '{{ monitoringStatsAnomalies }}', +pointOfContact = '{{ pointOfContact }}' +WHERE +featureGroupsId = '{{ featureGroupsId }}' +AND featuresId = '{{ featuresId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified feature resource. + +```sql +DELETE FROM google.aiplatform.features +WHERE featureGroupsId = '{{ featureGroupsId }}' +AND featuresId = '{{ featuresId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/aiplatform/featurestores/index.md b/docs/google-docs/providers/google/aiplatform/featurestores/index.md index 44fb5245a8..ab9f09e2cb 100644 --- a/docs/google-docs/providers/google/aiplatform/featurestores/index.md +++ b/docs/google-docs/providers/google/aiplatform/featurestores/index.md @@ -1,3 +1,4 @@ + --- title: featurestores hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - featurestores - aiplatform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an featurestore resource or lists featurestores in a region ## Overview
@@ -30,15 +32,18 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. Name of the Featurestore. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}` | +| | `string` | Output only. Name of the Featurestore. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}` | | | `string` | Output only. Timestamp when this Featurestore was created. | | | `object` | Represents a customer-managed encryption key spec that can be applied to a top-level resource. | | | `string` | Optional. Used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens. | | | `object` | Optional. The labels with user-defined metadata to organize your Featurestore. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one Featurestore(System labels are excluded)." System reserved label keys are prefixed with "aiplatform.googleapis.com/" and are immutable. | | | `object` | OnlineServingConfig specifies the details for provisioning online serving resources. | | | `integer` | Optional. 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 `online_storage_ttl_days` since the feature generation time. Note that `online_storage_ttl_days` should be less than or equal to `offline_storage_ttl_days` for each EntityType under a featurestore. If not set, default to 4000 days | +| | `boolean` | Output only. Reserved for future use. | +| | `boolean` | Output only. Reserved for future use. | | | `string` | Output only. State of the featurestore. | | | `string` | Output only. Timestamp when this Featurestore was last updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -47,6 +52,142 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new Featurestore in a given project and location. | | | `DELETE` | | Deletes a single Featurestore. The Featurestore must not contain any EntityTypes or `force` must be set to true for the request to succeed. | | | `UPDATE` | | Updates the parameters of a single Featurestore. | -| | `EXEC` | | Lists Featurestores in a given project and location. | | | `EXEC` | | Batch reads Feature values from a Featurestore. This API enables batch reading Feature values, where each read instance in the batch may read Feature values of entities from one or more EntityTypes. Point-in-time correctness is guaranteed for Feature values of each read instance as of each instance's read timestamp. | | | `EXEC` | | Searches Features matching a query in a given project. | + +## `SELECT` examples + +Lists Featurestores in a given project and location. + +```sql +SELECT +name, +createTime, +encryptionSpec, +etag, +labels, +onlineServingConfig, +onlineStorageTtlDays, +satisfiesPzi, +satisfiesPzs, +state, +updateTime +FROM google.aiplatform.featurestores +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new featurestores resource. + + + + +```sql +/*+ create */ +INSERT INTO google.aiplatform.featurestores ( +locationsId, +projectsId, +onlineStorageTtlDays, +encryptionSpec, +name, +state, +createTime, +labels, +etag, +onlineServingConfig, +satisfiesPzs, +updateTime, +satisfiesPzi +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ onlineStorageTtlDays }}', +'{{ encryptionSpec }}', +'{{ name }}', +'{{ state }}', +'{{ createTime }}', +'{{ labels }}', +'{{ etag }}', +'{{ onlineServingConfig }}', +true|false, +'{{ updateTime }}', +true|false +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: onlineStorageTtlDays + value: '{{ onlineStorageTtlDays }}' + - name: encryptionSpec + value: '{{ encryptionSpec }}' + - name: name + value: '{{ name }}' + - name: state + value: '{{ state }}' + - name: createTime + value: '{{ createTime }}' + - name: labels + value: '{{ labels }}' + - name: etag + value: '{{ etag }}' + - name: onlineServingConfig + value: '{{ onlineServingConfig }}' + - name: satisfiesPzs + value: '{{ satisfiesPzs }}' + - name: updateTime + value: '{{ updateTime }}' + - name: satisfiesPzi + value: '{{ satisfiesPzi }}' + +``` + + + +## `UPDATE` example + +Updates a featurestore only if the necessary resources are available. + +```sql +UPDATE google.aiplatform.featurestores +SET +onlineStorageTtlDays = '{{ onlineStorageTtlDays }}', +encryptionSpec = '{{ encryptionSpec }}', +name = '{{ name }}', +state = '{{ state }}', +createTime = '{{ createTime }}', +labels = '{{ labels }}', +etag = '{{ etag }}', +onlineServingConfig = '{{ onlineServingConfig }}', +satisfiesPzs = true|false, +updateTime = '{{ updateTime }}', +satisfiesPzi = true|false +WHERE +featurestoresId = '{{ featurestoresId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified featurestore resource. + +```sql +DELETE FROM google.aiplatform.featurestores +WHERE featurestoresId = '{{ featurestoresId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/aiplatform/featurestores_iam_policies/index.md b/docs/google-docs/providers/google/aiplatform/featurestores_iam_policies/index.md index 7b8729fb3e..cfd00c58dd 100644 --- a/docs/google-docs/providers/google/aiplatform/featurestores_iam_policies/index.md +++ b/docs/google-docs/providers/google/aiplatform/featurestores_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: featurestores_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - featurestores_iam_policies - aiplatform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an featurestores_iam_policy resource or lists featurestores_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.aiplatform.featurestores_iam_policies +WHERE featurestoresId = '{{ featurestoresId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/aiplatform/hyperparameter_tuning_jobs/index.md b/docs/google-docs/providers/google/aiplatform/hyperparameter_tuning_jobs/index.md index 77cdf98d69..81e6d8d891 100644 --- a/docs/google-docs/providers/google/aiplatform/hyperparameter_tuning_jobs/index.md +++ b/docs/google-docs/providers/google/aiplatform/hyperparameter_tuning_jobs/index.md @@ -1,3 +1,4 @@ + --- title: hyperparameter_tuning_jobs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - hyperparameter_tuning_jobs - aiplatform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an hyperparameter_tuning_job resource or lists hyperparameter_tuning_jobs in a region ## Overview
@@ -40,12 +42,15 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `integer` | The number of failed Trials that need to be seen before failing the HyperparameterTuningJob. If set to 0, Vertex AI decides how many Trials must fail before the whole job fails. | | | `integer` | Required. The desired total number of Trials. | | | `integer` | Required. The desired number of Trials to run in parallel. | +| | `boolean` | Output only. Reserved for future use. | +| | `boolean` | Output only. Reserved for future use. | | | `string` | Output only. Time when the HyperparameterTuningJob for the first time entered the `JOB_STATE_RUNNING` state. | | | `string` | Output only. The detailed state of the job. | | | `object` | Represents specification of a Study. | | | `object` | Represents the spec of a CustomJob. | | | `array` | Output only. Trials of the HyperparameterTuningJob. | | | `string` | Output only. Time when the HyperparameterTuningJob was most recently updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -53,5 +58,152 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists HyperparameterTuningJobs in a Location. | | | `INSERT` | | Creates a HyperparameterTuningJob | | | `DELETE` | | Deletes a HyperparameterTuningJob. | -| | `EXEC` | | Lists HyperparameterTuningJobs in a Location. | | | `EXEC` | | Cancels a HyperparameterTuningJob. Starts asynchronous cancellation on the HyperparameterTuningJob. The server makes a best effort to cancel the job, but success is not guaranteed. Clients can use JobService.GetHyperparameterTuningJob or other methods to check whether the cancellation succeeded or whether the job completed despite cancellation. On successful cancellation, the HyperparameterTuningJob is not deleted; instead it becomes a job with a HyperparameterTuningJob.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`, and HyperparameterTuningJob.state is set to `CANCELLED`. | + +## `SELECT` examples + +Lists HyperparameterTuningJobs in a Location. + +```sql +SELECT +name, +createTime, +displayName, +encryptionSpec, +endTime, +error, +labels, +maxFailedTrialCount, +maxTrialCount, +parallelTrialCount, +satisfiesPzi, +satisfiesPzs, +startTime, +state, +studySpec, +trialJobSpec, +trials, +updateTime +FROM google.aiplatform.hyperparameter_tuning_jobs +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new hyperparameter_tuning_jobs resource. + + + + +```sql +/*+ create */ +INSERT INTO google.aiplatform.hyperparameter_tuning_jobs ( +locationsId, +projectsId, +name, +trialJobSpec, +error, +studySpec, +updateTime, +createTime, +trials, +maxTrialCount, +labels, +satisfiesPzs, +state, +maxFailedTrialCount, +endTime, +satisfiesPzi, +displayName, +encryptionSpec, +startTime, +parallelTrialCount +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ trialJobSpec }}', +'{{ error }}', +'{{ studySpec }}', +'{{ updateTime }}', +'{{ createTime }}', +'{{ trials }}', +'{{ maxTrialCount }}', +'{{ labels }}', +true|false, +'{{ state }}', +'{{ maxFailedTrialCount }}', +'{{ endTime }}', +true|false, +'{{ displayName }}', +'{{ encryptionSpec }}', +'{{ startTime }}', +'{{ parallelTrialCount }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: trialJobSpec + value: '{{ trialJobSpec }}' + - name: error + value: '{{ error }}' + - name: studySpec + value: '{{ studySpec }}' + - name: updateTime + value: '{{ updateTime }}' + - name: createTime + value: '{{ createTime }}' + - name: trials + value: '{{ trials }}' + - name: maxTrialCount + value: '{{ maxTrialCount }}' + - name: labels + value: '{{ labels }}' + - name: satisfiesPzs + value: '{{ satisfiesPzs }}' + - name: state + value: '{{ state }}' + - name: maxFailedTrialCount + value: '{{ maxFailedTrialCount }}' + - name: endTime + value: '{{ endTime }}' + - name: satisfiesPzi + value: '{{ satisfiesPzi }}' + - name: displayName + value: '{{ displayName }}' + - name: encryptionSpec + value: '{{ encryptionSpec }}' + - name: startTime + value: '{{ startTime }}' + - name: parallelTrialCount + value: '{{ parallelTrialCount }}' + +``` + + + +## `DELETE` example + +Deletes the specified hyperparameter_tuning_job resource. + +```sql +DELETE FROM google.aiplatform.hyperparameter_tuning_jobs +WHERE hyperparameterTuningJobsId = '{{ hyperparameterTuningJobsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/aiplatform/index.md b/docs/google-docs/providers/google/aiplatform/index.md index 6bb765c4e5..2e40a68d6b 100644 --- a/docs/google-docs/providers/google/aiplatform/index.md +++ b/docs/google-docs/providers/google/aiplatform/index.md @@ -9,34 +9,23 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Train high-quality custom machine learning models with minimal machine learning expertise and effort. - +The aiplatform service documentation. + :::info Service Summary
-total resources: 65
-total selectable resources: 54
-total methods: 361
+total resources: 68
::: -## Overview -
- - - - - -
Namegoogle.aiplatform
TypeService
TitleVertex AI API
DescriptionTrain high-quality custom machine learning models with minimal machine learning expertise and effort.
Idaiplatform:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/aiplatform/index_endpoints/index.md b/docs/google-docs/providers/google/aiplatform/index_endpoints/index.md index 8a82c1db3f..7c5e954d8b 100644 --- a/docs/google-docs/providers/google/aiplatform/index_endpoints/index.md +++ b/docs/google-docs/providers/google/aiplatform/index_endpoints/index.md @@ -1,3 +1,4 @@ + --- title: index_endpoints hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - index_endpoints - aiplatform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an index_endpoint resource or lists index_endpoints in a region ## Overview @@ -39,11 +41,14 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Represents a customer-managed encryption key spec that can be applied to a top-level resource. | | | `string` | Used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens. | | | `object` | The labels with user-defined metadata to organize your IndexEndpoints. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels. | -| | `string` | Optional. The full name of the Google Compute Engine [network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks) to which the IndexEndpoint should be peered. Private services access must already be configured for the network. If left unspecified, the Endpoint is not peered with any network. network and private_service_connect_config are mutually exclusive. [Format](https://cloud.google.com/compute/docs/reference/rest/v1/networks/insert): `projects/{project}/global/networks/{network}`. Where {project} is a project number, as in '12345', and {network} is network name. | +| | `string` | Optional. The full name of the Google Compute Engine [network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks) to which the IndexEndpoint should be peered. Private services access must already be configured for the network. If left unspecified, the Endpoint is not peered with any network. network and private_service_connect_config are mutually exclusive. [Format](https://cloud.google.com/compute/docs/reference/rest/v1/networks/insert): `projects/{project}/global/networks/{network}`. Where {project} is a project number, as in '12345', and {network} is network name. | | | `object` | Represents configuration for private service connect. | | | `string` | Output only. If public_endpoint_enabled is true, this field will be populated with the domain name to use for this index endpoint. | | | `boolean` | Optional. If true, the deployed index will be accessible through public endpoint. | +| | `boolean` | Output only. Reserved for future use. | +| | `boolean` | Output only. Reserved for future use. | | | `string` | Output only. Timestamp when this IndexEndpoint was last updated. This timestamp is not updated when the endpoint's DeployedIndexes are updated, e.g. due to updates of the original Indexes they are the deployments of. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -52,9 +57,175 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates an IndexEndpoint. | | | `DELETE` | | Deletes an IndexEndpoint. | | | `UPDATE` | | Updates an IndexEndpoint. | -| | `EXEC` | | Lists IndexEndpoints in a Location. | | | `EXEC` | | Deploys an Index into this IndexEndpoint, creating a DeployedIndex within it. Only non-empty Indexes can be deployed. | | | `EXEC` | | Finds the nearest neighbors of each vector within the request. | | | `EXEC` | | Update an existing DeployedIndex under an IndexEndpoint. | | | `EXEC` | | Reads the datapoints/vectors of the given IDs. A maximum of 1000 datapoints can be retrieved in a batch. | | | `EXEC` | | Undeploys an Index from an IndexEndpoint, removing a DeployedIndex from it, and freeing all resources it's using. | + +## `SELECT` examples + +Lists IndexEndpoints in a Location. + +```sql +SELECT +name, +description, +createTime, +deployedIndexes, +displayName, +enablePrivateServiceConnect, +encryptionSpec, +etag, +labels, +network, +privateServiceConnectConfig, +publicEndpointDomainName, +publicEndpointEnabled, +satisfiesPzi, +satisfiesPzs, +updateTime +FROM google.aiplatform.index_endpoints +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new index_endpoints resource. + + + + +```sql +/*+ create */ +INSERT INTO google.aiplatform.index_endpoints ( +locationsId, +projectsId, +encryptionSpec, +network, +displayName, +publicEndpointDomainName, +deployedIndexes, +publicEndpointEnabled, +name, +enablePrivateServiceConnect, +satisfiesPzs, +etag, +labels, +satisfiesPzi, +privateServiceConnectConfig, +createTime, +description, +updateTime +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ encryptionSpec }}', +'{{ network }}', +'{{ displayName }}', +'{{ publicEndpointDomainName }}', +'{{ deployedIndexes }}', +true|false, +'{{ name }}', +true|false, +true|false, +'{{ etag }}', +'{{ labels }}', +true|false, +'{{ privateServiceConnectConfig }}', +'{{ createTime }}', +'{{ description }}', +'{{ updateTime }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: encryptionSpec + value: '{{ encryptionSpec }}' + - name: network + value: '{{ network }}' + - name: displayName + value: '{{ displayName }}' + - name: publicEndpointDomainName + value: '{{ publicEndpointDomainName }}' + - name: deployedIndexes + value: '{{ deployedIndexes }}' + - name: publicEndpointEnabled + value: '{{ publicEndpointEnabled }}' + - name: name + value: '{{ name }}' + - name: enablePrivateServiceConnect + value: '{{ enablePrivateServiceConnect }}' + - name: satisfiesPzs + value: '{{ satisfiesPzs }}' + - name: etag + value: '{{ etag }}' + - name: labels + value: '{{ labels }}' + - name: satisfiesPzi + value: '{{ satisfiesPzi }}' + - name: privateServiceConnectConfig + value: '{{ privateServiceConnectConfig }}' + - name: createTime + value: '{{ createTime }}' + - name: description + value: '{{ description }}' + - name: updateTime + value: '{{ updateTime }}' + +``` + + + +## `UPDATE` example + +Updates a index_endpoint only if the necessary resources are available. + +```sql +UPDATE google.aiplatform.index_endpoints +SET +encryptionSpec = '{{ encryptionSpec }}', +network = '{{ network }}', +displayName = '{{ displayName }}', +publicEndpointDomainName = '{{ publicEndpointDomainName }}', +deployedIndexes = '{{ deployedIndexes }}', +publicEndpointEnabled = true|false, +name = '{{ name }}', +enablePrivateServiceConnect = true|false, +satisfiesPzs = true|false, +etag = '{{ etag }}', +labels = '{{ labels }}', +satisfiesPzi = true|false, +privateServiceConnectConfig = '{{ privateServiceConnectConfig }}', +createTime = '{{ createTime }}', +description = '{{ description }}', +updateTime = '{{ updateTime }}' +WHERE +indexEndpointsId = '{{ indexEndpointsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified index_endpoint resource. + +```sql +DELETE FROM google.aiplatform.index_endpoints +WHERE indexEndpointsId = '{{ indexEndpointsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/aiplatform/indexes/index.md b/docs/google-docs/providers/google/aiplatform/indexes/index.md index a12ca45f3f..c1d390cdb3 100644 --- a/docs/google-docs/providers/google/aiplatform/indexes/index.md +++ b/docs/google-docs/providers/google/aiplatform/indexes/index.md @@ -1,3 +1,4 @@ + --- title: indexes hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - indexes - aiplatform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an index resource or lists indexes in a region ## Overview
@@ -42,7 +44,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | The labels with user-defined metadata to organize your Indexes. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels. | | | `any` | An additional information about the Index; the schema of the metadata can be found in metadata_schema. | | | `string` | Immutable. 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. The schema is defined as an OpenAPI 3.0.2 [Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). Note: The URI given on output will be immutable and probably different, including the URI scheme, than the one given on input. The output URI will point to a location where the user only has a read access. | +| | `boolean` | Output only. Reserved for future use. | +| | `boolean` | Output only. Reserved for future use. | | | `string` | Output only. Timestamp when this Index was most recently updated. This also includes any update to the contents of the Index. Note that Operations working on this Index may have their Operations.metadata.generic_metadata.update_time a little after the value of this timestamp, yet that does not mean their results are not already reflected in the Index. Result of any successfully completed Operation on the Index is reflected in it. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -51,5 +56,165 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates an Index. | | | `DELETE` | | Deletes an Index. An Index can only be deleted when all its DeployedIndexes had been undeployed. | | | `UPDATE` | | Updates an Index. | -| | `EXEC` | | Lists Indexes in a Location. | | | `EXEC` | | Add/update Datapoints into an Index. | + +## `SELECT` examples + +Lists Indexes in a Location. + +```sql +SELECT +name, +description, +createTime, +deployedIndexes, +displayName, +encryptionSpec, +etag, +indexStats, +indexUpdateMethod, +labels, +metadata, +metadataSchemaUri, +satisfiesPzi, +satisfiesPzs, +updateTime +FROM google.aiplatform.indexes +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new indexes resource. + + + + +```sql +/*+ create */ +INSERT INTO google.aiplatform.indexes ( +locationsId, +projectsId, +indexStats, +satisfiesPzi, +satisfiesPzs, +name, +indexUpdateMethod, +encryptionSpec, +createTime, +metadata, +metadataSchemaUri, +description, +deployedIndexes, +displayName, +updateTime, +labels, +etag +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ indexStats }}', +true|false, +true|false, +'{{ name }}', +'{{ indexUpdateMethod }}', +'{{ encryptionSpec }}', +'{{ createTime }}', +'{{ metadata }}', +'{{ metadataSchemaUri }}', +'{{ description }}', +'{{ deployedIndexes }}', +'{{ displayName }}', +'{{ updateTime }}', +'{{ labels }}', +'{{ etag }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: indexStats + value: '{{ indexStats }}' + - name: satisfiesPzi + value: '{{ satisfiesPzi }}' + - name: satisfiesPzs + value: '{{ satisfiesPzs }}' + - name: name + value: '{{ name }}' + - name: indexUpdateMethod + value: '{{ indexUpdateMethod }}' + - name: encryptionSpec + value: '{{ encryptionSpec }}' + - name: createTime + value: '{{ createTime }}' + - name: metadata + value: '{{ metadata }}' + - name: metadataSchemaUri + value: '{{ metadataSchemaUri }}' + - name: description + value: '{{ description }}' + - name: deployedIndexes + value: '{{ deployedIndexes }}' + - name: displayName + value: '{{ displayName }}' + - name: updateTime + value: '{{ updateTime }}' + - name: labels + value: '{{ labels }}' + - name: etag + value: '{{ etag }}' + +``` + + + +## `UPDATE` example + +Updates a index only if the necessary resources are available. + +```sql +UPDATE google.aiplatform.indexes +SET +indexStats = '{{ indexStats }}', +satisfiesPzi = true|false, +satisfiesPzs = true|false, +name = '{{ name }}', +indexUpdateMethod = '{{ indexUpdateMethod }}', +encryptionSpec = '{{ encryptionSpec }}', +createTime = '{{ createTime }}', +metadata = '{{ metadata }}', +metadataSchemaUri = '{{ metadataSchemaUri }}', +description = '{{ description }}', +deployedIndexes = '{{ deployedIndexes }}', +displayName = '{{ displayName }}', +updateTime = '{{ updateTime }}', +labels = '{{ labels }}', +etag = '{{ etag }}' +WHERE +indexesId = '{{ indexesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified index resource. + +```sql +DELETE FROM google.aiplatform.indexes +WHERE indexesId = '{{ indexesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/aiplatform/indexes_datapoints/index.md b/docs/google-docs/providers/google/aiplatform/indexes_datapoints/index.md index 708a80824d..bec7ca6b76 100644 --- a/docs/google-docs/providers/google/aiplatform/indexes_datapoints/index.md +++ b/docs/google-docs/providers/google/aiplatform/indexes_datapoints/index.md @@ -1,3 +1,4 @@ + --- title: indexes_datapoints hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - indexes_datapoints - aiplatform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an indexes_datapoint resource or lists indexes_datapoints in a region ## Overview
@@ -28,8 +30,21 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `DELETE` | | Remove Datapoints from an Index. | + +## `DELETE` example + +Deletes the specified indexes_datapoint resource. + +```sql +DELETE FROM google.aiplatform.indexes_datapoints +WHERE indexesId = '{{ indexesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/aiplatform/locations/index.md b/docs/google-docs/providers/google/aiplatform/locations/index.md index 9c8403ffda..86031df6a9 100644 --- a/docs/google-docs/providers/google/aiplatform/locations/index.md +++ b/docs/google-docs/providers/google/aiplatform/locations/index.md @@ -1,3 +1,4 @@ + --- title: locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - locations - aiplatform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an location resource or lists locations in a region ## Overview @@ -32,12 +34,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` | | | `string` | The friendly name for this location, typically a nearby city name. For example, "Tokyo". | -| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | +| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | | | `string` | The canonical id for this location. For example: `"us-east1"`. | | | `object` | Service-specific metadata. For example the available capacity at the given location. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about a location. | | | `SELECT` | | Lists information about the supported locations for this service. | -| | `EXEC` | | Lists information about the supported locations for this service. | +| | `EXEC` | | Evaluates instances based on a given metric. | + +## `SELECT` examples + +Lists information about the supported locations for this service. + +```sql +SELECT +name, +displayName, +labels, +locationId, +metadata +FROM google.aiplatform.locations +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/aiplatform/metadata_schemas/index.md b/docs/google-docs/providers/google/aiplatform/metadata_schemas/index.md index 0c0e3cd8b9..023db1210b 100644 --- a/docs/google-docs/providers/google/aiplatform/metadata_schemas/index.md +++ b/docs/google-docs/providers/google/aiplatform/metadata_schemas/index.md @@ -1,3 +1,4 @@ + --- title: metadata_schemas hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - metadata_schemas - aiplatform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an metadata_schema resource or lists metadata_schemas in a region ## Overview
@@ -36,10 +38,90 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Required. The raw YAML string representation of the MetadataSchema. The combination of [MetadataSchema.version] and the schema name given by `title` in [MetadataSchema.schema] must be unique within a MetadataStore. The schema is defined as an OpenAPI 3.0.2 [MetadataSchema Object](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#schemaObject) | | | `string` | The type of the MetadataSchema. This is a property that identifies which metadata types will use the MetadataSchema. | | | `string` | The version of the MetadataSchema. The version's format must match the following regular expression: `^[0-9]+.+.+$`, which would allow to order/compare different versions. Example: 1.0.0, 1.0.1, etc. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Retrieves a specific MetadataSchema. | | | `SELECT` | | Lists MetadataSchemas. | | | `INSERT` | | Creates a MetadataSchema. | -| | `EXEC` | | Lists MetadataSchemas. | + +## `SELECT` examples + +Lists MetadataSchemas. + +```sql +SELECT +name, +description, +createTime, +schema, +schemaType, +schemaVersion +FROM google.aiplatform.metadata_schemas +WHERE locationsId = '{{ locationsId }}' +AND metadataStoresId = '{{ metadataStoresId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new metadata_schemas resource. + + + + +```sql +/*+ create */ +INSERT INTO google.aiplatform.metadata_schemas ( +locationsId, +metadataStoresId, +projectsId, +schemaType, +schema, +description, +schemaVersion, +name, +createTime +) +SELECT +'{{ locationsId }}', +'{{ metadataStoresId }}', +'{{ projectsId }}', +'{{ schemaType }}', +'{{ schema }}', +'{{ description }}', +'{{ schemaVersion }}', +'{{ name }}', +'{{ createTime }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: schemaType + value: '{{ schemaType }}' + - name: schema + value: '{{ schema }}' + - name: description + value: '{{ description }}' + - name: schemaVersion + value: '{{ schemaVersion }}' + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + +``` + + diff --git a/docs/google-docs/providers/google/aiplatform/metadata_stores/index.md b/docs/google-docs/providers/google/aiplatform/metadata_stores/index.md index 08e318f3c8..f21068a94c 100644 --- a/docs/google-docs/providers/google/aiplatform/metadata_stores/index.md +++ b/docs/google-docs/providers/google/aiplatform/metadata_stores/index.md @@ -1,3 +1,4 @@ + --- title: metadata_stores hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - metadata_stores - aiplatform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an metadata_store resource or lists metadata_stores in a region ## Overview
@@ -37,6 +39,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Represents a customer-managed encryption key spec that can be applied to a top-level resource. | | | `object` | Represents state information for a MetadataStore. | | | `string` | Output only. Timestamp when this MetadataStore was last updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -44,4 +47,96 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists MetadataStores for a Location. | | | `INSERT` | | Initializes a MetadataStore, including allocation of resources. | | | `DELETE` | | Deletes a single MetadataStore and all its child resources (Artifacts, Executions, and Contexts). | -| | `EXEC` | | Lists MetadataStores for a Location. | + +## `SELECT` examples + +Lists MetadataStores for a Location. + +```sql +SELECT +name, +description, +createTime, +dataplexConfig, +encryptionSpec, +state, +updateTime +FROM google.aiplatform.metadata_stores +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new metadata_stores resource. + + + + +```sql +/*+ create */ +INSERT INTO google.aiplatform.metadata_stores ( +locationsId, +projectsId, +dataplexConfig, +state, +name, +createTime, +description, +encryptionSpec, +updateTime +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ dataplexConfig }}', +'{{ state }}', +'{{ name }}', +'{{ createTime }}', +'{{ description }}', +'{{ encryptionSpec }}', +'{{ updateTime }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: dataplexConfig + value: '{{ dataplexConfig }}' + - name: state + value: '{{ state }}' + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: description + value: '{{ description }}' + - name: encryptionSpec + value: '{{ encryptionSpec }}' + - name: updateTime + value: '{{ updateTime }}' + +``` + + + +## `DELETE` example + +Deletes the specified metadata_store resource. + +```sql +DELETE FROM google.aiplatform.metadata_stores +WHERE locationsId = '{{ locationsId }}' +AND metadataStoresId = '{{ metadataStoresId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/aiplatform/migratable_resources/index.md b/docs/google-docs/providers/google/aiplatform/migratable_resources/index.md index af2ccb292e..320c566fdc 100644 --- a/docs/google-docs/providers/google/aiplatform/migratable_resources/index.md +++ b/docs/google-docs/providers/google/aiplatform/migratable_resources/index.md @@ -1,3 +1,4 @@ + --- title: migratable_resources hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - migratable_resources - aiplatform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an migratable_resource resource or lists migratable_resources in a region ## Overview
@@ -28,7 +30,9 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| diff --git a/docs/google-docs/providers/google/aiplatform/model_deployment_monitoring_jobs/index.md b/docs/google-docs/providers/google/aiplatform/model_deployment_monitoring_jobs/index.md index 524398c8e2..12ad0540f1 100644 --- a/docs/google-docs/providers/google/aiplatform/model_deployment_monitoring_jobs/index.md +++ b/docs/google-docs/providers/google/aiplatform/model_deployment_monitoring_jobs/index.md @@ -1,3 +1,4 @@ + --- title: model_deployment_monitoring_jobs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - model_deployment_monitoring_jobs - aiplatform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an model_deployment_monitoring_job resource or lists model_deployment_monitoring_jobs in a region ## Overview @@ -37,11 +39,11 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Required. The user-defined name of the ModelDeploymentMonitoringJob. The name can be up to 128 characters long and can consist of any UTF-8 characters. Display name of a ModelDeploymentMonitoringJob. | | | `boolean` | If true, the scheduled monitoring pipeline logs are sent to Google Cloud Logging, including pipeline status and anomalies detected. Please note the logs incur cost, which are subject to [Cloud Logging pricing](https://cloud.google.com/logging#pricing). | | | `object` | Represents a customer-managed encryption key spec that can be applied to a top-level resource. | -| | `string` | Required. Endpoint resource name. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}` | +| | `string` | Required. Endpoint resource name. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}` | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | The labels with user-defined metadata to organize your ModelDeploymentMonitoringJob. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels. | | | `object` | All metadata of most recent monitoring pipelines. | -| | `string` | The TTL of BigQuery tables in user projects which stores logs. A day is the basic unit of the TTL and we take the ceil of TTL/86400(a day). e.g. { second: 3600} indicates ttl = 1 day. | +| | `string` | The TTL of BigQuery tables in user projects which stores logs. A day is the basic unit of the TTL and we take the ceil of TTL/86400(a day). e.g. { second: 3600} indicates ttl = 1 day. | | | `object` | Sampling Strategy for logging, can be for both training and prediction dataset. | | | `array` | Required. The config for monitoring objectives. This is a per DeployedModel config. Each DeployedModel needs to be configured separately. | | | `object` | The config for scheduling monitoring job. | @@ -49,10 +51,13 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Timestamp when this monitoring pipeline will be scheduled to run for the next round. | | | `string` | YAML schema file uri describing the format of a single instance, which are given to format this Endpoint's prediction (and explanation). If not set, we will generate predict schema from collected predict requests. | | | `any` | Sample Predict instance, same format as PredictRequest.instances, this can be set as a replacement of ModelDeploymentMonitoringJob.predict_instance_schema_uri. If not set, we will generate predict schema from collected predict requests. | +| | `boolean` | Output only. Reserved for future use. | +| | `boolean` | Output only. Reserved for future use. | | | `string` | Output only. Schedule state when the monitoring job is in Running state. | | | `string` | Output only. The detailed state of the monitoring job. When the job is still creating, the state will be 'PENDING'. Once the job is successfully created, the state will be 'RUNNING'. Pause the job, the state will be 'PAUSED'. Resume the job, the state will return to 'RUNNING'. | | | `object` | The Google Cloud Storage location where the output is to be written to. | | | `string` | Output only. Timestamp when this ModelDeploymentMonitoringJob was updated most recently. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -61,7 +66,227 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a ModelDeploymentMonitoringJob. It will run periodically on a configured interval. | | | `DELETE` | | Deletes a ModelDeploymentMonitoringJob. | | | `UPDATE` | | Updates a ModelDeploymentMonitoringJob. | -| | `EXEC` | | Lists ModelDeploymentMonitoringJobs in a Location. | | | `EXEC` | | Pauses a ModelDeploymentMonitoringJob. If the job is running, the server makes a best effort to cancel the job. Will mark ModelDeploymentMonitoringJob.state to 'PAUSED'. | | | `EXEC` | | Resumes a paused ModelDeploymentMonitoringJob. It will start to run from next scheduled time. A deleted ModelDeploymentMonitoringJob can't be resumed. | | | `EXEC` | | Searches Model Monitoring Statistics generated within a given time window. | + +## `SELECT` examples + +Lists ModelDeploymentMonitoringJobs in a Location. + +```sql +SELECT +name, +analysisInstanceSchemaUri, +bigqueryTables, +createTime, +displayName, +enableMonitoringPipelineLogs, +encryptionSpec, +endpoint, +error, +labels, +latestMonitoringPipelineMetadata, +logTtl, +loggingSamplingStrategy, +modelDeploymentMonitoringObjectiveConfigs, +modelDeploymentMonitoringScheduleConfig, +modelMonitoringAlertConfig, +nextScheduleTime, +predictInstanceSchemaUri, +samplePredictInstance, +satisfiesPzi, +satisfiesPzs, +scheduleState, +state, +statsAnomaliesBaseDirectory, +updateTime +FROM google.aiplatform.model_deployment_monitoring_jobs +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new model_deployment_monitoring_jobs resource. + + + + +```sql +/*+ create */ +INSERT INTO google.aiplatform.model_deployment_monitoring_jobs ( +locationsId, +projectsId, +displayName, +samplePredictInstance, +bigqueryTables, +nextScheduleTime, +satisfiesPzi, +scheduleState, +predictInstanceSchemaUri, +logTtl, +satisfiesPzs, +state, +statsAnomaliesBaseDirectory, +modelDeploymentMonitoringScheduleConfig, +endpoint, +modelMonitoringAlertConfig, +latestMonitoringPipelineMetadata, +encryptionSpec, +labels, +analysisInstanceSchemaUri, +loggingSamplingStrategy, +name, +enableMonitoringPipelineLogs, +updateTime, +error, +createTime, +modelDeploymentMonitoringObjectiveConfigs +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ displayName }}', +'{{ samplePredictInstance }}', +'{{ bigqueryTables }}', +'{{ nextScheduleTime }}', +true|false, +'{{ scheduleState }}', +'{{ predictInstanceSchemaUri }}', +'{{ logTtl }}', +true|false, +'{{ state }}', +'{{ statsAnomaliesBaseDirectory }}', +'{{ modelDeploymentMonitoringScheduleConfig }}', +'{{ endpoint }}', +'{{ modelMonitoringAlertConfig }}', +'{{ latestMonitoringPipelineMetadata }}', +'{{ encryptionSpec }}', +'{{ labels }}', +'{{ analysisInstanceSchemaUri }}', +'{{ loggingSamplingStrategy }}', +'{{ name }}', +true|false, +'{{ updateTime }}', +'{{ error }}', +'{{ createTime }}', +'{{ modelDeploymentMonitoringObjectiveConfigs }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: displayName + value: '{{ displayName }}' + - name: samplePredictInstance + value: '{{ samplePredictInstance }}' + - name: bigqueryTables + value: '{{ bigqueryTables }}' + - name: nextScheduleTime + value: '{{ nextScheduleTime }}' + - name: satisfiesPzi + value: '{{ satisfiesPzi }}' + - name: scheduleState + value: '{{ scheduleState }}' + - name: predictInstanceSchemaUri + value: '{{ predictInstanceSchemaUri }}' + - name: logTtl + value: '{{ logTtl }}' + - name: satisfiesPzs + value: '{{ satisfiesPzs }}' + - name: state + value: '{{ state }}' + - name: statsAnomaliesBaseDirectory + value: '{{ statsAnomaliesBaseDirectory }}' + - name: modelDeploymentMonitoringScheduleConfig + value: '{{ modelDeploymentMonitoringScheduleConfig }}' + - name: endpoint + value: '{{ endpoint }}' + - name: modelMonitoringAlertConfig + value: '{{ modelMonitoringAlertConfig }}' + - name: latestMonitoringPipelineMetadata + value: '{{ latestMonitoringPipelineMetadata }}' + - name: encryptionSpec + value: '{{ encryptionSpec }}' + - name: labels + value: '{{ labels }}' + - name: analysisInstanceSchemaUri + value: '{{ analysisInstanceSchemaUri }}' + - name: loggingSamplingStrategy + value: '{{ loggingSamplingStrategy }}' + - name: name + value: '{{ name }}' + - name: enableMonitoringPipelineLogs + value: '{{ enableMonitoringPipelineLogs }}' + - name: updateTime + value: '{{ updateTime }}' + - name: error + value: '{{ error }}' + - name: createTime + value: '{{ createTime }}' + - name: modelDeploymentMonitoringObjectiveConfigs + value: '{{ modelDeploymentMonitoringObjectiveConfigs }}' + +``` + + + +## `UPDATE` example + +Updates a model_deployment_monitoring_job only if the necessary resources are available. + +```sql +UPDATE google.aiplatform.model_deployment_monitoring_jobs +SET +displayName = '{{ displayName }}', +samplePredictInstance = '{{ samplePredictInstance }}', +bigqueryTables = '{{ bigqueryTables }}', +nextScheduleTime = '{{ nextScheduleTime }}', +satisfiesPzi = true|false, +scheduleState = '{{ scheduleState }}', +predictInstanceSchemaUri = '{{ predictInstanceSchemaUri }}', +logTtl = '{{ logTtl }}', +satisfiesPzs = true|false, +state = '{{ state }}', +statsAnomaliesBaseDirectory = '{{ statsAnomaliesBaseDirectory }}', +modelDeploymentMonitoringScheduleConfig = '{{ modelDeploymentMonitoringScheduleConfig }}', +endpoint = '{{ endpoint }}', +modelMonitoringAlertConfig = '{{ modelMonitoringAlertConfig }}', +latestMonitoringPipelineMetadata = '{{ latestMonitoringPipelineMetadata }}', +encryptionSpec = '{{ encryptionSpec }}', +labels = '{{ labels }}', +analysisInstanceSchemaUri = '{{ analysisInstanceSchemaUri }}', +loggingSamplingStrategy = '{{ loggingSamplingStrategy }}', +name = '{{ name }}', +enableMonitoringPipelineLogs = true|false, +updateTime = '{{ updateTime }}', +error = '{{ error }}', +createTime = '{{ createTime }}', +modelDeploymentMonitoringObjectiveConfigs = '{{ modelDeploymentMonitoringObjectiveConfigs }}' +WHERE +locationsId = '{{ locationsId }}' +AND modelDeploymentMonitoringJobsId = '{{ modelDeploymentMonitoringJobsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified model_deployment_monitoring_job resource. + +```sql +DELETE FROM google.aiplatform.model_deployment_monitoring_jobs +WHERE locationsId = '{{ locationsId }}' +AND modelDeploymentMonitoringJobsId = '{{ modelDeploymentMonitoringJobsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/aiplatform/models/index.md b/docs/google-docs/providers/google/aiplatform/models/index.md index c14f323233..052758bab7 100644 --- a/docs/google-docs/providers/google/aiplatform/models/index.md +++ b/docs/google-docs/providers/google/aiplatform/models/index.md @@ -1,3 +1,4 @@ + --- title: models hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - models - aiplatform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an model resource or lists models in a region ## Overview
@@ -44,23 +46,26 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Specification of Model explanation. | | | `object` | The labels with user-defined metadata to organize your Models. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels. | | | `any` | Immutable. An additional information about the Model; the schema of the metadata can be found in metadata_schema. Unset if the Model does not have any additional information. | -| | `string` | Output only. The resource name of the Artifact that was created in MetadataStore when creating the Model. The Artifact resource name pattern is `projects/{project}/locations/{location}/metadataStores/{metadata_store}/artifacts/{artifact}`. | +| | `string` | Output only. The resource name of the Artifact that was created in MetadataStore when creating the Model. The Artifact resource name pattern is `projects/{project}/locations/{location}/metadataStores/{metadata_store}/artifacts/{artifact}`. | | | `string` | Immutable. Points to a YAML file stored on Google Cloud Storage describing additional information about the Model, that is specific to it. Unset if the Model does not have any additional information. The schema is defined as an OpenAPI 3.0.2 [Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). AutoML Models always have this field populated by Vertex AI, if no additional metadata is needed, this field is set to an empty string. Note: The URI given on output will be immutable and probably different, including the URI scheme, than the one given on input. The output URI will point to a location where the user only has a read access. | | | `object` | Detail description of the source information of the model. | | | `object` | Contains information about the original Model if this Model is a copy. | | | `string` | Optional. This field is populated if the model is produced by a pipeline job. | | | `object` | Contains the schemata used in Model's predictions and explanations via PredictionService.Predict, PredictionService.Explain and BatchPredictionJob. | +| | `boolean` | Output only. Reserved for future use. | +| | `boolean` | Output only. Reserved for future use. | | | `array` | Output only. When this Model is deployed, its prediction resources are described by the `prediction_resources` field of the Endpoint.deployed_models object. Because not all Models support all resource configuration types, the configuration types this Model supports are listed here. If no configuration types are listed, the Model cannot be deployed to an Endpoint and does not support online predictions (PredictionService.Predict or PredictionService.Explain). Such a Model can serve predictions by using a BatchPredictionJob, if it has at least one entry each in supported_input_storage_formats and supported_output_storage_formats. | | | `array` | Output only. The formats in which this Model may be exported. If empty, this Model is not available for export. | | | `array` | Output only. The formats this Model supports in BatchPredictionJob.input_config. If PredictSchemata.instance_schema_uri exists, the instances should be given as per that schema. The possible formats are: * `jsonl` The JSON Lines format, where each instance is a single line. Uses GcsSource. * `csv` The CSV format, where each instance is a single comma-separated line. The first line in the file is the header, containing comma-separated field names. Uses GcsSource. * `tf-record` The TFRecord format, where each instance is a single record in tfrecord syntax. Uses GcsSource. * `tf-record-gzip` Similar to `tf-record`, but the file is gzipped. Uses GcsSource. * `bigquery` Each instance is a single row in BigQuery. Uses BigQuerySource. * `file-list` Each line of the file is the location of an instance to process, uses `gcs_source` field of the InputConfig object. If this Model doesn't support any of these formats it means it cannot be used with a BatchPredictionJob. However, if it has supported_deployment_resources_types, it could serve online predictions by using PredictionService.Predict or PredictionService.Explain. | | | `array` | Output only. The formats this Model supports in BatchPredictionJob.output_config. If both PredictSchemata.instance_schema_uri and PredictSchemata.prediction_schema_uri exist, the predictions are returned together with their instances. In other words, the prediction has the original instance data first, followed by the actual prediction content (as per the schema). The possible formats are: * `jsonl` The JSON Lines format, where each prediction is a single line. Uses GcsDestination. * `csv` The CSV format, where each prediction is a single comma-separated line. The first line in the file is the header, containing comma-separated field names. Uses GcsDestination. * `bigquery` Each prediction is a single row in a BigQuery table, uses BigQueryDestination . If this Model doesn't support any of these formats it means it cannot be used with a BatchPredictionJob. However, if it has supported_deployment_resources_types, it could serve online predictions by using PredictionService.Predict or PredictionService.Explain. | | | `string` | Output only. The resource name of the TrainingPipeline that uploaded this Model, if any. | | | `string` | Output only. Timestamp when this Model was most recently updated. | -| | `array` | User provided version aliases so that a model version can be referenced via alias (i.e. `projects/{project}/locations/{location}/models/{model_id}@{version_alias}` instead of auto-generated version id (i.e. `projects/{project}/locations/{location}/models/{model_id}@{version_id})`. The format is a-z{0,126}[a-z0-9] to distinguish from version_id. A default version alias will be created for the first version of the model, and there must be exactly one default version alias for a model. | +| | `array` | User provided version aliases so that a model version can be referenced via alias (i.e. `projects/{project}/locations/{location}/models/{model_id}@{version_alias}` instead of auto-generated version id (i.e. `projects/{project}/locations/{location}/models/{model_id}@{version_id})`. The format is a-z{0,126}[a-z0-9] to distinguish from version_id. A default version alias will be created for the first version of the model, and there must be exactly one default version alias for a model. | | | `string` | Output only. Timestamp when this version was created. | | | `string` | The description of this version. | | | `string` | Output only. Immutable. The version ID of the model. A new version is committed when a new model version is uploaded or trained under an existing model id. It is an auto-incrementing decimal number in string representation. | | | `string` | Output only. Timestamp when this version was most recently updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -68,7 +73,6 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists Models in a Location. | | | `DELETE` | | Deletes a Model. A model cannot be deleted if any Endpoint resource has a DeployedModel based on the model in its deployed_models field. | | | `UPDATE` | | Updates a Model. | -| | `EXEC` | | Lists Models in a Location. | | | `EXEC` | | Return a list of tokens based on the input text. | | | `EXEC` | | Copies an already existing Vertex AI Model into the specified Location. The source Model must exist in the same Project. When copying custom Models, the users themselves are responsible for Model.metadata content to be region-agnostic, as well as making sure that any resources (e.g. files) it depends on remain accessible. | | | `EXEC` | | Perform a token counting. | @@ -81,3 +85,104 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `EXEC` | | Generate content with multimodal inputs with streaming support. | | | `EXEC` | | Perform a streaming online prediction with an arbitrary HTTP payload. | | | `EXEC` | | Uploads a Model artifact into Vertex AI. | + +## `SELECT` examples + +Lists Models in a Location. + +```sql +SELECT +name, +description, +artifactUri, +baseModelSource, +containerSpec, +createTime, +dataStats, +deployedModels, +displayName, +encryptionSpec, +etag, +explanationSpec, +labels, +metadata, +metadataArtifact, +metadataSchemaUri, +modelSourceInfo, +originalModelInfo, +pipelineJob, +predictSchemata, +satisfiesPzi, +satisfiesPzs, +supportedDeploymentResourcesTypes, +supportedExportFormats, +supportedInputStorageFormats, +supportedOutputStorageFormats, +trainingPipeline, +updateTime, +versionAliases, +versionCreateTime, +versionDescription, +versionId, +versionUpdateTime +FROM google.aiplatform.models +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `UPDATE` example + +Updates a model only if the necessary resources are available. + +```sql +UPDATE google.aiplatform.models +SET +dataStats = '{{ dataStats }}', +supportedDeploymentResourcesTypes = '{{ supportedDeploymentResourcesTypes }}', +versionId = '{{ versionId }}', +createTime = '{{ createTime }}', +satisfiesPzi = true|false, +containerSpec = '{{ containerSpec }}', +versionAliases = '{{ versionAliases }}', +deployedModels = '{{ deployedModels }}', +baseModelSource = '{{ baseModelSource }}', +versionCreateTime = '{{ versionCreateTime }}', +etag = '{{ etag }}', +predictSchemata = '{{ predictSchemata }}', +modelSourceInfo = '{{ modelSourceInfo }}', +supportedOutputStorageFormats = '{{ supportedOutputStorageFormats }}', +metadata = '{{ metadata }}', +metadataSchemaUri = '{{ metadataSchemaUri }}', +supportedExportFormats = '{{ supportedExportFormats }}', +artifactUri = '{{ artifactUri }}', +supportedInputStorageFormats = '{{ supportedInputStorageFormats }}', +explanationSpec = '{{ explanationSpec }}', +satisfiesPzs = true|false, +versionUpdateTime = '{{ versionUpdateTime }}', +updateTime = '{{ updateTime }}', +description = '{{ description }}', +trainingPipeline = '{{ trainingPipeline }}', +labels = '{{ labels }}', +versionDescription = '{{ versionDescription }}', +metadataArtifact = '{{ metadataArtifact }}', +pipelineJob = '{{ pipelineJob }}', +displayName = '{{ displayName }}', +encryptionSpec = '{{ encryptionSpec }}', +name = '{{ name }}', +originalModelInfo = '{{ originalModelInfo }}' +WHERE +locationsId = '{{ locationsId }}' +AND modelsId = '{{ modelsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified model resource. + +```sql +DELETE FROM google.aiplatform.models +WHERE locationsId = '{{ locationsId }}' +AND modelsId = '{{ modelsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/aiplatform/models_explanation_dataset/index.md b/docs/google-docs/providers/google/aiplatform/models_explanation_dataset/index.md index 9301f4a006..8131350429 100644 --- a/docs/google-docs/providers/google/aiplatform/models_explanation_dataset/index.md +++ b/docs/google-docs/providers/google/aiplatform/models_explanation_dataset/index.md @@ -1,3 +1,4 @@ + --- title: models_explanation_dataset hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - models_explanation_dataset - aiplatform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an models_explanation_dataset resource or lists models_explanation_dataset in a region ## Overview
@@ -28,8 +30,24 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `UPDATE` | | Incrementally update the dataset used for an examples model. | + +## `UPDATE` example + +Updates a models_explanation_dataset only if the necessary resources are available. + +```sql +UPDATE google.aiplatform.models_explanation_dataset +SET +examples = '{{ examples }}' +WHERE +locationsId = '{{ locationsId }}' +AND modelsId = '{{ modelsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/aiplatform/models_iam_policies/index.md b/docs/google-docs/providers/google/aiplatform/models_iam_policies/index.md index 0f0bcbaf4c..fcff390938 100644 --- a/docs/google-docs/providers/google/aiplatform/models_iam_policies/index.md +++ b/docs/google-docs/providers/google/aiplatform/models_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: models_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - models_iam_policies - aiplatform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an models_iam_policy resource or lists models_iam_policies in a region ## Overview @@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.aiplatform.models_iam_policies +WHERE locationsId = '{{ locationsId }}' +AND modelsId = '{{ modelsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/aiplatform/models_version/index.md b/docs/google-docs/providers/google/aiplatform/models_version/index.md index 93b00e8724..7ee340481b 100644 --- a/docs/google-docs/providers/google/aiplatform/models_version/index.md +++ b/docs/google-docs/providers/google/aiplatform/models_version/index.md @@ -1,3 +1,4 @@ + --- title: models_version hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - models_version - aiplatform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an models_version resource or lists models_version in a region ## Overview
@@ -28,8 +30,21 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `DELETE` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `DELETE` | | Deletes a Model version. Model version can only be deleted if there are no DeployedModels created from it. Deleting the only version in the Model is not allowed. Use DeleteModel for deleting the Model instead. | + +## `DELETE` example + +Deletes the specified models_version resource. + +```sql +DELETE FROM google.aiplatform.models_version +WHERE locationsId = '{{ locationsId }}' +AND modelsId = '{{ modelsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/aiplatform/models_versions/index.md b/docs/google-docs/providers/google/aiplatform/models_versions/index.md index 7b12b4517f..e518e562f8 100644 --- a/docs/google-docs/providers/google/aiplatform/models_versions/index.md +++ b/docs/google-docs/providers/google/aiplatform/models_versions/index.md @@ -1,3 +1,4 @@ + --- title: models_versions hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - models_versions - aiplatform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an models_version resource or lists models_versions in a region ## Overview @@ -44,25 +46,72 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Specification of Model explanation. | | | `object` | The labels with user-defined metadata to organize your Models. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels. | | | `any` | Immutable. An additional information about the Model; the schema of the metadata can be found in metadata_schema. Unset if the Model does not have any additional information. | -| | `string` | Output only. The resource name of the Artifact that was created in MetadataStore when creating the Model. The Artifact resource name pattern is `projects/{project}/locations/{location}/metadataStores/{metadata_store}/artifacts/{artifact}`. | +| | `string` | Output only. The resource name of the Artifact that was created in MetadataStore when creating the Model. The Artifact resource name pattern is `projects/{project}/locations/{location}/metadataStores/{metadata_store}/artifacts/{artifact}`. | | | `string` | Immutable. Points to a YAML file stored on Google Cloud Storage describing additional information about the Model, that is specific to it. Unset if the Model does not have any additional information. The schema is defined as an OpenAPI 3.0.2 [Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). AutoML Models always have this field populated by Vertex AI, if no additional metadata is needed, this field is set to an empty string. Note: The URI given on output will be immutable and probably different, including the URI scheme, than the one given on input. The output URI will point to a location where the user only has a read access. | | | `object` | Detail description of the source information of the model. | | | `object` | Contains information about the original Model if this Model is a copy. | | | `string` | Optional. This field is populated if the model is produced by a pipeline job. | | | `object` | Contains the schemata used in Model's predictions and explanations via PredictionService.Predict, PredictionService.Explain and BatchPredictionJob. | +| | `boolean` | Output only. Reserved for future use. | +| | `boolean` | Output only. Reserved for future use. | | | `array` | Output only. When this Model is deployed, its prediction resources are described by the `prediction_resources` field of the Endpoint.deployed_models object. Because not all Models support all resource configuration types, the configuration types this Model supports are listed here. If no configuration types are listed, the Model cannot be deployed to an Endpoint and does not support online predictions (PredictionService.Predict or PredictionService.Explain). Such a Model can serve predictions by using a BatchPredictionJob, if it has at least one entry each in supported_input_storage_formats and supported_output_storage_formats. | | | `array` | Output only. The formats in which this Model may be exported. If empty, this Model is not available for export. | | | `array` | Output only. The formats this Model supports in BatchPredictionJob.input_config. If PredictSchemata.instance_schema_uri exists, the instances should be given as per that schema. The possible formats are: * `jsonl` The JSON Lines format, where each instance is a single line. Uses GcsSource. * `csv` The CSV format, where each instance is a single comma-separated line. The first line in the file is the header, containing comma-separated field names. Uses GcsSource. * `tf-record` The TFRecord format, where each instance is a single record in tfrecord syntax. Uses GcsSource. * `tf-record-gzip` Similar to `tf-record`, but the file is gzipped. Uses GcsSource. * `bigquery` Each instance is a single row in BigQuery. Uses BigQuerySource. * `file-list` Each line of the file is the location of an instance to process, uses `gcs_source` field of the InputConfig object. If this Model doesn't support any of these formats it means it cannot be used with a BatchPredictionJob. However, if it has supported_deployment_resources_types, it could serve online predictions by using PredictionService.Predict or PredictionService.Explain. | | | `array` | Output only. The formats this Model supports in BatchPredictionJob.output_config. If both PredictSchemata.instance_schema_uri and PredictSchemata.prediction_schema_uri exist, the predictions are returned together with their instances. In other words, the prediction has the original instance data first, followed by the actual prediction content (as per the schema). The possible formats are: * `jsonl` The JSON Lines format, where each prediction is a single line. Uses GcsDestination. * `csv` The CSV format, where each prediction is a single comma-separated line. The first line in the file is the header, containing comma-separated field names. Uses GcsDestination. * `bigquery` Each prediction is a single row in a BigQuery table, uses BigQueryDestination . If this Model doesn't support any of these formats it means it cannot be used with a BatchPredictionJob. However, if it has supported_deployment_resources_types, it could serve online predictions by using PredictionService.Predict or PredictionService.Explain. | | | `string` | Output only. The resource name of the TrainingPipeline that uploaded this Model, if any. | | | `string` | Output only. Timestamp when this Model was most recently updated. | -| | `array` | User provided version aliases so that a model version can be referenced via alias (i.e. `projects/{project}/locations/{location}/models/{model_id}@{version_alias}` instead of auto-generated version id (i.e. `projects/{project}/locations/{location}/models/{model_id}@{version_id})`. The format is a-z{0,126}[a-z0-9] to distinguish from version_id. A default version alias will be created for the first version of the model, and there must be exactly one default version alias for a model. | +| | `array` | User provided version aliases so that a model version can be referenced via alias (i.e. `projects/{project}/locations/{location}/models/{model_id}@{version_alias}` instead of auto-generated version id (i.e. `projects/{project}/locations/{location}/models/{model_id}@{version_id})`. The format is a-z{0,126}[a-z0-9] to distinguish from version_id. A default version alias will be created for the first version of the model, and there must be exactly one default version alias for a model. | | | `string` | Output only. Timestamp when this version was created. | | | `string` | The description of this version. | | | `string` | Output only. Immutable. The version ID of the model. A new version is committed when a new model version is uploaded or trained under an existing model id. It is an auto-incrementing decimal number in string representation. | | | `string` | Output only. Timestamp when this version was most recently updated. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists versions of the specified model. | + +## `SELECT` examples + +Lists versions of the specified model. + +```sql +SELECT +name, +description, +artifactUri, +baseModelSource, +containerSpec, +createTime, +dataStats, +deployedModels, +displayName, +encryptionSpec, +etag, +explanationSpec, +labels, +metadata, +metadataArtifact, +metadataSchemaUri, +modelSourceInfo, +originalModelInfo, +pipelineJob, +predictSchemata, +satisfiesPzi, +satisfiesPzs, +supportedDeploymentResourcesTypes, +supportedExportFormats, +supportedInputStorageFormats, +supportedOutputStorageFormats, +trainingPipeline, +updateTime, +versionAliases, +versionCreateTime, +versionDescription, +versionId, +versionUpdateTime +FROM google.aiplatform.models_versions +WHERE locationsId = '{{ locationsId }}' +AND modelsId = '{{ modelsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/aiplatform/nas_jobs/index.md b/docs/google-docs/providers/google/aiplatform/nas_jobs/index.md index eef1643700..0c88e86c05 100644 --- a/docs/google-docs/providers/google/aiplatform/nas_jobs/index.md +++ b/docs/google-docs/providers/google/aiplatform/nas_jobs/index.md @@ -1,3 +1,4 @@ + --- title: nas_jobs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - nas_jobs - aiplatform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an nas_job resource or lists nas_jobs in a region ## Overview
@@ -40,9 +42,12 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | The labels with user-defined metadata to organize NasJobs. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels. | | | `object` | Represents a uCAIP NasJob output. | | | `object` | Represents the spec of a NasJob. | +| | `boolean` | Output only. Reserved for future use. | +| | `boolean` | Output only. Reserved for future use. | | | `string` | Output only. Time when the NasJob for the first time entered the `JOB_STATE_RUNNING` state. | | | `string` | Output only. The detailed state of the job. | | | `string` | Output only. Time when the NasJob was most recently updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -50,5 +55,137 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists NasJobs in a Location. | | | `INSERT` | | Creates a NasJob | | | `DELETE` | | Deletes a NasJob. | -| | `EXEC` | | Lists NasJobs in a Location. | | | `EXEC` | | Cancels a NasJob. Starts asynchronous cancellation on the NasJob. The server makes a best effort to cancel the job, but success is not guaranteed. Clients can use JobService.GetNasJob or other methods to check whether the cancellation succeeded or whether the job completed despite cancellation. On successful cancellation, the NasJob is not deleted; instead it becomes a job with a NasJob.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`, and NasJob.state is set to `CANCELLED`. | + +## `SELECT` examples + +Lists NasJobs in a Location. + +```sql +SELECT +name, +createTime, +displayName, +enableRestrictedImageTraining, +encryptionSpec, +endTime, +error, +labels, +nasJobOutput, +nasJobSpec, +satisfiesPzi, +satisfiesPzs, +startTime, +state, +updateTime +FROM google.aiplatform.nas_jobs +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new nas_jobs resource. + + + + +```sql +/*+ create */ +INSERT INTO google.aiplatform.nas_jobs ( +locationsId, +projectsId, +createTime, +encryptionSpec, +startTime, +error, +satisfiesPzi, +nasJobSpec, +satisfiesPzs, +nasJobOutput, +displayName, +endTime, +updateTime, +enableRestrictedImageTraining, +labels, +name, +state +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ createTime }}', +'{{ encryptionSpec }}', +'{{ startTime }}', +'{{ error }}', +true|false, +'{{ nasJobSpec }}', +true|false, +'{{ nasJobOutput }}', +'{{ displayName }}', +'{{ endTime }}', +'{{ updateTime }}', +true|false, +'{{ labels }}', +'{{ name }}', +'{{ state }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: createTime + value: '{{ createTime }}' + - name: encryptionSpec + value: '{{ encryptionSpec }}' + - name: startTime + value: '{{ startTime }}' + - name: error + value: '{{ error }}' + - name: satisfiesPzi + value: '{{ satisfiesPzi }}' + - name: nasJobSpec + value: '{{ nasJobSpec }}' + - name: satisfiesPzs + value: '{{ satisfiesPzs }}' + - name: nasJobOutput + value: '{{ nasJobOutput }}' + - name: displayName + value: '{{ displayName }}' + - name: endTime + value: '{{ endTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: enableRestrictedImageTraining + value: '{{ enableRestrictedImageTraining }}' + - name: labels + value: '{{ labels }}' + - name: name + value: '{{ name }}' + - name: state + value: '{{ state }}' + +``` + + + +## `DELETE` example + +Deletes the specified nas_job resource. + +```sql +DELETE FROM google.aiplatform.nas_jobs +WHERE locationsId = '{{ locationsId }}' +AND nasJobsId = '{{ nasJobsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/aiplatform/nas_trial_details/index.md b/docs/google-docs/providers/google/aiplatform/nas_trial_details/index.md index c6a368d838..98c7d71eab 100644 --- a/docs/google-docs/providers/google/aiplatform/nas_trial_details/index.md +++ b/docs/google-docs/providers/google/aiplatform/nas_trial_details/index.md @@ -1,3 +1,4 @@ + --- title: nas_trial_details hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - nas_trial_details - aiplatform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an nas_trial_detail resource or lists nas_trial_details in a region ## Overview
@@ -34,9 +36,25 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The parameters for the NasJob NasTrial. | | | `object` | Represents a uCAIP NasJob trial. | | | `object` | Represents a uCAIP NasJob trial. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets a NasTrialDetail. | | | `SELECT` | | List top NasTrialDetails of a NasJob. | -| | `EXEC` | | List top NasTrialDetails of a NasJob. | + +## `SELECT` examples + +List top NasTrialDetails of a NasJob. + +```sql +SELECT +name, +parameters, +searchTrial, +trainTrial +FROM google.aiplatform.nas_trial_details +WHERE locationsId = '{{ locationsId }}' +AND nasJobsId = '{{ nasJobsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/aiplatform/notebook_execution_jobs/index.md b/docs/google-docs/providers/google/aiplatform/notebook_execution_jobs/index.md new file mode 100644 index 0000000000..45858fb654 --- /dev/null +++ b/docs/google-docs/providers/google/aiplatform/notebook_execution_jobs/index.md @@ -0,0 +1,202 @@ + +--- +title: notebook_execution_jobs +hide_title: false +hide_table_of_contents: false +keywords: + - notebook_execution_jobs + - aiplatform + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an notebook_execution_job resource or lists notebook_execution_jobs in a region + +## Overview +
+ + + +
Namenotebook_execution_jobs
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | Output only. The resource name of this NotebookExecutionJob. Format: `projects/{project_id}/locations/{location}/notebookExecutionJobs/{job_id}` | +| | `string` | Output only. Timestamp when this NotebookExecutionJob was created. | +| | `object` | The Dataform Repository containing the input notebook. | +| | `object` | The content of the input notebook in ipynb format. | +| | `string` | The display name of the NotebookExecutionJob. The name can be up to 128 characters long and can consist of any UTF-8 characters. | +| | `object` | Represents a customer-managed encryption key spec that can be applied to a top-level resource. | +| | `string` | Max running time of the execution job in seconds (default 86400s / 24 hrs). | +| | `string` | The user email to run the execution as. Only supported by Colab runtimes. | +| | `object` | The Cloud Storage uri for the input notebook. | +| | `string` | The Cloud Storage location to upload the result to. Format: `gs://bucket-name` | +| | `string` | Output only. The state of the NotebookExecutionJob. | +| | `object` | The labels with user-defined metadata to organize NotebookExecutionJobs. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with "aiplatform.googleapis.com/" and are immutable. | +| | `string` | The NotebookRuntimeTemplate to source compute configuration from. | +| | `string` | Output only. The Schedule resource name if this job is triggered by one. Format: `projects/{project_id}/locations/{location}/schedules/{schedule_id}` | +| | `string` | The service account to run the execution as. | +| | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | +| | `string` | Output only. Timestamp when this NotebookExecutionJob was most recently updated. | + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets a NotebookExecutionJob. | +| | `SELECT` | | Lists NotebookExecutionJobs in a Location. | +| | `INSERT` | | Creates a NotebookExecutionJob. | +| | `DELETE` | | Deletes a NotebookExecutionJob. | + +## `SELECT` examples + +Lists NotebookExecutionJobs in a Location. + +```sql +SELECT +name, +createTime, +dataformRepositorySource, +directNotebookSource, +displayName, +encryptionSpec, +executionTimeout, +executionUser, +gcsNotebookSource, +gcsOutputUri, +jobState, +labels, +notebookRuntimeTemplateResourceName, +scheduleResourceName, +serviceAccount, +status, +updateTime +FROM google.aiplatform.notebook_execution_jobs +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new notebook_execution_jobs resource. + + + + +```sql +/*+ create */ +INSERT INTO google.aiplatform.notebook_execution_jobs ( +locationsId, +projectsId, +updateTime, +createTime, +notebookRuntimeTemplateResourceName, +executionTimeout, +gcsOutputUri, +serviceAccount, +encryptionSpec, +displayName, +dataformRepositorySource, +executionUser, +scheduleResourceName, +name, +gcsNotebookSource, +labels, +directNotebookSource, +status, +jobState +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ updateTime }}', +'{{ createTime }}', +'{{ notebookRuntimeTemplateResourceName }}', +'{{ executionTimeout }}', +'{{ gcsOutputUri }}', +'{{ serviceAccount }}', +'{{ encryptionSpec }}', +'{{ displayName }}', +'{{ dataformRepositorySource }}', +'{{ executionUser }}', +'{{ scheduleResourceName }}', +'{{ name }}', +'{{ gcsNotebookSource }}', +'{{ labels }}', +'{{ directNotebookSource }}', +'{{ status }}', +'{{ jobState }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: updateTime + value: '{{ updateTime }}' + - name: createTime + value: '{{ createTime }}' + - name: notebookRuntimeTemplateResourceName + value: '{{ notebookRuntimeTemplateResourceName }}' + - name: executionTimeout + value: '{{ executionTimeout }}' + - name: gcsOutputUri + value: '{{ gcsOutputUri }}' + - name: serviceAccount + value: '{{ serviceAccount }}' + - name: encryptionSpec + value: '{{ encryptionSpec }}' + - name: displayName + value: '{{ displayName }}' + - name: dataformRepositorySource + value: '{{ dataformRepositorySource }}' + - name: executionUser + value: '{{ executionUser }}' + - name: scheduleResourceName + value: '{{ scheduleResourceName }}' + - name: name + value: '{{ name }}' + - name: gcsNotebookSource + value: '{{ gcsNotebookSource }}' + - name: labels + value: '{{ labels }}' + - name: directNotebookSource + value: '{{ directNotebookSource }}' + - name: status + value: '{{ status }}' + - name: jobState + value: '{{ jobState }}' + +``` + + + +## `DELETE` example + +Deletes the specified notebook_execution_job resource. + +```sql +DELETE FROM google.aiplatform.notebook_execution_jobs +WHERE locationsId = '{{ locationsId }}' +AND notebookExecutionJobsId = '{{ notebookExecutionJobsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/aiplatform/notebook_runtime_templates/index.md b/docs/google-docs/providers/google/aiplatform/notebook_runtime_templates/index.md index 69ea7bd518..e3b1743243 100644 --- a/docs/google-docs/providers/google/aiplatform/notebook_runtime_templates/index.md +++ b/docs/google-docs/providers/google/aiplatform/notebook_runtime_templates/index.md @@ -1,3 +1,4 @@ + --- title: notebook_runtime_templates hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - notebook_runtime_templates - aiplatform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an notebook_runtime_template resource or lists notebook_runtime_templates in a region ## Overview @@ -48,6 +50,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The service account that the runtime workload runs as. You can use any service account within the same project, but you must have the service account user permission to use the instance. If not specified, the [Compute Engine default service account](https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) is used. | | | `object` | A set of Shielded Instance options. See [Images using supported Shielded VM features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm). | | | `string` | Output only. Timestamp when this NotebookRuntimeTemplate was most recently updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -56,4 +59,182 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a NotebookRuntimeTemplate. | | | `DELETE` | | Deletes a NotebookRuntimeTemplate. | | | `UPDATE` | | Updates a NotebookRuntimeTemplate. | -| | `EXEC` | | Lists NotebookRuntimeTemplates in a Location. | + +## `SELECT` examples + +Lists NotebookRuntimeTemplates in a Location. + +```sql +SELECT +name, +description, +createTime, +dataPersistentDiskSpec, +displayName, +encryptionSpec, +etag, +eucConfig, +idleShutdownConfig, +isDefault, +labels, +machineSpec, +networkSpec, +networkTags, +notebookRuntimeType, +serviceAccount, +shieldedVmConfig, +updateTime +FROM google.aiplatform.notebook_runtime_templates +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new notebook_runtime_templates resource. + + + + +```sql +/*+ create */ +INSERT INTO google.aiplatform.notebook_runtime_templates ( +locationsId, +projectsId, +machineSpec, +notebookRuntimeType, +shieldedVmConfig, +name, +description, +displayName, +labels, +eucConfig, +encryptionSpec, +isDefault, +serviceAccount, +networkSpec, +createTime, +idleShutdownConfig, +etag, +dataPersistentDiskSpec, +updateTime, +networkTags +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ machineSpec }}', +'{{ notebookRuntimeType }}', +'{{ shieldedVmConfig }}', +'{{ name }}', +'{{ description }}', +'{{ displayName }}', +'{{ labels }}', +'{{ eucConfig }}', +'{{ encryptionSpec }}', +true|false, +'{{ serviceAccount }}', +'{{ networkSpec }}', +'{{ createTime }}', +'{{ idleShutdownConfig }}', +'{{ etag }}', +'{{ dataPersistentDiskSpec }}', +'{{ updateTime }}', +'{{ networkTags }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: machineSpec + value: '{{ machineSpec }}' + - name: notebookRuntimeType + value: '{{ notebookRuntimeType }}' + - name: shieldedVmConfig + value: '{{ shieldedVmConfig }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: displayName + value: '{{ displayName }}' + - name: labels + value: '{{ labels }}' + - name: eucConfig + value: '{{ eucConfig }}' + - name: encryptionSpec + value: '{{ encryptionSpec }}' + - name: isDefault + value: '{{ isDefault }}' + - name: serviceAccount + value: '{{ serviceAccount }}' + - name: networkSpec + value: '{{ networkSpec }}' + - name: createTime + value: '{{ createTime }}' + - name: idleShutdownConfig + value: '{{ idleShutdownConfig }}' + - name: etag + value: '{{ etag }}' + - name: dataPersistentDiskSpec + value: '{{ dataPersistentDiskSpec }}' + - name: updateTime + value: '{{ updateTime }}' + - name: networkTags + value: '{{ networkTags }}' + +``` + + + +## `UPDATE` example + +Updates a notebook_runtime_template only if the necessary resources are available. + +```sql +UPDATE google.aiplatform.notebook_runtime_templates +SET +machineSpec = '{{ machineSpec }}', +notebookRuntimeType = '{{ notebookRuntimeType }}', +shieldedVmConfig = '{{ shieldedVmConfig }}', +name = '{{ name }}', +description = '{{ description }}', +displayName = '{{ displayName }}', +labels = '{{ labels }}', +eucConfig = '{{ eucConfig }}', +encryptionSpec = '{{ encryptionSpec }}', +isDefault = true|false, +serviceAccount = '{{ serviceAccount }}', +networkSpec = '{{ networkSpec }}', +createTime = '{{ createTime }}', +idleShutdownConfig = '{{ idleShutdownConfig }}', +etag = '{{ etag }}', +dataPersistentDiskSpec = '{{ dataPersistentDiskSpec }}', +updateTime = '{{ updateTime }}', +networkTags = '{{ networkTags }}' +WHERE +locationsId = '{{ locationsId }}' +AND notebookRuntimeTemplatesId = '{{ notebookRuntimeTemplatesId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified notebook_runtime_template resource. + +```sql +DELETE FROM google.aiplatform.notebook_runtime_templates +WHERE locationsId = '{{ locationsId }}' +AND notebookRuntimeTemplatesId = '{{ notebookRuntimeTemplatesId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/aiplatform/notebook_runtime_templates_iam_policies/index.md b/docs/google-docs/providers/google/aiplatform/notebook_runtime_templates_iam_policies/index.md index 15b32f0f19..474b2886e4 100644 --- a/docs/google-docs/providers/google/aiplatform/notebook_runtime_templates_iam_policies/index.md +++ b/docs/google-docs/providers/google/aiplatform/notebook_runtime_templates_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: notebook_runtime_templates_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - notebook_runtime_templates_iam_policies - aiplatform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an notebook_runtime_templates_iam_policy resource or lists notebook_runtime_templates_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.aiplatform.notebook_runtime_templates_iam_policies +WHERE locationsId = '{{ locationsId }}' +AND notebookRuntimeTemplatesId = '{{ notebookRuntimeTemplatesId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/aiplatform/notebook_runtimes/index.md b/docs/google-docs/providers/google/aiplatform/notebook_runtimes/index.md index 4662b654f6..478ac06975 100644 --- a/docs/google-docs/providers/google/aiplatform/notebook_runtimes/index.md +++ b/docs/google-docs/providers/google/aiplatform/notebook_runtimes/index.md @@ -1,3 +1,4 @@ + --- title: notebook_runtimes hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - notebook_runtimes - aiplatform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an notebook_runtime resource or lists notebook_runtimes in a region ## Overview
@@ -51,13 +53,56 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The service account that the NotebookRuntime workload runs as. | | | `string` | Output only. Timestamp when this NotebookRuntime was most recently updated. | | | `string` | Output only. The VM os image version of NotebookRuntime. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets a NotebookRuntime. | | | `SELECT` | | Lists NotebookRuntimes in a Location. | | | `DELETE` | | Deletes a NotebookRuntime. | -| | `EXEC` | | Lists NotebookRuntimes in a Location. | | | `EXEC` | | Assigns a NotebookRuntime to a user for a particular Notebook file. This method will either returns an existing assignment or generates a new one. | | | `EXEC` | | Starts a NotebookRuntime. | | | `EXEC` | | Upgrades a NotebookRuntime. | + +## `SELECT` examples + +Lists NotebookRuntimes in a Location. + +```sql +SELECT +name, +description, +createTime, +displayName, +encryptionSpec, +expirationTime, +healthState, +idleShutdownConfig, +isUpgradable, +labels, +networkTags, +notebookRuntimeTemplateRef, +notebookRuntimeType, +proxyUri, +runtimeState, +runtimeUser, +satisfiesPzi, +satisfiesPzs, +serviceAccount, +updateTime, +version +FROM google.aiplatform.notebook_runtimes +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified notebook_runtime resource. + +```sql +DELETE FROM google.aiplatform.notebook_runtimes +WHERE locationsId = '{{ locationsId }}' +AND notebookRuntimesId = '{{ notebookRuntimesId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/aiplatform/operations/index.md b/docs/google-docs/providers/google/aiplatform/operations/index.md index 1f555fe5ae..4050164b67 100644 --- a/docs/google-docs/providers/google/aiplatform/operations/index.md +++ b/docs/google-docs/providers/google/aiplatform/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - aiplatform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview
@@ -30,17 +32,48 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| -| | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | -| | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | -| | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | -| | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | -| | `EXEC` | | Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done. | +| | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | +| | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | +| | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. | +| | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | +| | `EXEC` | | Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.aiplatform.operations +WHERE executionsId = '{{ executionsId }}' +AND locationsId = '{{ locationsId }}' +AND metadataStoresId = '{{ metadataStoresId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified operation resource. + +```sql +DELETE FROM google.aiplatform.operations +WHERE executionsId = '{{ executionsId }}' +AND locationsId = '{{ locationsId }}' +AND metadataStoresId = '{{ metadataStoresId }}' +AND operationsId = '{{ operationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/aiplatform/operations_wait/index.md b/docs/google-docs/providers/google/aiplatform/operations_wait/index.md index 2fa4ad892d..fa7585f305 100644 --- a/docs/google-docs/providers/google/aiplatform/operations_wait/index.md +++ b/docs/google-docs/providers/google/aiplatform/operations_wait/index.md @@ -1,3 +1,4 @@ + --- title: operations_wait hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations_wait - aiplatform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operations_wait resource or lists operations_wait in a region ## Overview
@@ -30,13 +32,32 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.aiplatform.operations_wait +WHERE featureGroupsId = '{{ featureGroupsId }}' +AND featuresId = '{{ featuresId }}' +AND locationsId = '{{ locationsId }}' +AND operationsId = '{{ operationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/aiplatform/persistent_resources/index.md b/docs/google-docs/providers/google/aiplatform/persistent_resources/index.md index a2d01f1861..5d2cb18871 100644 --- a/docs/google-docs/providers/google/aiplatform/persistent_resources/index.md +++ b/docs/google-docs/providers/google/aiplatform/persistent_resources/index.md @@ -1,3 +1,4 @@ + --- title: persistent_resources hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - persistent_resources - aiplatform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an persistent_resource resource or lists persistent_resources in a region ## Overview
@@ -36,14 +38,17 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Represents a customer-managed encryption key spec that can be applied to a top-level resource. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Optional. The labels with user-defined metadata to organize PersistentResource. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels. | -| | `string` | Optional. The full name of the Compute Engine [network](/compute/docs/networks-and-firewalls#networks) to peered with Vertex AI to host the persistent resources. For example, `projects/12345/global/networks/myVPC`. [Format](/compute/docs/reference/rest/v1/networks/insert) is of the form `projects/{project}/global/networks/{network}`. Where {project} is a project number, as in `12345`, and {network} is a network name. To specify this field, you must have already [configured VPC Network Peering for Vertex AI](https://cloud.google.com/vertex-ai/docs/general/vpc-peering). If this field is left unspecified, the resources aren't peered with any network. | +| | `string` | Optional. The full name of the Compute Engine [network](/compute/docs/networks-and-firewalls#networks) to peered with Vertex AI to host the persistent resources. For example, `projects/12345/global/networks/myVPC`. [Format](/compute/docs/reference/rest/v1/networks/insert) is of the form `projects/{project}/global/networks/{network}`. Where {project} is a project number, as in `12345`, and {network} is a network name. To specify this field, you must have already [configured VPC Network Peering for Vertex AI](https://cloud.google.com/vertex-ai/docs/general/vpc-peering). If this field is left unspecified, the resources aren't peered with any network. | | | `array` | Optional. A list of names for the reserved IP ranges under the VPC network that can be used for this persistent resource. If set, we will deploy the persistent resource within the provided IP ranges. Otherwise, the persistent resource is deployed to any IP ranges under the provided VPC network. Example: ['vertex-ai-ip-range']. | | | `array` | Required. The spec of the pools of different resources. | | | `object` | Persistent Cluster runtime information as output | | | `object` | Configuration for the runtime on a PersistentResource instance, including but not limited to: * Service accounts used to run the workloads. * Whether to make it a dedicated Ray Cluster. | +| | `boolean` | Output only. Reserved for future use. | +| | `boolean` | Output only. Reserved for future use. | | | `string` | Output only. Time when the PersistentResource for the first time entered the `RUNNING` state. | | | `string` | Output only. The detailed state of a Study. | | | `string` | Output only. Time when the PersistentResource was most recently updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -52,5 +57,171 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a PersistentResource. | | | `DELETE` | | Deletes a PersistentResource. | | | `UPDATE` | | Updates a PersistentResource. | -| | `EXEC` | | Lists PersistentResources in a Location. | | | `EXEC` | | Reboots a PersistentResource. | + +## `SELECT` examples + +Lists PersistentResources in a Location. + +```sql +SELECT +name, +createTime, +displayName, +encryptionSpec, +error, +labels, +network, +reservedIpRanges, +resourcePools, +resourceRuntime, +resourceRuntimeSpec, +satisfiesPzi, +satisfiesPzs, +startTime, +state, +updateTime +FROM google.aiplatform.persistent_resources +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new persistent_resources resource. + + + + +```sql +/*+ create */ +INSERT INTO google.aiplatform.persistent_resources ( +locationsId, +projectsId, +updateTime, +resourcePools, +error, +satisfiesPzs, +displayName, +network, +resourceRuntimeSpec, +createTime, +resourceRuntime, +state, +satisfiesPzi, +startTime, +labels, +reservedIpRanges, +name, +encryptionSpec +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ updateTime }}', +'{{ resourcePools }}', +'{{ error }}', +true|false, +'{{ displayName }}', +'{{ network }}', +'{{ resourceRuntimeSpec }}', +'{{ createTime }}', +'{{ resourceRuntime }}', +'{{ state }}', +true|false, +'{{ startTime }}', +'{{ labels }}', +'{{ reservedIpRanges }}', +'{{ name }}', +'{{ encryptionSpec }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: updateTime + value: '{{ updateTime }}' + - name: resourcePools + value: '{{ resourcePools }}' + - name: error + value: '{{ error }}' + - name: satisfiesPzs + value: '{{ satisfiesPzs }}' + - name: displayName + value: '{{ displayName }}' + - name: network + value: '{{ network }}' + - name: resourceRuntimeSpec + value: '{{ resourceRuntimeSpec }}' + - name: createTime + value: '{{ createTime }}' + - name: resourceRuntime + value: '{{ resourceRuntime }}' + - name: state + value: '{{ state }}' + - name: satisfiesPzi + value: '{{ satisfiesPzi }}' + - name: startTime + value: '{{ startTime }}' + - name: labels + value: '{{ labels }}' + - name: reservedIpRanges + value: '{{ reservedIpRanges }}' + - name: name + value: '{{ name }}' + - name: encryptionSpec + value: '{{ encryptionSpec }}' + +``` + + + +## `UPDATE` example + +Updates a persistent_resource only if the necessary resources are available. + +```sql +UPDATE google.aiplatform.persistent_resources +SET +updateTime = '{{ updateTime }}', +resourcePools = '{{ resourcePools }}', +error = '{{ error }}', +satisfiesPzs = true|false, +displayName = '{{ displayName }}', +network = '{{ network }}', +resourceRuntimeSpec = '{{ resourceRuntimeSpec }}', +createTime = '{{ createTime }}', +resourceRuntime = '{{ resourceRuntime }}', +state = '{{ state }}', +satisfiesPzi = true|false, +startTime = '{{ startTime }}', +labels = '{{ labels }}', +reservedIpRanges = '{{ reservedIpRanges }}', +name = '{{ name }}', +encryptionSpec = '{{ encryptionSpec }}' +WHERE +locationsId = '{{ locationsId }}' +AND persistentResourcesId = '{{ persistentResourcesId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified persistent_resource resource. + +```sql +DELETE FROM google.aiplatform.persistent_resources +WHERE locationsId = '{{ locationsId }}' +AND persistentResourcesId = '{{ persistentResourcesId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/aiplatform/pipeline_jobs/index.md b/docs/google-docs/providers/google/aiplatform/pipeline_jobs/index.md index 7f7334281e..59f887a71f 100644 --- a/docs/google-docs/providers/google/aiplatform/pipeline_jobs/index.md +++ b/docs/google-docs/providers/google/aiplatform/pipeline_jobs/index.md @@ -1,3 +1,4 @@ + --- title: pipeline_jobs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - pipeline_jobs - aiplatform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an pipeline_job resource or lists pipeline_jobs in a region ## Overview
@@ -38,8 +40,9 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | The runtime detail of PipelineJob. | | | `object` | The labels with user-defined metadata to organize PipelineJob. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels. Note there is some reserved label key for Vertex AI Pipelines. - `vertex-ai-pipelines-run-billing-id`, user set value will get overrided. | -| | `string` | The full name of the Compute Engine [network](/compute/docs/networks-and-firewalls#networks) to which the Pipeline Job's workload should be peered. For example, `projects/12345/global/networks/myVPC`. [Format](/compute/docs/reference/rest/v1/networks/insert) is of the form `projects/{project}/global/networks/{network}`. Where {project} is a project number, as in `12345`, and {network} is a network name. Private services access must already be configured for the network. Pipeline job will apply the network configuration to the Google Cloud resources being launched, if applied, such as Vertex AI Training or Dataflow job. If left unspecified, the workload is not peered with any network. | +| | `string` | The full name of the Compute Engine [network](/compute/docs/networks-and-firewalls#networks) to which the Pipeline Job's workload should be peered. For example, `projects/12345/global/networks/myVPC`. [Format](/compute/docs/reference/rest/v1/networks/insert) is of the form `projects/{project}/global/networks/{network}`. Where {project} is a project number, as in `12345`, and {network} is a network name. Private services access must already be configured for the network. Pipeline job will apply the network configuration to the Google Cloud resources being launched, if applied, such as Vertex AI Training or Dataflow job. If left unspecified, the workload is not peered with any network. | | | `object` | The spec of the pipeline. | +| | `boolean` | Optional. Whether to do component level validations before job creation. | | | `array` | A list of names for the reserved ip ranges under the VPC network that can be used for this Pipeline Job's workload. If set, we will deploy the Pipeline Job's workload within the provided ip ranges. Otherwise, the job will be deployed to any ip ranges under the provided VPC network. Example: ['vertex-ai-ip-range']. | | | `object` | The runtime config of a PipelineJob. | | | `string` | Output only. The schedule resource name. Only returned if the Pipeline is created by Schedule API. | @@ -49,14 +52,171 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Pipeline template metadata if PipelineJob.template_uri is from supported template registry. Currently, the only supported registry is Artifact Registry. | | | `string` | A template uri from where the PipelineJob.pipeline_spec, if empty, will be downloaded. Currently, only uri from Vertex Template Registry & Gallery is supported. Reference to https://cloud.google.com/vertex-ai/docs/pipelines/create-pipeline-template. | | | `string` | Output only. Timestamp when this PipelineJob was most recently updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets a PipelineJob. | | | `SELECT` | | Lists PipelineJobs in a Location. | | | `INSERT` | | Creates a PipelineJob. A PipelineJob will run immediately when created. | +| | `DELETE` | | Batch deletes PipelineJobs The Operation is atomic. If it fails, none of the PipelineJobs are deleted. If it succeeds, all of the PipelineJobs are deleted. | | | `DELETE` | | Deletes a PipelineJob. | -| | `EXEC` | | Lists PipelineJobs in a Location. | | | `EXEC` | | Batch cancel PipelineJobs. Firstly the server will check if all the jobs are in non-terminal states, and skip the jobs that are already terminated. If the operation failed, none of the pipeline jobs are cancelled. The server will poll the states of all the pipeline jobs periodically to check the cancellation status. This operation will return an LRO. | -| | `EXEC` | | Batch deletes PipelineJobs The Operation is atomic. If it fails, none of the PipelineJobs are deleted. If it succeeds, all of the PipelineJobs are deleted. | | | `EXEC` | | Cancels a PipelineJob. Starts asynchronous cancellation on the PipelineJob. The server makes a best effort to cancel the pipeline, but success is not guaranteed. Clients can use PipelineService.GetPipelineJob or other methods to check whether the cancellation succeeded or whether the pipeline completed despite cancellation. On successful cancellation, the PipelineJob is not deleted; instead it becomes a pipeline with a PipelineJob.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`, and PipelineJob.state is set to `CANCELLED`. | + +## `SELECT` examples + +Lists PipelineJobs in a Location. + +```sql +SELECT +name, +createTime, +displayName, +encryptionSpec, +endTime, +error, +jobDetail, +labels, +network, +pipelineSpec, +preflightValidations, +reservedIpRanges, +runtimeConfig, +scheduleName, +serviceAccount, +startTime, +state, +templateMetadata, +templateUri, +updateTime +FROM google.aiplatform.pipeline_jobs +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new pipeline_jobs resource. + + + + +```sql +/*+ create */ +INSERT INTO google.aiplatform.pipeline_jobs ( +locationsId, +projectsId, +runtimeConfig, +labels, +templateUri, +state, +name, +displayName, +encryptionSpec, +updateTime, +startTime, +createTime, +error, +templateMetadata, +network, +reservedIpRanges, +pipelineSpec, +preflightValidations, +serviceAccount, +scheduleName, +jobDetail, +endTime +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ runtimeConfig }}', +'{{ labels }}', +'{{ templateUri }}', +'{{ state }}', +'{{ name }}', +'{{ displayName }}', +'{{ encryptionSpec }}', +'{{ updateTime }}', +'{{ startTime }}', +'{{ createTime }}', +'{{ error }}', +'{{ templateMetadata }}', +'{{ network }}', +'{{ reservedIpRanges }}', +'{{ pipelineSpec }}', +true|false, +'{{ serviceAccount }}', +'{{ scheduleName }}', +'{{ jobDetail }}', +'{{ endTime }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: runtimeConfig + value: '{{ runtimeConfig }}' + - name: labels + value: '{{ labels }}' + - name: templateUri + value: '{{ templateUri }}' + - name: state + value: '{{ state }}' + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: encryptionSpec + value: '{{ encryptionSpec }}' + - name: updateTime + value: '{{ updateTime }}' + - name: startTime + value: '{{ startTime }}' + - name: createTime + value: '{{ createTime }}' + - name: error + value: '{{ error }}' + - name: templateMetadata + value: '{{ templateMetadata }}' + - name: network + value: '{{ network }}' + - name: reservedIpRanges + value: '{{ reservedIpRanges }}' + - name: pipelineSpec + value: '{{ pipelineSpec }}' + - name: preflightValidations + value: '{{ preflightValidations }}' + - name: serviceAccount + value: '{{ serviceAccount }}' + - name: scheduleName + value: '{{ scheduleName }}' + - name: jobDetail + value: '{{ jobDetail }}' + - name: endTime + value: '{{ endTime }}' + +``` + + + +## `DELETE` example + +Deletes the specified pipeline_job resource. + +```sql +DELETE FROM google.aiplatform.pipeline_jobs +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/aiplatform/runs/index.md b/docs/google-docs/providers/google/aiplatform/runs/index.md index 645e05af35..0c9465d989 100644 --- a/docs/google-docs/providers/google/aiplatform/runs/index.md +++ b/docs/google-docs/providers/google/aiplatform/runs/index.md @@ -1,3 +1,4 @@ + --- title: runs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - runs - aiplatform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an run resource or lists runs in a region ## Overview
@@ -30,21 +32,120 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. Name of the TensorboardRun. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}` | +| | `string` | Output only. Name of the TensorboardRun. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}` | | | `string` | Description of this TensorboardRun. | | | `string` | Output only. Timestamp when this TensorboardRun was created. | | | `string` | Required. User provided name of this TensorboardRun. This value must be unique among all TensorboardRuns belonging to the same parent TensorboardExperiment. | | | `string` | Used to perform a consistent read-modify-write updates. If not set, a blind "overwrite" update happens. | | | `object` | The labels with user-defined metadata to organize your TensorboardRuns. This field will be used to filter and visualize Runs in the Tensorboard UI. For example, a Vertex AI training job can set a label aiplatform.googleapis.com/training_job_id=xxxxx to all the runs created within that job. An end user can set a label experiment_id=xxxxx for all the runs produced in a Jupyter notebook. These runs can be grouped by a label value and visualized together in the Tensorboard UI. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one TensorboardRun (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with "aiplatform.googleapis.com/" and are immutable. | | | `string` | Output only. Timestamp when this TensorboardRun was last updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets a TensorboardRun. | | | `SELECT` | | Lists TensorboardRuns in a Location. | +| | `INSERT` | | Batch create TensorboardRuns. | | | `INSERT` | | Creates a TensorboardRun. | | | `DELETE` | | Deletes a TensorboardRun. | | | `UPDATE` | | Updates a TensorboardRun. | -| | `EXEC` | | Lists TensorboardRuns in a Location. | -| | `EXEC` | | Batch create TensorboardRuns. | | | `EXEC` | | Write time series data points into multiple TensorboardTimeSeries under a TensorboardRun. If any data fail to be ingested, an error is returned. | + +## `SELECT` examples + +Lists TensorboardRuns in a Location. + +```sql +SELECT +name, +description, +createTime, +displayName, +etag, +labels, +updateTime +FROM google.aiplatform.runs +WHERE experimentsId = '{{ experimentsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND tensorboardsId = '{{ tensorboardsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new runs resource. + + + + +```sql +/*+ create */ +INSERT INTO google.aiplatform.runs ( +experimentsId, +locationsId, +projectsId, +tensorboardsId, +requests +) +SELECT +'{{ experimentsId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ tensorboardsId }}', +'{{ requests }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: requests + value: '{{ requests }}' + +``` + + + +## `UPDATE` example + +Updates a run only if the necessary resources are available. + +```sql +UPDATE google.aiplatform.runs +SET +createTime = '{{ createTime }}', +name = '{{ name }}', +updateTime = '{{ updateTime }}', +displayName = '{{ displayName }}', +etag = '{{ etag }}', +description = '{{ description }}', +labels = '{{ labels }}' +WHERE +experimentsId = '{{ experimentsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND runsId = '{{ runsId }}' +AND tensorboardsId = '{{ tensorboardsId }}'; +``` + +## `DELETE` example + +Deletes the specified run resource. + +```sql +DELETE FROM google.aiplatform.runs +WHERE experimentsId = '{{ experimentsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND runsId = '{{ runsId }}' +AND tensorboardsId = '{{ tensorboardsId }}'; +``` diff --git a/docs/google-docs/providers/google/aiplatform/saved_queries/index.md b/docs/google-docs/providers/google/aiplatform/saved_queries/index.md index 18c3f7c6ce..fa48e53376 100644 --- a/docs/google-docs/providers/google/aiplatform/saved_queries/index.md +++ b/docs/google-docs/providers/google/aiplatform/saved_queries/index.md @@ -1,3 +1,4 @@ + --- title: saved_queries hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - saved_queries - aiplatform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an saved_query resource or lists saved_queries in a region ## Overview
@@ -40,9 +42,43 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Required. Problem type of the SavedQuery. Allowed values: * IMAGE_CLASSIFICATION_SINGLE_LABEL * IMAGE_CLASSIFICATION_MULTI_LABEL * IMAGE_BOUNDING_POLY * IMAGE_BOUNDING_BOX * TEXT_CLASSIFICATION_SINGLE_LABEL * TEXT_CLASSIFICATION_MULTI_LABEL * TEXT_EXTRACTION * TEXT_SENTIMENT * VIDEO_CLASSIFICATION * VIDEO_OBJECT_TRACKING | | | `boolean` | Output only. If the Annotations belonging to the SavedQuery can be used for AutoML training. | | | `string` | Output only. Timestamp when SavedQuery was last updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Lists SavedQueries in a Dataset. | | | `DELETE` | | Deletes a SavedQuery. | -| | `EXEC` | | Lists SavedQueries in a Dataset. | + +## `SELECT` examples + +Lists SavedQueries in a Dataset. + +```sql +SELECT +name, +annotationFilter, +annotationSpecCount, +createTime, +displayName, +etag, +metadata, +problemType, +supportAutomlTraining, +updateTime +FROM google.aiplatform.saved_queries +WHERE datasetsId = '{{ datasetsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified saved_query resource. + +```sql +DELETE FROM google.aiplatform.saved_queries +WHERE datasetsId = '{{ datasetsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND savedQueriesId = '{{ savedQueriesId }}'; +``` diff --git a/docs/google-docs/providers/google/aiplatform/schedules/index.md b/docs/google-docs/providers/google/aiplatform/schedules/index.md index 8bfecadfec..13aadffadb 100644 --- a/docs/google-docs/providers/google/aiplatform/schedules/index.md +++ b/docs/google-docs/providers/google/aiplatform/schedules/index.md @@ -1,3 +1,4 @@ + --- title: schedules hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - schedules - aiplatform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an schedule resource or lists schedules in a region ## Overview
@@ -33,21 +35,23 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Immutable. The resource name of the Schedule. | | | `boolean` | Optional. Whether new scheduled runs can be queued when max_concurrent_runs limit is reached. If set to true, new runs will be queued instead of skipped. Default to false. | | | `boolean` | Output only. Whether to backfill missed runs when the schedule is resumed from PAUSED state. If set to true, all missed runs will be scheduled. New runs will be scheduled after the backfill is complete. Default to false. | +| | `object` | Request message for [NotebookService.CreateNotebookExecutionJob] | | | `object` | Request message for PipelineService.CreatePipelineJob. | | | `string` | Output only. Timestamp when this Schedule was created. | -| | `string` | Cron schedule (https://en.wikipedia.org/wiki/Cron) to launch scheduled runs. To explicitly set a timezone to the cron tab, apply a prefix in the cron tab: "CRON_TZ=${IANA_TIME_ZONE}" or "TZ=${IANA_TIME_ZONE}". The ${IANA_TIME_ZONE} may only be a valid string from IANA time zone database. For example, "CRON_TZ=America/New_York 1 * * * *", or "TZ=America/New_York 1 * * * *". | +| | `string` | Cron schedule (https://en.wikipedia.org/wiki/Cron) to launch scheduled runs. To explicitly set a timezone to the cron tab, apply a prefix in the cron tab: "CRON_TZ=${IANA_TIME_ZONE}" or "TZ=${IANA_TIME_ZONE}". The ${IANA_TIME_ZONE} may only be a valid string from IANA time zone database. For example, "CRON_TZ=America/New_York 1 * * * *", or "TZ=America/New_York 1 * * * *". | | | `string` | Required. User provided name of the Schedule. The name can be up to 128 characters long and can consist of any UTF-8 characters. | -| | `string` | Optional. Timestamp after which no new runs can be scheduled. If specified, The schedule will be completed when either end_time is reached or when scheduled_run_count >= max_run_count. If not specified, new runs will keep getting scheduled until this Schedule is paused or deleted. Already scheduled runs will be allowed to complete. Unset if not specified. | +| | `string` | Optional. Timestamp after which no new runs can be scheduled. If specified, The schedule will be completed when either end_time is reached or when scheduled_run_count >= max_run_count. If not specified, new runs will keep getting scheduled until this Schedule is paused or deleted. Already scheduled runs will be allowed to complete. Unset if not specified. | | | `string` | Output only. Timestamp when this Schedule was last paused. Unset if never paused. | | | `string` | Output only. Timestamp when this Schedule was last resumed. Unset if never resumed from pause. | | | `object` | Status of a scheduled run. | | | `string` | Required. Maximum number of runs that can be started concurrently for this Schedule. This is the limit for starting the scheduled requests and not the execution of the operations/jobs created by the requests (if applicable). | -| | `string` | Optional. Maximum run count of the schedule. If specified, The schedule will be completed when either started_run_count >= max_run_count or when end_time is reached. If not specified, new runs will keep getting scheduled until this Schedule is paused or deleted. Already scheduled runs will be allowed to complete. Unset if not specified. | +| | `string` | Optional. Maximum run count of the schedule. If specified, The schedule will be completed when either started_run_count >= max_run_count or when end_time is reached. If not specified, new runs will keep getting scheduled until this Schedule is paused or deleted. Already scheduled runs will be allowed to complete. Unset if not specified. | | | `string` | Output only. Timestamp when this Schedule should schedule the next run. Having a next_run_time in the past means the runs are being started behind schedule. | | | `string` | Optional. Timestamp after which the first run can be scheduled. Default to Schedule create time if not specified. | | | `string` | Output only. The number of runs started by this schedule. | | | `string` | Output only. The state of this Schedule. | | | `string` | Output only. Timestamp when this Schedule was updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -56,6 +60,190 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a Schedule. | | | `DELETE` | | Deletes a Schedule. | | | `UPDATE` | | Updates an active or paused Schedule. When the Schedule is updated, new runs will be scheduled starting from the updated next execution time after the update time based on the time_specification in the updated Schedule. All unstarted runs before the update time will be skipped while already created runs will NOT be paused or canceled. | -| | `EXEC` | | Lists Schedules in a Location. | | | `EXEC` | | Pauses a Schedule. Will mark Schedule.state to 'PAUSED'. If the schedule is paused, no new runs will be created. Already created runs will NOT be paused or canceled. | | | `EXEC` | | Resumes a paused Schedule to start scheduling new runs. Will mark Schedule.state to 'ACTIVE'. Only paused Schedule can be resumed. When the Schedule is resumed, new runs will be scheduled starting from the next execution time after the current time based on the time_specification in the Schedule. If Schedule.catchUp is set up true, all missed runs will be scheduled for backfill first. | + +## `SELECT` examples + +Lists Schedules in a Location. + +```sql +SELECT +name, +allowQueueing, +catchUp, +createNotebookExecutionJobRequest, +createPipelineJobRequest, +createTime, +cron, +displayName, +endTime, +lastPauseTime, +lastResumeTime, +lastScheduledRunResponse, +maxConcurrentRunCount, +maxRunCount, +nextRunTime, +startTime, +startedRunCount, +state, +updateTime +FROM google.aiplatform.schedules +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new schedules resource. + + + + +```sql +/*+ create */ +INSERT INTO google.aiplatform.schedules ( +locationsId, +projectsId, +lastPauseTime, +catchUp, +maxRunCount, +allowQueueing, +createNotebookExecutionJobRequest, +state, +cron, +endTime, +startTime, +createPipelineJobRequest, +name, +lastResumeTime, +createTime, +displayName, +updateTime, +maxConcurrentRunCount, +nextRunTime, +lastScheduledRunResponse, +startedRunCount +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ lastPauseTime }}', +true|false, +'{{ maxRunCount }}', +true|false, +'{{ createNotebookExecutionJobRequest }}', +'{{ state }}', +'{{ cron }}', +'{{ endTime }}', +'{{ startTime }}', +'{{ createPipelineJobRequest }}', +'{{ name }}', +'{{ lastResumeTime }}', +'{{ createTime }}', +'{{ displayName }}', +'{{ updateTime }}', +'{{ maxConcurrentRunCount }}', +'{{ nextRunTime }}', +'{{ lastScheduledRunResponse }}', +'{{ startedRunCount }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: lastPauseTime + value: '{{ lastPauseTime }}' + - name: catchUp + value: '{{ catchUp }}' + - name: maxRunCount + value: '{{ maxRunCount }}' + - name: allowQueueing + value: '{{ allowQueueing }}' + - name: createNotebookExecutionJobRequest + value: '{{ createNotebookExecutionJobRequest }}' + - name: state + value: '{{ state }}' + - name: cron + value: '{{ cron }}' + - name: endTime + value: '{{ endTime }}' + - name: startTime + value: '{{ startTime }}' + - name: createPipelineJobRequest + value: '{{ createPipelineJobRequest }}' + - name: name + value: '{{ name }}' + - name: lastResumeTime + value: '{{ lastResumeTime }}' + - name: createTime + value: '{{ createTime }}' + - name: displayName + value: '{{ displayName }}' + - name: updateTime + value: '{{ updateTime }}' + - name: maxConcurrentRunCount + value: '{{ maxConcurrentRunCount }}' + - name: nextRunTime + value: '{{ nextRunTime }}' + - name: lastScheduledRunResponse + value: '{{ lastScheduledRunResponse }}' + - name: startedRunCount + value: '{{ startedRunCount }}' + +``` + + + +## `UPDATE` example + +Updates a schedule only if the necessary resources are available. + +```sql +UPDATE google.aiplatform.schedules +SET +lastPauseTime = '{{ lastPauseTime }}', +catchUp = true|false, +maxRunCount = '{{ maxRunCount }}', +allowQueueing = true|false, +createNotebookExecutionJobRequest = '{{ createNotebookExecutionJobRequest }}', +state = '{{ state }}', +cron = '{{ cron }}', +endTime = '{{ endTime }}', +startTime = '{{ startTime }}', +createPipelineJobRequest = '{{ createPipelineJobRequest }}', +name = '{{ name }}', +lastResumeTime = '{{ lastResumeTime }}', +createTime = '{{ createTime }}', +displayName = '{{ displayName }}', +updateTime = '{{ updateTime }}', +maxConcurrentRunCount = '{{ maxConcurrentRunCount }}', +nextRunTime = '{{ nextRunTime }}', +lastScheduledRunResponse = '{{ lastScheduledRunResponse }}', +startedRunCount = '{{ startedRunCount }}' +WHERE +locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND schedulesId = '{{ schedulesId }}'; +``` + +## `DELETE` example + +Deletes the specified schedule resource. + +```sql +DELETE FROM google.aiplatform.schedules +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND schedulesId = '{{ schedulesId }}'; +``` diff --git a/docs/google-docs/providers/google/aiplatform/slices/index.md b/docs/google-docs/providers/google/aiplatform/slices/index.md index 5a8a0e56b8..a69f97423a 100644 --- a/docs/google-docs/providers/google/aiplatform/slices/index.md +++ b/docs/google-docs/providers/google/aiplatform/slices/index.md @@ -1,3 +1,4 @@ + --- title: slices hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - slices - aiplatform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an slice resource or lists slices in a region ## Overview
@@ -36,10 +38,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Points to a YAML file stored on Google Cloud Storage describing the metrics of this ModelEvaluationSlice. The schema is defined as an OpenAPI 3.0.2 [Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). | | | `object` | Aggregated explanation metrics for a Model over a set of instances. | | | `object` | Definition of a slice. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets a ModelEvaluationSlice. | | | `SELECT` | | Lists ModelEvaluationSlices in a ModelEvaluation. | -| | `EXEC` | | Lists ModelEvaluationSlices in a ModelEvaluation. | | | `EXEC` | | Imports a list of externally generated EvaluatedAnnotations. | + +## `SELECT` examples + +Lists ModelEvaluationSlices in a ModelEvaluation. + +```sql +SELECT +name, +createTime, +metrics, +metricsSchemaUri, +modelExplanation, +slice +FROM google.aiplatform.slices +WHERE evaluationsId = '{{ evaluationsId }}' +AND locationsId = '{{ locationsId }}' +AND modelsId = '{{ modelsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/aiplatform/specialist_pools/index.md b/docs/google-docs/providers/google/aiplatform/specialist_pools/index.md index 54e10db03b..1e93b5fab0 100644 --- a/docs/google-docs/providers/google/aiplatform/specialist_pools/index.md +++ b/docs/google-docs/providers/google/aiplatform/specialist_pools/index.md @@ -1,3 +1,4 @@ + --- title: specialist_pools hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - specialist_pools - aiplatform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an specialist_pool resource or lists specialist_pools in a region ## Overview
@@ -36,6 +38,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `array` | The email addresses of the managers in the SpecialistPool. | | | `integer` | Output only. The number of managers in this SpecialistPool. | | | `array` | The email addresses of workers in the SpecialistPool. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -44,4 +47,110 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a SpecialistPool. | | | `DELETE` | | Deletes a SpecialistPool as well as all Specialists in the pool. | | | `UPDATE` | | Updates a SpecialistPool. | -| | `EXEC` | | Lists SpecialistPools in a Location. | + +## `SELECT` examples + +Lists SpecialistPools in a Location. + +```sql +SELECT +name, +displayName, +pendingDataLabelingJobs, +specialistManagerEmails, +specialistManagersCount, +specialistWorkerEmails +FROM google.aiplatform.specialist_pools +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new specialist_pools resource. + + + + +```sql +/*+ create */ +INSERT INTO google.aiplatform.specialist_pools ( +locationsId, +projectsId, +pendingDataLabelingJobs, +specialistManagerEmails, +specialistManagersCount, +specialistWorkerEmails, +displayName, +name +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ pendingDataLabelingJobs }}', +'{{ specialistManagerEmails }}', +'{{ specialistManagersCount }}', +'{{ specialistWorkerEmails }}', +'{{ displayName }}', +'{{ name }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: pendingDataLabelingJobs + value: '{{ pendingDataLabelingJobs }}' + - name: specialistManagerEmails + value: '{{ specialistManagerEmails }}' + - name: specialistManagersCount + value: '{{ specialistManagersCount }}' + - name: specialistWorkerEmails + value: '{{ specialistWorkerEmails }}' + - name: displayName + value: '{{ displayName }}' + - name: name + value: '{{ name }}' + +``` + + + +## `UPDATE` example + +Updates a specialist_pool only if the necessary resources are available. + +```sql +UPDATE google.aiplatform.specialist_pools +SET +pendingDataLabelingJobs = '{{ pendingDataLabelingJobs }}', +specialistManagerEmails = '{{ specialistManagerEmails }}', +specialistManagersCount = '{{ specialistManagersCount }}', +specialistWorkerEmails = '{{ specialistWorkerEmails }}', +displayName = '{{ displayName }}', +name = '{{ name }}' +WHERE +locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND specialistPoolsId = '{{ specialistPoolsId }}'; +``` + +## `DELETE` example + +Deletes the specified specialist_pool resource. + +```sql +DELETE FROM google.aiplatform.specialist_pools +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND specialistPoolsId = '{{ specialistPoolsId }}'; +``` diff --git a/docs/google-docs/providers/google/aiplatform/studies/index.md b/docs/google-docs/providers/google/aiplatform/studies/index.md index c82660893a..83baf4a5ae 100644 --- a/docs/google-docs/providers/google/aiplatform/studies/index.md +++ b/docs/google-docs/providers/google/aiplatform/studies/index.md @@ -1,3 +1,4 @@ + --- title: studies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - studies - aiplatform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an study resource or lists studies in a region ## Overview
@@ -30,12 +32,13 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. The name of a study. The study's globally unique identifier. Format: `projects/{project}/locations/{location}/studies/{study}` | +| | `string` | Output only. The name of a study. The study's globally unique identifier. Format: `projects/{project}/locations/{location}/studies/{study}` | | | `string` | Output only. Time at which the study was created. | | | `string` | Required. Describes the Study, default value is empty string. | | | `string` | Output only. A human readable reason why the Study is inactive. This should be empty if a study is ACTIVE or COMPLETED. | | | `string` | Output only. The detailed state of a Study. | | | `object` | Represents specification of a Study. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -43,5 +46,92 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists all the studies in a region for an associated project. | | | `INSERT` | | Creates a Study. A resource name will be generated after creation of the Study. | | | `DELETE` | | Deletes a Study. | -| | `EXEC` | | Lists all the studies in a region for an associated project. | | | `EXEC` | | Looks a study up using the user-defined display_name field instead of the fully qualified resource name. | + +## `SELECT` examples + +Lists all the studies in a region for an associated project. + +```sql +SELECT +name, +createTime, +displayName, +inactiveReason, +state, +studySpec +FROM google.aiplatform.studies +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new studies resource. + + + + +```sql +/*+ create */ +INSERT INTO google.aiplatform.studies ( +locationsId, +projectsId, +name, +displayName, +createTime, +studySpec, +state, +inactiveReason +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ displayName }}', +'{{ createTime }}', +'{{ studySpec }}', +'{{ state }}', +'{{ inactiveReason }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: createTime + value: '{{ createTime }}' + - name: studySpec + value: '{{ studySpec }}' + - name: state + value: '{{ state }}' + - name: inactiveReason + value: '{{ inactiveReason }}' + +``` + + + +## `DELETE` example + +Deletes the specified study resource. + +```sql +DELETE FROM google.aiplatform.studies +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND studiesId = '{{ studiesId }}'; +``` diff --git a/docs/google-docs/providers/google/aiplatform/tensorboards/index.md b/docs/google-docs/providers/google/aiplatform/tensorboards/index.md index fd425eff2c..9a01d3a73d 100644 --- a/docs/google-docs/providers/google/aiplatform/tensorboards/index.md +++ b/docs/google-docs/providers/google/aiplatform/tensorboards/index.md @@ -1,3 +1,4 @@ + --- title: tensorboards hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - tensorboards - aiplatform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an tensorboard resource or lists tensorboards in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. Name of the Tensorboard. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}` | +| | `string` | Output only. Name of the Tensorboard. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}` | | | `string` | Description of this Tensorboard. | | | `string` | Output only. Consumer project Cloud Storage path prefix used to store blob data, which can either be a bucket or directory. Does not end with a '/'. | | | `string` | Output only. Timestamp when this Tensorboard was created. | @@ -40,7 +42,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `boolean` | Used to indicate if the TensorBoard instance is the default one. Each project & region can have at most one default TensorBoard instance. Creation of a default TensorBoard instance and updating an existing TensorBoard instance to be default will mark all other TensorBoard instances (if any) as non default. | | | `object` | The labels with user-defined metadata to organize your Tensorboards. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Tensorboard (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with "aiplatform.googleapis.com/" and are immutable. | | | `integer` | Output only. The number of Runs stored in this Tensorboard. | +| | `boolean` | Output only. Reserved for future use. | +| | `boolean` | Output only. Reserved for future use. | | | `string` | Output only. Timestamp when this Tensorboard was last updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -49,7 +54,155 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a Tensorboard. | | | `DELETE` | | Deletes a Tensorboard. | | | `UPDATE` | | Updates a Tensorboard. | -| | `EXEC` | | Lists Tensorboards in a Location. | | | `EXEC` | | Reads multiple TensorboardTimeSeries' data. The data point number limit is 1000 for scalars, 100 for tensors and blob references. If the number of data points stored is less than the limit, all data is returned. Otherwise, the number limit of data points is randomly selected from this time series and returned. | | | `EXEC` | | Returns the storage size for a given TensorBoard instance. | | | `EXEC` | | Returns a list of monthly active users for a given TensorBoard instance. | + +## `SELECT` examples + +Lists Tensorboards in a Location. + +```sql +SELECT +name, +description, +blobStoragePathPrefix, +createTime, +displayName, +encryptionSpec, +etag, +isDefault, +labels, +runCount, +satisfiesPzi, +satisfiesPzs, +updateTime +FROM google.aiplatform.tensorboards +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new tensorboards resource. + + + + +```sql +/*+ create */ +INSERT INTO google.aiplatform.tensorboards ( +locationsId, +projectsId, +runCount, +satisfiesPzi, +createTime, +description, +isDefault, +name, +displayName, +encryptionSpec, +blobStoragePathPrefix, +etag, +updateTime, +satisfiesPzs, +labels +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ runCount }}', +true|false, +'{{ createTime }}', +'{{ description }}', +true|false, +'{{ name }}', +'{{ displayName }}', +'{{ encryptionSpec }}', +'{{ blobStoragePathPrefix }}', +'{{ etag }}', +'{{ updateTime }}', +true|false, +'{{ labels }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: runCount + value: '{{ runCount }}' + - name: satisfiesPzi + value: '{{ satisfiesPzi }}' + - name: createTime + value: '{{ createTime }}' + - name: description + value: '{{ description }}' + - name: isDefault + value: '{{ isDefault }}' + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: encryptionSpec + value: '{{ encryptionSpec }}' + - name: blobStoragePathPrefix + value: '{{ blobStoragePathPrefix }}' + - name: etag + value: '{{ etag }}' + - name: updateTime + value: '{{ updateTime }}' + - name: satisfiesPzs + value: '{{ satisfiesPzs }}' + - name: labels + value: '{{ labels }}' + +``` + + + +## `UPDATE` example + +Updates a tensorboard only if the necessary resources are available. + +```sql +UPDATE google.aiplatform.tensorboards +SET +runCount = '{{ runCount }}', +satisfiesPzi = true|false, +createTime = '{{ createTime }}', +description = '{{ description }}', +isDefault = true|false, +name = '{{ name }}', +displayName = '{{ displayName }}', +encryptionSpec = '{{ encryptionSpec }}', +blobStoragePathPrefix = '{{ blobStoragePathPrefix }}', +etag = '{{ etag }}', +updateTime = '{{ updateTime }}', +satisfiesPzs = true|false, +labels = '{{ labels }}' +WHERE +locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND tensorboardsId = '{{ tensorboardsId }}'; +``` + +## `DELETE` example + +Deletes the specified tensorboard resource. + +```sql +DELETE FROM google.aiplatform.tensorboards +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND tensorboardsId = '{{ tensorboardsId }}'; +``` diff --git a/docs/google-docs/providers/google/aiplatform/time_series/index.md b/docs/google-docs/providers/google/aiplatform/time_series/index.md index b6eb550500..91e513411d 100644 --- a/docs/google-docs/providers/google/aiplatform/time_series/index.md +++ b/docs/google-docs/providers/google/aiplatform/time_series/index.md @@ -1,3 +1,4 @@ + --- title: time_series hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - time_series - aiplatform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an time_sery resource or lists time_series in a region ## Overview
@@ -40,6 +42,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Immutable. Name of the plugin this time series pertain to. Such as Scalar, Tensor, Blob | | | `string` | Output only. Timestamp when this TensorboardTimeSeries was last updated. | | | `string` | Required. Immutable. Type of TensorboardTimeSeries value. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -48,7 +51,152 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a TensorboardTimeSeries. | | | `DELETE` | | Deletes a TensorboardTimeSeries. | | | `UPDATE` | | Updates a TensorboardTimeSeries. | -| | `EXEC` | | Lists TensorboardTimeSeries in a Location. | | | `EXEC` | | Exports a TensorboardTimeSeries' data. Data is returned in paginated responses. | | | `EXEC` | | Reads a TensorboardTimeSeries' data. By default, if the number of data points stored is less than 1000, all data is returned. Otherwise, 1000 data points is randomly selected from this time series and returned. This value can be changed by changing max_data_points, which can't be greater than 10k. | | | `EXEC` | | Gets bytes of TensorboardBlobs. This is to allow reading blob data stored in consumer project's Cloud Storage bucket without users having to obtain Cloud Storage access permission. | + +## `SELECT` examples + +Lists TensorboardTimeSeries in a Location. + +```sql +SELECT +name, +description, +createTime, +displayName, +etag, +metadata, +pluginData, +pluginName, +updateTime, +valueType +FROM google.aiplatform.time_series +WHERE experimentsId = '{{ experimentsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND runsId = '{{ runsId }}' +AND tensorboardsId = '{{ tensorboardsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new time_series resource. + + + + +```sql +/*+ create */ +INSERT INTO google.aiplatform.time_series ( +experimentsId, +locationsId, +projectsId, +runsId, +tensorboardsId, +description, +createTime, +pluginName, +pluginData, +metadata, +updateTime, +name, +valueType, +etag, +displayName +) +SELECT +'{{ experimentsId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ runsId }}', +'{{ tensorboardsId }}', +'{{ description }}', +'{{ createTime }}', +'{{ pluginName }}', +'{{ pluginData }}', +'{{ metadata }}', +'{{ updateTime }}', +'{{ name }}', +'{{ valueType }}', +'{{ etag }}', +'{{ displayName }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: description + value: '{{ description }}' + - name: createTime + value: '{{ createTime }}' + - name: pluginName + value: '{{ pluginName }}' + - name: pluginData + value: '{{ pluginData }}' + - name: metadata + value: '{{ metadata }}' + - name: updateTime + value: '{{ updateTime }}' + - name: name + value: '{{ name }}' + - name: valueType + value: '{{ valueType }}' + - name: etag + value: '{{ etag }}' + - name: displayName + value: '{{ displayName }}' + +``` + + + +## `UPDATE` example + +Updates a time_sery only if the necessary resources are available. + +```sql +UPDATE google.aiplatform.time_series +SET +description = '{{ description }}', +createTime = '{{ createTime }}', +pluginName = '{{ pluginName }}', +pluginData = '{{ pluginData }}', +metadata = '{{ metadata }}', +updateTime = '{{ updateTime }}', +name = '{{ name }}', +valueType = '{{ valueType }}', +etag = '{{ etag }}', +displayName = '{{ displayName }}' +WHERE +experimentsId = '{{ experimentsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND runsId = '{{ runsId }}' +AND tensorboardsId = '{{ tensorboardsId }}' +AND timeSeriesId = '{{ timeSeriesId }}'; +``` + +## `DELETE` example + +Deletes the specified time_sery resource. + +```sql +DELETE FROM google.aiplatform.time_series +WHERE experimentsId = '{{ experimentsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND runsId = '{{ runsId }}' +AND tensorboardsId = '{{ tensorboardsId }}' +AND timeSeriesId = '{{ timeSeriesId }}'; +``` diff --git a/docs/google-docs/providers/google/aiplatform/training_pipelines/index.md b/docs/google-docs/providers/google/aiplatform/training_pipelines/index.md index 50c7e421d1..8f38c76dde 100644 --- a/docs/google-docs/providers/google/aiplatform/training_pipelines/index.md +++ b/docs/google-docs/providers/google/aiplatform/training_pipelines/index.md @@ -1,3 +1,4 @@ + --- title: training_pipelines hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - training_pipelines - aiplatform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an training_pipeline resource or lists training_pipelines in a region ## Overview
@@ -47,6 +49,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `any` | Required. The training task's parameter(s), as specified in the training_task_definition's `inputs`. | | | `any` | Output only. The metadata information as specified in the training_task_definition's `metadata`. This metadata is an auxiliary runtime and final information about the training task. While the pipeline is running this information is populated only at a best effort basis. Only present if the pipeline's training_task_definition contains `metadata` object. | | | `string` | Output only. Time when the TrainingPipeline was most recently updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -54,5 +57,147 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists TrainingPipelines in a Location. | | | `INSERT` | | Creates a TrainingPipeline. A created TrainingPipeline right away will be attempted to be run. | | | `DELETE` | | Deletes a TrainingPipeline. | -| | `EXEC` | | Lists TrainingPipelines in a Location. | | | `EXEC` | | Cancels a TrainingPipeline. Starts asynchronous cancellation on the TrainingPipeline. The server makes a best effort to cancel the pipeline, but success is not guaranteed. Clients can use PipelineService.GetTrainingPipeline or other methods to check whether the cancellation succeeded or whether the pipeline completed despite cancellation. On successful cancellation, the TrainingPipeline is not deleted; instead it becomes a pipeline with a TrainingPipeline.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`, and TrainingPipeline.state is set to `CANCELLED`. | + +## `SELECT` examples + +Lists TrainingPipelines in a Location. + +```sql +SELECT +name, +createTime, +displayName, +encryptionSpec, +endTime, +error, +inputDataConfig, +labels, +modelId, +modelToUpload, +parentModel, +startTime, +state, +trainingTaskDefinition, +trainingTaskInputs, +trainingTaskMetadata, +updateTime +FROM google.aiplatform.training_pipelines +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new training_pipelines resource. + + + + +```sql +/*+ create */ +INSERT INTO google.aiplatform.training_pipelines ( +locationsId, +projectsId, +createTime, +startTime, +trainingTaskDefinition, +inputDataConfig, +trainingTaskMetadata, +parentModel, +endTime, +modelToUpload, +updateTime, +labels, +modelId, +state, +encryptionSpec, +trainingTaskInputs, +displayName, +name, +error +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ createTime }}', +'{{ startTime }}', +'{{ trainingTaskDefinition }}', +'{{ inputDataConfig }}', +'{{ trainingTaskMetadata }}', +'{{ parentModel }}', +'{{ endTime }}', +'{{ modelToUpload }}', +'{{ updateTime }}', +'{{ labels }}', +'{{ modelId }}', +'{{ state }}', +'{{ encryptionSpec }}', +'{{ trainingTaskInputs }}', +'{{ displayName }}', +'{{ name }}', +'{{ error }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: createTime + value: '{{ createTime }}' + - name: startTime + value: '{{ startTime }}' + - name: trainingTaskDefinition + value: '{{ trainingTaskDefinition }}' + - name: inputDataConfig + value: '{{ inputDataConfig }}' + - name: trainingTaskMetadata + value: '{{ trainingTaskMetadata }}' + - name: parentModel + value: '{{ parentModel }}' + - name: endTime + value: '{{ endTime }}' + - name: modelToUpload + value: '{{ modelToUpload }}' + - name: updateTime + value: '{{ updateTime }}' + - name: labels + value: '{{ labels }}' + - name: modelId + value: '{{ modelId }}' + - name: state + value: '{{ state }}' + - name: encryptionSpec + value: '{{ encryptionSpec }}' + - name: trainingTaskInputs + value: '{{ trainingTaskInputs }}' + - name: displayName + value: '{{ displayName }}' + - name: name + value: '{{ name }}' + - name: error + value: '{{ error }}' + +``` + + + +## `DELETE` example + +Deletes the specified training_pipeline resource. + +```sql +DELETE FROM google.aiplatform.training_pipelines +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND trainingPipelinesId = '{{ trainingPipelinesId }}'; +``` diff --git a/docs/google-docs/providers/google/aiplatform/trials/index.md b/docs/google-docs/providers/google/aiplatform/trials/index.md index 42422dd885..bb8fe6bed6 100644 --- a/docs/google-docs/providers/google/aiplatform/trials/index.md +++ b/docs/google-docs/providers/google/aiplatform/trials/index.md @@ -1,3 +1,4 @@ + --- title: trials hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - trials - aiplatform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an trial resource or lists trials in a region ## Overview
@@ -42,6 +44,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Time when the Trial was started. | | | `string` | Output only. The detailed state of the Trial. | | | `object` | Output only. URIs for accessing [interactive shells](https://cloud.google.com/vertex-ai/docs/training/monitor-debug-interactive-shell) (one URI for each training node). Only available if this trial is part of a HyperparameterTuningJob and the job's trial_job_spec.enable_web_access field is `true`. The keys are names of each node used for the trial; for example, `workerpool0-0` for the primary node, `workerpool1-0` for the first node in the second worker pool, and `workerpool1-1` for the second node in the second worker pool. The values are the URIs for each node's interactive shell. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -49,8 +52,129 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists the Trials associated with a Study. | | | `INSERT` | | Adds a user provided Trial to a Study. | | | `DELETE` | | Deletes a Trial. | -| | `EXEC` | | Lists the Trials associated with a Study. | | | `EXEC` | | Checks whether a Trial should stop or not. Returns a long-running operation. When the operation is successful, it will contain a CheckTrialEarlyStoppingStateResponse. | | | `EXEC` | | Marks a Trial as complete. | | | `EXEC` | | Stops a Trial. | | | `EXEC` | | Adds one or more Trials to a Study, with parameter values suggested by Vertex AI Vizier. Returns a long-running operation associated with the generation of Trial suggestions. When this long-running operation succeeds, it will contain a SuggestTrialsResponse. | + +## `SELECT` examples + +Lists the Trials associated with a Study. + +```sql +SELECT +id, +name, +clientId, +customJob, +endTime, +finalMeasurement, +infeasibleReason, +measurements, +parameters, +startTime, +state, +webAccessUris +FROM google.aiplatform.trials +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND studiesId = '{{ studiesId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new trials resource. + + + + +```sql +/*+ create */ +INSERT INTO google.aiplatform.trials ( +locationsId, +projectsId, +studiesId, +state, +startTime, +finalMeasurement, +clientId, +id, +measurements, +webAccessUris, +parameters, +endTime, +infeasibleReason, +name, +customJob +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ studiesId }}', +'{{ state }}', +'{{ startTime }}', +'{{ finalMeasurement }}', +'{{ clientId }}', +'{{ id }}', +'{{ measurements }}', +'{{ webAccessUris }}', +'{{ parameters }}', +'{{ endTime }}', +'{{ infeasibleReason }}', +'{{ name }}', +'{{ customJob }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: state + value: '{{ state }}' + - name: startTime + value: '{{ startTime }}' + - name: finalMeasurement + value: '{{ finalMeasurement }}' + - name: clientId + value: '{{ clientId }}' + - name: id + value: '{{ id }}' + - name: measurements + value: '{{ measurements }}' + - name: webAccessUris + value: '{{ webAccessUris }}' + - name: parameters + value: '{{ parameters }}' + - name: endTime + value: '{{ endTime }}' + - name: infeasibleReason + value: '{{ infeasibleReason }}' + - name: name + value: '{{ name }}' + - name: customJob + value: '{{ customJob }}' + +``` + + + +## `DELETE` example + +Deletes the specified trial resource. + +```sql +DELETE FROM google.aiplatform.trials +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND studiesId = '{{ studiesId }}' +AND trialsId = '{{ trialsId }}'; +``` diff --git a/docs/google-docs/providers/google/aiplatform/trials_optimal_trials/index.md b/docs/google-docs/providers/google/aiplatform/trials_optimal_trials/index.md index cca19fbf3b..91837da3de 100644 --- a/docs/google-docs/providers/google/aiplatform/trials_optimal_trials/index.md +++ b/docs/google-docs/providers/google/aiplatform/trials_optimal_trials/index.md @@ -1,3 +1,4 @@ + --- title: trials_optimal_trials hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - trials_optimal_trials - aiplatform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an trials_optimal_trial resource or lists trials_optimal_trials in a region ## Overview
@@ -28,8 +30,24 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `array` | The pareto-optimal Trials for multiple objective Study or the optimal trial for single objective Study. The definition of pareto-optimal can be checked in wiki page. https://en.wikipedia.org/wiki/Pareto_efficiency | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists the pareto-optimal Trials for multi-objective Study or the optimal Trials for single-objective Study. The definition of pareto-optimal can be checked in wiki page. https://en.wikipedia.org/wiki/Pareto_efficiency | + +## `SELECT` examples + +Lists the pareto-optimal Trials for multi-objective Study or the optimal Trials for single-objective Study. The definition of pareto-optimal can be checked in wiki page. https://en.wikipedia.org/wiki/Pareto_efficiency + +```sql +SELECT +optimalTrials +FROM google.aiplatform.trials_optimal_trials +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND studiesId = '{{ studiesId }}'; +``` diff --git a/docs/google-docs/providers/google/aiplatform/trials_trial_measurement/index.md b/docs/google-docs/providers/google/aiplatform/trials_trial_measurement/index.md index e1eaba49f6..688c504a3a 100644 --- a/docs/google-docs/providers/google/aiplatform/trials_trial_measurement/index.md +++ b/docs/google-docs/providers/google/aiplatform/trials_trial_measurement/index.md @@ -1,3 +1,4 @@ + --- title: trials_trial_measurement hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - trials_trial_measurement - aiplatform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an trials_trial_measurement resource or lists trials_trial_measurement in a region ## Overview @@ -28,8 +30,54 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `INSERT` | | Adds a measurement of the objective metrics to a Trial. This measurement is assumed to have been taken before the Trial is complete. | + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new trials_trial_measurement resource. + + + + +```sql +/*+ create */ +INSERT INTO google.aiplatform.trials_trial_measurement ( +locationsId, +projectsId, +studiesId, +trialsId, +measurement +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ studiesId }}', +'{{ trialsId }}', +'{{ measurement }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: measurement + value: '{{ measurement }}' + +``` + + diff --git a/docs/google-docs/providers/google/aiplatform/tuning_jobs/index.md b/docs/google-docs/providers/google/aiplatform/tuning_jobs/index.md index 76e71175ab..f69820f06f 100644 --- a/docs/google-docs/providers/google/aiplatform/tuning_jobs/index.md +++ b/docs/google-docs/providers/google/aiplatform/tuning_jobs/index.md @@ -1,3 +1,4 @@ + --- title: tuning_jobs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - tuning_jobs - aiplatform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an tuning_job resource or lists tuning_jobs in a region ## Overview @@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. Identifier. Resource name of a TuningJob. Format: `projects/{project}/locations/{location}/tuningJobs/{tuning_job}` | +| | `string` | Output only. Identifier. Resource name of a TuningJob. Format: `projects/{project}/locations/{location}/tuningJobs/{tuning_job}` | | | `string` | Optional. The description of the TuningJob. | | | `string` | The base model that is being tuned, e.g., "gemini-1.0-pro-002". | | | `string` | Output only. Time when the TuningJob was created. | @@ -46,11 +48,138 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Optional. The display name of the TunedModel. The name can be up to 128 characters long and can consist of any UTF-8 characters. | | | `object` | The tuning data statistic values for TuningJob. | | | `string` | Output only. Time when the TuningJob was most recently updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets a TuningJob. | | | `SELECT` | | Lists TuningJobs in a Location. | | | `INSERT` | | Creates a TuningJob. A created TuningJob right away will be attempted to be run. | -| | `EXEC` | | Lists TuningJobs in a Location. | | | `EXEC` | | Cancels a TuningJob. Starts asynchronous cancellation on the TuningJob. The server makes a best effort to cancel the job, but success is not guaranteed. Clients can use GenAiTuningService.GetTuningJob or other methods to check whether the cancellation succeeded or whether the job completed despite cancellation. On successful cancellation, the TuningJob is not deleted; instead it becomes a job with a TuningJob.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`, and TuningJob.state is set to `CANCELLED`. | + +## `SELECT` examples + +Lists TuningJobs in a Location. + +```sql +SELECT +name, +description, +baseModel, +createTime, +encryptionSpec, +endTime, +error, +experiment, +labels, +startTime, +state, +supervisedTuningSpec, +tunedModel, +tunedModelDisplayName, +tuningDataStats, +updateTime +FROM google.aiplatform.tuning_jobs +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new tuning_jobs resource. + + + + +```sql +/*+ create */ +INSERT INTO google.aiplatform.tuning_jobs ( +locationsId, +projectsId, +supervisedTuningSpec, +tuningDataStats, +name, +state, +updateTime, +tunedModel, +encryptionSpec, +tunedModelDisplayName, +endTime, +experiment, +error, +description, +startTime, +createTime, +baseModel, +labels +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ supervisedTuningSpec }}', +'{{ tuningDataStats }}', +'{{ name }}', +'{{ state }}', +'{{ updateTime }}', +'{{ tunedModel }}', +'{{ encryptionSpec }}', +'{{ tunedModelDisplayName }}', +'{{ endTime }}', +'{{ experiment }}', +'{{ error }}', +'{{ description }}', +'{{ startTime }}', +'{{ createTime }}', +'{{ baseModel }}', +'{{ labels }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: supervisedTuningSpec + value: '{{ supervisedTuningSpec }}' + - name: tuningDataStats + value: '{{ tuningDataStats }}' + - name: name + value: '{{ name }}' + - name: state + value: '{{ state }}' + - name: updateTime + value: '{{ updateTime }}' + - name: tunedModel + value: '{{ tunedModel }}' + - name: encryptionSpec + value: '{{ encryptionSpec }}' + - name: tunedModelDisplayName + value: '{{ tunedModelDisplayName }}' + - name: endTime + value: '{{ endTime }}' + - name: experiment + value: '{{ experiment }}' + - name: error + value: '{{ error }}' + - name: description + value: '{{ description }}' + - name: startTime + value: '{{ startTime }}' + - name: createTime + value: '{{ createTime }}' + - name: baseModel + value: '{{ baseModel }}' + - name: labels + value: '{{ labels }}' + +``` + + diff --git a/docs/google-docs/providers/google/airquality/current_conditions/index.md b/docs/google-docs/providers/google/airquality/current_conditions/index.md new file mode 100644 index 0000000000..7e31900ced --- /dev/null +++ b/docs/google-docs/providers/google/airquality/current_conditions/index.md @@ -0,0 +1,39 @@ + +--- +title: current_conditions +hide_title: false +hide_table_of_contents: false +keywords: + - current_conditions + - airquality + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an current_condition resource or lists current_conditions in a region + +## Overview +
+ + + +
Namecurrent_conditions
TypeResource
Id
+ +## Fields +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | The Current Conditions endpoint provides hourly air quality information in more than 100 countries, up to a 500 x 500 meters resolution. Includes over 70 local indexes and global air quality index and categories. | diff --git a/docs/google-docs/providers/google/airquality/forecast/index.md b/docs/google-docs/providers/google/airquality/forecast/index.md new file mode 100644 index 0000000000..126c85a2de --- /dev/null +++ b/docs/google-docs/providers/google/airquality/forecast/index.md @@ -0,0 +1,39 @@ + +--- +title: forecast +hide_title: false +hide_table_of_contents: false +keywords: + - forecast + - airquality + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an forecast resource or lists forecast in a region + +## Overview + + + + +
Nameforecast
TypeResource
Id
+ +## Fields +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Returns air quality forecast for a specific location for a given time range. | diff --git a/docs/google-docs/providers/google/airquality/heatmap_tiles/index.md b/docs/google-docs/providers/google/airquality/heatmap_tiles/index.md new file mode 100644 index 0000000000..c2b877325b --- /dev/null +++ b/docs/google-docs/providers/google/airquality/heatmap_tiles/index.md @@ -0,0 +1,39 @@ + +--- +title: heatmap_tiles +hide_title: false +hide_table_of_contents: false +keywords: + - heatmap_tiles + - airquality + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an heatmap_tile resource or lists heatmap_tiles in a region + +## Overview + + + + +
Nameheatmap_tiles
TypeResource
Id
+ +## Fields +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Returns a bytes array containing the data of the tile PNG image. | diff --git a/docs/google-docs/providers/google/airquality/history/index.md b/docs/google-docs/providers/google/airquality/history/index.md new file mode 100644 index 0000000000..de0be5b387 --- /dev/null +++ b/docs/google-docs/providers/google/airquality/history/index.md @@ -0,0 +1,39 @@ + +--- +title: history +hide_title: false +hide_table_of_contents: false +keywords: + - history + - airquality + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an history resource or lists history in a region + +## Overview + + + + +
Namehistory
TypeResource
Id
+ +## Fields +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Returns air quality history for a specific location for a given time range. | diff --git a/docs/google-docs/providers/google/airquality/index.md b/docs/google-docs/providers/google/airquality/index.md new file mode 100644 index 0000000000..7e002be877 --- /dev/null +++ b/docs/google-docs/providers/google/airquality/index.md @@ -0,0 +1,39 @@ +--- +title: airquality +hide_title: false +hide_table_of_contents: false +keywords: + - airquality + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage google resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +The airquality service documentation. + +:::info Service Summary + +
+
+total resources: 4
+
+
+ +::: + +## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/alloydb/backups/index.md b/docs/google-docs/providers/google/alloydb/backups/index.md index 979caf3163..542ab9c68e 100644 --- a/docs/google-docs/providers/google/alloydb/backups/index.md +++ b/docs/google-docs/providers/google/alloydb/backups/index.md @@ -1,3 +1,4 @@ + --- title: backups hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - backups - alloydb - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an backup resource or lists backups in a region ## Overview @@ -30,10 +32,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. The name of the backup resource with the format: * projects/{project}/locations/{region}/backups/{backup_id} where the cluster and backup ID segments should satisfy the regex expression `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`, e.g. 1-63 characters of lowercase letters, numbers, and dashes, starting with a letter, and ending with a letter or number. For more details see https://google.aip.dev/122. The prefix of the backup resource name is the name of the parent resource: * projects/{project}/locations/{region} | +| | `string` | Output only. The name of the backup resource with the format: * projects/{project}/locations/{region}/backups/{backup_id} where the cluster and backup ID segments should satisfy the regex expression `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`, e.g. 1-63 characters of lowercase letters, numbers, and dashes, starting with a letter, and ending with a letter or number. For more details see https://google.aip.dev/122. The prefix of the backup resource name is the name of the parent resource: * projects/{project}/locations/{region} | | | `string` | User-provided description of the backup. | | | `object` | Annotations to allow client tools to store small amount of arbitrary data. This is distinct from labels. https://google.aip.dev/128 | -| | `string` | Required. The full resource name of the backup source cluster (e.g., projects/{project}/locations/{region}/clusters/{cluster_id}). | +| | `string` | Required. The full resource name of the backup source cluster (e.g., projects/{project}/locations/{region}/clusters/{cluster_id}). | | | `string` | Output only. The system-generated UID of the cluster which was used to create this resource. | | | `string` | Output only. Create time stamp | | | `string` | Output only. The database engine major version of the cluster this backup was created from. Any restored cluster created from this backup will have the same database version. | @@ -52,6 +54,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The backup type, which suggests the trigger for the backup. | | | `string` | Output only. The system-generated UID of the resource. The UID is assigned when the resource is created, and it is retained until it is deleted. | | | `string` | Output only. Update time stamp | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -60,4 +63,206 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new Backup in a given project and location. | | | `DELETE` | | Deletes a single Backup. | | | `UPDATE` | | Updates the parameters of a single Backup. | -| | `EXEC` | | Lists Backups in a given project and location. | + +## `SELECT` examples + +Lists Backups in a given project and location. + +```sql +SELECT +name, +description, +annotations, +clusterName, +clusterUid, +createTime, +databaseVersion, +deleteTime, +displayName, +encryptionConfig, +encryptionInfo, +etag, +expiryQuantity, +expiryTime, +labels, +reconciling, +satisfiesPzs, +sizeBytes, +state, +type, +uid, +updateTime +FROM google.alloydb.backups +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new backups resource. + + + + +```sql +/*+ create */ +INSERT INTO google.alloydb.backups ( +locationsId, +projectsId, +name, +displayName, +uid, +createTime, +updateTime, +deleteTime, +labels, +state, +type, +description, +clusterUid, +clusterName, +reconciling, +encryptionConfig, +encryptionInfo, +etag, +annotations, +sizeBytes, +expiryTime, +expiryQuantity, +satisfiesPzs, +databaseVersion +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ displayName }}', +'{{ uid }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ deleteTime }}', +'{{ labels }}', +'{{ state }}', +'{{ type }}', +'{{ description }}', +'{{ clusterUid }}', +'{{ clusterName }}', +true|false, +'{{ encryptionConfig }}', +'{{ encryptionInfo }}', +'{{ etag }}', +'{{ annotations }}', +'{{ sizeBytes }}', +'{{ expiryTime }}', +'{{ expiryQuantity }}', +true|false, +'{{ databaseVersion }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: uid + value: '{{ uid }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: deleteTime + value: '{{ deleteTime }}' + - name: labels + value: '{{ labels }}' + - name: state + value: '{{ state }}' + - name: type + value: '{{ type }}' + - name: description + value: '{{ description }}' + - name: clusterUid + value: '{{ clusterUid }}' + - name: clusterName + value: '{{ clusterName }}' + - name: reconciling + value: '{{ reconciling }}' + - name: encryptionConfig + value: '{{ encryptionConfig }}' + - name: encryptionInfo + value: '{{ encryptionInfo }}' + - name: etag + value: '{{ etag }}' + - name: annotations + value: '{{ annotations }}' + - name: sizeBytes + value: '{{ sizeBytes }}' + - name: expiryTime + value: '{{ expiryTime }}' + - name: expiryQuantity + value: '{{ expiryQuantity }}' + - name: satisfiesPzs + value: '{{ satisfiesPzs }}' + - name: databaseVersion + value: '{{ databaseVersion }}' + +``` + + + +## `UPDATE` example + +Updates a backup only if the necessary resources are available. + +```sql +UPDATE google.alloydb.backups +SET +name = '{{ name }}', +displayName = '{{ displayName }}', +uid = '{{ uid }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +deleteTime = '{{ deleteTime }}', +labels = '{{ labels }}', +state = '{{ state }}', +type = '{{ type }}', +description = '{{ description }}', +clusterUid = '{{ clusterUid }}', +clusterName = '{{ clusterName }}', +reconciling = true|false, +encryptionConfig = '{{ encryptionConfig }}', +encryptionInfo = '{{ encryptionInfo }}', +etag = '{{ etag }}', +annotations = '{{ annotations }}', +sizeBytes = '{{ sizeBytes }}', +expiryTime = '{{ expiryTime }}', +expiryQuantity = '{{ expiryQuantity }}', +satisfiesPzs = true|false, +databaseVersion = '{{ databaseVersion }}' +WHERE +backupsId = '{{ backupsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified backup resource. + +```sql +DELETE FROM google.alloydb.backups +WHERE backupsId = '{{ backupsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/alloydb/clusters/index.md b/docs/google-docs/providers/google/alloydb/clusters/index.md index 5191012939..99965f9c60 100644 --- a/docs/google-docs/providers/google/alloydb/clusters/index.md +++ b/docs/google-docs/providers/google/alloydb/clusters/index.md @@ -1,3 +1,4 @@ + --- title: clusters hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - clusters - alloydb - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an cluster resource or lists clusters in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. The name of the cluster resource with the format: * projects/{project}/locations/{region}/clusters/{cluster_id} where the cluster ID segment should satisfy the regex expression `[a-z0-9-]+`. For more details see https://google.aip.dev/122. The prefix of the cluster resource name is the name of the parent resource: * projects/{project}/locations/{region} | +| | `string` | Output only. The name of the cluster resource with the format: * projects/{project}/locations/{region}/clusters/{cluster_id} where the cluster ID segment should satisfy the regex expression `[a-z0-9-]+`. For more details see https://google.aip.dev/122. The prefix of the cluster resource name is the name of the parent resource: * projects/{project}/locations/{region} | | | `object` | Annotations to allow client tools to store small amount of arbitrary data. This is distinct from labels. https://google.aip.dev/128 | | | `object` | Message describing the user-specified automated backup policy. All fields in the automated backup policy are optional. Defaults for each field are provided if they are not set. | | | `object` | Message describing a BackupSource. | @@ -49,7 +51,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | MaintenanceSchedule stores the maintenance schedule generated from the MaintenanceUpdatePolicy, once a maintenance rollout is triggered, if MaintenanceWindow is set, and if there is no conflicting DenyPeriod. The schedule is cleared once the update takes place. This field cannot be manually changed; modify the MaintenanceUpdatePolicy instead. | | | `object` | MaintenanceUpdatePolicy defines the policy for system updates. | | | `object` | Subset of the source instance configuration that is available when reading the cluster resource. | -| | `string` | Required. The resource link for the VPC network in which cluster resources are created and from which they are accessible via Private IP. The network must belong to the same project as the cluster. It is specified in the form: `projects/{project}/global/networks/{network_id}`. This is required to create a cluster. Deprecated, use network_config.network instead. | +| | `string` | Required. The resource link for the VPC network in which cluster resources are created and from which they are accessible via Private IP. The network must belong to the same project as the cluster. It is specified in the form: `projects/{project}/global/networks/{network_id}`. This is required to create a cluster. Deprecated, use network_config.network instead. | | | `object` | Metadata related to network configuration. | | | `object` | Configuration for the primary cluster. It has the list of clusters that are replicating from this cluster. This should be set if and only if the cluster is of type PRIMARY. | | | `object` | PscConfig contains PSC related configuration at a cluster level. | @@ -58,8 +60,11 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Configuration information for the secondary cluster. This should be set if and only if the cluster is of type SECONDARY. | | | `object` | SSL configuration. | | | `string` | Output only. The current serving state of the cluster. | +| | `string` | Optional. Subscription type of the cluster. | +| | `object` | Contains information and all metadata related to TRIAL clusters. | | | `string` | Output only. The system-generated UID of the resource. The UID is assigned when the resource is created, and it is retained until it is deleted. | | | `string` | Output only. Update time stamp | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -68,6 +73,270 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new Cluster in a given project and location. | | | `DELETE` | | Deletes a single Cluster. | | | `UPDATE` | | Updates the parameters of a single Cluster. | -| | `EXEC` | | Lists Clusters in a given project and location. | | | `EXEC` | | Promotes a SECONDARY cluster. This turns down replication from the PRIMARY cluster and promotes a secondary cluster into its own standalone cluster. Imperative only. | | | `EXEC` | | Creates a new Cluster in a given project and location, with a volume restored from the provided source, either a backup ID or a point-in-time and a source cluster. | +| | `EXEC` | | Switches the role of PRIMARY and SECONDARY cluster without any data loss. This promotes the SECONDARY cluster to PRIMARY and sets up original PRIMARY cluster to replicate from this newly promoted cluster. | +| | `EXEC` | | Upgrades a single Cluster. Imperative only. | + +## `SELECT` examples + +Lists Clusters in a given project and location. + +```sql +SELECT +name, +annotations, +automatedBackupPolicy, +backupSource, +clusterType, +continuousBackupConfig, +continuousBackupInfo, +createTime, +databaseVersion, +deleteTime, +displayName, +encryptionConfig, +encryptionInfo, +etag, +initialUser, +labels, +maintenanceSchedule, +maintenanceUpdatePolicy, +migrationSource, +network, +networkConfig, +primaryConfig, +pscConfig, +reconciling, +satisfiesPzs, +secondaryConfig, +sslConfig, +state, +subscriptionType, +trialMetadata, +uid, +updateTime +FROM google.alloydb.clusters +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new clusters resource. + + + + +```sql +/*+ create */ +INSERT INTO google.alloydb.clusters ( +locationsId, +projectsId, +backupSource, +migrationSource, +name, +displayName, +uid, +createTime, +updateTime, +deleteTime, +labels, +state, +clusterType, +databaseVersion, +networkConfig, +network, +etag, +annotations, +reconciling, +initialUser, +automatedBackupPolicy, +sslConfig, +encryptionConfig, +encryptionInfo, +continuousBackupConfig, +continuousBackupInfo, +secondaryConfig, +primaryConfig, +satisfiesPzs, +pscConfig, +maintenanceUpdatePolicy, +maintenanceSchedule, +subscriptionType, +trialMetadata +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ backupSource }}', +'{{ migrationSource }}', +'{{ name }}', +'{{ displayName }}', +'{{ uid }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ deleteTime }}', +'{{ labels }}', +'{{ state }}', +'{{ clusterType }}', +'{{ databaseVersion }}', +'{{ networkConfig }}', +'{{ network }}', +'{{ etag }}', +'{{ annotations }}', +true|false, +'{{ initialUser }}', +'{{ automatedBackupPolicy }}', +'{{ sslConfig }}', +'{{ encryptionConfig }}', +'{{ encryptionInfo }}', +'{{ continuousBackupConfig }}', +'{{ continuousBackupInfo }}', +'{{ secondaryConfig }}', +'{{ primaryConfig }}', +true|false, +'{{ pscConfig }}', +'{{ maintenanceUpdatePolicy }}', +'{{ maintenanceSchedule }}', +'{{ subscriptionType }}', +'{{ trialMetadata }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: backupSource + value: '{{ backupSource }}' + - name: migrationSource + value: '{{ migrationSource }}' + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: uid + value: '{{ uid }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: deleteTime + value: '{{ deleteTime }}' + - name: labels + value: '{{ labels }}' + - name: state + value: '{{ state }}' + - name: clusterType + value: '{{ clusterType }}' + - name: databaseVersion + value: '{{ databaseVersion }}' + - name: networkConfig + value: '{{ networkConfig }}' + - name: network + value: '{{ network }}' + - name: etag + value: '{{ etag }}' + - name: annotations + value: '{{ annotations }}' + - name: reconciling + value: '{{ reconciling }}' + - name: initialUser + value: '{{ initialUser }}' + - name: automatedBackupPolicy + value: '{{ automatedBackupPolicy }}' + - name: sslConfig + value: '{{ sslConfig }}' + - name: encryptionConfig + value: '{{ encryptionConfig }}' + - name: encryptionInfo + value: '{{ encryptionInfo }}' + - name: continuousBackupConfig + value: '{{ continuousBackupConfig }}' + - name: continuousBackupInfo + value: '{{ continuousBackupInfo }}' + - name: secondaryConfig + value: '{{ secondaryConfig }}' + - name: primaryConfig + value: '{{ primaryConfig }}' + - name: satisfiesPzs + value: '{{ satisfiesPzs }}' + - name: pscConfig + value: '{{ pscConfig }}' + - name: maintenanceUpdatePolicy + value: '{{ maintenanceUpdatePolicy }}' + - name: maintenanceSchedule + value: '{{ maintenanceSchedule }}' + - name: subscriptionType + value: '{{ subscriptionType }}' + - name: trialMetadata + value: '{{ trialMetadata }}' + +``` + + + +## `UPDATE` example + +Updates a cluster only if the necessary resources are available. + +```sql +UPDATE google.alloydb.clusters +SET +backupSource = '{{ backupSource }}', +migrationSource = '{{ migrationSource }}', +name = '{{ name }}', +displayName = '{{ displayName }}', +uid = '{{ uid }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +deleteTime = '{{ deleteTime }}', +labels = '{{ labels }}', +state = '{{ state }}', +clusterType = '{{ clusterType }}', +databaseVersion = '{{ databaseVersion }}', +networkConfig = '{{ networkConfig }}', +network = '{{ network }}', +etag = '{{ etag }}', +annotations = '{{ annotations }}', +reconciling = true|false, +initialUser = '{{ initialUser }}', +automatedBackupPolicy = '{{ automatedBackupPolicy }}', +sslConfig = '{{ sslConfig }}', +encryptionConfig = '{{ encryptionConfig }}', +encryptionInfo = '{{ encryptionInfo }}', +continuousBackupConfig = '{{ continuousBackupConfig }}', +continuousBackupInfo = '{{ continuousBackupInfo }}', +secondaryConfig = '{{ secondaryConfig }}', +primaryConfig = '{{ primaryConfig }}', +satisfiesPzs = true|false, +pscConfig = '{{ pscConfig }}', +maintenanceUpdatePolicy = '{{ maintenanceUpdatePolicy }}', +maintenanceSchedule = '{{ maintenanceSchedule }}', +subscriptionType = '{{ subscriptionType }}', +trialMetadata = '{{ trialMetadata }}' +WHERE +clustersId = '{{ clustersId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified cluster resource. + +```sql +DELETE FROM google.alloydb.clusters +WHERE clustersId = '{{ clustersId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/alloydb/clusters_secondary/index.md b/docs/google-docs/providers/google/alloydb/clusters_secondary/index.md index a200c27dba..a7b233de65 100644 --- a/docs/google-docs/providers/google/alloydb/clusters_secondary/index.md +++ b/docs/google-docs/providers/google/alloydb/clusters_secondary/index.md @@ -1,3 +1,4 @@ + --- title: clusters_secondary hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - clusters_secondary - alloydb - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an clusters_secondary resource or lists clusters_secondary in a region ## Overview
@@ -28,8 +30,174 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `INSERT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `INSERT` | | Creates a cluster of type SECONDARY in the given location using the primary cluster as the source. | + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new clusters_secondary resource. + + + + +```sql +/*+ create */ +INSERT INTO google.alloydb.clusters_secondary ( +locationsId, +projectsId, +backupSource, +migrationSource, +name, +displayName, +uid, +createTime, +updateTime, +deleteTime, +labels, +state, +clusterType, +databaseVersion, +networkConfig, +network, +etag, +annotations, +reconciling, +initialUser, +automatedBackupPolicy, +sslConfig, +encryptionConfig, +encryptionInfo, +continuousBackupConfig, +continuousBackupInfo, +secondaryConfig, +primaryConfig, +satisfiesPzs, +pscConfig, +maintenanceUpdatePolicy, +maintenanceSchedule, +subscriptionType, +trialMetadata +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ backupSource }}', +'{{ migrationSource }}', +'{{ name }}', +'{{ displayName }}', +'{{ uid }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ deleteTime }}', +'{{ labels }}', +'{{ state }}', +'{{ clusterType }}', +'{{ databaseVersion }}', +'{{ networkConfig }}', +'{{ network }}', +'{{ etag }}', +'{{ annotations }}', +true|false, +'{{ initialUser }}', +'{{ automatedBackupPolicy }}', +'{{ sslConfig }}', +'{{ encryptionConfig }}', +'{{ encryptionInfo }}', +'{{ continuousBackupConfig }}', +'{{ continuousBackupInfo }}', +'{{ secondaryConfig }}', +'{{ primaryConfig }}', +true|false, +'{{ pscConfig }}', +'{{ maintenanceUpdatePolicy }}', +'{{ maintenanceSchedule }}', +'{{ subscriptionType }}', +'{{ trialMetadata }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: backupSource + value: '{{ backupSource }}' + - name: migrationSource + value: '{{ migrationSource }}' + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: uid + value: '{{ uid }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: deleteTime + value: '{{ deleteTime }}' + - name: labels + value: '{{ labels }}' + - name: state + value: '{{ state }}' + - name: clusterType + value: '{{ clusterType }}' + - name: databaseVersion + value: '{{ databaseVersion }}' + - name: networkConfig + value: '{{ networkConfig }}' + - name: network + value: '{{ network }}' + - name: etag + value: '{{ etag }}' + - name: annotations + value: '{{ annotations }}' + - name: reconciling + value: '{{ reconciling }}' + - name: initialUser + value: '{{ initialUser }}' + - name: automatedBackupPolicy + value: '{{ automatedBackupPolicy }}' + - name: sslConfig + value: '{{ sslConfig }}' + - name: encryptionConfig + value: '{{ encryptionConfig }}' + - name: encryptionInfo + value: '{{ encryptionInfo }}' + - name: continuousBackupConfig + value: '{{ continuousBackupConfig }}' + - name: continuousBackupInfo + value: '{{ continuousBackupInfo }}' + - name: secondaryConfig + value: '{{ secondaryConfig }}' + - name: primaryConfig + value: '{{ primaryConfig }}' + - name: satisfiesPzs + value: '{{ satisfiesPzs }}' + - name: pscConfig + value: '{{ pscConfig }}' + - name: maintenanceUpdatePolicy + value: '{{ maintenanceUpdatePolicy }}' + - name: maintenanceSchedule + value: '{{ maintenanceSchedule }}' + - name: subscriptionType + value: '{{ subscriptionType }}' + - name: trialMetadata + value: '{{ trialMetadata }}' + +``` + + diff --git a/docs/google-docs/providers/google/alloydb/index.md b/docs/google-docs/providers/google/alloydb/index.md index 6f0710b97c..a1d0daad2c 100644 --- a/docs/google-docs/providers/google/alloydb/index.md +++ b/docs/google-docs/providers/google/alloydb/index.md @@ -9,34 +9,23 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -AlloyDB for PostgreSQL is an open source-compatible database service that provides a powerful option for migrating, modernizing, or building commercial-grade applications. It offers full compatibility with standard PostgreSQL, and is more than 4x faster for transactional workloads and up to 100x faster for analytical queries than standard PostgreSQL in our performance tests. AlloyDB for PostgreSQL offers a 99.99 percent availability SLA inclusive of maintenance. AlloyDB is optimized for the most demanding use cases, allowing you to build new applications that require high transaction throughput, large database sizes, or multiple read resources; scale existing PostgreSQL workloads with no application changes; and modernize legacy proprietary databases. - +The alloydb service documentation. + :::info Service Summary
total resources: 10
-total selectable resources: 8
-total methods: 42
::: -## Overview - - - - - - -
Namegoogle.alloydb
TypeService
TitleAlloyDB API
DescriptionAlloyDB for PostgreSQL is an open source-compatible database service that provides a powerful option for migrating, modernizing, or building commercial-grade applications. It offers full compatibility with standard PostgreSQL, and is more than 4x faster for transactional workloads and up to 100x faster for analytical queries than standard PostgreSQL in our performance tests. AlloyDB for PostgreSQL offers a 99.99 percent availability SLA inclusive of maintenance. AlloyDB is optimized for the most demanding use cases, allowing you to build new applications that require high transaction throughput, large database sizes, or multiple read resources; scale existing PostgreSQL workloads with no application changes; and modernize legacy proprietary databases.
Idalloydb:v24.06.00236
- ## Resources
@@ -44,13 +33,13 @@ AlloyDB for PostgreSQL is an open source-compatible database service that provid clusters
clusters_secondary
instances
-instances_connection_info
+instances_connection_info
+users
+ \ No newline at end of file diff --git a/docs/google-docs/providers/google/alloydb/instances/index.md b/docs/google-docs/providers/google/alloydb/instances/index.md index f86acea534..56c3803b0d 100644 --- a/docs/google-docs/providers/google/alloydb/instances/index.md +++ b/docs/google-docs/providers/google/alloydb/instances/index.md @@ -1,3 +1,4 @@ + --- title: instances hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - instances - alloydb - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an instance resource or lists instances in a region ## Overview @@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. The name of the instance resource with the format: * projects/{project}/locations/{region}/clusters/{cluster_id}/instances/{instance_id} where the cluster and instance ID segments should satisfy the regex expression `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`, e.g. 1-63 characters of lowercase letters, numbers, and dashes, starting with a letter, and ending with a letter or number. For more details see https://google.aip.dev/122. The prefix of the instance resource name is the name of the parent resource: * projects/{project}/locations/{region}/clusters/{cluster_id} | +| | `string` | Output only. The name of the instance resource with the format: * projects/{project}/locations/{region}/clusters/{cluster_id}/instances/{instance_id} where the cluster and instance ID segments should satisfy the regex expression `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`, e.g. 1-63 characters of lowercase letters, numbers, and dashes, starting with a letter, and ending with a letter or number. For more details see https://google.aip.dev/122. The prefix of the instance resource name is the name of the parent resource: * projects/{project}/locations/{region}/clusters/{cluster_id} | | | `object` | Annotations to allow client tools to store small amount of arbitrary data. This is distinct from labels. https://google.aip.dev/128 | | | `string` | Availability type of an Instance. If empty, defaults to REGIONAL for primary instances. For read pools, availability_type is always UNSPECIFIED. Instances in the read pools are evenly distributed across available zones within the region (i.e. read pools with more than one node will have a node in at least two zones). | | | `object` | Client connection configuration | @@ -46,6 +48,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | MachineConfig describes the configuration of a machine. | | | `object` | Metadata related to instance level network configuration. | | | `array` | Output only. List of available read-only VMs in this instance, including the standby for a PRIMARY instance. | +| | `array` | Output only. All outbound public IP addresses configured for the instance. | | | `object` | PscInstanceConfig contains PSC related configuration at an instance level. | | | `string` | Output only. The public IP addresses for the Instance. This is available ONLY when enable_public_ip is set. This is the connection endpoint for an end-user application. | | | `object` | QueryInsights Instance specific configuration. | @@ -56,6 +59,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The system-generated UID of the resource. The UID is assigned when the resource is created, and it is retained until it is deleted. | | | `string` | Output only. Update time stamp | | | `object` | Details of a single node in the instance. Nodes in an AlloyDB instance are ephemereal, they can change during update, failover, autohealing and resize operations. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -64,7 +68,244 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new Instance in a given project and location. | | | `DELETE` | | Deletes a single Instance. | | | `UPDATE` | | Updates the parameters of a single Instance. | -| | `EXEC` | | Lists Instances in a given project and location. | | | `EXEC` | | Forces a Failover for a highly available instance. Failover promotes the HA standby instance as the new primary. Imperative only. | | | `EXEC` | | Injects fault in an instance. Imperative only. | | | `EXEC` | | Restart an Instance in a cluster. Imperative only. | + +## `SELECT` examples + +Lists Instances in a given project and location. + +```sql +SELECT +name, +annotations, +availabilityType, +clientConnectionConfig, +createTime, +databaseFlags, +deleteTime, +displayName, +etag, +gceZone, +instanceType, +ipAddress, +labels, +machineConfig, +networkConfig, +nodes, +outboundPublicIpAddresses, +pscInstanceConfig, +publicIpAddress, +queryInsightsConfig, +readPoolConfig, +reconciling, +satisfiesPzs, +state, +uid, +updateTime, +writableNode +FROM google.alloydb.instances +WHERE clustersId = '{{ clustersId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new instances resource. + + + + +```sql +/*+ create */ +INSERT INTO google.alloydb.instances ( +clustersId, +locationsId, +projectsId, +name, +displayName, +uid, +createTime, +updateTime, +deleteTime, +labels, +state, +instanceType, +machineConfig, +availabilityType, +gceZone, +databaseFlags, +writableNode, +nodes, +queryInsightsConfig, +readPoolConfig, +ipAddress, +publicIpAddress, +reconciling, +etag, +annotations, +clientConnectionConfig, +satisfiesPzs, +pscInstanceConfig, +networkConfig, +outboundPublicIpAddresses +) +SELECT +'{{ clustersId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ displayName }}', +'{{ uid }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ deleteTime }}', +'{{ labels }}', +'{{ state }}', +'{{ instanceType }}', +'{{ machineConfig }}', +'{{ availabilityType }}', +'{{ gceZone }}', +'{{ databaseFlags }}', +'{{ writableNode }}', +'{{ nodes }}', +'{{ queryInsightsConfig }}', +'{{ readPoolConfig }}', +'{{ ipAddress }}', +'{{ publicIpAddress }}', +true|false, +'{{ etag }}', +'{{ annotations }}', +'{{ clientConnectionConfig }}', +true|false, +'{{ pscInstanceConfig }}', +'{{ networkConfig }}', +'{{ outboundPublicIpAddresses }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: uid + value: '{{ uid }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: deleteTime + value: '{{ deleteTime }}' + - name: labels + value: '{{ labels }}' + - name: state + value: '{{ state }}' + - name: instanceType + value: '{{ instanceType }}' + - name: machineConfig + value: '{{ machineConfig }}' + - name: availabilityType + value: '{{ availabilityType }}' + - name: gceZone + value: '{{ gceZone }}' + - name: databaseFlags + value: '{{ databaseFlags }}' + - name: writableNode + value: '{{ writableNode }}' + - name: nodes + value: '{{ nodes }}' + - name: queryInsightsConfig + value: '{{ queryInsightsConfig }}' + - name: readPoolConfig + value: '{{ readPoolConfig }}' + - name: ipAddress + value: '{{ ipAddress }}' + - name: publicIpAddress + value: '{{ publicIpAddress }}' + - name: reconciling + value: '{{ reconciling }}' + - name: etag + value: '{{ etag }}' + - name: annotations + value: '{{ annotations }}' + - name: clientConnectionConfig + value: '{{ clientConnectionConfig }}' + - name: satisfiesPzs + value: '{{ satisfiesPzs }}' + - name: pscInstanceConfig + value: '{{ pscInstanceConfig }}' + - name: networkConfig + value: '{{ networkConfig }}' + - name: outboundPublicIpAddresses + value: '{{ outboundPublicIpAddresses }}' + +``` + + + +## `UPDATE` example + +Updates a instance only if the necessary resources are available. + +```sql +UPDATE google.alloydb.instances +SET +name = '{{ name }}', +displayName = '{{ displayName }}', +uid = '{{ uid }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +deleteTime = '{{ deleteTime }}', +labels = '{{ labels }}', +state = '{{ state }}', +instanceType = '{{ instanceType }}', +machineConfig = '{{ machineConfig }}', +availabilityType = '{{ availabilityType }}', +gceZone = '{{ gceZone }}', +databaseFlags = '{{ databaseFlags }}', +writableNode = '{{ writableNode }}', +nodes = '{{ nodes }}', +queryInsightsConfig = '{{ queryInsightsConfig }}', +readPoolConfig = '{{ readPoolConfig }}', +ipAddress = '{{ ipAddress }}', +publicIpAddress = '{{ publicIpAddress }}', +reconciling = true|false, +etag = '{{ etag }}', +annotations = '{{ annotations }}', +clientConnectionConfig = '{{ clientConnectionConfig }}', +satisfiesPzs = true|false, +pscInstanceConfig = '{{ pscInstanceConfig }}', +networkConfig = '{{ networkConfig }}', +outboundPublicIpAddresses = '{{ outboundPublicIpAddresses }}' +WHERE +clustersId = '{{ clustersId }}' +AND instancesId = '{{ instancesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified instance resource. + +```sql +DELETE FROM google.alloydb.instances +WHERE clustersId = '{{ clustersId }}' +AND instancesId = '{{ instancesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/alloydb/instances_connection_info/index.md b/docs/google-docs/providers/google/alloydb/instances_connection_info/index.md index c2bbc1ede7..f6a9a4e60e 100644 --- a/docs/google-docs/providers/google/alloydb/instances_connection_info/index.md +++ b/docs/google-docs/providers/google/alloydb/instances_connection_info/index.md @@ -1,3 +1,4 @@ + --- title: instances_connection_info hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - instances_connection_info - alloydb - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an instances_connection_info resource or lists instances_connection_info in a region ## Overview
@@ -30,11 +32,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The name of the ConnectionInfo singleton resource, e.g.: projects/{project}/locations/{location}/clusters/*/instances/*/connectionInfo This field currently has no semantic meaning. | +| | `string` | The name of the ConnectionInfo singleton resource, e.g.: projects/{project}/locations/{location}/clusters/*/instances/*/connectionInfo This field currently has no semantic meaning. | | | `string` | Output only. The unique ID of the Instance. | | | `string` | Output only. The private network IP address for the Instance. This is the default IP for the instance and is always created (even if enable_public_ip is set). This is the connection endpoint for an end-user application. | | | `string` | Output only. The public IP addresses for the Instance. This is available ONLY when enable_public_ip is set. This is the connection endpoint for an end-user application. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Get instance metadata used for a connection. | + +## `SELECT` examples + +Get instance metadata used for a connection. + +```sql +SELECT +name, +instanceUid, +ipAddress, +publicIpAddress +FROM google.alloydb.instances_connection_info +WHERE clustersId = '{{ clustersId }}' +AND instancesId = '{{ instancesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/alloydb/instances_secondary/index.md b/docs/google-docs/providers/google/alloydb/instances_secondary/index.md index 84d7cf9cfc..9d0cf31d7a 100644 --- a/docs/google-docs/providers/google/alloydb/instances_secondary/index.md +++ b/docs/google-docs/providers/google/alloydb/instances_secondary/index.md @@ -1,3 +1,4 @@ + --- title: instances_secondary hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - instances_secondary - alloydb - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an instances_secondary resource or lists instances_secondary in a region ## Overview
@@ -28,8 +30,156 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `INSERT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `INSERT` | | Creates a new SECONDARY Instance in a given project and location. | + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new instances_secondary resource. + + + + +```sql +/*+ create */ +INSERT INTO google.alloydb.instances_secondary ( +clustersId, +locationsId, +projectsId, +name, +displayName, +uid, +createTime, +updateTime, +deleteTime, +labels, +state, +instanceType, +machineConfig, +availabilityType, +gceZone, +databaseFlags, +writableNode, +nodes, +queryInsightsConfig, +readPoolConfig, +ipAddress, +publicIpAddress, +reconciling, +etag, +annotations, +clientConnectionConfig, +satisfiesPzs, +pscInstanceConfig, +networkConfig, +outboundPublicIpAddresses +) +SELECT +'{{ clustersId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ displayName }}', +'{{ uid }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ deleteTime }}', +'{{ labels }}', +'{{ state }}', +'{{ instanceType }}', +'{{ machineConfig }}', +'{{ availabilityType }}', +'{{ gceZone }}', +'{{ databaseFlags }}', +'{{ writableNode }}', +'{{ nodes }}', +'{{ queryInsightsConfig }}', +'{{ readPoolConfig }}', +'{{ ipAddress }}', +'{{ publicIpAddress }}', +true|false, +'{{ etag }}', +'{{ annotations }}', +'{{ clientConnectionConfig }}', +true|false, +'{{ pscInstanceConfig }}', +'{{ networkConfig }}', +'{{ outboundPublicIpAddresses }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: uid + value: '{{ uid }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: deleteTime + value: '{{ deleteTime }}' + - name: labels + value: '{{ labels }}' + - name: state + value: '{{ state }}' + - name: instanceType + value: '{{ instanceType }}' + - name: machineConfig + value: '{{ machineConfig }}' + - name: availabilityType + value: '{{ availabilityType }}' + - name: gceZone + value: '{{ gceZone }}' + - name: databaseFlags + value: '{{ databaseFlags }}' + - name: writableNode + value: '{{ writableNode }}' + - name: nodes + value: '{{ nodes }}' + - name: queryInsightsConfig + value: '{{ queryInsightsConfig }}' + - name: readPoolConfig + value: '{{ readPoolConfig }}' + - name: ipAddress + value: '{{ ipAddress }}' + - name: publicIpAddress + value: '{{ publicIpAddress }}' + - name: reconciling + value: '{{ reconciling }}' + - name: etag + value: '{{ etag }}' + - name: annotations + value: '{{ annotations }}' + - name: clientConnectionConfig + value: '{{ clientConnectionConfig }}' + - name: satisfiesPzs + value: '{{ satisfiesPzs }}' + - name: pscInstanceConfig + value: '{{ pscInstanceConfig }}' + - name: networkConfig + value: '{{ networkConfig }}' + - name: outboundPublicIpAddresses + value: '{{ outboundPublicIpAddresses }}' + +``` + + diff --git a/docs/google-docs/providers/google/alloydb/locations/index.md b/docs/google-docs/providers/google/alloydb/locations/index.md index a0a3ff51b0..8989f51e51 100644 --- a/docs/google-docs/providers/google/alloydb/locations/index.md +++ b/docs/google-docs/providers/google/alloydb/locations/index.md @@ -1,3 +1,4 @@ + --- title: locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - locations - alloydb - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an location resource or lists locations in a region ## Overview @@ -32,12 +34,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` | | | `string` | The friendly name for this location, typically a nearby city name. For example, "Tokyo". | -| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | +| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | | | `string` | The canonical id for this location. For example: `"us-east1"`. | | | `object` | Service-specific metadata. For example the available capacity at the given location. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about a location. | | | `SELECT` | | Lists information about the supported locations for this service. | -| | `EXEC` | | Lists information about the supported locations for this service. | + +## `SELECT` examples + +Lists information about the supported locations for this service. + +```sql +SELECT +name, +displayName, +labels, +locationId, +metadata +FROM google.alloydb.locations +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/alloydb/operations/index.md b/docs/google-docs/providers/google/alloydb/operations/index.md index 18b2b8a3b7..4a15bc88bc 100644 --- a/docs/google-docs/providers/google/alloydb/operations/index.md +++ b/docs/google-docs/providers/google/alloydb/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - alloydb - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview
@@ -30,16 +32,43 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.alloydb.operations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified operation resource. + +```sql +DELETE FROM google.alloydb.operations +WHERE locationsId = '{{ locationsId }}' +AND operationsId = '{{ operationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/alloydb/supported_database_flags/index.md b/docs/google-docs/providers/google/alloydb/supported_database_flags/index.md index 463b79601d..6906a31e21 100644 --- a/docs/google-docs/providers/google/alloydb/supported_database_flags/index.md +++ b/docs/google-docs/providers/google/alloydb/supported_database_flags/index.md @@ -1,3 +1,4 @@ + --- title: supported_database_flags hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - supported_database_flags - alloydb - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an supported_database_flag resource or lists supported_database_flags in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The name of the flag resource, following Google Cloud conventions, e.g.: * projects/{project}/locations/{location}/flags/{flag} This field currently has no semantic meaning. | +| | `string` | The name of the flag resource, following Google Cloud conventions, e.g.: * projects/{project}/locations/{location}/flags/{flag} This field currently has no semantic meaning. | | | `boolean` | Whether the database flag accepts multiple values. If true, a comma-separated list of stringified values may be specified. | | | `string` | The name of the database flag, e.g. "max_allowed_packets". The is a possibly key for the Instance.database_flags map field. | | | `object` | Restrictions on INTEGER type values. | @@ -38,8 +40,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Restrictions on STRING type values | | | `array` | Major database engine versions for which this flag is supported. | | | `string` | | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists SupportedDatabaseFlags for a given project and location. | + +## `SELECT` examples + +Lists SupportedDatabaseFlags for a given project and location. + +```sql +SELECT +name, +acceptsMultipleValues, +flagName, +integerRestrictions, +requiresDbRestart, +stringRestrictions, +supportedDbVersions, +valueType +FROM google.alloydb.supported_database_flags +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/alloydb/users/index.md b/docs/google-docs/providers/google/alloydb/users/index.md index 64410658c1..d94f9868ee 100644 --- a/docs/google-docs/providers/google/alloydb/users/index.md +++ b/docs/google-docs/providers/google/alloydb/users/index.md @@ -1,3 +1,4 @@ + --- title: users hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - users - alloydb - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an user resource or lists users in a region ## Overview
@@ -30,10 +32,12 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. Name of the resource in the form of projects/{project}/locations/{location}/cluster/{cluster}/users/{user}. | +| | `string` | Output only. Name of the resource in the form of projects/{project}/locations/{location}/cluster/{cluster}/users/{user}. | | | `array` | Optional. List of database roles this user has. The database role strings are subject to the PostgreSQL naming conventions. | +| | `boolean` | Input only. If the user already exists and it has additional roles, keep them granted. | | | `string` | Input only. Password for the user. | | | `string` | Optional. Type of this user. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -42,4 +46,109 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new User in a given project, location, and cluster. | | | `DELETE` | | Deletes a single User. | | | `UPDATE` | | Updates the parameters of a single User. | -| | `EXEC` | | Lists Users in a given project and location. | + +## `SELECT` examples + +Lists Users in a given project and location. + +```sql +SELECT +name, +databaseRoles, +keepExtraRoles, +password, +userType +FROM google.alloydb.users +WHERE clustersId = '{{ clustersId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new users resource. + + + + +```sql +/*+ create */ +INSERT INTO google.alloydb.users ( +clustersId, +locationsId, +projectsId, +name, +password, +databaseRoles, +userType, +keepExtraRoles +) +SELECT +'{{ clustersId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ password }}', +'{{ databaseRoles }}', +'{{ userType }}', +true|false +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: password + value: '{{ password }}' + - name: databaseRoles + value: '{{ databaseRoles }}' + - name: userType + value: '{{ userType }}' + - name: keepExtraRoles + value: '{{ keepExtraRoles }}' + +``` + + + +## `UPDATE` example + +Updates a user only if the necessary resources are available. + +```sql +UPDATE google.alloydb.users +SET +name = '{{ name }}', +password = '{{ password }}', +databaseRoles = '{{ databaseRoles }}', +userType = '{{ userType }}', +keepExtraRoles = true|false +WHERE +clustersId = '{{ clustersId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND usersId = '{{ usersId }}'; +``` + +## `DELETE` example + +Deletes the specified user resource. + +```sql +DELETE FROM google.alloydb.users +WHERE clustersId = '{{ clustersId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND usersId = '{{ usersId }}'; +``` diff --git a/docs/google-docs/providers/google/analyticshub/data_exchanges/index.md b/docs/google-docs/providers/google/analyticshub/data_exchanges/index.md index d7a22571af..e8e451a3c7 100644 --- a/docs/google-docs/providers/google/analyticshub/data_exchanges/index.md +++ b/docs/google-docs/providers/google/analyticshub/data_exchanges/index.md @@ -1,3 +1,4 @@ + --- title: data_exchanges hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - data_exchanges - analyticshub - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an data_exchange resource or lists data_exchanges in a region ## Overview
@@ -32,12 +34,14 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Output only. The resource name of the data exchange. e.g. `projects/myproject/locations/US/dataExchanges/123`. | | | `string` | Optional. Description of the data exchange. The description must not contain Unicode non-characters as well as C0 and C1 control codes except tabs (HT), new lines (LF), carriage returns (CR), and page breaks (FF). Default value is an empty string. Max length: 2000 bytes. | +| | `string` | Optional. Type of discovery on the discovery page for all the listings under this exchange. Updating this field also updates (overwrites) the discovery_type field for all the listings under this exchange. | | | `string` | Required. Human-readable display name of the data exchange. The display name must contain only Unicode letters, numbers (0-9), underscores (_), dashes (-), spaces ( ), ampersands (&) and must not start or end with spaces. Default value is an empty string. Max length: 63 bytes. | | | `string` | Optional. Documentation describing the data exchange. | | | `string` | Optional. Base64 encoded image representing the data exchange. Max Size: 3.0MiB Expected image dimensions are 512x512 pixels, however the API only performs validation on size of the encoded data. Note: For byte fields, the content of the fields are base64-encoded (which increases the size of the data by 33-36%) when using JSON on the wire. | | | `integer` | Output only. Number of listings contained in the data exchange. | | | `string` | Optional. Email or URL of the primary point of contact of the data exchange. Max Length: 1000 bytes. | | | `object` | Sharing environment is a behavior model for sharing data within a data exchange. This option is configurable for a data exchange. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -47,6 +51,129 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new data exchange. | | | `DELETE` | | Deletes an existing data exchange. | | | `UPDATE` | | Updates an existing data exchange. | -| | `EXEC` | | Lists all data exchanges from projects in a given organization and location. | -| | `EXEC` | | Lists all data exchanges in a given project and location. | -| | `EXEC` | | Creates a Subscription to a Data Exchange. This is a long-running operation as it will create one or more linked datasets. | +| | `EXEC` | | Creates a Subscription to a Data Clean Room. This is a long-running operation as it will create one or more linked datasets. | + +## `SELECT` examples + +Lists all data exchanges in a given project and location. + +```sql +SELECT +name, +description, +discoveryType, +displayName, +documentation, +icon, +listingCount, +primaryContact, +sharingEnvironmentConfig +FROM google.analyticshub.data_exchanges +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new data_exchanges resource. + + + + +```sql +/*+ create */ +INSERT INTO google.analyticshub.data_exchanges ( +locationsId, +projectsId, +name, +displayName, +description, +primaryContact, +documentation, +listingCount, +icon, +sharingEnvironmentConfig, +discoveryType +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ displayName }}', +'{{ description }}', +'{{ primaryContact }}', +'{{ documentation }}', +'{{ listingCount }}', +'{{ icon }}', +'{{ sharingEnvironmentConfig }}', +'{{ discoveryType }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: description + value: '{{ description }}' + - name: primaryContact + value: '{{ primaryContact }}' + - name: documentation + value: '{{ documentation }}' + - name: listingCount + value: '{{ listingCount }}' + - name: icon + value: '{{ icon }}' + - name: sharingEnvironmentConfig + value: '{{ sharingEnvironmentConfig }}' + - name: discoveryType + value: '{{ discoveryType }}' + +``` + + + +## `UPDATE` example + +Updates a data_exchange only if the necessary resources are available. + +```sql +UPDATE google.analyticshub.data_exchanges +SET +name = '{{ name }}', +displayName = '{{ displayName }}', +description = '{{ description }}', +primaryContact = '{{ primaryContact }}', +documentation = '{{ documentation }}', +listingCount = '{{ listingCount }}', +icon = '{{ icon }}', +sharingEnvironmentConfig = '{{ sharingEnvironmentConfig }}', +discoveryType = '{{ discoveryType }}' +WHERE +dataExchangesId = '{{ dataExchangesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified data_exchange resource. + +```sql +DELETE FROM google.analyticshub.data_exchanges +WHERE dataExchangesId = '{{ dataExchangesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/analyticshub/data_exchanges_iam_policies/index.md b/docs/google-docs/providers/google/analyticshub/data_exchanges_iam_policies/index.md index eb9dc4841a..5bca1aa54a 100644 --- a/docs/google-docs/providers/google/analyticshub/data_exchanges_iam_policies/index.md +++ b/docs/google-docs/providers/google/analyticshub/data_exchanges_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: data_exchanges_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - data_exchanges_iam_policies - analyticshub - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an data_exchanges_iam_policy resource or lists data_exchanges_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the IAM policy. | -| | `EXEC` | | Gets the IAM policy. | | | `EXEC` | | Sets the IAM policy. | | | `EXEC` | | Returns the permissions that a caller has. | + +## `SELECT` examples + +Gets the IAM policy. + +```sql +SELECT +condition, +members, +role +FROM google.analyticshub.data_exchanges_iam_policies +WHERE dataExchangesId = '{{ dataExchangesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/analyticshub/data_exchanges_subscriptions/index.md b/docs/google-docs/providers/google/analyticshub/data_exchanges_subscriptions/index.md index b53456412e..31d010e8bb 100644 --- a/docs/google-docs/providers/google/analyticshub/data_exchanges_subscriptions/index.md +++ b/docs/google-docs/providers/google/analyticshub/data_exchanges_subscriptions/index.md @@ -1,3 +1,4 @@ + --- title: data_exchanges_subscriptions hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - data_exchanges_subscriptions - analyticshub - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an data_exchanges_subscription resource or lists data_exchanges_subscriptions in a region ## Overview
@@ -34,14 +36,40 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Timestamp when the subscription was created. | | | `string` | Output only. Resource name of the source Data Exchange. e.g. projects/123/locations/US/dataExchanges/456 | | | `string` | Output only. Timestamp when the subscription was last modified. | -| | `object` | Output only. Map of listing resource names to associated linked resource, e.g. projects/123/locations/US/dataExchanges/456/listings/789 -> projects/123/datasets/my_dataset For listing-level subscriptions, this is a map of size 1. Only contains values if state == STATE_ACTIVE. | +| | `object` | Output only. Map of listing resource names to associated linked resource, e.g. projects/123/locations/US/dataExchanges/456/listings/789 -> projects/123/datasets/my_dataset For listing-level subscriptions, this is a map of size 1. Only contains values if state == STATE_ACTIVE. | +| | `array` | Output only. Linked resources created in the subscription. Only contains values if state = STATE_ACTIVE. | | | `string` | Output only. Resource name of the source Listing. e.g. projects/123/locations/US/dataExchanges/456/listings/789 | | | `string` | Output only. Display name of the project of this subscription. | | | `string` | Output only. Organization of the project this subscription belongs to. | +| | `string` | Output only. Listing shared asset type. | | | `string` | Output only. Current state of the subscription. | | | `string` | Output only. Email of the subscriber. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists all subscriptions on a given Data Exchange or Listing. | + +## `SELECT` examples + +Lists all subscriptions on a given Data Exchange or Listing. + +```sql +SELECT +name, +creationTime, +dataExchange, +lastModifyTime, +linkedDatasetMap, +linkedResources, +listing, +organizationDisplayName, +organizationId, +resourceType, +state, +subscriberContact +FROM google.analyticshub.data_exchanges_subscriptions +WHERE dataExchangesId = '{{ dataExchangesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/analyticshub/index.md b/docs/google-docs/providers/google/analyticshub/index.md index c298ff93dc..fcd49d39d5 100644 --- a/docs/google-docs/providers/google/analyticshub/index.md +++ b/docs/google-docs/providers/google/analyticshub/index.md @@ -9,46 +9,35 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Exchange data and analytics assets securely and efficiently. - +The analyticshub service documentation. + :::info Service Summary
total resources: 8
-total selectable resources: 8
-total methods: 37
::: -## Overview -
- - - - - -
Namegoogle.analyticshub
TypeService
TitleAnalytics Hub API
DescriptionExchange data and analytics assets securely and efficiently.
Idanalyticshub:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/analyticshub/listings/index.md b/docs/google-docs/providers/google/analyticshub/listings/index.md index b4666eb488..d2b1c0566f 100644 --- a/docs/google-docs/providers/google/analyticshub/listings/index.md +++ b/docs/google-docs/providers/google/analyticshub/listings/index.md @@ -1,3 +1,4 @@ + --- title: listings hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - listings - analyticshub - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an listing resource or lists listings in a region ## Overview @@ -35,14 +37,18 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | A reference to a shared dataset. It is an existing BigQuery dataset with a collection of objects such as tables and views that you want to share with subscribers. When subscriber's subscribe to a listing, Analytics Hub creates a linked dataset in the subscriber's project. A Linked dataset is an opaque, read-only BigQuery dataset that serves as a _symbolic link_ to a shared dataset. | | | `array` | Optional. Categories of the listing. Up to two categories are allowed. | | | `object` | Contains details of the data provider. | +| | `string` | Optional. Type of discovery of the listing on the discovery page. | | | `string` | Required. 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. Default value is an empty string. Max length: 63 bytes. | | | `string` | Optional. Documentation describing the listing. | | | `string` | Optional. Base64 encoded image representing the listing. Max Size: 3.0MiB Expected image dimensions are 512x512 pixels, however the API only performs validation on size of the encoded data. Note: For byte fields, the contents of the field are base64-encoded (which increases the size of the data by 33-36%) when using JSON on the wire. | | | `string` | Optional. Email or URL of the primary point of contact of the listing. Max Length: 1000 bytes. | | | `object` | Contains details of the listing publisher. | +| | `object` | Pub/Sub topic source. | | | `string` | Optional. Email or URL of the request access of the listing. Subscribers can use this reference to request access. Max Length: 1000 bytes. | +| | `string` | Output only. Listing shared asset type. | | | `object` | Restricted export config, used to configure restricted export on linked dataset. | | | `string` | Output only. Current state of the listing. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -51,5 +57,176 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new listing. | | | `DELETE` | | Deletes a listing. | | | `UPDATE` | | Updates an existing listing. | -| | `EXEC` | | Lists all listings in a given project and location. | | | `EXEC` | | Subscribes to a listing. Currently, with Analytics Hub, you can create listings that reference only BigQuery datasets. Upon subscription to a listing for a BigQuery dataset, Analytics Hub creates a linked dataset in the subscriber's project. | + +## `SELECT` examples + +Lists all listings in a given project and location. + +```sql +SELECT +name, +description, +bigqueryDataset, +categories, +dataProvider, +discoveryType, +displayName, +documentation, +icon, +primaryContact, +publisher, +pubsubTopic, +requestAccess, +resourceType, +restrictedExportConfig, +state +FROM google.analyticshub.listings +WHERE dataExchangesId = '{{ dataExchangesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new listings resource. + + + + +```sql +/*+ create */ +INSERT INTO google.analyticshub.listings ( +dataExchangesId, +locationsId, +projectsId, +bigqueryDataset, +pubsubTopic, +name, +displayName, +description, +primaryContact, +documentation, +state, +icon, +dataProvider, +categories, +publisher, +requestAccess, +restrictedExportConfig, +discoveryType, +resourceType +) +SELECT +'{{ dataExchangesId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ bigqueryDataset }}', +'{{ pubsubTopic }}', +'{{ name }}', +'{{ displayName }}', +'{{ description }}', +'{{ primaryContact }}', +'{{ documentation }}', +'{{ state }}', +'{{ icon }}', +'{{ dataProvider }}', +'{{ categories }}', +'{{ publisher }}', +'{{ requestAccess }}', +'{{ restrictedExportConfig }}', +'{{ discoveryType }}', +'{{ resourceType }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: bigqueryDataset + value: '{{ bigqueryDataset }}' + - name: pubsubTopic + value: '{{ pubsubTopic }}' + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: description + value: '{{ description }}' + - name: primaryContact + value: '{{ primaryContact }}' + - name: documentation + value: '{{ documentation }}' + - name: state + value: '{{ state }}' + - name: icon + value: '{{ icon }}' + - name: dataProvider + value: '{{ dataProvider }}' + - name: categories + value: '{{ categories }}' + - name: publisher + value: '{{ publisher }}' + - name: requestAccess + value: '{{ requestAccess }}' + - name: restrictedExportConfig + value: '{{ restrictedExportConfig }}' + - name: discoveryType + value: '{{ discoveryType }}' + - name: resourceType + value: '{{ resourceType }}' + +``` + + + +## `UPDATE` example + +Updates a listing only if the necessary resources are available. + +```sql +UPDATE google.analyticshub.listings +SET +bigqueryDataset = '{{ bigqueryDataset }}', +pubsubTopic = '{{ pubsubTopic }}', +name = '{{ name }}', +displayName = '{{ displayName }}', +description = '{{ description }}', +primaryContact = '{{ primaryContact }}', +documentation = '{{ documentation }}', +state = '{{ state }}', +icon = '{{ icon }}', +dataProvider = '{{ dataProvider }}', +categories = '{{ categories }}', +publisher = '{{ publisher }}', +requestAccess = '{{ requestAccess }}', +restrictedExportConfig = '{{ restrictedExportConfig }}', +discoveryType = '{{ discoveryType }}', +resourceType = '{{ resourceType }}' +WHERE +dataExchangesId = '{{ dataExchangesId }}' +AND listingsId = '{{ listingsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified listing resource. + +```sql +DELETE FROM google.analyticshub.listings +WHERE dataExchangesId = '{{ dataExchangesId }}' +AND listingsId = '{{ listingsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/analyticshub/listings_iam_policies/index.md b/docs/google-docs/providers/google/analyticshub/listings_iam_policies/index.md index 7188a22238..b60ca69cb0 100644 --- a/docs/google-docs/providers/google/analyticshub/listings_iam_policies/index.md +++ b/docs/google-docs/providers/google/analyticshub/listings_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: listings_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - listings_iam_policies - analyticshub - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an listings_iam_policy resource or lists listings_iam_policies in a region ## Overview
@@ -30,13 +32,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the IAM policy. | -| | `EXEC` | | Gets the IAM policy. | | | `EXEC` | | Sets the IAM policy. | | | `EXEC` | | Returns the permissions that a caller has. | + +## `SELECT` examples + +Gets the IAM policy. + +```sql +SELECT +condition, +members, +role +FROM google.analyticshub.listings_iam_policies +WHERE dataExchangesId = '{{ dataExchangesId }}' +AND listingsId = '{{ listingsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/analyticshub/listings_subscriptions/index.md b/docs/google-docs/providers/google/analyticshub/listings_subscriptions/index.md index 2e4a709cbc..e59e121dd1 100644 --- a/docs/google-docs/providers/google/analyticshub/listings_subscriptions/index.md +++ b/docs/google-docs/providers/google/analyticshub/listings_subscriptions/index.md @@ -1,3 +1,4 @@ + --- title: listings_subscriptions hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - listings_subscriptions - analyticshub - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an listings_subscription resource or lists listings_subscriptions in a region ## Overview
@@ -34,14 +36,41 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Timestamp when the subscription was created. | | | `string` | Output only. Resource name of the source Data Exchange. e.g. projects/123/locations/US/dataExchanges/456 | | | `string` | Output only. Timestamp when the subscription was last modified. | -| | `object` | Output only. Map of listing resource names to associated linked resource, e.g. projects/123/locations/US/dataExchanges/456/listings/789 -> projects/123/datasets/my_dataset For listing-level subscriptions, this is a map of size 1. Only contains values if state == STATE_ACTIVE. | +| | `object` | Output only. Map of listing resource names to associated linked resource, e.g. projects/123/locations/US/dataExchanges/456/listings/789 -> projects/123/datasets/my_dataset For listing-level subscriptions, this is a map of size 1. Only contains values if state == STATE_ACTIVE. | +| | `array` | Output only. Linked resources created in the subscription. Only contains values if state = STATE_ACTIVE. | | | `string` | Output only. Resource name of the source Listing. e.g. projects/123/locations/US/dataExchanges/456/listings/789 | | | `string` | Output only. Display name of the project of this subscription. | | | `string` | Output only. Organization of the project this subscription belongs to. | +| | `string` | Output only. Listing shared asset type. | | | `string` | Output only. Current state of the subscription. | | | `string` | Output only. Email of the subscriber. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists all subscriptions on a given Data Exchange or Listing. | + +## `SELECT` examples + +Lists all subscriptions on a given Data Exchange or Listing. + +```sql +SELECT +name, +creationTime, +dataExchange, +lastModifyTime, +linkedDatasetMap, +linkedResources, +listing, +organizationDisplayName, +organizationId, +resourceType, +state, +subscriberContact +FROM google.analyticshub.listings_subscriptions +WHERE dataExchangesId = '{{ dataExchangesId }}' +AND listingsId = '{{ listingsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/analyticshub/subscriptions/index.md b/docs/google-docs/providers/google/analyticshub/subscriptions/index.md index 7c6a2751b0..a017e34aa2 100644 --- a/docs/google-docs/providers/google/analyticshub/subscriptions/index.md +++ b/docs/google-docs/providers/google/analyticshub/subscriptions/index.md @@ -1,3 +1,4 @@ + --- title: subscriptions hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - subscriptions - analyticshub - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an subscription resource or lists subscriptions in a region ## Overview
@@ -34,18 +36,54 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Timestamp when the subscription was created. | | | `string` | Output only. Resource name of the source Data Exchange. e.g. projects/123/locations/US/dataExchanges/456 | | | `string` | Output only. Timestamp when the subscription was last modified. | -| | `object` | Output only. Map of listing resource names to associated linked resource, e.g. projects/123/locations/US/dataExchanges/456/listings/789 -> projects/123/datasets/my_dataset For listing-level subscriptions, this is a map of size 1. Only contains values if state == STATE_ACTIVE. | +| | `object` | Output only. Map of listing resource names to associated linked resource, e.g. projects/123/locations/US/dataExchanges/456/listings/789 -> projects/123/datasets/my_dataset For listing-level subscriptions, this is a map of size 1. Only contains values if state == STATE_ACTIVE. | +| | `array` | Output only. Linked resources created in the subscription. Only contains values if state = STATE_ACTIVE. | | | `string` | Output only. Resource name of the source Listing. e.g. projects/123/locations/US/dataExchanges/456/listings/789 | | | `string` | Output only. Display name of the project of this subscription. | | | `string` | Output only. Organization of the project this subscription belongs to. | +| | `string` | Output only. Listing shared asset type. | | | `string` | Output only. Current state of the subscription. | | | `string` | Output only. Email of the subscriber. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the details of a Subscription. | | | `SELECT` | | Lists all subscriptions in a given project and location. | | | `DELETE` | | Deletes a subscription. | -| | `EXEC` | | Lists all subscriptions in a given project and location. | | | `EXEC` | | Refreshes a Subscription to a Data Exchange. A Data Exchange can become stale when a publisher adds or removes data. This is a long-running operation as it may create many linked datasets. | | | `EXEC` | | Revokes a given subscription. | + +## `SELECT` examples + +Lists all subscriptions in a given project and location. + +```sql +SELECT +name, +creationTime, +dataExchange, +lastModifyTime, +linkedDatasetMap, +linkedResources, +listing, +organizationDisplayName, +organizationId, +resourceType, +state, +subscriberContact +FROM google.analyticshub.subscriptions +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified subscription resource. + +```sql +DELETE FROM google.analyticshub.subscriptions +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND subscriptionsId = '{{ subscriptionsId }}'; +``` diff --git a/docs/google-docs/providers/google/analyticshub/subscriptions_iam_policies/index.md b/docs/google-docs/providers/google/analyticshub/subscriptions_iam_policies/index.md index 331fc0e58e..84aad3a4d3 100644 --- a/docs/google-docs/providers/google/analyticshub/subscriptions_iam_policies/index.md +++ b/docs/google-docs/providers/google/analyticshub/subscriptions_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: subscriptions_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - subscriptions_iam_policies - analyticshub - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an subscriptions_iam_policy resource or lists subscriptions_iam_policies in a region ## Overview
@@ -30,12 +32,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the IAM policy. | -| | `EXEC` | | Gets the IAM policy. | | | `EXEC` | | Sets the IAM policy. | + +## `SELECT` examples + +Gets the IAM policy. + +```sql +SELECT +condition, +members, +role +FROM google.analyticshub.subscriptions_iam_policies +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND subscriptionsId = '{{ subscriptionsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigateway/apis/index.md b/docs/google-docs/providers/google/apigateway/apis/index.md index 606c14ea1c..f16d63443b 100644 --- a/docs/google-docs/providers/google/apigateway/apis/index.md +++ b/docs/google-docs/providers/google/apigateway/apis/index.md @@ -1,3 +1,4 @@ + --- title: apis hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - apis - apigateway - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an api resource or lists apis in a region ## Overview
@@ -30,13 +32,14 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. Resource name of the API. Format: projects/{project}/locations/global/apis/{api} | +| | `string` | Output only. Resource name of the API. Format: projects/{project}/locations/global/apis/{api} | | | `string` | Output only. Created time. | | | `string` | Optional. Display name. | | | `object` | Optional. Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources | | | `string` | Optional. Immutable. The name of a Google Managed Service ( https://cloud.google.com/service-infrastructure/docs/glossary#managed). If not specified, a new Service will automatically be created in the same project as this API. | | | `string` | Output only. State of the API. | | | `string` | Output only. Updated time. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -45,4 +48,116 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new Api in a given project and location. | | | `DELETE` | | Deletes a single Api. | | | `UPDATE` | | Updates the parameters of a single Api. | -| | `EXEC` | | Lists Apis in a given project and location. | + +## `SELECT` examples + +Lists Apis in a given project and location. + +```sql +SELECT +name, +createTime, +displayName, +labels, +managedService, +state, +updateTime +FROM google.apigateway.apis +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new apis resource. + + + + +```sql +/*+ create */ +INSERT INTO google.apigateway.apis ( +locationsId, +projectsId, +name, +createTime, +updateTime, +labels, +displayName, +managedService, +state +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ labels }}', +'{{ displayName }}', +'{{ managedService }}', +'{{ state }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: labels + value: '{{ labels }}' + - name: displayName + value: '{{ displayName }}' + - name: managedService + value: '{{ managedService }}' + - name: state + value: '{{ state }}' + +``` + + + +## `UPDATE` example + +Updates a api only if the necessary resources are available. + +```sql +UPDATE google.apigateway.apis +SET +name = '{{ name }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +labels = '{{ labels }}', +displayName = '{{ displayName }}', +managedService = '{{ managedService }}', +state = '{{ state }}' +WHERE +apisId = '{{ apisId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified api resource. + +```sql +DELETE FROM google.apigateway.apis +WHERE apisId = '{{ apisId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigateway/apis_iam_policies/index.md b/docs/google-docs/providers/google/apigateway/apis_iam_policies/index.md index 3f3f309c4c..740158f822 100644 --- a/docs/google-docs/providers/google/apigateway/apis_iam_policies/index.md +++ b/docs/google-docs/providers/google/apigateway/apis_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: apis_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - apis_iam_policies - apigateway - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an apis_iam_policy resource or lists apis_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.apigateway.apis_iam_policies +WHERE apisId = '{{ apisId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigateway/configs/index.md b/docs/google-docs/providers/google/apigateway/configs/index.md index 592400c7d7..25bacc2bf2 100644 --- a/docs/google-docs/providers/google/apigateway/configs/index.md +++ b/docs/google-docs/providers/google/apigateway/configs/index.md @@ -1,3 +1,4 @@ + --- title: configs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - configs - apigateway - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an config resource or lists configs in a region ## Overview
@@ -30,10 +32,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. Resource name of the API Config. Format: projects/{project}/locations/global/apis/{api}/configs/{api_config} | +| | `string` | Output only. Resource name of the API Config. Format: projects/{project}/locations/global/apis/{api}/configs/{api_config} | | | `string` | Output only. Created time. | | | `string` | Optional. Display name. | -| | `string` | Immutable. The Google Cloud IAM Service Account that Gateways serving this config should use to authenticate to other services. This may either be the Service Account's email (`{ACCOUNT_ID}@{PROJECT}.iam.gserviceaccount.com`) or its full resource name (`projects/{PROJECT}/accounts/{UNIQUE_ID}`). This is most often used when the service is a GCP resource such as a Cloud Run Service or an IAP-secured service. | +| | `string` | Immutable. The Google Cloud IAM Service Account that Gateways serving this config should use to authenticate to other services. This may either be the Service Account's email (`{ACCOUNT_ID}@{PROJECT}.iam.gserviceaccount.com`) or its full resource name (`projects/{PROJECT}/accounts/{UNIQUE_ID}`). This is most often used when the service is a GCP resource such as a Cloud Run Service or an IAP-secured service. | | | `array` | Optional. gRPC service definition files. If specified, openapi_documents must not be included. | | | `object` | Optional. Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources | | | `array` | 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. If 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. | @@ -41,6 +43,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The ID of the associated Service Config ( https://cloud.google.com/service-infrastructure/docs/glossary#config). | | | `string` | Output only. State of the API Config. | | | `string` | Output only. Updated time. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -49,4 +52,145 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new ApiConfig in a given project and location. | | | `DELETE` | | Deletes a single ApiConfig. | | | `UPDATE` | | Updates the parameters of a single ApiConfig. | -| | `EXEC` | | Lists ApiConfigs in a given project and location. | + +## `SELECT` examples + +Lists ApiConfigs in a given project and location. + +```sql +SELECT +name, +createTime, +displayName, +gatewayServiceAccount, +grpcServices, +labels, +managedServiceConfigs, +openapiDocuments, +serviceConfigId, +state, +updateTime +FROM google.apigateway.configs +WHERE apisId = '{{ apisId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new configs resource. + + + + +```sql +/*+ create */ +INSERT INTO google.apigateway.configs ( +apisId, +locationsId, +projectsId, +name, +createTime, +updateTime, +labels, +displayName, +gatewayServiceAccount, +serviceConfigId, +state, +openapiDocuments, +grpcServices, +managedServiceConfigs +) +SELECT +'{{ apisId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ labels }}', +'{{ displayName }}', +'{{ gatewayServiceAccount }}', +'{{ serviceConfigId }}', +'{{ state }}', +'{{ openapiDocuments }}', +'{{ grpcServices }}', +'{{ managedServiceConfigs }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: labels + value: '{{ labels }}' + - name: displayName + value: '{{ displayName }}' + - name: gatewayServiceAccount + value: '{{ gatewayServiceAccount }}' + - name: serviceConfigId + value: '{{ serviceConfigId }}' + - name: state + value: '{{ state }}' + - name: openapiDocuments + value: '{{ openapiDocuments }}' + - name: grpcServices + value: '{{ grpcServices }}' + - name: managedServiceConfigs + value: '{{ managedServiceConfigs }}' + +``` + + + +## `UPDATE` example + +Updates a config only if the necessary resources are available. + +```sql +UPDATE google.apigateway.configs +SET +name = '{{ name }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +labels = '{{ labels }}', +displayName = '{{ displayName }}', +gatewayServiceAccount = '{{ gatewayServiceAccount }}', +serviceConfigId = '{{ serviceConfigId }}', +state = '{{ state }}', +openapiDocuments = '{{ openapiDocuments }}', +grpcServices = '{{ grpcServices }}', +managedServiceConfigs = '{{ managedServiceConfigs }}' +WHERE +apisId = '{{ apisId }}' +AND configsId = '{{ configsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified config resource. + +```sql +DELETE FROM google.apigateway.configs +WHERE apisId = '{{ apisId }}' +AND configsId = '{{ configsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigateway/configs_iam_policies/index.md b/docs/google-docs/providers/google/apigateway/configs_iam_policies/index.md index 8c96d40d1e..67bd06e404 100644 --- a/docs/google-docs/providers/google/apigateway/configs_iam_policies/index.md +++ b/docs/google-docs/providers/google/apigateway/configs_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: configs_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - configs_iam_policies - apigateway - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an configs_iam_policy resource or lists configs_iam_policies in a region ## Overview
@@ -30,13 +32,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.apigateway.configs_iam_policies +WHERE apisId = '{{ apisId }}' +AND configsId = '{{ configsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigateway/gateways/index.md b/docs/google-docs/providers/google/apigateway/gateways/index.md index 9aba63ff06..26259fd35c 100644 --- a/docs/google-docs/providers/google/apigateway/gateways/index.md +++ b/docs/google-docs/providers/google/apigateway/gateways/index.md @@ -1,3 +1,4 @@ + --- title: gateways hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - gateways - apigateway - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an gateway resource or lists gateways in a region ## Overview
@@ -30,14 +32,15 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. Resource name of the Gateway. Format: projects/{project}/locations/{location}/gateways/{gateway} | -| | `string` | Required. Resource name of the API Config for this Gateway. Format: projects/{project}/locations/global/apis/{api}/configs/{apiConfig} | +| | `string` | Output only. Resource name of the Gateway. Format: projects/{project}/locations/{location}/gateways/{gateway} | +| | `string` | Required. Resource name of the API Config for this Gateway. Format: projects/{project}/locations/global/apis/{api}/configs/{apiConfig} | | | `string` | Output only. Created time. | -| | `string` | Output only. The default API Gateway host name of the form `{gateway_id}-{hash}.{region_code}.gateway.dev`. | +| | `string` | Output only. The default API Gateway host name of the form `{gateway_id}-{hash}.{region_code}.gateway.dev`. | | | `string` | Optional. Display name. | | | `object` | Optional. Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources | | | `string` | Output only. The current state of the Gateway. | | | `string` | Output only. Updated time. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -46,4 +49,122 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new Gateway in a given project and location. | | | `DELETE` | | Deletes a single Gateway. | | | `UPDATE` | | Updates the parameters of a single Gateway. | -| | `EXEC` | | Lists Gateways in a given project and location. | + +## `SELECT` examples + +Lists Gateways in a given project and location. + +```sql +SELECT +name, +apiConfig, +createTime, +defaultHostname, +displayName, +labels, +state, +updateTime +FROM google.apigateway.gateways +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new gateways resource. + + + + +```sql +/*+ create */ +INSERT INTO google.apigateway.gateways ( +locationsId, +projectsId, +name, +createTime, +updateTime, +labels, +displayName, +apiConfig, +state, +defaultHostname +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ labels }}', +'{{ displayName }}', +'{{ apiConfig }}', +'{{ state }}', +'{{ defaultHostname }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: labels + value: '{{ labels }}' + - name: displayName + value: '{{ displayName }}' + - name: apiConfig + value: '{{ apiConfig }}' + - name: state + value: '{{ state }}' + - name: defaultHostname + value: '{{ defaultHostname }}' + +``` + + + +## `UPDATE` example + +Updates a gateway only if the necessary resources are available. + +```sql +UPDATE google.apigateway.gateways +SET +name = '{{ name }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +labels = '{{ labels }}', +displayName = '{{ displayName }}', +apiConfig = '{{ apiConfig }}', +state = '{{ state }}', +defaultHostname = '{{ defaultHostname }}' +WHERE +gatewaysId = '{{ gatewaysId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified gateway resource. + +```sql +DELETE FROM google.apigateway.gateways +WHERE gatewaysId = '{{ gatewaysId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigateway/gateways_iam_policies/index.md b/docs/google-docs/providers/google/apigateway/gateways_iam_policies/index.md index 7fe3df2052..b61c1824dc 100644 --- a/docs/google-docs/providers/google/apigateway/gateways_iam_policies/index.md +++ b/docs/google-docs/providers/google/apigateway/gateways_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: gateways_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - gateways_iam_policies - apigateway - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an gateways_iam_policy resource or lists gateways_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.apigateway.gateways_iam_policies +WHERE gatewaysId = '{{ gatewaysId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigateway/index.md b/docs/google-docs/providers/google/apigateway/index.md index 8a016dc8a1..ef856eb342 100644 --- a/docs/google-docs/providers/google/apigateway/index.md +++ b/docs/google-docs/providers/google/apigateway/index.md @@ -9,46 +9,35 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- - - +The apigateway service documentation. + :::info Service Summary
total resources: 8
-total selectable resources: 8
-total methods: 38
::: -## Overview -
- - - - - -
Namegoogle.apigateway
TypeService
TitleAPI Gateway API
Description
Idapigateway:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/apigateway/locations/index.md b/docs/google-docs/providers/google/apigateway/locations/index.md index f12c7f32dc..b570e87edb 100644 --- a/docs/google-docs/providers/google/apigateway/locations/index.md +++ b/docs/google-docs/providers/google/apigateway/locations/index.md @@ -1,3 +1,4 @@ + --- title: locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - locations - apigateway - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an location resource or lists locations in a region ## Overview @@ -32,12 +34,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` | | | `string` | The friendly name for this location, typically a nearby city name. For example, "Tokyo". | -| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | +| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | | | `string` | The canonical id for this location. For example: `"us-east1"`. | | | `object` | Service-specific metadata. For example the available capacity at the given location. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about a location. | | | `SELECT` | | Lists information about the supported locations for this service. | -| | `EXEC` | | Lists information about the supported locations for this service. | + +## `SELECT` examples + +Lists information about the supported locations for this service. + +```sql +SELECT +name, +displayName, +labels, +locationId, +metadata +FROM google.apigateway.locations +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigateway/operations/index.md b/docs/google-docs/providers/google/apigateway/operations/index.md index 2d38b2d7fc..77c29233e9 100644 --- a/docs/google-docs/providers/google/apigateway/operations/index.md +++ b/docs/google-docs/providers/google/apigateway/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - apigateway - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview
@@ -30,16 +32,43 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.apigateway.operations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified operation resource. + +```sql +DELETE FROM google.apigateway.operations +WHERE locationsId = '{{ locationsId }}' +AND operationsId = '{{ operationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/addons_config/index.md b/docs/google-docs/providers/google/apigee/addons_config/index.md index 3461a9e6a1..15c13dae72 100644 --- a/docs/google-docs/providers/google/apigee/addons_config/index.md +++ b/docs/google-docs/providers/google/apigee/addons_config/index.md @@ -1,3 +1,4 @@ + --- title: addons_config hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - addons_config - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an addons_config resource or lists addons_config in a region ## Overview
@@ -28,8 +30,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Updates an add-on enablement status of an environment. | diff --git a/docs/google-docs/providers/google/apigee/admin_schemav2/index.md b/docs/google-docs/providers/google/apigee/admin_schemav2/index.md index b0888b4e1a..aac9bd87c3 100644 --- a/docs/google-docs/providers/google/apigee/admin_schemav2/index.md +++ b/docs/google-docs/providers/google/apigee/admin_schemav2/index.md @@ -1,3 +1,4 @@ + --- title: admin_schemav2 hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - admin_schemav2 - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an admin_schemav2 resource or lists admin_schemav2 in a region ## Overview @@ -33,7 +35,22 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `array` | List of schema fields grouped as dimensions. | | | `array` | Additional metadata associated with schema. This is a legacy field and usually consists of an empty array of strings. | | | `array` | List of schema fields grouped as dimensions that can be used with an aggregate function such as `sum`, `avg`, `min`, and `max`. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets a list of metrics and dimensions that can be used to create analytics queries and reports. Each schema element contains the name of the field, its associated type, and a flag indicating whether it is a standard or custom field. | + +## `SELECT` examples + +Gets a list of metrics and dimensions that can be used to create analytics queries and reports. Each schema element contains the name of the field, its associated type, and a flag indicating whether it is a standard or custom field. + +```sql +SELECT +dimensions, +meta, +metrics +FROM google.apigee.admin_schemav2 +WHERE environmentsId = '{{ environmentsId }}' +AND organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/aliases/index.md b/docs/google-docs/providers/google/apigee/aliases/index.md index 93163e6493..7433e46a93 100644 --- a/docs/google-docs/providers/google/apigee/aliases/index.md +++ b/docs/google-docs/providers/google/apigee/aliases/index.md @@ -1,3 +1,4 @@ + --- title: aliases hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - aliases - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an alias resource or lists aliases in a region ## Overview
@@ -30,14 +32,93 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Resource ID for this alias. Values must match the regular expression `[^/]{1,255}`. | +| | `string` | Resource ID for this alias. Values must match the regular expression `[^/]{1,255}`. | | | `object` | | | | `string` | Type of alias. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets an alias. | | | `INSERT` | | Creates an alias from a key/certificate pair. The structure of the request is controlled by the `format` query parameter: - `keycertfile` - Separate PEM-encoded key and certificate files are uploaded. Set `Content-Type: multipart/form-data` and include the `keyFile`, `certFile`, and `password` (if keys are encrypted) fields in the request body. If uploading to a truststore, omit `keyFile`. - `pkcs12` - A PKCS12 file is uploaded. Set `Content-Type: multipart/form-data`, provide the file in the `file` field, and include the `password` field if the file is encrypted in the request body. - `selfsignedcert` - A new private key and certificate are generated. Set `Content-Type: application/json` and include CertificateGenerationSpec in the request body. | | | `DELETE` | | Deletes an alias. | -| | `UPDATE` | | Updates the certificate in an alias. | | | `EXEC` | | Generates a PKCS #10 Certificate Signing Request for the private key in an alias. | +| | `EXEC` | | Updates the certificate in an alias. | + +## `SELECT` examples + +Gets an alias. + +```sql +SELECT +alias, +certsInfo, +type +FROM google.apigee.aliases +WHERE aliasesId = '{{ aliasesId }}' +AND environmentsId = '{{ environmentsId }}' +AND keystoresId = '{{ keystoresId }}' +AND organizationsId = '{{ organizationsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new aliases resource. + + + + +```sql +/*+ create */ +INSERT INTO google.apigee.aliases ( +environmentsId, +keystoresId, +organizationsId, +contentType, +extensions, +data +) +SELECT +'{{ environmentsId }}', +'{{ keystoresId }}', +'{{ organizationsId }}', +'{{ contentType }}', +'{{ extensions }}', +'{{ data }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: contentType + value: '{{ contentType }}' + - name: extensions + value: '{{ extensions }}' + - name: data + value: '{{ data }}' + +``` + + + +## `DELETE` example + +Deletes the specified alias resource. + +```sql +DELETE FROM google.apigee.aliases +WHERE aliasesId = '{{ aliasesId }}' +AND environmentsId = '{{ environmentsId }}' +AND keystoresId = '{{ keystoresId }}' +AND organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/aliases_certificate/index.md b/docs/google-docs/providers/google/apigee/aliases_certificate/index.md index 9ec3646cc9..634528b164 100644 --- a/docs/google-docs/providers/google/apigee/aliases_certificate/index.md +++ b/docs/google-docs/providers/google/apigee/aliases_certificate/index.md @@ -1,3 +1,4 @@ + --- title: aliases_certificate hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - aliases_certificate - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an aliases_certificate resource or lists aliases_certificate in a region ## Overview
@@ -33,7 +35,24 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The HTTP Content-Type header value specifying the content type of the body. | | | `string` | The HTTP request/response body as raw binary. | | | `array` | Application specific response metadata. Must be set in the first response for streaming APIs. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets the certificate from an alias in PEM-encoded form. | + +## `SELECT` examples + +Gets the certificate from an alias in PEM-encoded form. + +```sql +SELECT +contentType, +data, +extensions +FROM google.apigee.aliases_certificate +WHERE aliasesId = '{{ aliasesId }}' +AND environmentsId = '{{ environmentsId }}' +AND keystoresId = '{{ keystoresId }}' +AND organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/apicategories/index.md b/docs/google-docs/providers/google/apigee/apicategories/index.md index 1f50640c99..a62a5bbc27 100644 --- a/docs/google-docs/providers/google/apigee/apicategories/index.md +++ b/docs/google-docs/providers/google/apigee/apicategories/index.md @@ -1,3 +1,4 @@ + --- title: apicategories hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - apicategories - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an apicategory resource or lists apicategories in a region ## Overview
@@ -35,6 +37,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Description of the operation. | | | `string` | Unique ID of the request. | | | `string` | Status of the operation. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -43,3 +46,99 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new API category. | | | `DELETE` | | Deletes an API category. | | | `UPDATE` | | Updates an API category. | + +## `SELECT` examples + +Returns the API categories associated with a portal. + +```sql +SELECT +data, +errorCode, +message, +requestId, +status +FROM google.apigee.apicategories +WHERE organizationsId = '{{ organizationsId }}' +AND sitesId = '{{ sitesId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new apicategories resource. + + + + +```sql +/*+ create */ +INSERT INTO google.apigee.apicategories ( +organizationsId, +sitesId, +siteId, +id, +name, +updateTime +) +SELECT +'{{ organizationsId }}', +'{{ sitesId }}', +'{{ siteId }}', +'{{ id }}', +'{{ name }}', +'{{ updateTime }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: siteId + value: '{{ siteId }}' + - name: id + value: '{{ id }}' + - name: name + value: '{{ name }}' + - name: updateTime + value: '{{ updateTime }}' + +``` + + + +## `UPDATE` example + +Updates a apicategory only if the necessary resources are available. + +```sql +UPDATE google.apigee.apicategories +SET +siteId = '{{ siteId }}', +id = '{{ id }}', +name = '{{ name }}', +updateTime = '{{ updateTime }}' +WHERE +apicategoriesId = '{{ apicategoriesId }}' +AND organizationsId = '{{ organizationsId }}' +AND sitesId = '{{ sitesId }}'; +``` + +## `DELETE` example + +Deletes the specified apicategory resource. + +```sql +DELETE FROM google.apigee.apicategories +WHERE apicategoriesId = '{{ apicategoriesId }}' +AND organizationsId = '{{ organizationsId }}' +AND sitesId = '{{ sitesId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/apidocs/index.md b/docs/google-docs/providers/google/apigee/apidocs/index.md index 563046d434..2168471df2 100644 --- a/docs/google-docs/providers/google/apigee/apidocs/index.md +++ b/docs/google-docs/providers/google/apigee/apidocs/index.md @@ -1,3 +1,4 @@ + --- title: apidocs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - apidocs - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an apidoc resource or lists apidocs in a region ## Overview
@@ -35,6 +37,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Description of the operation. | | | `string` | Unique ID of the request. | | | `string` | Status of the operation. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -42,5 +45,135 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Returns the catalog items associated with a portal. | | | `INSERT` | | Creates a new catalog item. | | | `DELETE` | | Deletes a catalog item. | -| | `UPDATE` | | Updates a catalog item. | -| | `EXEC` | | Returns the catalog items associated with a portal. | +| | `EXEC` | | Updates a catalog item. | + +## `SELECT` examples + +Returns the catalog items associated with a portal. + +```sql +SELECT +data, +errorCode, +message, +requestId, +status +FROM google.apigee.apidocs +WHERE organizationsId = '{{ organizationsId }}' +AND sitesId = '{{ sitesId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new apidocs resource. + + + + +```sql +/*+ create */ +INSERT INTO google.apigee.apidocs ( +organizationsId, +sitesId, +graphqlEndpointUrl, +anonAllowed, +apiProductName, +requireCallbackUrl, +siteId, +title, +description, +graphqlSchema, +modified, +graphqlSchemaDisplayName, +published, +id, +imageUrl, +specId, +visibility, +edgeAPIProductName, +categoryIds +) +SELECT +'{{ organizationsId }}', +'{{ sitesId }}', +'{{ graphqlEndpointUrl }}', +true|false, +'{{ apiProductName }}', +true|false, +'{{ siteId }}', +'{{ title }}', +'{{ description }}', +'{{ graphqlSchema }}', +'{{ modified }}', +'{{ graphqlSchemaDisplayName }}', +true|false, +'{{ id }}', +'{{ imageUrl }}', +'{{ specId }}', +true|false, +'{{ edgeAPIProductName }}', +'{{ categoryIds }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: graphqlEndpointUrl + value: '{{ graphqlEndpointUrl }}' + - name: anonAllowed + value: '{{ anonAllowed }}' + - name: apiProductName + value: '{{ apiProductName }}' + - name: requireCallbackUrl + value: '{{ requireCallbackUrl }}' + - name: siteId + value: '{{ siteId }}' + - name: title + value: '{{ title }}' + - name: description + value: '{{ description }}' + - name: graphqlSchema + value: '{{ graphqlSchema }}' + - name: modified + value: '{{ modified }}' + - name: graphqlSchemaDisplayName + value: '{{ graphqlSchemaDisplayName }}' + - name: published + value: '{{ published }}' + - name: id + value: '{{ id }}' + - name: imageUrl + value: '{{ imageUrl }}' + - name: specId + value: '{{ specId }}' + - name: visibility + value: '{{ visibility }}' + - name: edgeAPIProductName + value: '{{ edgeAPIProductName }}' + - name: categoryIds + value: '{{ categoryIds }}' + +``` + + + +## `DELETE` example + +Deletes the specified apidoc resource. + +```sql +DELETE FROM google.apigee.apidocs +WHERE apidocsId = '{{ apidocsId }}' +AND organizationsId = '{{ organizationsId }}' +AND sitesId = '{{ sitesId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/apidocs_documentation/index.md b/docs/google-docs/providers/google/apigee/apidocs_documentation/index.md index 54027615d9..6d4d440838 100644 --- a/docs/google-docs/providers/google/apigee/apidocs_documentation/index.md +++ b/docs/google-docs/providers/google/apigee/apidocs_documentation/index.md @@ -1,3 +1,4 @@ + --- title: apidocs_documentation hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - apidocs_documentation - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an apidocs_documentation resource or lists apidocs_documentation in a region ## Overview
@@ -35,8 +37,41 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Description of the operation. | | | `string` | Output only. Unique ID of the request. | | | `string` | Output only. Status of the operation. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the documentation for the specified catalog item. | -| | `EXEC` | | Updates the documentation for the specified catalog item. Note that the documentation file contents will not be populated in the return message. | +| | `UPDATE` | | Updates the documentation for the specified catalog item. Note that the documentation file contents will not be populated in the return message. | + +## `SELECT` examples + +Gets the documentation for the specified catalog item. + +```sql +SELECT +data, +errorCode, +message, +requestId, +status +FROM google.apigee.apidocs_documentation +WHERE apidocsId = '{{ apidocsId }}' +AND organizationsId = '{{ organizationsId }}' +AND sitesId = '{{ sitesId }}'; +``` + +## `UPDATE` example + +Updates a apidocs_documentation only if the necessary resources are available. + +```sql +UPDATE google.apigee.apidocs_documentation +SET +graphqlDocumentation = '{{ graphqlDocumentation }}', +oasDocumentation = '{{ oasDocumentation }}' +WHERE +apidocsId = '{{ apidocsId }}' +AND organizationsId = '{{ organizationsId }}' +AND sitesId = '{{ sitesId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/apiproducts/index.md b/docs/google-docs/providers/google/apigee/apiproducts/index.md index 5edc4ce07c..c527093688 100644 --- a/docs/google-docs/providers/google/apigee/apiproducts/index.md +++ b/docs/google-docs/providers/google/apigee/apiproducts/index.md @@ -1,3 +1,4 @@ + --- title: apiproducts hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - apiproducts - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an apiproduct resource or lists apiproducts in a region ## Overview
@@ -48,6 +50,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Time interval over which the number of request messages is calculated. | | | `string` | Time unit defined for the `quotaInterval`. Valid values include `minute`, `hour`, `day`, or `month`. | | | `array` | Comma-separated list of OAuth scopes that are validated at runtime. Apigee validates that the scopes in any access token presented match the scopes defined in the OAuth policy associated with the API product. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -57,5 +60,149 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `DELETE` | | Deletes an API product from an organization. Deleting an API product causes app requests to the resource URIs defined in the API product to fail. Ensure that you create a new API product to serve existing apps, unless your intention is to disable access to the resources defined in the API product. The API product name required in the request URL is the internal name of the product, not the display name. While they may be the same, it depends on whether the API product was created via the UI or the API. View the list of API products to verify the internal name. | | | `DELETE` | | Removes an API product from an app's consumer key. After the API product is removed, the app cannot access the API resources defined in that API product. **Note**: The consumer key is not removed, only its association with the API product. | | | `DELETE` | | Removes an API product from an app's consumer key. After the API product is removed, the app cannot access the API resources defined in that API product. **Note**: The consumer key is not removed, only its association with the API product. | -| | `UPDATE` | | Updates an existing API product. You must include all required values, whether or not you are updating them, as well as any optional values that you are updating. The API product name required in the request URL is the internal name of the product, not the display name. While they may be the same, it depends on whether the API product was created via UI or API. View the list of API products to identify their internal names. | | | `EXEC` | | Updates or creates API product attributes. This API **replaces** the current list of attributes with the attributes specified in the request body. In this way, you can update existing attributes, add new attributes, or delete existing attributes by omitting them from the request body. **Note**: OAuth access tokens and Key Management Service (KMS) entities (apps, developers, and API products) are cached for 180 seconds (current default). Any custom attributes associated with entities also get cached for at least 180 seconds after entity is accessed during runtime. In this case, the `ExpiresIn` element on the OAuthV2 policy won't be able to expire an access token in less than 180 seconds. | +| | `EXEC` | | Updates an existing API product. You must include all required values, whether or not you are updating them, as well as any optional values that you are updating. The API product name required in the request URL is the internal name of the product, not the display name. While they may be the same, it depends on whether the API product was created via UI or API. View the list of API products to identify their internal names. | + +## `SELECT` examples + +Lists all API product names for an organization. Filter the list by passing an `attributename` and `attibutevalue`. The maximum number of API products returned is 1000. You can paginate the list of API products returned using the `startKey` and `count` query parameters. + +```sql +SELECT +name, +description, +apiResources, +approvalType, +attributes, +createdAt, +displayName, +environments, +graphqlOperationGroup, +grpcOperationGroup, +lastModifiedAt, +operationGroup, +proxies, +quota, +quotaCounterScope, +quotaInterval, +quotaTimeUnit, +scopes +FROM google.apigee.apiproducts +WHERE organizationsId = '{{ organizationsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new apiproducts resource. + + + + +```sql +/*+ create */ +INSERT INTO google.apigee.apiproducts ( +organizationsId, +displayName, +scopes, +apiResources, +quotaInterval, +proxies, +createdAt, +approvalType, +name, +attributes, +grpcOperationGroup, +quotaTimeUnit, +description, +quota, +lastModifiedAt, +environments, +graphqlOperationGroup, +operationGroup, +quotaCounterScope +) +SELECT +'{{ organizationsId }}', +'{{ displayName }}', +'{{ scopes }}', +'{{ apiResources }}', +'{{ quotaInterval }}', +'{{ proxies }}', +'{{ createdAt }}', +'{{ approvalType }}', +'{{ name }}', +'{{ attributes }}', +'{{ grpcOperationGroup }}', +'{{ quotaTimeUnit }}', +'{{ description }}', +'{{ quota }}', +'{{ lastModifiedAt }}', +'{{ environments }}', +'{{ graphqlOperationGroup }}', +'{{ operationGroup }}', +'{{ quotaCounterScope }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: displayName + value: '{{ displayName }}' + - name: scopes + value: '{{ scopes }}' + - name: apiResources + value: '{{ apiResources }}' + - name: quotaInterval + value: '{{ quotaInterval }}' + - name: proxies + value: '{{ proxies }}' + - name: createdAt + value: '{{ createdAt }}' + - name: approvalType + value: '{{ approvalType }}' + - name: name + value: '{{ name }}' + - name: attributes + value: '{{ attributes }}' + - name: grpcOperationGroup + value: '{{ grpcOperationGroup }}' + - name: quotaTimeUnit + value: '{{ quotaTimeUnit }}' + - name: description + value: '{{ description }}' + - name: quota + value: '{{ quota }}' + - name: lastModifiedAt + value: '{{ lastModifiedAt }}' + - name: environments + value: '{{ environments }}' + - name: graphqlOperationGroup + value: '{{ graphqlOperationGroup }}' + - name: operationGroup + value: '{{ operationGroup }}' + - name: quotaCounterScope + value: '{{ quotaCounterScope }}' + +``` + + + +## `DELETE` example + +Deletes the specified apiproduct resource. + +```sql +DELETE FROM google.apigee.apiproducts +WHERE apiproductsId = '{{ apiproductsId }}' +AND organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/apiproducts_app_group_app_key_api_product/index.md b/docs/google-docs/providers/google/apigee/apiproducts_app_group_app_key_api_product/index.md index 81b4274817..efb64d95f8 100644 --- a/docs/google-docs/providers/google/apigee/apiproducts_app_group_app_key_api_product/index.md +++ b/docs/google-docs/providers/google/apigee/apiproducts_app_group_app_key_api_product/index.md @@ -1,3 +1,4 @@ + --- title: apiproducts_app_group_app_key_api_product hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - apiproducts_app_group_app_key_api_product - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an apiproducts_app_group_app_key_api_product resource or lists apiproducts_app_group_app_key_api_product in a region ## Overview
@@ -28,8 +30,26 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `UPDATE` | | Approves or revokes the consumer key for an API product. After a consumer key is approved, the app can use it to access APIs. A consumer key that is revoked or pending cannot be used to access an API. Any access tokens associated with a revoked consumer key will remain active. However, Apigee checks the status of the consumer key and if set to `revoked` will not allow access to the API. | + +## `UPDATE` example + +Updates a apiproducts_app_group_app_key_api_product only if the necessary resources are available. + +```sql +UPDATE google.apigee.apiproducts_app_group_app_key_api_product +SET + +WHERE +apiproductsId = '{{ apiproductsId }}' +AND appgroupsId = '{{ appgroupsId }}' +AND appsId = '{{ appsId }}' +AND keysId = '{{ keysId }}' +AND organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/apiproducts_developer_app_key_api_product/index.md b/docs/google-docs/providers/google/apigee/apiproducts_developer_app_key_api_product/index.md index 10e38a10a8..902b87c295 100644 --- a/docs/google-docs/providers/google/apigee/apiproducts_developer_app_key_api_product/index.md +++ b/docs/google-docs/providers/google/apigee/apiproducts_developer_app_key_api_product/index.md @@ -1,3 +1,4 @@ + --- title: apiproducts_developer_app_key_api_product hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - apiproducts_developer_app_key_api_product - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an apiproducts_developer_app_key_api_product resource or lists apiproducts_developer_app_key_api_product in a region ## Overview @@ -28,8 +30,26 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `UPDATE` | | Approves or revokes the consumer key for an API product. After a consumer key is approved, the app can use it to access APIs. A consumer key that is revoked or pending cannot be used to access an API. Any access tokens associated with a revoked consumer key will remain active. However, Apigee checks the status of the consumer key and if set to `revoked` will not allow access to the API. | + +## `UPDATE` example + +Updates a apiproducts_developer_app_key_api_product only if the necessary resources are available. + +```sql +UPDATE google.apigee.apiproducts_developer_app_key_api_product +SET + +WHERE +apiproductsId = '{{ apiproductsId }}' +AND appsId = '{{ appsId }}' +AND developersId = '{{ developersId }}' +AND keysId = '{{ keysId }}' +AND organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/apis/index.md b/docs/google-docs/providers/google/apigee/apis/index.md index e075377e76..eb6c0daf47 100644 --- a/docs/google-docs/providers/google/apigee/apis/index.md +++ b/docs/google-docs/providers/google/apigee/apis/index.md @@ -1,3 +1,4 @@ + --- title: apis hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - apis - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an api resource or lists apis in a region ## Overview @@ -37,6 +39,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Metadata common to many entities in this API. | | | `boolean` | Output only. Whether this proxy is read-only. A read-only proxy cannot have new revisions created through calls to CreateApiProxyRevision. A proxy is read-only if it was generated by an archive. | | | `array` | Output only. List of revisions defined for the API proxy. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -45,3 +48,95 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates an API proxy. The API proxy created will not be accessible at runtime until it is deployed to an environment. Create a new API proxy by setting the `name` query parameter to the name of the API proxy. Import an API proxy configuration bundle stored in zip format on your local machine to your organization by doing the following: * Set the `name` query parameter to the name of the API proxy. * Set the `action` query parameter to `import`. * Set the `Content-Type` header to `multipart/form-data`. * Pass as a file the name of API proxy configuration bundle stored in zip format on your local machine using the `file` form field. **Note**: To validate the API proxy configuration bundle only without importing it, set the `action` query parameter to `validate`. When importing an API proxy configuration bundle, if the API proxy does not exist, it will be created. If the API proxy exists, then a new revision is created. Invalid API proxy configurations are rejected, and a list of validation errors is returned to the client. | | | `DELETE` | | Deletes an API proxy and all associated endpoints, policies, resources, and revisions. The API proxy must be undeployed before you can delete it. | | | `UPDATE` | | Updates an existing API proxy. | + +## `SELECT` examples + +Lists the names of all API proxies in an organization. The names returned correspond to the names defined in the configuration files for each API proxy. + +```sql +SELECT +name, +apiProxyType, +labels, +latestRevisionId, +metaData, +readOnly, +revision +FROM google.apigee.apis +WHERE organizationsId = '{{ organizationsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new apis resource. + + + + +```sql +/*+ create */ +INSERT INTO google.apigee.apis ( +organizationsId, +contentType, +extensions, +data +) +SELECT +'{{ organizationsId }}', +'{{ contentType }}', +'{{ extensions }}', +'{{ data }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: contentType + value: '{{ contentType }}' + - name: extensions + value: '{{ extensions }}' + - name: data + value: '{{ data }}' + +``` + + + +## `UPDATE` example + +Updates a api only if the necessary resources are available. + +```sql +UPDATE google.apigee.apis +SET +labels = '{{ labels }}', +apiProxyType = '{{ apiProxyType }}', +latestRevisionId = '{{ latestRevisionId }}', +readOnly = true|false, +name = '{{ name }}', +metaData = '{{ metaData }}', +revision = '{{ revision }}' +WHERE +apisId = '{{ apisId }}' +AND organizationsId = '{{ organizationsId }}'; +``` + +## `DELETE` example + +Deletes the specified api resource. + +```sql +DELETE FROM google.apigee.apis +WHERE apisId = '{{ apisId }}' +AND organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/appgroups/index.md b/docs/google-docs/providers/google/apigee/appgroups/index.md index b935b8e8c7..b530b4ff9f 100644 --- a/docs/google-docs/providers/google/apigee/appgroups/index.md +++ b/docs/google-docs/providers/google/apigee/appgroups/index.md @@ -1,3 +1,4 @@ + --- title: appgroups hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - appgroups - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an appgroup resource or lists appgroups in a region ## Overview
@@ -40,6 +42,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Modified time as milliseconds since epoch. | | | `string` | Immutable. the org the app group is created | | | `string` | Valid values are `active` or `inactive`. Note that the status of the AppGroup should be updated via UpdateAppGroupRequest by setting the action as `active` or `inactive`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -47,5 +50,108 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists all AppGroups in an organization. A maximum of 1000 AppGroups are returned in the response if PageSize is not specified, or if the PageSize is greater than 1000. | | | `INSERT` | | Creates an AppGroup. Once created, user can register apps under the AppGroup to obtain secret key and password. At creation time, the AppGroup's state is set as `active`. | | | `DELETE` | | Deletes an AppGroup. All app and API keys associations with the AppGroup are also removed. **Warning**: This API will permanently delete the AppGroup and related artifacts. **Note**: The delete operation is asynchronous. The AppGroup app is deleted immediately, but its associated resources, such as apps and API keys, may take anywhere from a few seconds to a few minutes to be deleted. | -| | `UPDATE` | | Updates an AppGroup. This API replaces the existing AppGroup details with those specified in the request. Include or exclude any existing details that you want to retain or delete, respectively. Note that the state of the AppGroup should be updated using `action`, and not via AppGroup. | -| | `EXEC` | | Lists all AppGroups in an organization. A maximum of 1000 AppGroups are returned in the response if PageSize is not specified, or if the PageSize is greater than 1000. | +| | `EXEC` | | Updates an AppGroup. This API replaces the existing AppGroup details with those specified in the request. Include or exclude any existing details that you want to retain or delete, respectively. Note that the state of the AppGroup should be updated using `action`, and not via AppGroup. | + +## `SELECT` examples + +Lists all AppGroups in an organization. A maximum of 1000 AppGroups are returned in the response if PageSize is not specified, or if the PageSize is greater than 1000. + +```sql +SELECT +name, +appGroupId, +attributes, +channelId, +channelUri, +createdAt, +displayName, +lastModifiedAt, +organization, +status +FROM google.apigee.appgroups +WHERE organizationsId = '{{ organizationsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new appgroups resource. + + + + +```sql +/*+ create */ +INSERT INTO google.apigee.appgroups ( +organizationsId, +appGroupId, +organization, +channelId, +status, +attributes, +name, +channelUri, +lastModifiedAt, +displayName, +createdAt +) +SELECT +'{{ organizationsId }}', +'{{ appGroupId }}', +'{{ organization }}', +'{{ channelId }}', +'{{ status }}', +'{{ attributes }}', +'{{ name }}', +'{{ channelUri }}', +'{{ lastModifiedAt }}', +'{{ displayName }}', +'{{ createdAt }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: appGroupId + value: '{{ appGroupId }}' + - name: organization + value: '{{ organization }}' + - name: channelId + value: '{{ channelId }}' + - name: status + value: '{{ status }}' + - name: attributes + value: '{{ attributes }}' + - name: name + value: '{{ name }}' + - name: channelUri + value: '{{ channelUri }}' + - name: lastModifiedAt + value: '{{ lastModifiedAt }}' + - name: displayName + value: '{{ displayName }}' + - name: createdAt + value: '{{ createdAt }}' + +``` + + + +## `DELETE` example + +Deletes the specified appgroup resource. + +```sql +DELETE FROM google.apigee.appgroups +WHERE appgroupsId = '{{ appgroupsId }}' +AND organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/apps/index.md b/docs/google-docs/providers/google/apigee/apps/index.md index ab1813cf9f..19df84f030 100644 --- a/docs/google-docs/providers/google/apigee/apps/index.md +++ b/docs/google-docs/providers/google/apigee/apps/index.md @@ -1,3 +1,4 @@ + --- title: apps hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - apps - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an app resource or lists apps in a region ## Overview
@@ -30,19 +32,19 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Name of the developer app. | -| | `array` | List of API products associated with the developer app. | -| | `string` | Developer app family. | -| | `string` | ID of the developer app. | -| | `array` | List of attributes for the developer app. | -| | `string` | Callback URL used by OAuth 2.0 authorization servers to communicate authorization codes back to developer apps. | -| | `string` | Output only. Time the developer app was created in milliseconds since epoch. | -| | `array` | Output only. Set of credentials for the developer app consisting of the consumer key/secret pairs associated with the API products. | -| | `string` | ID of the developer. | -| | `string` | Expiration time, in milliseconds, for the consumer key that is generated for the developer app. If not set or left to the default value of `-1`, the API key never expires. The expiration time can't be updated after it is set. | -| | `string` | Output only. Time the developer app was modified in milliseconds since epoch. | -| | `array` | Scopes to apply to the developer app. The specified scopes must already exist for the API product that you associate with the developer app. | -| | `string` | Status of the credential. Valid values include `approved` or `revoked`. | +| | `string` | Immutable. Name of the AppGroup app whose resource name format is of syntax (organizations/*/appgroups/*/apps/*). | +| | `array` | List of API products associated with the AppGroup app. | +| | `string` | Immutable. Name of the parent AppGroup whose resource name format is of syntax (organizations/*/appgroups/*). | +| | `string` | Immutable. ID of the AppGroup app. | +| | `array` | List of attributes for the AppGroup app. | +| | `string` | Callback URL used by OAuth 2.0 authorization servers to communicate authorization codes back to AppGroup apps. | +| | `string` | Output only. Time the AppGroup app was created in milliseconds since epoch. | +| | `array` | Output only. Set of credentials for the AppGroup app consisting of the consumer key/secret pairs associated with the API products. | +| | `string` | Immutable. Expiration time, in seconds, for the consumer key that is generated for the AppGroup app. If not set or left to the default value of `-1`, the API key never expires. The expiration time can't be updated after it is set. | +| | `string` | Output only. Time the AppGroup app was modified in milliseconds since epoch. | +| | `array` | Scopes to apply to the AppGroup app. The specified scopes must already exist for the API product that you associate with the AppGroup app. | +| | `string` | Status of the App. Valid values include `approved` or `revoked`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -56,9 +58,124 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates an app associated with a developer. This API associates the developer app with the specified API product and auto-generates an API key for the app to use in calls to API proxies inside that API product. The `name` is the unique ID of the app that you can use in API calls. The `DisplayName` (set as an attribute) appears in the UI. If you don't set the `DisplayName` attribute, the `name` appears in the UI. | | | `DELETE` | | Deletes an AppGroup app. **Note**: The delete operation is asynchronous. The AppGroup app is deleted immediately, but its associated resources, such as app keys or access tokens, may take anywhere from a few seconds to a few minutes to be deleted. | | | `DELETE` | | Deletes a developer app. **Note**: The delete operation is asynchronous. The developer app is deleted immediately, but its associated resources, such as app keys or access tokens, may take anywhere from a few seconds to a few minutes to be deleted. | -| | `UPDATE` | | Updates the details for an AppGroup app. In addition, you can add an API product to an AppGroup app and automatically generate an API key for the app to use when calling APIs in the API product. If you want to use an existing API key for the API product, add the API product to the API key using the UpdateAppGroupAppKey API. Using this API, you cannot update the app name, as it is the primary key used to identify the app and cannot be changed. This API replaces the existing attributes with those specified in the request. Include or exclude any existing attributes that you want to retain or delete, respectively. | -| | `UPDATE` | | Updates the details for a developer app. In addition, you can add an API product to a developer app and automatically generate an API key for the app to use when calling APIs in the API product. If you want to use an existing API key for the API product, add the API product to the API key using the UpdateDeveloperAppKey API. Using this API, you cannot update the following: * App name as it is the primary key used to identify the app and cannot be changed. * Scopes associated with the app. Instead, use the ReplaceDeveloperAppKey API. This API replaces the existing attributes with those specified in the request. Include or exclude any existing attributes that you want to retain or delete, respectively. | -| | `EXEC` | | Lists all apps created by an AppGroup in an Apigee organization. Optionally, you can request an expanded view of the AppGroup apps. Lists all AppGroupApps in an AppGroup. A maximum of 1000 AppGroup apps are returned in the response if PageSize is not specified, or if the PageSize is greater than 1000. | -| | `EXEC` | | Lists IDs of apps within an organization that have the specified app status (approved or revoked) or are of the specified app type (developer or company). | +| | `EXEC` | | Updates the details for an AppGroup app. In addition, you can add an API product to an AppGroup app and automatically generate an API key for the app to use when calling APIs in the API product. If you want to use an existing API key for the API product, add the API product to the API key using the UpdateAppGroupAppKey API. Using this API, you cannot update the app name, as it is the primary key used to identify the app and cannot be changed. This API replaces the existing attributes with those specified in the request. Include or exclude any existing attributes that you want to retain or delete, respectively. | | | `EXEC` | | Updates attributes for a developer app. This API replaces the current attributes with those specified in the request. | | | `EXEC` | | Manages access to a developer app by enabling you to: * Approve or revoke a developer app * Generate a new consumer key and secret for a developer app To approve or revoke a developer app, set the `action` query parameter to `approve` or `revoke`, respectively, and the `Content-Type` header to `application/octet-stream`. If a developer app is revoked, none of its API keys are valid for API calls even though the keys are still approved. If successful, the API call returns the following HTTP status code: `204 No Content` To generate a new consumer key and secret for a developer app, pass the new key/secret details. Rather than replace an existing key, this API generates a new key. In this case, multiple key pairs may be associated with a single developer app. Each key pair has an independent status (`approve` or `revoke`) and expiration time. Any approved, non-expired key can be used in an API call. For example, if you're using API key rotation, you can generate new keys with expiration times that overlap keys that are going to expire. You might also generate a new consumer key/secret if the security of the original key/secret is compromised. The `keyExpiresIn` property defines the expiration time for the API key in milliseconds. If you don't set this property or set it to `-1`, the API key never expires. **Notes**: * When generating a new key/secret, this API replaces the existing attributes, notes, and callback URLs with those specified in the request. Include or exclude any existing information that you want to retain or delete, respectively. * To migrate existing consumer keys and secrets to hybrid from another system, see the CreateDeveloperAppKey API. | +| | `EXEC` | | Updates the details for a developer app. In addition, you can add an API product to a developer app and automatically generate an API key for the app to use when calling APIs in the API product. If you want to use an existing API key for the API product, add the API product to the API key using the UpdateDeveloperAppKey API. Using this API, you cannot update the following: * App name as it is the primary key used to identify the app and cannot be changed. * Scopes associated with the app. Instead, use the ReplaceDeveloperAppKey API. This API replaces the existing attributes with those specified in the request. Include or exclude any existing attributes that you want to retain or delete, respectively. | + +## `SELECT` examples + +Lists IDs of apps within an organization that have the specified app status (approved or revoked) or are of the specified app type (developer or company). + +```sql +SELECT +name, +apiProducts, +appGroup, +appId, +attributes, +callbackUrl, +createdAt, +credentials, +keyExpiresIn, +lastModifiedAt, +scopes, +status +FROM google.apigee.apps +WHERE organizationsId = '{{ organizationsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new apps resource. + + + + +```sql +/*+ create */ +INSERT INTO google.apigee.apps ( +appgroupsId, +organizationsId, +createdAt, +apiProducts, +attributes, +keyExpiresIn, +appGroup, +credentials, +scopes, +status, +name, +lastModifiedAt, +callbackUrl, +appId +) +SELECT +'{{ appgroupsId }}', +'{{ organizationsId }}', +'{{ createdAt }}', +'{{ apiProducts }}', +'{{ attributes }}', +'{{ keyExpiresIn }}', +'{{ appGroup }}', +'{{ credentials }}', +'{{ scopes }}', +'{{ status }}', +'{{ name }}', +'{{ lastModifiedAt }}', +'{{ callbackUrl }}', +'{{ appId }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: createdAt + value: '{{ createdAt }}' + - name: apiProducts + value: '{{ apiProducts }}' + - name: attributes + value: '{{ attributes }}' + - name: keyExpiresIn + value: '{{ keyExpiresIn }}' + - name: appGroup + value: '{{ appGroup }}' + - name: credentials + value: '{{ credentials }}' + - name: scopes + value: '{{ scopes }}' + - name: status + value: '{{ status }}' + - name: name + value: '{{ name }}' + - name: lastModifiedAt + value: '{{ lastModifiedAt }}' + - name: callbackUrl + value: '{{ callbackUrl }}' + - name: appId + value: '{{ appId }}' + +``` + + + +## `DELETE` example + +Deletes the specified app resource. + +```sql +DELETE FROM google.apigee.apps +WHERE appgroupsId = '{{ appgroupsId }}' +AND appsId = '{{ appsId }}' +AND organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/archive_deployments/index.md b/docs/google-docs/providers/google/apigee/archive_deployments/index.md index eb700045ae..50d12383a7 100644 --- a/docs/google-docs/providers/google/apigee/archive_deployments/index.md +++ b/docs/google-docs/providers/google/apigee/archive_deployments/index.md @@ -1,3 +1,4 @@ + --- title: archive_deployments hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - archive_deployments - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an archive_deployment resource or lists archive_deployments in a region ## Overview
@@ -30,12 +32,13 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Name of the Archive Deployment in the following format: `organizations/{org}/environments/{env}/archiveDeployments/{id}`. | +| | `string` | Name of the Archive Deployment in the following format: `organizations/{org}/environments/{env}/archiveDeployments/{id}`. | | | `string` | Output only. The time at which the Archive Deployment was created in milliseconds since the epoch. | | | `string` | Input only. The Google Cloud Storage signed URL returned from GenerateUploadUrl and used to upload the Archive zip file. | -| | `object` | User-supplied key-value pairs used to organize ArchiveDeployments. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: \p{Ll}\p{Lo}{0,62} Label values must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63} No more than 64 labels can be associated with a given store. | -| | `string` | Output only. A reference to the LRO that created this Archive Deployment in the following format: `organizations/{org}/operations/{id}` | +| | `object` | User-supplied key-value pairs used to organize ArchiveDeployments. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: \p{Ll}\p{Lo}{0,62} Label values must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63} No more than 64 labels can be associated with a given store. | +| | `string` | Output only. A reference to the LRO that created this Archive Deployment in the following format: `organizations/{org}/operations/{id}` | | | `string` | Output only. The time at which the Archive Deployment was updated in milliseconds since the epoch. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -44,6 +47,112 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new ArchiveDeployment. | | | `DELETE` | | Deletes an archive deployment. | | | `UPDATE` | | Updates an existing ArchiveDeployment. Labels can modified but most of the other fields are not modifiable. | -| | `EXEC` | | Lists the ArchiveDeployments in the specified Environment. | | | `EXEC` | | Generates a signed URL for downloading the original zip file used to create an Archive Deployment. The URL is only valid for a limited period and should be used within minutes after generation. Each call returns a new upload URL. | | | `EXEC` | | Generates a signed URL for uploading an Archive zip file to Google Cloud Storage. Once the upload is complete, the signed URL should be passed to CreateArchiveDeployment. When uploading to the generated signed URL, please follow these restrictions: * Source file type should be a zip file. * Source file size should not exceed 1GB limit. * No credentials should be attached - the signed URLs provide access to the target bucket using internal service identity; if credentials were attached, the identity from the credentials would be used, but that identity does not have permissions to upload files to the URL. When making a HTTP PUT request, these two headers need to be specified: * `content-type: application/zip` * `x-goog-content-length-range: 0,1073741824` And this header SHOULD NOT be specified: * `Authorization: Bearer YOUR_TOKEN` | + +## `SELECT` examples + +Lists the ArchiveDeployments in the specified Environment. + +```sql +SELECT +name, +createdAt, +gcsUri, +labels, +operation, +updatedAt +FROM google.apigee.archive_deployments +WHERE environmentsId = '{{ environmentsId }}' +AND organizationsId = '{{ organizationsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new archive_deployments resource. + + + + +```sql +/*+ create */ +INSERT INTO google.apigee.archive_deployments ( +environmentsId, +organizationsId, +createdAt, +gcsUri, +name, +operation, +updatedAt, +labels +) +SELECT +'{{ environmentsId }}', +'{{ organizationsId }}', +'{{ createdAt }}', +'{{ gcsUri }}', +'{{ name }}', +'{{ operation }}', +'{{ updatedAt }}', +'{{ labels }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: createdAt + value: '{{ createdAt }}' + - name: gcsUri + value: '{{ gcsUri }}' + - name: name + value: '{{ name }}' + - name: operation + value: '{{ operation }}' + - name: updatedAt + value: '{{ updatedAt }}' + - name: labels + value: '{{ labels }}' + +``` + + + +## `UPDATE` example + +Updates a archive_deployment only if the necessary resources are available. + +```sql +UPDATE google.apigee.archive_deployments +SET +createdAt = '{{ createdAt }}', +gcsUri = '{{ gcsUri }}', +name = '{{ name }}', +operation = '{{ operation }}', +updatedAt = '{{ updatedAt }}', +labels = '{{ labels }}' +WHERE +archiveDeploymentsId = '{{ archiveDeploymentsId }}' +AND environmentsId = '{{ environmentsId }}' +AND organizationsId = '{{ organizationsId }}'; +``` + +## `DELETE` example + +Deletes the specified archive_deployment resource. + +```sql +DELETE FROM google.apigee.archive_deployments +WHERE archiveDeploymentsId = '{{ archiveDeploymentsId }}' +AND environmentsId = '{{ environmentsId }}' +AND organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/attachments/index.md b/docs/google-docs/providers/google/apigee/attachments/index.md index 8060c28c3f..1af30e9816 100644 --- a/docs/google-docs/providers/google/apigee/attachments/index.md +++ b/docs/google-docs/providers/google/apigee/attachments/index.md @@ -1,3 +1,4 @@ + --- title: attachments hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - attachments - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an attachment resource or lists attachments in a region ## Overview
@@ -34,6 +36,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The time at which the environment group attachment was created as milliseconds since epoch. | | | `string` | Required. ID of the attached environment. | | | `string` | Output only. ID of the environment group. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -45,5 +48,81 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new attachment of an environment to an instance. **Note:** Not supported for Apigee hybrid. | | | `DELETE` | | Deletes an environment group attachment. | | | `DELETE` | | Deletes an attachment. **Note:** Not supported for Apigee hybrid. | -| | `EXEC` | | Lists all attachments of an environment group. | -| | `EXEC` | | Lists all attachments to an instance. **Note:** Not supported for Apigee hybrid. | + +## `SELECT` examples + +Lists all attachments of an environment group. + +```sql +SELECT +name, +createdAt, +environment, +environmentGroupId +FROM google.apigee.attachments +WHERE envgroupsId = '{{ envgroupsId }}' +AND organizationsId = '{{ organizationsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new attachments resource. + + + + +```sql +/*+ create */ +INSERT INTO google.apigee.attachments ( +envgroupsId, +organizationsId, +createdAt, +environmentGroupId, +environment, +name +) +SELECT +'{{ envgroupsId }}', +'{{ organizationsId }}', +'{{ createdAt }}', +'{{ environmentGroupId }}', +'{{ environment }}', +'{{ name }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: createdAt + value: '{{ createdAt }}' + - name: environmentGroupId + value: '{{ environmentGroupId }}' + - name: environment + value: '{{ environment }}' + - name: name + value: '{{ name }}' + +``` + + + +## `DELETE` example + +Deletes the specified attachment resource. + +```sql +DELETE FROM google.apigee.attachments +WHERE attachmentsId = '{{ attachmentsId }}' +AND envgroupsId = '{{ envgroupsId }}' +AND organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/attributes/index.md b/docs/google-docs/providers/google/apigee/attributes/index.md index 53b0864991..c2e6298ee5 100644 --- a/docs/google-docs/providers/google/apigee/attributes/index.md +++ b/docs/google-docs/providers/google/apigee/attributes/index.md @@ -1,3 +1,4 @@ + --- title: attributes hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - attributes - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an attribute resource or lists attributes in a region ## Overview
@@ -32,6 +34,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | API key of the attribute. | | | `string` | Value of the attribute. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -44,3 +47,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `DELETE` | | Deletes an API product attribute. | | | `DELETE` | | Deletes a developer app attribute. | | | `DELETE` | | Deletes a developer attribute. | + +## `SELECT` examples + +Returns a list of all developer attributes. + +```sql +SELECT +name, +value +FROM google.apigee.attributes +WHERE developersId = '{{ developersId }}' +AND organizationsId = '{{ organizationsId }}'; +``` + +## `DELETE` example + +Deletes the specified attribute resource. + +```sql +DELETE FROM google.apigee.attributes +WHERE attributesId = '{{ attributesId }}' +AND developersId = '{{ developersId }}' +AND organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/attributes_api_product_attribute/index.md b/docs/google-docs/providers/google/apigee/attributes_api_product_attribute/index.md index cff524f313..7706e2c8bb 100644 --- a/docs/google-docs/providers/google/apigee/attributes_api_product_attribute/index.md +++ b/docs/google-docs/providers/google/apigee/attributes_api_product_attribute/index.md @@ -1,3 +1,4 @@ + --- title: attributes_api_product_attribute hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - attributes_api_product_attribute - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an attributes_api_product_attribute resource or lists attributes_api_product_attribute in a region ## Overview
@@ -28,8 +30,25 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `UPDATE` | | Updates the value of an API product attribute. **Note**: OAuth access tokens and Key Management Service (KMS) entities (apps, developers, and API products) are cached for 180 seconds (current default). Any custom attributes associated with entities also get cached for at least 180 seconds after entity is accessed during runtime. In this case, the `ExpiresIn` element on the OAuthV2 policy won't be able to expire an access token in less than 180 seconds. | + +## `UPDATE` example + +Updates a attributes_api_product_attribute only if the necessary resources are available. + +```sql +UPDATE google.apigee.attributes_api_product_attribute +SET +value = '{{ value }}', +name = '{{ name }}' +WHERE +apiproductsId = '{{ apiproductsId }}' +AND attributesId = '{{ attributesId }}' +AND organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/attributes_developer_app_attribute/index.md b/docs/google-docs/providers/google/apigee/attributes_developer_app_attribute/index.md index 31568e1c5a..331f19dce4 100644 --- a/docs/google-docs/providers/google/apigee/attributes_developer_app_attribute/index.md +++ b/docs/google-docs/providers/google/apigee/attributes_developer_app_attribute/index.md @@ -1,3 +1,4 @@ + --- title: attributes_developer_app_attribute hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - attributes_developer_app_attribute - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an attributes_developer_app_attribute resource or lists attributes_developer_app_attribute in a region ## Overview @@ -28,8 +30,26 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `UPDATE` | | Updates a developer app attribute. **Note**: OAuth access tokens and Key Management Service (KMS) entities (apps, developers, and API products) are cached for 180 seconds (current default). Any custom attributes associated with these entities are cached for at least 180 seconds after the entity is accessed at runtime. Therefore, an `ExpiresIn` element on the OAuthV2 policy won't be able to expire an access token in less than 180 seconds. | + +## `UPDATE` example + +Updates a attributes_developer_app_attribute only if the necessary resources are available. + +```sql +UPDATE google.apigee.attributes_developer_app_attribute +SET +value = '{{ value }}', +name = '{{ name }}' +WHERE +appsId = '{{ appsId }}' +AND attributesId = '{{ attributesId }}' +AND developersId = '{{ developersId }}' +AND organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/attributes_developer_attribute/index.md b/docs/google-docs/providers/google/apigee/attributes_developer_attribute/index.md index 4520cf1f20..9635c09352 100644 --- a/docs/google-docs/providers/google/apigee/attributes_developer_attribute/index.md +++ b/docs/google-docs/providers/google/apigee/attributes_developer_attribute/index.md @@ -1,3 +1,4 @@ + --- title: attributes_developer_attribute hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - attributes_developer_attribute - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an attributes_developer_attribute resource or lists attributes_developer_attribute in a region ## Overview @@ -28,8 +30,25 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `UPDATE` | | Updates a developer attribute. **Note**: OAuth access tokens and Key Management Service (KMS) entities (apps, developers, and API products) are cached for 180 seconds (default). Any custom attributes associated with these entities are cached for at least 180 seconds after the entity is accessed at runtime. Therefore, an `ExpiresIn` element on the OAuthV2 policy won't be able to expire an access token in less than 180 seconds. | + +## `UPDATE` example + +Updates a attributes_developer_attribute only if the necessary resources are available. + +```sql +UPDATE google.apigee.attributes_developer_attribute +SET +value = '{{ value }}', +name = '{{ name }}' +WHERE +attributesId = '{{ attributesId }}' +AND developersId = '{{ developersId }}' +AND organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/balance/index.md b/docs/google-docs/providers/google/apigee/balance/index.md index 3078601772..5bfce0e5c1 100644 --- a/docs/google-docs/providers/google/apigee/balance/index.md +++ b/docs/google-docs/providers/google/apigee/balance/index.md @@ -1,3 +1,4 @@ + --- title: balance hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - balance - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an balance resource or lists balance in a region ## Overview @@ -28,7 +30,9 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| diff --git a/docs/google-docs/providers/google/apigee/caches/index.md b/docs/google-docs/providers/google/apigee/caches/index.md index 98e9cbbb47..130a69e618 100644 --- a/docs/google-docs/providers/google/apigee/caches/index.md +++ b/docs/google-docs/providers/google/apigee/caches/index.md @@ -1,3 +1,4 @@ + --- title: caches hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - caches - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an cach resource or lists caches in a region ## Overview @@ -28,8 +30,21 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `DELETE` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `DELETE` | | Deletes a cache. | + +## `DELETE` example + +Deletes the specified cach resource. + +```sql +DELETE FROM google.apigee.caches +WHERE cachesId = '{{ cachesId }}' +AND environmentsId = '{{ environmentsId }}' +AND organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/canaryevaluations/index.md b/docs/google-docs/providers/google/apigee/canaryevaluations/index.md index b7830a9c9e..26bfc82496 100644 --- a/docs/google-docs/providers/google/apigee/canaryevaluations/index.md +++ b/docs/google-docs/providers/google/apigee/canaryevaluations/index.md @@ -1,3 +1,4 @@ + --- title: canaryevaluations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - canaryevaluations - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an canaryevaluation resource or lists canaryevaluations in a region ## Overview @@ -39,8 +41,102 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The current state of the canary evaluation. | | | `string` | Required. The newer version that is serving requests. | | | `string` | Output only. The resulting verdict of the canary evaluations: NONE, PASS, or FAIL. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets a CanaryEvaluation for an organization. | | | `INSERT` | | Creates a new canary evaluation for an organization. | + +## `SELECT` examples + +Gets a CanaryEvaluation for an organization. + +```sql +SELECT +name, +control, +createTime, +endTime, +metricLabels, +startTime, +state, +treatment, +verdict +FROM google.apigee.canaryevaluations +WHERE canaryevaluationsId = '{{ canaryevaluationsId }}' +AND instancesId = '{{ instancesId }}' +AND organizationsId = '{{ organizationsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new canaryevaluations resource. + + + + +```sql +/*+ create */ +INSERT INTO google.apigee.canaryevaluations ( +instancesId, +organizationsId, +startTime, +endTime, +control, +metricLabels, +createTime, +treatment, +name, +verdict, +state +) +SELECT +'{{ instancesId }}', +'{{ organizationsId }}', +'{{ startTime }}', +'{{ endTime }}', +'{{ control }}', +'{{ metricLabels }}', +'{{ createTime }}', +'{{ treatment }}', +'{{ name }}', +'{{ verdict }}', +'{{ state }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: startTime + value: '{{ startTime }}' + - name: endTime + value: '{{ endTime }}' + - name: control + value: '{{ control }}' + - name: metricLabels + value: '{{ metricLabels }}' + - name: createTime + value: '{{ createTime }}' + - name: treatment + value: '{{ treatment }}' + - name: name + value: '{{ name }}' + - name: verdict + value: '{{ verdict }}' + - name: state + value: '{{ state }}' + +``` + + diff --git a/docs/google-docs/providers/google/apigee/create/index.md b/docs/google-docs/providers/google/apigee/create/index.md index 602ceacb2c..8e559ae91d 100644 --- a/docs/google-docs/providers/google/apigee/create/index.md +++ b/docs/google-docs/providers/google/apigee/create/index.md @@ -1,3 +1,4 @@ + --- title: create hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - create - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an create resource or lists create in a region ## Overview
@@ -28,8 +30,84 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `INSERT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `INSERT` | | Creates a custom consumer key and secret for a developer app. This is particularly useful if you want to migrate existing consumer keys and secrets to Apigee from another system. Consumer keys and secrets can contain letters, numbers, underscores, and hyphens. No other special characters are allowed. To avoid service disruptions, a consumer key and secret should not exceed 2 KBs each. **Note**: When creating the consumer key and secret, an association to API products will not be made. Therefore, you should not specify the associated API products in your request. Instead, use the UpdateDeveloperAppKey API to make the association after the consumer key and secret are created. If a consumer key and secret already exist, you can keep them or delete them using the DeleteDeveloperAppKey API. **Note**: All keys start out with status=approved, even if status=revoked is passed when the key is created. To revoke a key, use the UpdateDeveloperAppKey API. | + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new create resource. + + + + +```sql +/*+ create */ +INSERT INTO google.apigee.create ( +appsId, +developersId, +organizationsId, +consumerKey, +expiresInSeconds, +consumerSecret, +attributes, +apiProducts, +status, +issuedAt, +scopes, +expiresAt +) +SELECT +'{{ appsId }}', +'{{ developersId }}', +'{{ organizationsId }}', +'{{ consumerKey }}', +'{{ expiresInSeconds }}', +'{{ consumerSecret }}', +'{{ attributes }}', +'{{ apiProducts }}', +'{{ status }}', +'{{ issuedAt }}', +'{{ scopes }}', +'{{ expiresAt }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: consumerKey + value: '{{ consumerKey }}' + - name: expiresInSeconds + value: '{{ expiresInSeconds }}' + - name: consumerSecret + value: '{{ consumerSecret }}' + - name: attributes + value: '{{ attributes }}' + - name: apiProducts + value: '{{ apiProducts }}' + - name: status + value: '{{ status }}' + - name: issuedAt + value: '{{ issuedAt }}' + - name: scopes + value: '{{ scopes }}' + - name: expiresAt + value: '{{ expiresAt }}' + +``` + + diff --git a/docs/google-docs/providers/google/apigee/data/index.md b/docs/google-docs/providers/google/apigee/data/index.md index 6794478c18..64b5fbbd33 100644 --- a/docs/google-docs/providers/google/apigee/data/index.md +++ b/docs/google-docs/providers/google/apigee/data/index.md @@ -1,3 +1,4 @@ + --- title: data hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - data - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an datum resource or lists data in a region ## Overview @@ -32,7 +34,25 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `boolean` | Flag indicating whether a transaction is completed or not | | | `array` | List of debug data collected by runtime plane at various defined points in the flow. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets the debug data from a transaction. | + +## `SELECT` examples + +Gets the debug data from a transaction. + +```sql +SELECT +completed, +point +FROM google.apigee.data +WHERE apisId = '{{ apisId }}' +AND dataId = '{{ dataId }}' +AND debugsessionsId = '{{ debugsessionsId }}' +AND environmentsId = '{{ environmentsId }}' +AND organizationsId = '{{ organizationsId }}' +AND revisionsId = '{{ revisionsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/datacollectors/index.md b/docs/google-docs/providers/google/apigee/datacollectors/index.md index 9e394d0bc7..3e4d0ec424 100644 --- a/docs/google-docs/providers/google/apigee/datacollectors/index.md +++ b/docs/google-docs/providers/google/apigee/datacollectors/index.md @@ -1,3 +1,4 @@ + --- title: datacollectors hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - datacollectors - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an datacollector resource or lists datacollectors in a region ## Overview
@@ -35,6 +37,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The time at which the data collector was created in milliseconds since the epoch. | | | `string` | Output only. The time at which the Data Collector was last updated in milliseconds since the epoch. | | | `string` | Immutable. The type of data this data collector will collect. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -43,4 +46,99 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new data collector. | | | `DELETE` | | Deletes a data collector. | | | `UPDATE` | | Updates a data collector. | -| | `EXEC` | | Lists all data collectors. | + +## `SELECT` examples + +Lists all data collectors. + +```sql +SELECT +name, +description, +createdAt, +lastModifiedAt, +type +FROM google.apigee.datacollectors +WHERE organizationsId = '{{ organizationsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new datacollectors resource. + + + + +```sql +/*+ create */ +INSERT INTO google.apigee.datacollectors ( +organizationsId, +type, +createdAt, +description, +name, +lastModifiedAt +) +SELECT +'{{ organizationsId }}', +'{{ type }}', +'{{ createdAt }}', +'{{ description }}', +'{{ name }}', +'{{ lastModifiedAt }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: type + value: '{{ type }}' + - name: createdAt + value: '{{ createdAt }}' + - name: description + value: '{{ description }}' + - name: name + value: '{{ name }}' + - name: lastModifiedAt + value: '{{ lastModifiedAt }}' + +``` + + + +## `UPDATE` example + +Updates a datacollector only if the necessary resources are available. + +```sql +UPDATE google.apigee.datacollectors +SET +type = '{{ type }}', +createdAt = '{{ createdAt }}', +description = '{{ description }}', +name = '{{ name }}', +lastModifiedAt = '{{ lastModifiedAt }}' +WHERE +datacollectorsId = '{{ datacollectorsId }}' +AND organizationsId = '{{ organizationsId }}'; +``` + +## `DELETE` example + +Deletes the specified datacollector resource. + +```sql +DELETE FROM google.apigee.datacollectors +WHERE datacollectorsId = '{{ datacollectorsId }}' +AND organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/datastores/index.md b/docs/google-docs/providers/google/apigee/datastores/index.md index 2fc90d0460..c8c5e82c20 100644 --- a/docs/google-docs/providers/google/apigee/datastores/index.md +++ b/docs/google-docs/providers/google/apigee/datastores/index.md @@ -1,3 +1,4 @@ + --- title: datastores hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - datastores - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an datastore resource or lists datastores in a region ## Overview
@@ -35,8 +37,9 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Required. Display name in UI | | | `string` | Output only. Datastore last update time, in milliseconds since the epoch of 1970-01-01T00:00:00Z | | | `string` | Output only. Organization that the datastore belongs to | -| | `string` | Output only. Resource link of Datastore. Example: `/organizations/{org}/analytics/datastores/{uuid}` | +| | `string` | Output only. Resource link of Datastore. Example: `/organizations/{org}/analytics/datastores/{uuid}` | | | `string` | Destination storage type. Supported types `gcs` or `bigquery`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -44,5 +47,94 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | List Datastores | | | `INSERT` | | Create a Datastore for an org | | | `DELETE` | | Delete a Datastore from an org. | -| | `UPDATE` | | Update a Datastore | | | `EXEC` | | Test if Datastore configuration is correct. This includes checking if credentials provided by customer have required permissions in target destination storage | +| | `EXEC` | | Update a Datastore | + +## `SELECT` examples + +List Datastores + +```sql +SELECT +createTime, +datastoreConfig, +displayName, +lastUpdateTime, +org, +self, +targetType +FROM google.apigee.datastores +WHERE organizationsId = '{{ organizationsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new datastores resource. + + + + +```sql +/*+ create */ +INSERT INTO google.apigee.datastores ( +organizationsId, +datastoreConfig, +lastUpdateTime, +org, +displayName, +self, +targetType, +createTime +) +SELECT +'{{ organizationsId }}', +'{{ datastoreConfig }}', +'{{ lastUpdateTime }}', +'{{ org }}', +'{{ displayName }}', +'{{ self }}', +'{{ targetType }}', +'{{ createTime }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: datastoreConfig + value: '{{ datastoreConfig }}' + - name: lastUpdateTime + value: '{{ lastUpdateTime }}' + - name: org + value: '{{ org }}' + - name: displayName + value: '{{ displayName }}' + - name: self + value: '{{ self }}' + - name: targetType + value: '{{ targetType }}' + - name: createTime + value: '{{ createTime }}' + +``` + + + +## `DELETE` example + +Deletes the specified datastore resource. + +```sql +DELETE FROM google.apigee.datastores +WHERE datastoresId = '{{ datastoresId }}' +AND organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/debugsessions/index.md b/docs/google-docs/providers/google/apigee/debugsessions/index.md index 57c4bc47bd..06979ba9bb 100644 --- a/docs/google-docs/providers/google/apigee/debugsessions/index.md +++ b/docs/google-docs/providers/google/apigee/debugsessions/index.md @@ -1,3 +1,4 @@ + --- title: debugsessions hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - debugsessions - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an debugsession resource or lists debugsessions in a region ## Overview
@@ -37,10 +39,98 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Optional. The time in seconds after which this DebugSession should end. This value will override the value in query param, if both are provided. | | | `integer` | Optional. The maximum number of bytes captured from the response payload. Min = 0, Max = 5120, Default = 5120. | | | `integer` | Optional. The length of time, in seconds, that this debug session is valid, starting from when it's received in the control plane. Min = 1, Max = 15, Default = 10. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Retrieves a debug session. | | | `SELECT` | | Lists debug sessions that are currently active in the given API Proxy revision. | | | `INSERT` | | Creates a debug session for a deployed API Proxy revision. | -| | `EXEC` | | Lists debug sessions that are currently active in the given API Proxy revision. | + +## `SELECT` examples + +Lists debug sessions that are currently active in the given API Proxy revision. + +```sql +SELECT +name, +count, +createTime, +filter, +timeout, +tracesize, +validity +FROM google.apigee.debugsessions +WHERE apisId = '{{ apisId }}' +AND environmentsId = '{{ environmentsId }}' +AND organizationsId = '{{ organizationsId }}' +AND revisionsId = '{{ revisionsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new debugsessions resource. + + + + +```sql +/*+ create */ +INSERT INTO google.apigee.debugsessions ( +apisId, +environmentsId, +organizationsId, +revisionsId, +filter, +createTime, +timeout, +count, +validity, +tracesize, +name +) +SELECT +'{{ apisId }}', +'{{ environmentsId }}', +'{{ organizationsId }}', +'{{ revisionsId }}', +'{{ filter }}', +'{{ createTime }}', +'{{ timeout }}', +'{{ count }}', +'{{ validity }}', +'{{ tracesize }}', +'{{ name }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: filter + value: '{{ filter }}' + - name: createTime + value: '{{ createTime }}' + - name: timeout + value: '{{ timeout }}' + - name: count + value: '{{ count }}' + - name: validity + value: '{{ validity }}' + - name: tracesize + value: '{{ tracesize }}' + - name: name + value: '{{ name }}' + +``` + + diff --git a/docs/google-docs/providers/google/apigee/debugsessions_data/index.md b/docs/google-docs/providers/google/apigee/debugsessions_data/index.md index 32722b3ca3..25c1e1156e 100644 --- a/docs/google-docs/providers/google/apigee/debugsessions_data/index.md +++ b/docs/google-docs/providers/google/apigee/debugsessions_data/index.md @@ -1,3 +1,4 @@ + --- title: debugsessions_data hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - debugsessions_data - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an debugsessions_datum resource or lists debugsessions_data in a region ## Overview
@@ -28,8 +30,23 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `DELETE` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `DELETE` | | Deletes the data from a debug session. This does not cancel the debug session or prevent further data from being collected if the session is still active in runtime pods. | + +## `DELETE` example + +Deletes the specified debugsessions_datum resource. + +```sql +DELETE FROM google.apigee.debugsessions_data +WHERE apisId = '{{ apisId }}' +AND debugsessionsId = '{{ debugsessionsId }}' +AND environmentsId = '{{ environmentsId }}' +AND organizationsId = '{{ organizationsId }}' +AND revisionsId = '{{ revisionsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/deployed_ingress_config/index.md b/docs/google-docs/providers/google/apigee/deployed_ingress_config/index.md index 7c25c4ca9a..fb1cd59cb5 100644 --- a/docs/google-docs/providers/google/apigee/deployed_ingress_config/index.md +++ b/docs/google-docs/providers/google/apigee/deployed_ingress_config/index.md @@ -1,3 +1,4 @@ + --- title: deployed_ingress_config hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - deployed_ingress_config - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an deployed_ingress_config resource or lists deployed_ingress_config in a region ## Overview @@ -30,12 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Name of the resource in the following format: `organizations/{org}/deployedIngressConfig`. | +| | `string` | Name of the resource in the following format: `organizations/{org}/deployedIngressConfig`. | | | `array` | List of environment groups in the organization. | | | `string` | Time at which the IngressConfig revision was created. | | | `string` | Revision id that defines the ordering on IngressConfig resources. The higher the revision, the more recently the configuration was deployed. | | | `string` | A unique id for the ingress config that will only change if the organization is deleted and recreated. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets the deployed ingress configuration for an organization. | + +## `SELECT` examples + +Gets the deployed ingress configuration for an organization. + +```sql +SELECT +name, +environmentGroups, +revisionCreateTime, +revisionId, +uid +FROM google.apigee.deployed_ingress_config +WHERE organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/deployments/index.md b/docs/google-docs/providers/google/apigee/deployments/index.md index 98fd375d8c..a77829a3b7 100644 --- a/docs/google-docs/providers/google/apigee/deployments/index.md +++ b/docs/google-docs/providers/google/apigee/deployments/index.md @@ -1,3 +1,4 @@ + --- title: deployments hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - deployments - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an deployment resource or lists deployments in a region ## Overview
@@ -28,6 +30,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `array` | List of deployments. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -35,9 +41,21 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists all deployments of an API proxy revision. | | | `SELECT` | | Lists all deployments of API proxies or shared flows. | | | `SELECT` | | Lists all deployments of an API proxy in an environment. | +| | `SELECT` | | Gets a particular deployment of Api proxy or a shared flow in an environment | | | `SELECT` | | Lists all deployments of API proxies or shared flows in an environment. | | | `SELECT` | | Lists all deployments of a shared flow in an environment. | | | `SELECT` | | Lists all deployments of a shared flow. | | | `SELECT` | | Lists all deployments of a shared flow revision. | -| | `EXEC` | | Generates a report for a dry run analysis of a DeployApiProxy request without committing the deployment. In addition to the standard validations performed when adding deployments, additional analysis will be done to detect possible traffic routing changes that would result from this deployment being created. Any potential routing conflicts or unsafe changes will be reported in the response. This routing analysis is not performed for a non-dry-run DeployApiProxy request. For a request path `organizations/{org}/environments/{env}/apis/{api}/revisions/{rev}/deployments:generateDeployChangeReport`, two permissions are required: * `apigee.deployments.create` on the resource `organizations/{org}/environments/{env}` * `apigee.proxyrevisions.deploy` on the resource `organizations/{org}/apis/{api}/revisions/{rev}` | -| | `EXEC` | | Generates a report for a dry run analysis of an UndeployApiProxy request without committing the undeploy. In addition to the standard validations performed when removing deployments, additional analysis will be done to detect possible traffic routing changes that would result from this deployment being removed. Any potential routing conflicts or unsafe changes will be reported in the response. This routing analysis is not performed for a non-dry-run UndeployApiProxy request. For a request path `organizations/{org}/environments/{env}/apis/{api}/revisions/{rev}/deployments:generateUndeployChangeReport`, two permissions are required: * `apigee.deployments.delete` on the resource `organizations/{org}/environments/{env}` * `apigee.proxyrevisions.undeploy` on the resource `organizations/{org}/apis/{api}/revisions/{rev}` | +| | `EXEC` | | Generates a report for a dry run analysis of a DeployApiProxy request without committing the deployment. In addition to the standard validations performed when adding deployments, additional analysis will be done to detect possible traffic routing changes that would result from this deployment being created. Any potential routing conflicts or unsafe changes will be reported in the response. This routing analysis is not performed for a non-dry-run DeployApiProxy request. For a request path `organizations/{org}/environments/{env}/apis/{api}/revisions/{rev}/deployments:generateDeployChangeReport`, two permissions are required: * `apigee.deployments.create` on the resource `organizations/{org}/environments/{env}` * `apigee.proxyrevisions.deploy` on the resource `organizations/{org}/apis/{api}/revisions/{rev}` | +| | `EXEC` | | Generates a report for a dry run analysis of an UndeployApiProxy request without committing the undeploy. In addition to the standard validations performed when removing deployments, additional analysis will be done to detect possible traffic routing changes that would result from this deployment being removed. Any potential routing conflicts or unsafe changes will be reported in the response. This routing analysis is not performed for a non-dry-run UndeployApiProxy request. For a request path `organizations/{org}/environments/{env}/apis/{api}/revisions/{rev}/deployments:generateUndeployChangeReport`, two permissions are required: * `apigee.deployments.delete` on the resource `organizations/{org}/environments/{env}` * `apigee.proxyrevisions.undeploy` on the resource `organizations/{org}/apis/{api}/revisions/{rev}` | + +## `SELECT` examples + +Lists all deployments of API proxies or shared flows. + +```sql +SELECT +deployments +FROM google.apigee.deployments +WHERE organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/deployments_iam_policies/index.md b/docs/google-docs/providers/google/apigee/deployments_iam_policies/index.md new file mode 100644 index 0000000000..9b5b03e88f --- /dev/null +++ b/docs/google-docs/providers/google/apigee/deployments_iam_policies/index.md @@ -0,0 +1,59 @@ + +--- +title: deployments_iam_policies +hide_title: false +hide_table_of_contents: false +keywords: + - deployments_iam_policies + - apigee + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an deployments_iam_policy resource or lists deployments_iam_policies in a region + +## Overview + + + + +
Namedeployments_iam_policies
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets the IAM policy on a deployment. For more information, see [Manage users, roles, and permissions using the API](https://cloud.google.com/apigee/docs/api-platform/system-administration/manage-users-roles). You must have the `apigee.deployments.getIamPolicy` permission to call this API. | +| | `EXEC` | | Sets the IAM policy on a deployment, if the policy already exists it will be replaced. For more information, see [Manage users, roles, and permissions using the API](https://cloud.google.com/apigee/docs/api-platform/system-administration/manage-users-roles). You must have the `apigee.deployments.setIamPolicy` permission to call this API. | +| | `EXEC` | | Tests the permissions of a user on a deployment, and returns a subset of permissions that the user has on the deployment. If the deployment does not exist, an empty permission set is returned (a NOT_FOUND error is not returned). | + +## `SELECT` examples + +Gets the IAM policy on a deployment. For more information, see [Manage users, roles, and permissions using the API](https://cloud.google.com/apigee/docs/api-platform/system-administration/manage-users-roles). You must have the `apigee.deployments.getIamPolicy` permission to call this API. + +```sql +SELECT +condition, +members, +role +FROM google.apigee.deployments_iam_policies +WHERE deploymentsId = '{{ deploymentsId }}' +AND environmentsId = '{{ environmentsId }}' +AND organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/developers/index.md b/docs/google-docs/providers/google/apigee/developers/index.md index 41e2a54c8e..547298eb63 100644 --- a/docs/google-docs/providers/google/apigee/developers/index.md +++ b/docs/google-docs/providers/google/apigee/developers/index.md @@ -1,3 +1,4 @@ + --- title: developers hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - developers - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an developer resource or lists developers in a region ## Overview @@ -44,6 +46,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Name of the Apigee organization in which the developer resides. | | | `string` | Output only. Status of the developer. Valid values are `active` and `inactive`. | | | `string` | Required. User name of the developer. Not used by Apigee hybrid. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -51,6 +54,130 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists all developers in an organization by email address. By default, the response does not include company developers. Set the `includeCompany` query parameter to `true` to include company developers. **Note**: A maximum of 1000 developers are returned in the response. You paginate the list of developers returned using the `startKey` and `count` query parameters. | | | `INSERT` | | Creates a developer. Once created, the developer can register an app and obtain an API key. At creation time, a developer is set as `active`. To change the developer status, use the SetDeveloperStatus API. | | | `DELETE` | | Deletes a developer. All apps and API keys associated with the developer are also removed. **Warning**: This API will permanently delete the developer and related artifacts. To avoid permanently deleting developers and their artifacts, set the developer status to `inactive` using the SetDeveloperStatus API. **Note**: The delete operation is asynchronous. The developer app is deleted immediately, but its associated resources, such as apps and API keys, may take anywhere from a few seconds to a few minutes to be deleted. | -| | `UPDATE` | | Updates a developer. This API replaces the existing developer details with those specified in the request. Include or exclude any existing details that you want to retain or delete, respectively. The custom attribute limit is 18. **Note**: OAuth access tokens and Key Management Service (KMS) entities (apps, developers, and API products) are cached for 180 seconds (current default). Any custom attributes associated with these entities are cached for at least 180 seconds after the entity is accessed at runtime. Therefore, an `ExpiresIn` element on the OAuthV2 policy won't be able to expire an access token in less than 180 seconds. | | | `EXEC` | | Updates developer attributes. This API replaces the existing attributes with those specified in the request. Add new attributes, and include or exclude any existing attributes that you want to retain or remove, respectively. The custom attribute limit is 18. **Note**: OAuth access tokens and Key Management Service (KMS) entities (apps, developers, and API products) are cached for 180 seconds (default). Any custom attributes associated with these entities are cached for at least 180 seconds after the entity is accessed at runtime. Therefore, an `ExpiresIn` element on the OAuthV2 policy won't be able to expire an access token in less than 180 seconds. | | | `EXEC` | | Sets the status of a developer. A developer is `active` by default. If you set a developer's status to `inactive`, the API keys assigned to the developer apps are no longer valid even though the API keys are set to `approved`. Inactive developers can still sign in to the developer portal and create apps; however, any new API keys generated during app creation won't work. To set the status of a developer, set the `action` query parameter to `active` or `inactive`, and the `Content-Type` header to `application/octet-stream`. If successful, the API call returns the following HTTP status code: `204 No Content` | +| | `EXEC` | | Updates a developer. This API replaces the existing developer details with those specified in the request. Include or exclude any existing details that you want to retain or delete, respectively. The custom attribute limit is 18. **Note**: OAuth access tokens and Key Management Service (KMS) entities (apps, developers, and API products) are cached for 180 seconds (current default). Any custom attributes associated with these entities are cached for at least 180 seconds after the entity is accessed at runtime. Therefore, an `ExpiresIn` element on the OAuthV2 policy won't be able to expire an access token in less than 180 seconds. | + +## `SELECT` examples + +Lists all developers in an organization by email address. By default, the response does not include company developers. Set the `includeCompany` query parameter to `true` to include company developers. **Note**: A maximum of 1000 developers are returned in the response. You paginate the list of developers returned using the `startKey` and `count` query parameters. + +```sql +SELECT +accessType, +appFamily, +apps, +attributes, +companies, +createdAt, +developerId, +email, +firstName, +lastModifiedAt, +lastName, +organizationName, +status, +userName +FROM google.apigee.developers +WHERE organizationsId = '{{ organizationsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new developers resource. + + + + +```sql +/*+ create */ +INSERT INTO google.apigee.developers ( +organizationsId, +userName, +lastModifiedAt, +apps, +companies, +developerId, +attributes, +lastName, +firstName, +accessType, +status, +appFamily, +organizationName, +email, +createdAt +) +SELECT +'{{ organizationsId }}', +'{{ userName }}', +'{{ lastModifiedAt }}', +'{{ apps }}', +'{{ companies }}', +'{{ developerId }}', +'{{ attributes }}', +'{{ lastName }}', +'{{ firstName }}', +'{{ accessType }}', +'{{ status }}', +'{{ appFamily }}', +'{{ organizationName }}', +'{{ email }}', +'{{ createdAt }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: userName + value: '{{ userName }}' + - name: lastModifiedAt + value: '{{ lastModifiedAt }}' + - name: apps + value: '{{ apps }}' + - name: companies + value: '{{ companies }}' + - name: developerId + value: '{{ developerId }}' + - name: attributes + value: '{{ attributes }}' + - name: lastName + value: '{{ lastName }}' + - name: firstName + value: '{{ firstName }}' + - name: accessType + value: '{{ accessType }}' + - name: status + value: '{{ status }}' + - name: appFamily + value: '{{ appFamily }}' + - name: organizationName + value: '{{ organizationName }}' + - name: email + value: '{{ email }}' + - name: createdAt + value: '{{ createdAt }}' + +``` + + + +## `DELETE` example + +Deletes the specified developer resource. + +```sql +DELETE FROM google.apigee.developers +WHERE developersId = '{{ developersId }}' +AND organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/developers_balance/index.md b/docs/google-docs/providers/google/apigee/developers_balance/index.md index f7d90ab07f..6eaa9d44d2 100644 --- a/docs/google-docs/providers/google/apigee/developers_balance/index.md +++ b/docs/google-docs/providers/google/apigee/developers_balance/index.md @@ -1,3 +1,4 @@ + --- title: developers_balance hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - developers_balance - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an developers_balance resource or lists developers_balance in a region ## Overview
@@ -28,7 +30,23 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `array` | Output only. List of all wallets. Each individual wallet stores the account balance for a particular currency. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets the account balance for the developer. | + +## `SELECT` examples + +Gets the account balance for the developer. + +```sql +SELECT +wallets +FROM google.apigee.developers_balance +WHERE developersId = '{{ developersId }}' +AND organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/developers_monetization_config/index.md b/docs/google-docs/providers/google/apigee/developers_monetization_config/index.md index e1adff6ea6..f4266daee2 100644 --- a/docs/google-docs/providers/google/apigee/developers_monetization_config/index.md +++ b/docs/google-docs/providers/google/apigee/developers_monetization_config/index.md @@ -1,3 +1,4 @@ + --- title: developers_monetization_config hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - developers_monetization_config - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an developers_monetization_config resource or lists developers_monetization_config in a region ## Overview @@ -28,8 +30,24 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | Billing type. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the monetization configuration for the developer. | | | `EXEC` | | Updates the monetization configuration for the developer. | + +## `SELECT` examples + +Gets the monetization configuration for the developer. + +```sql +SELECT +billingType +FROM google.apigee.developers_monetization_config +WHERE developersId = '{{ developersId }}' +AND organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/endpoint_attachments/index.md b/docs/google-docs/providers/google/apigee/endpoint_attachments/index.md index 6deeb49e2a..fc5bfc8592 100644 --- a/docs/google-docs/providers/google/apigee/endpoint_attachments/index.md +++ b/docs/google-docs/providers/google/apigee/endpoint_attachments/index.md @@ -1,3 +1,4 @@ + --- title: endpoint_attachments hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - endpoint_attachments - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an endpoint_attachment resource or lists endpoint_attachments in a region ## Overview @@ -30,12 +32,13 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Name of the endpoint attachment. Use the following structure in your request: `organizations/{org}/endpointAttachments/{endpoint_attachment}` | +| | `string` | Name of the endpoint attachment. Use the following structure in your request: `organizations/{org}/endpointAttachments/{endpoint_attachment}` | | | `string` | Output only. State of the endpoint attachment connection to the service attachment. | | | `string` | Output only. Host that can be used in either the HTTP target endpoint directly or as the host in target server. | | | `string` | Required. Location of the endpoint attachment. | | | `string` | Format: projects/*/regions/*/serviceAttachments/* | | | `string` | Output only. State of the endpoint attachment. Values other than `ACTIVE` mean the resource is not ready to use. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -43,4 +46,87 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists the endpoint attachments in an organization. | | | `INSERT` | | Creates an endpoint attachment. **Note:** Not supported for Apigee hybrid. | | | `DELETE` | | Deletes an endpoint attachment. | -| | `EXEC` | | Lists the endpoint attachments in an organization. | + +## `SELECT` examples + +Lists the endpoint attachments in an organization. + +```sql +SELECT +name, +connectionState, +host, +location, +serviceAttachment, +state +FROM google.apigee.endpoint_attachments +WHERE organizationsId = '{{ organizationsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new endpoint_attachments resource. + + + + +```sql +/*+ create */ +INSERT INTO google.apigee.endpoint_attachments ( +organizationsId, +name, +connectionState, +serviceAttachment, +location, +state, +host +) +SELECT +'{{ organizationsId }}', +'{{ name }}', +'{{ connectionState }}', +'{{ serviceAttachment }}', +'{{ location }}', +'{{ state }}', +'{{ host }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: connectionState + value: '{{ connectionState }}' + - name: serviceAttachment + value: '{{ serviceAttachment }}' + - name: location + value: '{{ location }}' + - name: state + value: '{{ state }}' + - name: host + value: '{{ host }}' + +``` + + + +## `DELETE` example + +Deletes the specified endpoint_attachment resource. + +```sql +DELETE FROM google.apigee.endpoint_attachments +WHERE endpointAttachmentsId = '{{ endpointAttachmentsId }}' +AND organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/entries/index.md b/docs/google-docs/providers/google/apigee/entries/index.md index fcf9c6c2ae..387890ff39 100644 --- a/docs/google-docs/providers/google/apigee/entries/index.md +++ b/docs/google-docs/providers/google/apigee/entries/index.md @@ -1,3 +1,4 @@ + --- title: entries hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - entries - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an entry resource or lists entries in a region ## Overview
@@ -32,6 +34,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Resource URI that can be used to identify the scope of the key value map entries. | | | `string` | Required. Data or payload that is being retrieved and associated with the unique key. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -47,9 +50,74 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `DELETE` | | Deletes a key value entry from a key value map scoped to an organization, environment, or API proxy. **Notes:** * After you delete the key value entry, the policy consuming the entry will continue to function with its cached values for a few minutes. This is expected behavior. * Supported for Apigee hybrid 1.8.x and higher. | | | `DELETE` | | Deletes a key value entry from a key value map scoped to an organization, environment, or API proxy. **Notes:** * After you delete the key value entry, the policy consuming the entry will continue to function with its cached values for a few minutes. This is expected behavior. * Supported for Apigee hybrid 1.8.x and higher. | | | `DELETE` | | Deletes a key value entry from a key value map scoped to an organization, environment, or API proxy. **Notes:** * After you delete the key value entry, the policy consuming the entry will continue to function with its cached values for a few minutes. This is expected behavior. * Supported for Apigee hybrid 1.8.x and higher. | -| | `UPDATE` | | Update key value entry scoped to an organization, environment, or API proxy for an existing key. | -| | `UPDATE` | | Update key value entry scoped to an organization, environment, or API proxy for an existing key. | -| | `UPDATE` | | Update key value entry scoped to an organization, environment, or API proxy for an existing key. | -| | `EXEC` | | Lists key value entries for key values maps scoped to an organization, environment, or API proxy. **Note**: Supported for Apigee hybrid 1.8.x and higher. | -| | `EXEC` | | Lists key value entries for key values maps scoped to an organization, environment, or API proxy. **Note**: Supported for Apigee hybrid 1.8.x and higher. | -| | `EXEC` | | Lists key value entries for key values maps scoped to an organization, environment, or API proxy. **Note**: Supported for Apigee hybrid 1.8.x and higher. | +| | `EXEC` | | Update key value entry scoped to an organization, environment, or API proxy for an existing key. | +| | `EXEC` | | Update key value entry scoped to an organization, environment, or API proxy for an existing key. | +| | `EXEC` | | Update key value entry scoped to an organization, environment, or API proxy for an existing key. | + +## `SELECT` examples + +Lists key value entries for key values maps scoped to an organization, environment, or API proxy. **Note**: Supported for Apigee hybrid 1.8.x and higher. + +```sql +SELECT +name, +value +FROM google.apigee.entries +WHERE keyvaluemapsId = '{{ keyvaluemapsId }}' +AND organizationsId = '{{ organizationsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new entries resource. + + + + +```sql +/*+ create */ +INSERT INTO google.apigee.entries ( +keyvaluemapsId, +organizationsId, +value, +name +) +SELECT +'{{ keyvaluemapsId }}', +'{{ organizationsId }}', +'{{ value }}', +'{{ name }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: value + value: '{{ value }}' + - name: name + value: '{{ name }}' + +``` + + + +## `DELETE` example + +Deletes the specified entry resource. + +```sql +DELETE FROM google.apigee.entries +WHERE entriesId = '{{ entriesId }}' +AND keyvaluemapsId = '{{ keyvaluemapsId }}' +AND organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/envgroups/index.md b/docs/google-docs/providers/google/apigee/envgroups/index.md index 02efc6da84..599c1d3f2c 100644 --- a/docs/google-docs/providers/google/apigee/envgroups/index.md +++ b/docs/google-docs/providers/google/apigee/envgroups/index.md @@ -1,3 +1,4 @@ + --- title: envgroups hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - envgroups - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an envgroup resource or lists envgroups in a region ## Overview
@@ -35,6 +37,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `array` | Required. Host names for this environment group. | | | `string` | Output only. The time at which the environment group was last updated as milliseconds since epoch. | | | `string` | Output only. State of the environment group. Values other than ACTIVE means the resource is not ready to use. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -43,4 +46,99 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new environment group. | | | `DELETE` | | Deletes an environment group. | | | `UPDATE` | | Updates an environment group. | -| | `EXEC` | | Lists all environment groups. | + +## `SELECT` examples + +Lists all environment groups. + +```sql +SELECT +name, +createdAt, +hostnames, +lastModifiedAt, +state +FROM google.apigee.envgroups +WHERE organizationsId = '{{ organizationsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new envgroups resource. + + + + +```sql +/*+ create */ +INSERT INTO google.apigee.envgroups ( +organizationsId, +lastModifiedAt, +state, +name, +hostnames, +createdAt +) +SELECT +'{{ organizationsId }}', +'{{ lastModifiedAt }}', +'{{ state }}', +'{{ name }}', +'{{ hostnames }}', +'{{ createdAt }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: lastModifiedAt + value: '{{ lastModifiedAt }}' + - name: state + value: '{{ state }}' + - name: name + value: '{{ name }}' + - name: hostnames + value: '{{ hostnames }}' + - name: createdAt + value: '{{ createdAt }}' + +``` + + + +## `UPDATE` example + +Updates a envgroup only if the necessary resources are available. + +```sql +UPDATE google.apigee.envgroups +SET +lastModifiedAt = '{{ lastModifiedAt }}', +state = '{{ state }}', +name = '{{ name }}', +hostnames = '{{ hostnames }}', +createdAt = '{{ createdAt }}' +WHERE +envgroupsId = '{{ envgroupsId }}' +AND organizationsId = '{{ organizationsId }}'; +``` + +## `DELETE` example + +Deletes the specified envgroup resource. + +```sql +DELETE FROM google.apigee.envgroups +WHERE envgroupsId = '{{ envgroupsId }}' +AND organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/envgroups_deployed_ingress_config/index.md b/docs/google-docs/providers/google/apigee/envgroups_deployed_ingress_config/index.md index a0175ecca8..7ae10cd352 100644 --- a/docs/google-docs/providers/google/apigee/envgroups_deployed_ingress_config/index.md +++ b/docs/google-docs/providers/google/apigee/envgroups_deployed_ingress_config/index.md @@ -1,3 +1,4 @@ + --- title: envgroups_deployed_ingress_config hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - envgroups_deployed_ingress_config - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an envgroups_deployed_ingress_config resource or lists envgroups_deployed_ingress_config in a region ## Overview
@@ -30,14 +32,33 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Name of the environment group in the following format: `organizations/{org}/envgroups/{envgroup}`. | +| | `string` | Name of the environment group in the following format: `organizations/{org}/envgroups/{envgroup}`. | | | `array` | A list of proxies in each deployment group for proxy chaining calls. | | | `array` | Host names for the environment group. | | | `string` | When this message appears in the top-level IngressConfig, this field will be populated in lieu of the inlined routing_rules and hostnames fields. Some URL for downloading the full EnvironmentGroupConfig for this group. | | | `string` | Revision id that defines the ordering of the EnvironmentGroupConfig resource. The higher the revision, the more recently the configuration was deployed. | | | `array` | Ordered list of routing rules defining how traffic to this environment group's hostnames should be routed to different environments. | | | `string` | A unique id for the environment group config that will only change if the environment group is deleted and recreated. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets the deployed ingress configuration for an environment group. | + +## `SELECT` examples + +Gets the deployed ingress configuration for an environment group. + +```sql +SELECT +name, +endpointChainingRules, +hostnames, +location, +revisionId, +routingRules, +uid +FROM google.apigee.envgroups_deployed_ingress_config +WHERE envgroupsId = '{{ envgroupsId }}' +AND organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/environments/index.md b/docs/google-docs/providers/google/apigee/environments/index.md index 7c52986ebb..db2df73071 100644 --- a/docs/google-docs/providers/google/apigee/environments/index.md +++ b/docs/google-docs/providers/google/apigee/environments/index.md @@ -1,3 +1,4 @@ + --- title: environments hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - environments - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an environment resource or lists environments in a region ## Overview
@@ -30,19 +32,20 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Required. Name of the environment. Values must match the regular expression `^[.\\p{Alnum}-_]{1,255}$` | +| | `string` | Required. Name of the environment. Values must match the regular expression `^[.\\p{Alnum}-_]{1,255}$` | | | `string` | Optional. Description of the environment. | | | `string` | Optional. API Proxy type supported by the environment. The type can be set when creating the Environment and cannot be changed. | | | `string` | Output only. Creation time of this environment as milliseconds since epoch. | | | `string` | Optional. Deployment type supported by the environment. The deployment type can be set when creating the environment and cannot be changed. When you enable archive deployment, you will be **prevented from performing** a [subset of actions](/apigee/docs/api-platform/local-development/overview#prevented-actions) within the environment, including: * Managing the deployment of API proxy or shared flow revisions * Creating, updating, or deleting resource files * Creating, updating, or deleting target servers | | | `string` | Optional. Display name for this environment. | -| | `string` | Optional. URI of the forward proxy to be applied to the runtime instances in this environment. Must be in the format of {scheme}://{hostname}:{port}. Note that the scheme must be one of "http" or "https", and the port must be supplied. To remove a forward proxy setting, update the field to an empty value. Note: At this time, PUT operations to add forwardProxyUri to an existing environment fail if the environment has nodeConfig set up. To successfully add the forwardProxyUri setting in this case, include the NodeConfig details with the request. | +| | `string` | Optional. URI of the forward proxy to be applied to the runtime instances in this environment. Must be in the format of {scheme}://{hostname}:{port}. Note that the scheme must be one of "http" or "https", and the port must be supplied. To remove a forward proxy setting, update the field to an empty value. Note: At this time, PUT operations to add forwardProxyUri to an existing environment fail if the environment has nodeConfig set up. To successfully add the forwardProxyUri setting in this case, include the NodeConfig details with the request. | | | `boolean` | | | | `string` | Output only. Last modification time of this environment as milliseconds since epoch. | | | `object` | NodeConfig for setting the min/max number of nodes associated with the environment. | | | `object` | Message for compatibility with legacy Edge specification for Java Properties object in JSON. | | | `string` | Output only. State of the environment. Values other than ACTIVE means the resource is not ready to use. | | | `string` | Optional. EnvironmentType selected for the environment. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -51,8 +54,128 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | CreateSecurityProfileEnvironmentAssociation creates profile environment association i.e. attaches environment to security profile. | | | `DELETE` | | Deletes an environment from an organization. **Warning: You must delete all key value maps and key value entries before you delete an environment.** Otherwise, if you re-create the environment the key value map entry operations will encounter encryption/decryption discrepancies. | | | `DELETE` | | DeleteSecurityProfileEnvironmentAssociation removes profile environment association i.e. detaches environment from security profile. | -| | `UPDATE` | | Updates an existing environment. When updating properties, you must pass all existing properties to the API, even if they are not being changed. If you omit properties from the payload, the properties are removed. To get the current list of properties for the environment, use the [Get Environment API](get). **Note**: Both `PUT` and `POST` methods are supported for updating an existing environment. | | | `EXEC` | | Updates properties for an Apigee environment with patch semantics using a field mask. **Note:** Not supported for Apigee hybrid. | | | `EXEC` | | Creates a subscription for the environment's Pub/Sub topic. The server will assign a random name for this subscription. The "name" and "push_config" must *not* be specified. | | | `EXEC` | | Deletes a subscription for the environment's Pub/Sub topic. | +| | `EXEC` | | Updates an existing environment. When updating properties, you must pass all existing properties to the API, even if they are not being changed. If you omit properties from the payload, the properties are removed. To get the current list of properties for the environment, use the [Get Environment API](get). **Note**: Both `PUT` and `POST` methods are supported for updating an existing environment. | | | `EXEC` | | ComputeEnvironmentScores calculates scores for requested time range for the specified security profile and environment. | + +## `SELECT` examples + +Gets environment details. + +```sql +SELECT +name, +description, +apiProxyType, +createdAt, +deploymentType, +displayName, +forwardProxyUri, +hasAttachedFlowHooks, +lastModifiedAt, +nodeConfig, +properties, +state, +type +FROM google.apigee.environments +WHERE environmentsId = '{{ environmentsId }}' +AND organizationsId = '{{ organizationsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new environments resource. + + + + +```sql +/*+ create */ +INSERT INTO google.apigee.environments ( +organizationsId, +deploymentType, +forwardProxyUri, +description, +state, +nodeConfig, +properties, +name, +createdAt, +hasAttachedFlowHooks, +lastModifiedAt, +type, +displayName, +apiProxyType +) +SELECT +'{{ organizationsId }}', +'{{ deploymentType }}', +'{{ forwardProxyUri }}', +'{{ description }}', +'{{ state }}', +'{{ nodeConfig }}', +'{{ properties }}', +'{{ name }}', +'{{ createdAt }}', +true|false, +'{{ lastModifiedAt }}', +'{{ type }}', +'{{ displayName }}', +'{{ apiProxyType }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: deploymentType + value: '{{ deploymentType }}' + - name: forwardProxyUri + value: '{{ forwardProxyUri }}' + - name: description + value: '{{ description }}' + - name: state + value: '{{ state }}' + - name: nodeConfig + value: '{{ nodeConfig }}' + - name: properties + value: '{{ properties }}' + - name: name + value: '{{ name }}' + - name: createdAt + value: '{{ createdAt }}' + - name: hasAttachedFlowHooks + value: '{{ hasAttachedFlowHooks }}' + - name: lastModifiedAt + value: '{{ lastModifiedAt }}' + - name: type + value: '{{ type }}' + - name: displayName + value: '{{ displayName }}' + - name: apiProxyType + value: '{{ apiProxyType }}' + +``` + + + +## `DELETE` example + +Deletes the specified environment resource. + +```sql +DELETE FROM google.apigee.environments +WHERE environmentsId = '{{ environmentsId }}' +AND organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/environments_addons_config/index.md b/docs/google-docs/providers/google/apigee/environments_addons_config/index.md index 4f38c1ffce..35b263d0a2 100644 --- a/docs/google-docs/providers/google/apigee/environments_addons_config/index.md +++ b/docs/google-docs/providers/google/apigee/environments_addons_config/index.md @@ -1,3 +1,4 @@ + --- title: environments_addons_config hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - environments_addons_config - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an environments_addons_config resource or lists environments_addons_config in a region ## Overview
@@ -36,7 +38,25 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Configuration for the Connectors Platform add-on. | | | `object` | Configuration for the Integration add-on. | | | `object` | Configuration for the Monetization add-on. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets the add-ons config of an environment. | + +## `SELECT` examples + +Gets the add-ons config of an environment. + +```sql +SELECT +advancedApiOpsConfig, +analyticsConfig, +apiSecurityConfig, +connectorsPlatformConfig, +integrationConfig, +monetizationConfig +FROM google.apigee.environments_addons_config +WHERE environmentsId = '{{ environmentsId }}' +AND organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/environments_api_security_runtime_config/index.md b/docs/google-docs/providers/google/apigee/environments_api_security_runtime_config/index.md index d58d23c6b9..0add3c7e07 100644 --- a/docs/google-docs/providers/google/apigee/environments_api_security_runtime_config/index.md +++ b/docs/google-docs/providers/google/apigee/environments_api_security_runtime_config/index.md @@ -1,3 +1,4 @@ + --- title: environments_api_security_runtime_config hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - environments_api_security_runtime_config - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an environments_api_security_runtime_config resource or lists environments_api_security_runtime_config in a region ## Overview
@@ -30,12 +32,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Name of the environment API Security Runtime configuration resource. Format: `organizations/{org}/environments/{env}/apiSecurityRuntimeConfig` | +| | `string` | Name of the environment API Security Runtime configuration resource. Format: `organizations/{org}/environments/{env}/apiSecurityRuntimeConfig` | | | `array` | A list of up to 5 Cloud Storage Blobs that contain SecurityActions. | | | `string` | Revision ID of the API Security Runtime configuration. The higher the value, the more recently the configuration was deployed. | | | `string` | Unique ID for the API Security Runtime configuration. The ID will only change if the environment is deleted and recreated. | | | `string` | Time that the API Security Runtime configuration was updated. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets the API Security runtime configuration for an environment. This named ApiSecurityRuntimeConfig to prevent conflicts with ApiSecurityConfig from addon config. | + +## `SELECT` examples + +Gets the API Security runtime configuration for an environment. This named ApiSecurityRuntimeConfig to prevent conflicts with ApiSecurityConfig from addon config. + +```sql +SELECT +name, +location, +revisionId, +uid, +updateTime +FROM google.apigee.environments_api_security_runtime_config +WHERE environmentsId = '{{ environmentsId }}' +AND organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/environments_debugmask/index.md b/docs/google-docs/providers/google/apigee/environments_debugmask/index.md index 0333018931..93f4f1f143 100644 --- a/docs/google-docs/providers/google/apigee/environments_debugmask/index.md +++ b/docs/google-docs/providers/google/apigee/environments_debugmask/index.md @@ -1,3 +1,4 @@ + --- title: environments_debugmask hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - environments_debugmask - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an environments_debugmask resource or lists environments_debugmask in a region ## Overview
@@ -39,8 +41,50 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `array` | List of JSON paths that specify the JSON elements to be filtered from JSON response message payloads. | | | `array` | List of XPaths that specify the XML elements to be filtered from XML response message payloads. | | | `array` | List of variables that should be masked from the debug output. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the debug mask singleton resource for an environment. | -| | `EXEC` | | Updates the debug mask singleton resource for an environment. | +| | `UPDATE` | | Updates the debug mask singleton resource for an environment. | + +## `SELECT` examples + +Gets the debug mask singleton resource for an environment. + +```sql +SELECT +name, +faultJSONPaths, +faultXPaths, +namespaces, +requestJSONPaths, +requestXPaths, +responseJSONPaths, +responseXPaths, +variables +FROM google.apigee.environments_debugmask +WHERE environmentsId = '{{ environmentsId }}' +AND organizationsId = '{{ organizationsId }}'; +``` + +## `UPDATE` example + +Updates a environments_debugmask only if the necessary resources are available. + +```sql +UPDATE google.apigee.environments_debugmask +SET +faultJSONPaths = '{{ faultJSONPaths }}', +faultXPaths = '{{ faultXPaths }}', +requestJSONPaths = '{{ requestJSONPaths }}', +variables = '{{ variables }}', +name = '{{ name }}', +responseJSONPaths = '{{ responseJSONPaths }}', +requestXPaths = '{{ requestXPaths }}', +namespaces = '{{ namespaces }}', +responseXPaths = '{{ responseXPaths }}' +WHERE +environmentsId = '{{ environmentsId }}' +AND organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/environments_deployed_config/index.md b/docs/google-docs/providers/google/apigee/environments_deployed_config/index.md index 5a2bc7b931..f7ba2452cd 100644 --- a/docs/google-docs/providers/google/apigee/environments_deployed_config/index.md +++ b/docs/google-docs/providers/google/apigee/environments_deployed_config/index.md @@ -1,3 +1,4 @@ + --- title: environments_deployed_config hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - environments_deployed_config - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an environments_deployed_config resource or lists environments_deployed_config in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Name of the environment configuration in the following format: `organizations/{org}/environments/{env}/configs/{config}` | +| | `string` | Name of the environment configuration in the following format: `organizations/{org}/environments/{env}/configs/{config}` | | | `object` | RuntimeAddonsConfig defines the runtime configurations for add-ons in an environment. | | | `string` | The location for the config blob of API Runtime Control, aka Envoy Adapter, for op-based authentication as a URI, e.g. a Cloud Storage URI. This is only used by Envoy-based gateways. | | | `string` | Time that the environment configuration was created. | @@ -53,7 +55,42 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `array` | List of target servers in the environment. Disabled target servers are not displayed. | | | `object` | NEXT ID: 8 RuntimeTraceConfig defines the configurations for distributed trace in an environment. | | | `string` | Unique ID for the environment configuration. The ID will only change if the environment is deleted and recreated. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets the deployed configuration for an environment. | + +## `SELECT` examples + +Gets the deployed configuration for an environment. + +```sql +SELECT +name, +addonsConfig, +arcConfigLocation, +createTime, +dataCollectors, +debugMask, +deploymentGroups, +deployments, +envScopedRevisionId, +featureFlags, +flowhooks, +forwardProxyUri, +gatewayConfigLocation, +keystores, +provider, +pubsubTopic, +resourceReferences, +resources, +revisionId, +sequenceNumber, +targets, +traceConfig, +uid +FROM google.apigee.environments_deployed_config +WHERE environmentsId = '{{ environmentsId }}' +AND organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/environments_environment/index.md b/docs/google-docs/providers/google/apigee/environments_environment/index.md index 6fb80cfbd3..143b3edc39 100644 --- a/docs/google-docs/providers/google/apigee/environments_environment/index.md +++ b/docs/google-docs/providers/google/apigee/environments_environment/index.md @@ -1,3 +1,4 @@ + --- title: environments_environment hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - environments_environment - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an environments_environment resource or lists environments_environment in a region ## Overview
@@ -28,8 +30,35 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `UPDATE` | | Updates an existing environment. When updating properties, you must pass all existing properties to the API, even if they are not being changed. If you omit properties from the payload, the properties are removed. To get the current list of properties for the environment, use the [Get Environment API](get). **Note**: Both `PUT` and `POST` methods are supported for updating an existing environment. | + +## `UPDATE` example + +Updates a environments_environment only if the necessary resources are available. + +```sql +UPDATE google.apigee.environments_environment +SET +deploymentType = '{{ deploymentType }}', +forwardProxyUri = '{{ forwardProxyUri }}', +description = '{{ description }}', +state = '{{ state }}', +nodeConfig = '{{ nodeConfig }}', +properties = '{{ properties }}', +name = '{{ name }}', +createdAt = '{{ createdAt }}', +hasAttachedFlowHooks = true|false, +lastModifiedAt = '{{ lastModifiedAt }}', +type = '{{ type }}', +displayName = '{{ displayName }}', +apiProxyType = '{{ apiProxyType }}' +WHERE +environmentsId = '{{ environmentsId }}' +AND organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/environments_iam_policies/index.md b/docs/google-docs/providers/google/apigee/environments_iam_policies/index.md index a62caa368d..bc95015127 100644 --- a/docs/google-docs/providers/google/apigee/environments_iam_policies/index.md +++ b/docs/google-docs/providers/google/apigee/environments_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: environments_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - environments_iam_policies - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an environments_iam_policy resource or lists environments_iam_policies in a region ## Overview @@ -30,13 +32,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the IAM policy on an environment. For more information, see [Manage users, roles, and permissions using the API](https://cloud.google.com/apigee/docs/api-platform/system-administration/manage-users-roles). You must have the `apigee.environments.getIamPolicy` permission to call this API. | -| | `EXEC` | | Gets the IAM policy on an environment. For more information, see [Manage users, roles, and permissions using the API](https://cloud.google.com/apigee/docs/api-platform/system-administration/manage-users-roles). You must have the `apigee.environments.getIamPolicy` permission to call this API. | | | `EXEC` | | Sets the IAM policy on an environment, if the policy already exists it will be replaced. For more information, see [Manage users, roles, and permissions using the API](https://cloud.google.com/apigee/docs/api-platform/system-administration/manage-users-roles). You must have the `apigee.environments.setIamPolicy` permission to call this API. | | | `EXEC` | | Tests the permissions of a user on an environment, and returns a subset of permissions that the user has on the environment. If the environment does not exist, an empty permission set is returned (a NOT_FOUND error is not returned). | + +## `SELECT` examples + +Gets the IAM policy on an environment. For more information, see [Manage users, roles, and permissions using the API](https://cloud.google.com/apigee/docs/api-platform/system-administration/manage-users-roles). You must have the `apigee.environments.getIamPolicy` permission to call this API. + +```sql +SELECT +condition, +members, +role +FROM google.apigee.environments_iam_policies +WHERE environmentsId = '{{ environmentsId }}' +AND organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/environments_security_actions_config/index.md b/docs/google-docs/providers/google/apigee/environments_security_actions_config/index.md index 19e371be64..adf8d947c9 100644 --- a/docs/google-docs/providers/google/apigee/environments_security_actions_config/index.md +++ b/docs/google-docs/providers/google/apigee/environments_security_actions_config/index.md @@ -1,3 +1,4 @@ + --- title: environments_security_actions_config hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - environments_security_actions_config - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an environments_security_actions_config resource or lists environments_security_actions_config in a region ## Overview
@@ -30,11 +32,41 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | This is a singleton resource, the name will always be set by SecurityActions and any user input will be ignored. The name is always: `organizations/{org}/environments/{env}/security_actions_config` | +| | `string` | This is a singleton resource, the name will always be set by SecurityActions and any user input will be ignored. The name is always: `organizations/{org}/environments/{env}/security_actions_config` | | | `boolean` | The flag that controls whether this feature is enabled. This is `unset` by default. When this flag is `false`, even if individual rules are enabled, no SecurityActions will be enforced. | | | `string` | Output only. The update time for configuration. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | GetSecurityActionConfig returns the current SecurityActions configuration. | -| | `EXEC` | | UpdateSecurityActionConfig updates the current SecurityActions configuration. This method is used to enable/disable the feature at the environment level. | +| | `UPDATE` | | UpdateSecurityActionConfig updates the current SecurityActions configuration. This method is used to enable/disable the feature at the environment level. | + +## `SELECT` examples + +GetSecurityActionConfig returns the current SecurityActions configuration. + +```sql +SELECT +name, +enabled, +updateTime +FROM google.apigee.environments_security_actions_config +WHERE environmentsId = '{{ environmentsId }}' +AND organizationsId = '{{ organizationsId }}'; +``` + +## `UPDATE` example + +Updates a environments_security_actions_config only if the necessary resources are available. + +```sql +UPDATE google.apigee.environments_security_actions_config +SET +updateTime = '{{ updateTime }}', +name = '{{ name }}', +enabled = true|false +WHERE +environmentsId = '{{ environmentsId }}' +AND organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/environments_trace_config/index.md b/docs/google-docs/providers/google/apigee/environments_trace_config/index.md index 8428349812..cbde277f3a 100644 --- a/docs/google-docs/providers/google/apigee/environments_trace_config/index.md +++ b/docs/google-docs/providers/google/apigee/environments_trace_config/index.md @@ -1,3 +1,4 @@ + --- title: environments_trace_config hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - environments_trace_config - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an environments_trace_config resource or lists environments_trace_config in a region ## Overview
@@ -33,8 +35,38 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Required. Endpoint of the exporter. | | | `string` | Required. Exporter that is used to view the distributed trace captured using OpenCensus. An exporter sends traces to any backend that is capable of consuming them. Recorded spans can be exported by registered exporters. | | | `object` | TraceSamplingConfig represents the detail settings of distributed tracing. Only the fields that are defined in the distributed trace configuration can be overridden using the distribute trace configuration override APIs. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Get distributed trace configuration in an environment. | -| | `EXEC` | | Updates the trace configurations in an environment. Note that the repeated fields have replace semantics when included in the field mask and that they will be overwritten by the value of the fields in the request body. | +| | `UPDATE` | | Updates the trace configurations in an environment. Note that the repeated fields have replace semantics when included in the field mask and that they will be overwritten by the value of the fields in the request body. | + +## `SELECT` examples + +Get distributed trace configuration in an environment. + +```sql +SELECT +endpoint, +exporter, +samplingConfig +FROM google.apigee.environments_trace_config +WHERE environmentsId = '{{ environmentsId }}' +AND organizationsId = '{{ organizationsId }}'; +``` + +## `UPDATE` example + +Updates a environments_trace_config only if the necessary resources are available. + +```sql +UPDATE google.apigee.environments_trace_config +SET +exporter = '{{ exporter }}', +samplingConfig = '{{ samplingConfig }}', +endpoint = '{{ endpoint }}' +WHERE +environmentsId = '{{ environmentsId }}' +AND organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/exports/index.md b/docs/google-docs/providers/google/apigee/exports/index.md index 170200fef1..ffc13c8b14 100644 --- a/docs/google-docs/providers/google/apigee/exports/index.md +++ b/docs/google-docs/providers/google/apigee/exports/index.md @@ -1,3 +1,4 @@ + --- title: exports hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - exports - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an export resource or lists exports in a region ## Overview
@@ -39,9 +41,90 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Self link of the export job. A URI that can be used to retrieve the status of an export job. Example: `/organizations/myorg/environments/myenv/analytics/exports/9cfc0d85-0f30-46d6-ae6f-318d0cb961bd` | | | `string` | Output only. Status of the export job. Valid values include `enqueued`, `running`, `completed`, and `failed`. | | | `string` | Output only. Time the export job was last updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the details and status of an analytics export job. If the export job is still in progress, its `state` is set to "running". After the export job has completed successfully, its `state` is set to "completed". If the export job fails, its `state` is set to `failed`. | | | `SELECT` | | Lists the details and status of all analytics export jobs belonging to the parent organization and environment. | | | `INSERT` | | Submit a data export job to be processed in the background. If the request is successful, the API returns a 201 status, a URI that can be used to retrieve the status of the export job, and the `state` value of "enqueued". | + +## `SELECT` examples + +Lists the details and status of all analytics export jobs belonging to the parent organization and environment. + +```sql +SELECT +name, +description, +created, +datastoreName, +error, +executionTime, +self, +state, +updated +FROM google.apigee.exports +WHERE environmentsId = '{{ environmentsId }}' +AND organizationsId = '{{ organizationsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new exports resource. + + + + +```sql +/*+ create */ +INSERT INTO google.apigee.exports ( +environmentsId, +organizationsId, +csvDelimiter, +name, +outputFormat, +dateRange, +datastoreName, +description +) +SELECT +'{{ environmentsId }}', +'{{ organizationsId }}', +'{{ csvDelimiter }}', +'{{ name }}', +'{{ outputFormat }}', +'{{ dateRange }}', +'{{ datastoreName }}', +'{{ description }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: csvDelimiter + value: '{{ csvDelimiter }}' + - name: name + value: '{{ name }}' + - name: outputFormat + value: '{{ outputFormat }}' + - name: dateRange + value: '{{ dateRange }}' + - name: datastoreName + value: '{{ datastoreName }}' + - name: description + value: '{{ description }}' + +``` + + diff --git a/docs/google-docs/providers/google/apigee/flowhooks/index.md b/docs/google-docs/providers/google/apigee/flowhooks/index.md index 4e1f6f0e13..3ce301bbd0 100644 --- a/docs/google-docs/providers/google/apigee/flowhooks/index.md +++ b/docs/google-docs/providers/google/apigee/flowhooks/index.md @@ -1,3 +1,4 @@ + --- title: flowhooks hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - flowhooks - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an flowhook resource or lists flowhooks in a region ## Overview
@@ -34,9 +36,26 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `boolean` | Optional. Flag that specifies whether execution should continue if the flow hook throws an exception. Set to `true` to continue execution. Set to `false` to stop execution if the flow hook throws an exception. Defaults to `true`. | | | `string` | Output only. Where in the API call flow the flow hook is invoked. Must be one of `PreProxyFlowHook`, `PostProxyFlowHook`, `PreTargetFlowHook`, or `PostTargetFlowHook`. | | | `string` | Shared flow attached to this flow hook, or empty if there is none attached. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Returns the name of the shared flow attached to the specified flow hook. If there's no shared flow attached to the flow hook, the API does not return an error; it simply does not return a name in the response. | | | `EXEC` | | Attaches a shared flow to a flow hook. | | | `EXEC` | | Detaches a shared flow from a flow hook. | + +## `SELECT` examples + +Returns the name of the shared flow attached to the specified flow hook. If there's no shared flow attached to the flow hook, the API does not return an error; it simply does not return a name in the response. + +```sql +SELECT +description, +continueOnError, +flowHookPoint, +sharedFlow +FROM google.apigee.flowhooks +WHERE environmentsId = '{{ environmentsId }}' +AND flowhooksId = '{{ flowhooksId }}' +AND organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/host_queries/index.md b/docs/google-docs/providers/google/apigee/host_queries/index.md index c64136916a..dab33c1449 100644 --- a/docs/google-docs/providers/google/apigee/host_queries/index.md +++ b/docs/google-docs/providers/google/apigee/host_queries/index.md @@ -1,3 +1,4 @@ + --- title: host_queries hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - host_queries - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an host_query resource or lists host_queries in a region ## Overview
@@ -43,9 +45,111 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Self link of the query. Example: `/organizations/myorg/environments/myenv/queries/9cfc0d85-0f30-46d6-ae6f-318d0cb961bd` or following format if query is running at host level: `/organizations/myorg/hostQueries/9cfc0d85-0f30-46d6-ae6f-318d0cb961bd` | | | `string` | Query state could be "enqueued", "running", "completed", "failed". | | | `string` | Last updated timestamp for the query. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Get status of a query submitted at host level. If the query is still in progress, the `state` is set to "running" After the query has completed successfully, `state` is set to "completed" | | | `SELECT` | | Return a list of Asynchronous Queries at host level. | | | `INSERT` | | Submit a query at host level to be processed in the background. If the submission of the query succeeds, the API returns a 201 status and an ID that refer to the query. In addition to the HTTP status 201, the `state` of "enqueued" means that the request succeeded. | + +## `SELECT` examples + +Return a list of Asynchronous Queries at host level. + +```sql +SELECT +name, +created, +envgroupHostname, +error, +executionTime, +queryParams, +reportDefinitionId, +result, +resultFileSize, +resultRows, +self, +state, +updated +FROM google.apigee.host_queries +WHERE organizationsId = '{{ organizationsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new host_queries resource. + + + + +```sql +/*+ create */ +INSERT INTO google.apigee.host_queries ( +organizationsId, +dimensions, +limit, +csvDelimiter, +envgroupHostname, +filter, +outputFormat, +name, +timeRange, +metrics, +groupByTimeUnit, +reportDefinitionId +) +SELECT +'{{ organizationsId }}', +'{{ dimensions }}', +'{{ limit }}', +'{{ csvDelimiter }}', +'{{ envgroupHostname }}', +'{{ filter }}', +'{{ outputFormat }}', +'{{ name }}', +'{{ timeRange }}', +'{{ metrics }}', +'{{ groupByTimeUnit }}', +'{{ reportDefinitionId }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: dimensions + value: '{{ dimensions }}' + - name: limit + value: '{{ limit }}' + - name: csvDelimiter + value: '{{ csvDelimiter }}' + - name: envgroupHostname + value: '{{ envgroupHostname }}' + - name: filter + value: '{{ filter }}' + - name: outputFormat + value: '{{ outputFormat }}' + - name: name + value: '{{ name }}' + - name: timeRange + value: '{{ timeRange }}' + - name: metrics + value: '{{ metrics }}' + - name: groupByTimeUnit + value: '{{ groupByTimeUnit }}' + - name: reportDefinitionId + value: '{{ reportDefinitionId }}' + +``` + + diff --git a/docs/google-docs/providers/google/apigee/host_queries_result/index.md b/docs/google-docs/providers/google/apigee/host_queries_result/index.md index a02e904433..084713af4d 100644 --- a/docs/google-docs/providers/google/apigee/host_queries_result/index.md +++ b/docs/google-docs/providers/google/apigee/host_queries_result/index.md @@ -1,3 +1,4 @@ + --- title: host_queries_result hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - host_queries_result - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an host_queries_result resource or lists host_queries_result in a region ## Overview
@@ -33,7 +35,22 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The HTTP Content-Type header value specifying the content type of the body. | | | `string` | The HTTP request/response body as raw binary. | | | `array` | Application specific response metadata. Must be set in the first response for streaming APIs. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | After the query is completed, use this API to retrieve the results. If the request succeeds, and there is a non-zero result set, the result is downloaded to the client as a zipped JSON file. The name of the downloaded file will be: OfflineQueryResult-.zip Example: `OfflineQueryResult-9cfc0d85-0f30-46d6-ae6f-318d0cb961bd.zip` | + +## `SELECT` examples + +After the query is completed, use this API to retrieve the results. If the request succeeds, and there is a non-zero result set, the result is downloaded to the client as a zipped JSON file. The name of the downloaded file will be: OfflineQueryResult-.zip Example: `OfflineQueryResult-9cfc0d85-0f30-46d6-ae6f-318d0cb961bd.zip` + +```sql +SELECT +contentType, +data, +extensions +FROM google.apigee.host_queries_result +WHERE hostQueriesId = '{{ hostQueriesId }}' +AND organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/host_queries_result_view/index.md b/docs/google-docs/providers/google/apigee/host_queries_result_view/index.md index cb3a86bcc3..8e2db9522a 100644 --- a/docs/google-docs/providers/google/apigee/host_queries_result_view/index.md +++ b/docs/google-docs/providers/google/apigee/host_queries_result_view/index.md @@ -1,3 +1,4 @@ + --- title: host_queries_result_view hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - host_queries_result_view - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an host_queries_result_view resource or lists host_queries_result_view in a region ## Overview
@@ -33,9 +35,26 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `integer` | Error code when there is a failure. | | | `string` | Error message when there is a failure. | | | `object` | | -| | `array` | Rows of query result. Each row is a JSON object. Example: {sum(message_count): 1, developer_app: "(not set)",…} | +| | `array` | Rows of query result. Each row is a JSON object. Example: {sum(message_count): 1, developer_app: "(not set)",…} | | | `string` | State of retrieving ResultView. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | | + +## `SELECT` examples + + + +```sql +SELECT +code, +error, +metadata, +rows, +state +FROM google.apigee.host_queries_result_view +WHERE hostQueriesId = '{{ hostQueriesId }}' +AND organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/host_security_reports/index.md b/docs/google-docs/providers/google/apigee/host_security_reports/index.md index a1f1ac1849..fdca0babef 100644 --- a/docs/google-docs/providers/google/apigee/host_security_reports/index.md +++ b/docs/google-docs/providers/google/apigee/host_security_reports/index.md @@ -1,3 +1,4 @@ + --- title: host_security_reports hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - host_security_reports - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an host_security_report resource or lists host_security_reports in a region ## Overview
@@ -43,10 +45,111 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Self link of the query. Example: `/organizations/myorg/environments/myenv/securityReports/9cfc0d85-0f30-46d6-ae6f-318d0cb961bd` or following format if query is running at host level: `/organizations/myorg/hostSecurityReports/9cfc0d85-0f30-46d6-ae6f-318d0cb961bd` | | | `string` | Query state could be "enqueued", "running", "completed", "expired" and "failed". | | | `string` | Output only. Last updated timestamp for the query. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Get status of a query submitted at host level. If the query is still in progress, the `state` is set to "running" After the query has completed successfully, `state` is set to "completed" | | | `SELECT` | | Return a list of Security Reports at host level. | | | `INSERT` | | Submit a query at host level to be processed in the background. If the submission of the query succeeds, the API returns a 201 status and an ID that refer to the query. In addition to the HTTP status 201, the `state` of "enqueued" means that the request succeeded. | -| | `EXEC` | | Return a list of Security Reports at host level. | + +## `SELECT` examples + +Return a list of Security Reports at host level. + +```sql +SELECT +created, +displayName, +envgroupHostname, +error, +executionTime, +queryParams, +reportDefinitionId, +result, +resultFileSize, +resultRows, +self, +state, +updated +FROM google.apigee.host_security_reports +WHERE organizationsId = '{{ organizationsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new host_security_reports resource. + + + + +```sql +/*+ create */ +INSERT INTO google.apigee.host_security_reports ( +organizationsId, +reportDefinitionId, +envgroupHostname, +limit, +metrics, +dimensions, +groupByTimeUnit, +mimeType, +timeRange, +csvDelimiter, +filter, +displayName +) +SELECT +'{{ organizationsId }}', +'{{ reportDefinitionId }}', +'{{ envgroupHostname }}', +'{{ limit }}', +'{{ metrics }}', +'{{ dimensions }}', +'{{ groupByTimeUnit }}', +'{{ mimeType }}', +'{{ timeRange }}', +'{{ csvDelimiter }}', +'{{ filter }}', +'{{ displayName }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: reportDefinitionId + value: '{{ reportDefinitionId }}' + - name: envgroupHostname + value: '{{ envgroupHostname }}' + - name: limit + value: '{{ limit }}' + - name: metrics + value: '{{ metrics }}' + - name: dimensions + value: '{{ dimensions }}' + - name: groupByTimeUnit + value: '{{ groupByTimeUnit }}' + - name: mimeType + value: '{{ mimeType }}' + - name: timeRange + value: '{{ timeRange }}' + - name: csvDelimiter + value: '{{ csvDelimiter }}' + - name: filter + value: '{{ filter }}' + - name: displayName + value: '{{ displayName }}' + +``` + + diff --git a/docs/google-docs/providers/google/apigee/host_security_reports_result/index.md b/docs/google-docs/providers/google/apigee/host_security_reports_result/index.md index 47e30c3a84..8f60948bd9 100644 --- a/docs/google-docs/providers/google/apigee/host_security_reports_result/index.md +++ b/docs/google-docs/providers/google/apigee/host_security_reports_result/index.md @@ -1,3 +1,4 @@ + --- title: host_security_reports_result hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - host_security_reports_result - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an host_security_reports_result resource or lists host_security_reports_result in a region ## Overview
@@ -33,7 +35,22 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The HTTP Content-Type header value specifying the content type of the body. | | | `string` | The HTTP request/response body as raw binary. | | | `array` | Application specific response metadata. Must be set in the first response for streaming APIs. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | After the query is completed, use this API to retrieve the results. If the request succeeds, and there is a non-zero result set, the result is downloaded to the client as a zipped JSON file. The name of the downloaded file will be: OfflineQueryResult-.zip Example: `OfflineQueryResult-9cfc0d85-0f30-46d6-ae6f-318d0cb961bd.zip` | + +## `SELECT` examples + +After the query is completed, use this API to retrieve the results. If the request succeeds, and there is a non-zero result set, the result is downloaded to the client as a zipped JSON file. The name of the downloaded file will be: OfflineQueryResult-.zip Example: `OfflineQueryResult-9cfc0d85-0f30-46d6-ae6f-318d0cb961bd.zip` + +```sql +SELECT +contentType, +data, +extensions +FROM google.apigee.host_security_reports_result +WHERE hostSecurityReportsId = '{{ hostSecurityReportsId }}' +AND organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/host_security_reports_result_view/index.md b/docs/google-docs/providers/google/apigee/host_security_reports_result_view/index.md index 003ebf097d..03793e0264 100644 --- a/docs/google-docs/providers/google/apigee/host_security_reports_result_view/index.md +++ b/docs/google-docs/providers/google/apigee/host_security_reports_result_view/index.md @@ -1,3 +1,4 @@ + --- title: host_security_reports_result_view hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - host_security_reports_result_view - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an host_security_reports_result_view resource or lists host_security_reports_result_view in a region ## Overview
@@ -33,9 +35,26 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `integer` | Error code when there is a failure. | | | `string` | Error message when there is a failure. | | | `object` | Metadata for the security report. | -| | `array` | Rows of security report result. Each row is a JSON object. Example: {sum(message_count): 1, developer_app: "(not set)",…} | +| | `array` | Rows of security report result. Each row is a JSON object. Example: {sum(message_count): 1, developer_app: "(not set)",…} | | | `string` | State of retrieving ResultView. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | After the query is completed, use this API to view the query result when result size is small. | + +## `SELECT` examples + +After the query is completed, use this API to view the query result when result size is small. + +```sql +SELECT +code, +error, +metadata, +rows, +state +FROM google.apigee.host_security_reports_result_view +WHERE hostSecurityReportsId = '{{ hostSecurityReportsId }}' +AND organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/host_stats/index.md b/docs/google-docs/providers/google/apigee/host_stats/index.md index f7e283b1aa..a4422ca8b9 100644 --- a/docs/google-docs/providers/google/apigee/host_stats/index.md +++ b/docs/google-docs/providers/google/apigee/host_stats/index.md @@ -1,3 +1,4 @@ + --- title: host_stats hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - host_stats - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an host_stat resource or lists host_stats in a region ## Overview
@@ -33,7 +35,22 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `array` | List of query results on the environment level. | | | `array` | List of query results grouped by host. | | | `object` | Encapsulates additional information about query execution. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Retrieve metrics grouped by dimensions in host level. The types of metrics you can retrieve include traffic, message counts, API call latency, response size, and cache hits and counts. Dimensions let you view metrics in meaningful groups. You can optionally pass dimensions as path parameters to the `stats` API. If dimensions are not specified, the metrics are computed on the entire set of data for the given time range. | + +## `SELECT` examples + +Retrieve metrics grouped by dimensions in host level. The types of metrics you can retrieve include traffic, message counts, API call latency, response size, and cache hits and counts. Dimensions let you view metrics in meaningful groups. You can optionally pass dimensions as path parameters to the `stats` API. If dimensions are not specified, the metrics are computed on the entire set of data for the given time range. + +```sql +SELECT +environments, +hosts, +metaData +FROM google.apigee.host_stats +WHERE hostStatsId = '{{ hostStatsId }}' +AND organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/index.md b/docs/google-docs/providers/google/apigee/index.md index 167ba0e8be..27ed6c3aae 100644 --- a/docs/google-docs/providers/google/apigee/index.md +++ b/docs/google-docs/providers/google/apigee/index.md @@ -9,34 +9,23 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Use the Apigee API to programmatically develop and manage APIs with a set of RESTful operations. Develop and secure API proxies, deploy and undeploy API proxy revisions, monitor APIs, configure environments, manage users, and more. Note: This product is available as a free trial for a time period of 60 days. - +The apigee service documentation. + :::info Service Summary
-total resources: 98
-total selectable resources: 78
-total methods: 339
+total resources: 99
::: -## Overview -
- - - - - -
Namegoogle.apigee
TypeService
TitleApigee API
DescriptionUse the Apigee API to programmatically develop and manage APIs with a set of RESTful operations. Develop and secure API proxies, deploy and undeploy API proxy revisions, monitor APIs, configure environments, manage users, and more. Note: This product is available as a free trial for a time period of 60 days.
Idapigee:v24.06.00236
- ## Resources
@@ -70,6 +59,7 @@ Use the Apigee API to programmatically develop and manage APIs with a set of RES debugsessions_data
deployed_ingress_config
deployments
+deployments_iam_policies
developers
developers_balance
developers_monetization_config
@@ -88,7 +78,7 @@ Use the Apigee API to programmatically develop and manage APIs with a set of RES environments_trace_config
exports
flowhooks
-host_queries
+host_queries
host_queries_result
@@ -139,6 +129,6 @@ Use the Apigee API to programmatically develop and manage APIs with a set of RES stats
subscriptions
sync_authorization
-targetservers
-
+targetservers
+ \ No newline at end of file diff --git a/docs/google-docs/providers/google/apigee/instances/index.md b/docs/google-docs/providers/google/apigee/instances/index.md index 92f9a5059a..1eb7103cd5 100644 --- a/docs/google-docs/providers/google/apigee/instances/index.md +++ b/docs/google-docs/providers/google/apigee/instances/index.md @@ -1,3 +1,4 @@ + --- title: instances hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - instances - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an instance resource or lists instances in a region ## Overview @@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Required. Resource ID of the instance. Values must match the regular expression `^a-z{0,30}[a-z\d]$`. | +| | `string` | Required. Resource ID of the instance. Values must match the regular expression `^a-z{0,30}[a-z\d]$`. | | | `string` | Optional. Description of the instance. | | | `object` | Access logging configuration enables customers to ship the access logs from the tenant projects to their own project's cloud logging. The feature is at the instance level ad disabled by default. It can be enabled during CreateInstance or UpdateInstance. | | | `array` | Optional. Customer accept list represents the list of projects (id/number) on customer side that can privately connect to the service attachment. It is an optional field which the customers can provide during the instance creation. By default, the customer project associated with the Apigee organization will be included to the list. | @@ -46,6 +48,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Version of the runtime system running in the instance. The runtime system is the set of components that serve the API Proxy traffic in your Environments. | | | `string` | Output only. Resource name of the service attachment created for the instance in the format: `projects/*/regions/*/serviceAttachments/*` Apigee customers can privately forward traffic to this service attachment using the PSC endpoints. | | | `string` | Output only. State of the instance. Values other than `ACTIVE` means the resource is not ready to use. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -54,5 +57,166 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates an Apigee runtime instance. The instance is accessible from the authorized network configured on the organization. **Note:** Not supported for Apigee hybrid. | | | `DELETE` | | Deletes an Apigee runtime instance. The instance stops serving requests and the runtime data is deleted. **Note:** Not supported for Apigee hybrid. | | | `UPDATE` | | Updates an Apigee runtime instance. You can update the fields described in NodeConfig. No other fields will be updated. **Note:** Not supported for Apigee hybrid. | -| | `EXEC` | | Lists all Apigee runtime instances for the organization. **Note:** Not supported for Apigee hybrid. | | | `EXEC` | | Reports the latest status for a runtime instance. | + +## `SELECT` examples + +Lists all Apigee runtime instances for the organization. **Note:** Not supported for Apigee hybrid. + +```sql +SELECT +name, +description, +accessLoggingConfig, +consumerAcceptList, +createdAt, +diskEncryptionKeyName, +displayName, +host, +ipRange, +lastModifiedAt, +location, +peeringCidrRange, +port, +runtimeVersion, +serviceAttachment, +state +FROM google.apigee.instances +WHERE organizationsId = '{{ organizationsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new instances resource. + + + + +```sql +/*+ create */ +INSERT INTO google.apigee.instances ( +organizationsId, +serviceAttachment, +runtimeVersion, +accessLoggingConfig, +ipRange, +host, +lastModifiedAt, +name, +displayName, +description, +location, +peeringCidrRange, +port, +diskEncryptionKeyName, +state, +consumerAcceptList, +createdAt +) +SELECT +'{{ organizationsId }}', +'{{ serviceAttachment }}', +'{{ runtimeVersion }}', +'{{ accessLoggingConfig }}', +'{{ ipRange }}', +'{{ host }}', +'{{ lastModifiedAt }}', +'{{ name }}', +'{{ displayName }}', +'{{ description }}', +'{{ location }}', +'{{ peeringCidrRange }}', +'{{ port }}', +'{{ diskEncryptionKeyName }}', +'{{ state }}', +'{{ consumerAcceptList }}', +'{{ createdAt }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: serviceAttachment + value: '{{ serviceAttachment }}' + - name: runtimeVersion + value: '{{ runtimeVersion }}' + - name: accessLoggingConfig + value: '{{ accessLoggingConfig }}' + - name: ipRange + value: '{{ ipRange }}' + - name: host + value: '{{ host }}' + - name: lastModifiedAt + value: '{{ lastModifiedAt }}' + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: description + value: '{{ description }}' + - name: location + value: '{{ location }}' + - name: peeringCidrRange + value: '{{ peeringCidrRange }}' + - name: port + value: '{{ port }}' + - name: diskEncryptionKeyName + value: '{{ diskEncryptionKeyName }}' + - name: state + value: '{{ state }}' + - name: consumerAcceptList + value: '{{ consumerAcceptList }}' + - name: createdAt + value: '{{ createdAt }}' + +``` + + + +## `UPDATE` example + +Updates a instance only if the necessary resources are available. + +```sql +UPDATE google.apigee.instances +SET +serviceAttachment = '{{ serviceAttachment }}', +runtimeVersion = '{{ runtimeVersion }}', +accessLoggingConfig = '{{ accessLoggingConfig }}', +ipRange = '{{ ipRange }}', +host = '{{ host }}', +lastModifiedAt = '{{ lastModifiedAt }}', +name = '{{ name }}', +displayName = '{{ displayName }}', +description = '{{ description }}', +location = '{{ location }}', +peeringCidrRange = '{{ peeringCidrRange }}', +port = '{{ port }}', +diskEncryptionKeyName = '{{ diskEncryptionKeyName }}', +state = '{{ state }}', +consumerAcceptList = '{{ consumerAcceptList }}', +createdAt = '{{ createdAt }}' +WHERE +instancesId = '{{ instancesId }}' +AND organizationsId = '{{ organizationsId }}'; +``` + +## `DELETE` example + +Deletes the specified instance resource. + +```sql +DELETE FROM google.apigee.instances +WHERE instancesId = '{{ instancesId }}' +AND organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/issuers/index.md b/docs/google-docs/providers/google/apigee/issuers/index.md index d2db7afce0..1b0efd111e 100644 --- a/docs/google-docs/providers/google/apigee/issuers/index.md +++ b/docs/google-docs/providers/google/apigee/issuers/index.md @@ -1,3 +1,4 @@ + --- title: issuers hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - issuers - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an issuer resource or lists issuers in a region ## Overview
@@ -28,7 +30,22 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `array` | Lists of hybrid services and its trusted issuer email ids. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists hybrid services and its trusted issuers service account ids. This api is authenticated and unauthorized(allow all the users) and used by runtime authn-authz service to query control plane's issuer service account ids. | + +## `SELECT` examples + +Lists hybrid services and its trusted issuers service account ids. This api is authenticated and unauthorized(allow all the users) and used by runtime authn-authz service to query control plane's issuer service account ids. + +```sql +SELECT +issuers +FROM google.apigee.issuers +WHERE = '{{ }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/keys/index.md b/docs/google-docs/providers/google/apigee/keys/index.md index 4bd60e2e75..549aee1aab 100644 --- a/docs/google-docs/providers/google/apigee/keys/index.md +++ b/docs/google-docs/providers/google/apigee/keys/index.md @@ -1,3 +1,4 @@ + --- title: keys hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - keys - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an key resource or lists keys in a region ## Overview @@ -30,15 +32,16 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `array` | List of API products for which the credential can be used. **Note**: Do not specify the list of API products when creating a consumer key and secret for a developer app. Instead, use the UpdateDeveloperAppKey API to make the association after the consumer key and secret are created. | +| | `array` | Output only. List of API products and its status for which the credential can be used. **Note**: Use UpdateAppGroupAppKeyApiProductRequest API to make the association after the consumer key and secret are created. | | | `array` | List of attributes associated with the credential. | -| | `string` | Consumer key. | +| | `string` | Immutable. Consumer key. | | | `string` | Secret key. | -| | `string` | Time the developer app expires in milliseconds since epoch. | -| | `string` | Input only. Expiration time, in seconds, for the consumer key. If not set or left to the default value of `-1`, the API key never expires. The expiration time can't be updated after it is set. | -| | `string` | Time the developer app was created in milliseconds since epoch. | +| | `string` | Output only. Time the AppGroup app expires in milliseconds since epoch. | +| | `string` | Immutable. Expiration time, in seconds, for the consumer key. If not set or left to the default value of `-1`, the API key never expires. The expiration time can't be updated after it is set. | +| | `string` | Output only. Time the AppGroup app was created in milliseconds since epoch. | | | `array` | Scopes to apply to the app. The specified scope names must already be defined for the API product that you associate with the app. | | | `string` | Status of the credential. Valid values include `approved` or `revoked`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -49,3 +52,111 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `DELETE` | | Deletes an app's consumer key and removes all API products associated with the app. After the consumer key is deleted, it cannot be used to access any APIs. | | | `DELETE` | | Deletes an app's consumer key and removes all API products associated with the app. After the consumer key is deleted, it cannot be used to access any APIs. **Note**: After you delete a consumer key, you may want to: 1. Create a new consumer key and secret for the developer app using the CreateDeveloperAppKey API, and subsequently add an API product to the key using the UpdateDeveloperAppKey API. 2. Delete the developer app, if it is no longer required. | | | `EXEC` | | Updates the scope of an app. This API replaces the existing scopes with those specified in the request. Include or exclude any existing scopes that you want to retain or delete, respectively. The specified scopes must already be defined for the API products associated with the app. This API sets the `scopes` element under the `apiProducts` element in the attributes of the app. | + +## `SELECT` examples + +Gets details for a consumer key for a AppGroup app, including the key and secret value, associated API products, and other information. + +```sql +SELECT +apiProducts, +attributes, +consumerKey, +consumerSecret, +expiresAt, +expiresInSeconds, +issuedAt, +scopes, +status +FROM google.apigee.keys +WHERE appgroupsId = '{{ appgroupsId }}' +AND appsId = '{{ appsId }}' +AND keysId = '{{ keysId }}' +AND organizationsId = '{{ organizationsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new keys resource. + + + + +```sql +/*+ create */ +INSERT INTO google.apigee.keys ( +appgroupsId, +appsId, +organizationsId, +attributes, +expiresInSeconds, +issuedAt, +consumerKey, +expiresAt, +apiProducts, +consumerSecret, +status, +scopes +) +SELECT +'{{ appgroupsId }}', +'{{ appsId }}', +'{{ organizationsId }}', +'{{ attributes }}', +'{{ expiresInSeconds }}', +'{{ issuedAt }}', +'{{ consumerKey }}', +'{{ expiresAt }}', +'{{ apiProducts }}', +'{{ consumerSecret }}', +'{{ status }}', +'{{ scopes }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: attributes + value: '{{ attributes }}' + - name: expiresInSeconds + value: '{{ expiresInSeconds }}' + - name: issuedAt + value: '{{ issuedAt }}' + - name: consumerKey + value: '{{ consumerKey }}' + - name: expiresAt + value: '{{ expiresAt }}' + - name: apiProducts + value: '{{ apiProducts }}' + - name: consumerSecret + value: '{{ consumerSecret }}' + - name: status + value: '{{ status }}' + - name: scopes + value: '{{ scopes }}' + +``` + + + +## `DELETE` example + +Deletes the specified key resource. + +```sql +DELETE FROM google.apigee.keys +WHERE appgroupsId = '{{ appgroupsId }}' +AND appsId = '{{ appsId }}' +AND keysId = '{{ keysId }}' +AND organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/keys_app_group_app_key/index.md b/docs/google-docs/providers/google/apigee/keys_app_group_app_key/index.md index 9015fc8ad5..39f2f4ef25 100644 --- a/docs/google-docs/providers/google/apigee/keys_app_group_app_key/index.md +++ b/docs/google-docs/providers/google/apigee/keys_app_group_app_key/index.md @@ -1,3 +1,4 @@ + --- title: keys_app_group_app_key hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - keys_app_group_app_key - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an keys_app_group_app_key resource or lists keys_app_group_app_key in a region ## Overview
@@ -28,8 +30,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `UPDATE` | | Adds an API product to an AppGroupAppKey, enabling the app that holds the key to access the API resources bundled in the API product. In addition, you can add attributes to the AppGroupAppKey. This API replaces the existing attributes with those specified in the request. Include or exclude any existing attributes that you want to retain or delete, respectively. You can use the same key to access all API products associated with the app. | + +## `UPDATE` example + +Updates a keys_app_group_app_key only if the necessary resources are available. + +```sql +UPDATE google.apigee.keys_app_group_app_key +SET +apiProducts = '{{ apiProducts }}', +appGroupAppKey = '{{ appGroupAppKey }}', +action = '{{ action }}' +WHERE +appgroupsId = '{{ appgroupsId }}' +AND appsId = '{{ appsId }}' +AND keysId = '{{ keysId }}' +AND organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/keys_developer_app_key/index.md b/docs/google-docs/providers/google/apigee/keys_developer_app_key/index.md index a01dd42d46..82314c968c 100644 --- a/docs/google-docs/providers/google/apigee/keys_developer_app_key/index.md +++ b/docs/google-docs/providers/google/apigee/keys_developer_app_key/index.md @@ -1,3 +1,4 @@ + --- title: keys_developer_app_key hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - keys_developer_app_key - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an keys_developer_app_key resource or lists keys_developer_app_key in a region ## Overview @@ -28,8 +30,33 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `UPDATE` | | Adds an API product to a developer app key, enabling the app that holds the key to access the API resources bundled in the API product. In addition, you can add attributes to a developer app key. This API replaces the existing attributes with those specified in the request. Include or exclude any existing attributes that you want to retain or delete, respectively. You can use the same key to access all API products associated with the app. | + +## `UPDATE` example + +Updates a keys_developer_app_key only if the necessary resources are available. + +```sql +UPDATE google.apigee.keys_developer_app_key +SET +consumerKey = '{{ consumerKey }}', +expiresInSeconds = '{{ expiresInSeconds }}', +consumerSecret = '{{ consumerSecret }}', +attributes = '{{ attributes }}', +apiProducts = '{{ apiProducts }}', +status = '{{ status }}', +issuedAt = '{{ issuedAt }}', +scopes = '{{ scopes }}', +expiresAt = '{{ expiresAt }}' +WHERE +appsId = '{{ appsId }}' +AND developersId = '{{ developersId }}' +AND keysId = '{{ keysId }}' +AND organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/keystores/index.md b/docs/google-docs/providers/google/apigee/keystores/index.md index c59779c3cd..ab82222feb 100644 --- a/docs/google-docs/providers/google/apigee/keystores/index.md +++ b/docs/google-docs/providers/google/apigee/keystores/index.md @@ -1,3 +1,4 @@ + --- title: keystores hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - keystores - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an keystore resource or lists keystores in a region ## Overview @@ -30,11 +32,81 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Required. Resource ID for this keystore. Values must match the regular expression `[\w[:space:].-]{1,255}`. | +| | `string` | Required. Resource ID for this keystore. Values must match the regular expression `[\w[:space:].-]{1,255}`. | | | `array` | Output only. Aliases in this keystore. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets a keystore or truststore. | | | `INSERT` | | Creates a keystore or truststore. - Keystore: Contains certificates and their associated keys. - Truststore: Contains trusted certificates used to validate a server's certificate. These certificates are typically self-signed certificates or certificates that are not signed by a trusted CA. | | | `DELETE` | | Deletes a keystore or truststore. | + +## `SELECT` examples + +Gets a keystore or truststore. + +```sql +SELECT +name, +aliases +FROM google.apigee.keystores +WHERE environmentsId = '{{ environmentsId }}' +AND keystoresId = '{{ keystoresId }}' +AND organizationsId = '{{ organizationsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new keystores resource. + + + + +```sql +/*+ create */ +INSERT INTO google.apigee.keystores ( +environmentsId, +organizationsId, +name, +aliases +) +SELECT +'{{ environmentsId }}', +'{{ organizationsId }}', +'{{ name }}', +'{{ aliases }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: aliases + value: '{{ aliases }}' + +``` + + + +## `DELETE` example + +Deletes the specified keystore resource. + +```sql +DELETE FROM google.apigee.keystores +WHERE environmentsId = '{{ environmentsId }}' +AND keystoresId = '{{ keystoresId }}' +AND organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/keyvaluemaps/index.md b/docs/google-docs/providers/google/apigee/keyvaluemaps/index.md index a63cc75060..20c6256c27 100644 --- a/docs/google-docs/providers/google/apigee/keyvaluemaps/index.md +++ b/docs/google-docs/providers/google/apigee/keyvaluemaps/index.md @@ -1,3 +1,4 @@ + --- title: keyvaluemaps hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - keyvaluemaps - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an keyvaluemap resource or lists keyvaluemaps in a region ## Overview
@@ -28,7 +30,9 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -38,3 +42,55 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `DELETE` | | Deletes a key value map from an API proxy. | | | `DELETE` | | Deletes a key value map from an environment. | | | `DELETE` | | Deletes a key value map from an organization. | + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new keyvaluemaps resource. + + + + +```sql +/*+ create */ +INSERT INTO google.apigee.keyvaluemaps ( +organizationsId, +name, +encrypted +) +SELECT +'{{ organizationsId }}', +'{{ name }}', +true|false +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: encrypted + value: '{{ encrypted }}' + +``` + + + +## `DELETE` example + +Deletes the specified keyvaluemap resource. + +```sql +DELETE FROM google.apigee.keyvaluemaps +WHERE keyvaluemapsId = '{{ keyvaluemapsId }}' +AND organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/nat_addresses/index.md b/docs/google-docs/providers/google/apigee/nat_addresses/index.md index 8a857d60c5..280f321f72 100644 --- a/docs/google-docs/providers/google/apigee/nat_addresses/index.md +++ b/docs/google-docs/providers/google/apigee/nat_addresses/index.md @@ -1,3 +1,4 @@ + --- title: nat_addresses hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - nat_addresses - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an nat_address resource or lists nat_addresses in a region ## Overview @@ -33,6 +35,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Required. Resource ID of the NAT address. | | | `string` | Output only. The static IPV4 address. | | | `string` | Output only. State of the nat address. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -40,5 +43,77 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists the NAT addresses for an Apigee instance. **Note:** Not supported for Apigee hybrid. | | | `INSERT` | | Creates a NAT address. The address is created in the RESERVED state and a static external IP address will be provisioned. At this time, the instance will not use this IP address for Internet egress traffic. The address can be activated for use once any required firewall IP whitelisting has been completed. **Note:** Not supported for Apigee hybrid. | | | `DELETE` | | Deletes the NAT address. Connections that are actively using the address are drained before it is removed. **Note:** Not supported for Apigee hybrid. | -| | `EXEC` | | Lists the NAT addresses for an Apigee instance. **Note:** Not supported for Apigee hybrid. | | | `EXEC` | | Activates the NAT address. The Apigee instance can now use this for Internet egress traffic. **Note:** Not supported for Apigee hybrid. | + +## `SELECT` examples + +Lists the NAT addresses for an Apigee instance. **Note:** Not supported for Apigee hybrid. + +```sql +SELECT +name, +ipAddress, +state +FROM google.apigee.nat_addresses +WHERE instancesId = '{{ instancesId }}' +AND organizationsId = '{{ organizationsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new nat_addresses resource. + + + + +```sql +/*+ create */ +INSERT INTO google.apigee.nat_addresses ( +instancesId, +organizationsId, +state, +ipAddress, +name +) +SELECT +'{{ instancesId }}', +'{{ organizationsId }}', +'{{ state }}', +'{{ ipAddress }}', +'{{ name }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: state + value: '{{ state }}' + - name: ipAddress + value: '{{ ipAddress }}' + - name: name + value: '{{ name }}' + +``` + + + +## `DELETE` example + +Deletes the specified nat_address resource. + +```sql +DELETE FROM google.apigee.nat_addresses +WHERE instancesId = '{{ instancesId }}' +AND natAddressesId = '{{ natAddressesId }}' +AND organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/operations/index.md b/docs/google-docs/providers/google/apigee/operations/index.md index 38eec4fa7b..5d171bc5e5 100644 --- a/docs/google-docs/providers/google/apigee/operations/index.md +++ b/docs/google-docs/providers/google/apigee/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview
@@ -30,14 +32,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.apigee.operations +WHERE organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/optimized_host_stats/index.md b/docs/google-docs/providers/google/apigee/optimized_host_stats/index.md index 62bf99f3aa..fc8496c6dd 100644 --- a/docs/google-docs/providers/google/apigee/optimized_host_stats/index.md +++ b/docs/google-docs/providers/google/apigee/optimized_host_stats/index.md @@ -1,3 +1,4 @@ + --- title: optimized_host_stats hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - optimized_host_stats - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an optimized_host_stat resource or lists optimized_host_stats in a region ## Overview
@@ -28,7 +30,23 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `object` | Encapsulates a response format for JavaScript Optimized Scenario. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Similar to GetHostStats except that the response is less verbose. | + +## `SELECT` examples + +Similar to GetHostStats except that the response is less verbose. + +```sql +SELECT +Response +FROM google.apigee.optimized_host_stats +WHERE optimizedHostStatsId = '{{ optimizedHostStatsId }}' +AND organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/optimized_stats/index.md b/docs/google-docs/providers/google/apigee/optimized_stats/index.md index 50ac706052..0f55704f2d 100644 --- a/docs/google-docs/providers/google/apigee/optimized_stats/index.md +++ b/docs/google-docs/providers/google/apigee/optimized_stats/index.md @@ -1,3 +1,4 @@ + --- title: optimized_stats hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - optimized_stats - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an optimized_stat resource or lists optimized_stats in a region ## Overview @@ -28,7 +30,24 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `object` | Encapsulates a response format for JavaScript Optimized Scenario. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Similar to GetStats except that the response is less verbose. | + +## `SELECT` examples + +Similar to GetStats except that the response is less verbose. + +```sql +SELECT +Response +FROM google.apigee.optimized_stats +WHERE environmentsId = '{{ environmentsId }}' +AND optimizedStatsId = '{{ optimizedStatsId }}' +AND organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/organizations/index.md b/docs/google-docs/providers/google/apigee/organizations/index.md index 26acb72a04..5585874021 100644 --- a/docs/google-docs/providers/google/apigee/organizations/index.md +++ b/docs/google-docs/providers/google/apigee/organizations/index.md @@ -1,3 +1,4 @@ + --- title: organizations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - organizations - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an organization resource or lists organizations in a region ## Overview @@ -38,7 +40,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | This field is needed only for customers using non-default data residency regions. Apigee stores some control plane data only in single region. This field determines which single region Apigee should use. For example: "us-west1" when control plane is in US or "europe-west2" when control plane is in EU. | | | `string` | Output only. Apigee Project ID associated with the organization. Use this project to allowlist Apigee in the Service Attachment when using private service connect with Apigee. | | | `array` | Not used by Apigee. | -| | `string` | Compute Engine network used for Service Networking to be peered with Apigee runtime instances. See [Getting started with the Service Networking API](https://cloud.google.com/service-infrastructure/docs/service-networking/getting-started). Valid only when [RuntimeType](#RuntimeType) is set to `CLOUD`. The value must be set before the creation of a runtime instance and can be updated only when there are no runtime instances. For example: `default`. Apigee also supports shared VPC (that is, the host network project is not the same as the one that is peering with Apigee). See [Shared VPC overview](https://cloud.google.com/vpc/docs/shared-vpc). To use a shared VPC network, use the following format: `projects/{host-project-id}/{region}/networks/{network-name}`. For example: `projects/my-sharedvpc-host/global/networks/mynetwork` **Note:** Not supported for Apigee hybrid. | +| | `string` | Compute Engine network used for Service Networking to be peered with Apigee runtime instances. See [Getting started with the Service Networking API](https://cloud.google.com/service-infrastructure/docs/service-networking/getting-started). Valid only when [RuntimeType](#RuntimeType) is set to `CLOUD`. The value must be set before the creation of a runtime instance and can be updated only when there are no runtime instances. For example: `default`. Apigee also supports shared VPC (that is, the host network project is not the same as the one that is peering with Apigee). See [Shared VPC overview](https://cloud.google.com/vpc/docs/shared-vpc). To use a shared VPC network, use the following format: `projects/{host-project-id}/{region}/networks/{network-name}`. For example: `projects/my-sharedvpc-host/global/networks/mynetwork` **Note:** Not supported for Apigee hybrid. | | | `string` | Billing type of the Apigee organization. See [Apigee pricing](https://cloud.google.com/apigee/pricing). | | | `string` | Output only. Base64-encoded public certificate for the root CA of the Apigee organization. Valid only when [RuntimeType](#RuntimeType) is `CLOUD`. | | | `string` | Cloud KMS key name used for encrypting control plane data that is stored in a multi region. Only used for the data residency region "US" or "EU". If not specified or [BillingType](#BillingType) is `EVALUATION`, a Google-Managed encryption key will be used. Format: `projects/*/locations/*/keyRings/*/cryptoKeys/*` | @@ -58,13 +60,207 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Subscription plan that the customer has purchased. Output only. | | | `string` | Output only. DEPRECATED: This will eventually be replaced by BillingType. Subscription type of the Apigee organization. Valid values include trial (free, limited, and for evaluation purposes only) or paid (full subscription has been purchased). See [Apigee pricing](https://cloud.google.com/apigee/pricing/). | | | `string` | Not used by Apigee. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the profile for an Apigee organization. See [Understanding organizations](https://cloud.google.com/apigee/docs/api-platform/fundamentals/organization-structure). | -| | `SELECT` | | Lists the Apigee organizations and associated Google Cloud projects that you have permission to access. See [Understanding organizations](https://cloud.google.com/apigee/docs/api-platform/fundamentals/organization-structure). | -| | `INSERT` | | Creates an Apigee organization. See [Create an Apigee organization](https://cloud.google.com/apigee/docs/api-platform/get-started/create-org). | +| | `SELECT` | | Lists the Apigee organizations and associated Google Cloud projects that you have permission to access. See [Understanding organizations](https://cloud.google.com/apigee/docs/api-platform/fundamentals/organization-structure). | +| | `INSERT` | | Creates an Apigee organization. See [Create an Apigee organization](https://cloud.google.com/apigee/docs/api-platform/get-started/create-org). | | | `DELETE` | | Delete an Apigee organization. For organizations with BillingType EVALUATION, an immediate deletion is performed. For paid organizations (Subscription or Pay-as-you-go), a soft-deletion is performed. The organization can be restored within the soft-deletion period, which is specified using the `retention` field in the request or by filing a support ticket with Apigee. During the data retention period specified in the request, the Apigee organization cannot be recreated in the same Google Cloud project. **IMPORTANT: The default data retention setting for this operation is 7 days. To permanently delete the organization in 24 hours, set the retention parameter to `MINIMUM`.** | -| | `UPDATE` | | Updates the properties for an Apigee organization. No other fields in the organization profile will be updated. | | | `EXEC` | | Configures the add-ons for the Apigee organization. The existing add-on configuration will be fully replaced. | | | `EXEC` | | Sets the permissions required to allow the Synchronizer to download environment data from the control plane. You must call this API to enable proper functioning of hybrid. Pass the ETag when calling `setSyncAuthorization` to ensure that you are updating the correct version. To get an ETag, call [getSyncAuthorization](getSyncAuthorization). If you don't pass the ETag in the call to `setSyncAuthorization`, then the existing authorization is overwritten indiscriminately. For more information, see [Configure the Synchronizer](https://cloud.google.com/apigee/docs/hybrid/latest/synchronizer-access). **Note**: Available to Apigee hybrid only. | +| | `EXEC` | | Updates the properties for an Apigee organization. No other fields in the organization profile will be updated. | + +## `SELECT` examples + +Lists the Apigee organizations and associated Google Cloud projects that you have permission to access. See [Understanding organizations](https://cloud.google.com/apigee/docs/api-platform/fundamentals/organization-structure). + +```sql +SELECT +name, +description, +addonsConfig, +analyticsRegion, +apiConsumerDataEncryptionKeyName, +apiConsumerDataLocation, +apigeeProjectId, +attributes, +authorizedNetwork, +billingType, +caCertificate, +controlPlaneEncryptionKeyName, +createdAt, +customerName, +disableVpcPeering, +displayName, +environments, +expiresAt, +lastModifiedAt, +portalDisabled, +projectId, +properties, +runtimeDatabaseEncryptionKeyName, +runtimeType, +state, +subscriptionPlan, +subscriptionType, +type +FROM google.apigee.organizations +WHERE = '{{ }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new organizations resource. + + + + +```sql +/*+ create */ +INSERT INTO google.apigee.organizations ( +, +lastModifiedAt, +subscriptionPlan, +portalDisabled, +caCertificate, +disableVpcPeering, +apiConsumerDataLocation, +analyticsRegion, +billingType, +authorizedNetwork, +controlPlaneEncryptionKeyName, +runtimeDatabaseEncryptionKeyName, +expiresAt, +runtimeType, +environments, +type, +displayName, +apiConsumerDataEncryptionKeyName, +name, +properties, +projectId, +description, +state, +customerName, +apigeeProjectId, +attributes, +subscriptionType, +addonsConfig, +createdAt +) +SELECT +'{{ }}', +'{{ lastModifiedAt }}', +'{{ subscriptionPlan }}', +true|false, +'{{ caCertificate }}', +true|false, +'{{ apiConsumerDataLocation }}', +'{{ analyticsRegion }}', +'{{ billingType }}', +'{{ authorizedNetwork }}', +'{{ controlPlaneEncryptionKeyName }}', +'{{ runtimeDatabaseEncryptionKeyName }}', +'{{ expiresAt }}', +'{{ runtimeType }}', +'{{ environments }}', +'{{ type }}', +'{{ displayName }}', +'{{ apiConsumerDataEncryptionKeyName }}', +'{{ name }}', +'{{ properties }}', +'{{ projectId }}', +'{{ description }}', +'{{ state }}', +'{{ customerName }}', +'{{ apigeeProjectId }}', +'{{ attributes }}', +'{{ subscriptionType }}', +'{{ addonsConfig }}', +'{{ createdAt }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: lastModifiedAt + value: '{{ lastModifiedAt }}' + - name: subscriptionPlan + value: '{{ subscriptionPlan }}' + - name: portalDisabled + value: '{{ portalDisabled }}' + - name: caCertificate + value: '{{ caCertificate }}' + - name: disableVpcPeering + value: '{{ disableVpcPeering }}' + - name: apiConsumerDataLocation + value: '{{ apiConsumerDataLocation }}' + - name: analyticsRegion + value: '{{ analyticsRegion }}' + - name: billingType + value: '{{ billingType }}' + - name: authorizedNetwork + value: '{{ authorizedNetwork }}' + - name: controlPlaneEncryptionKeyName + value: '{{ controlPlaneEncryptionKeyName }}' + - name: runtimeDatabaseEncryptionKeyName + value: '{{ runtimeDatabaseEncryptionKeyName }}' + - name: expiresAt + value: '{{ expiresAt }}' + - name: runtimeType + value: '{{ runtimeType }}' + - name: environments + value: '{{ environments }}' + - name: type + value: '{{ type }}' + - name: displayName + value: '{{ displayName }}' + - name: apiConsumerDataEncryptionKeyName + value: '{{ apiConsumerDataEncryptionKeyName }}' + - name: name + value: '{{ name }}' + - name: properties + value: '{{ properties }}' + - name: projectId + value: '{{ projectId }}' + - name: description + value: '{{ description }}' + - name: state + value: '{{ state }}' + - name: customerName + value: '{{ customerName }}' + - name: apigeeProjectId + value: '{{ apigeeProjectId }}' + - name: attributes + value: '{{ attributes }}' + - name: subscriptionType + value: '{{ subscriptionType }}' + - name: addonsConfig + value: '{{ addonsConfig }}' + - name: createdAt + value: '{{ createdAt }}' + +``` + + + +## `DELETE` example + +Deletes the specified organization resource. + +```sql +DELETE FROM google.apigee.organizations +WHERE organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/overrides/index.md b/docs/google-docs/providers/google/apigee/overrides/index.md index 498e2fbd50..5b5f414236 100644 --- a/docs/google-docs/providers/google/apigee/overrides/index.md +++ b/docs/google-docs/providers/google/apigee/overrides/index.md @@ -1,3 +1,4 @@ + --- title: overrides hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - overrides - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an override resource or lists overrides in a region ## Overview
@@ -33,6 +35,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | ID of the trace configuration override specified as a system-generated UUID. | | | `string` | ID of the API proxy that will have its trace configuration overridden. | | | `object` | TraceSamplingConfig represents the detail settings of distributed tracing. Only the fields that are defined in the distributed trace configuration can be overridden using the distribute trace configuration override APIs. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -41,4 +44,92 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a trace configuration override. The response contains a system-generated UUID, that can be used to view, update, or delete the configuration override. Use the List API to view the existing trace configuration overrides. | | | `DELETE` | | Deletes a distributed trace configuration override. | | | `UPDATE` | | Updates a distributed trace configuration override. Note that the repeated fields have replace semantics when included in the field mask and that they will be overwritten by the value of the fields in the request body. | -| | `EXEC` | | Lists all of the distributed trace configuration overrides in an environment. | + +## `SELECT` examples + +Lists all of the distributed trace configuration overrides in an environment. + +```sql +SELECT +name, +apiProxy, +samplingConfig +FROM google.apigee.overrides +WHERE environmentsId = '{{ environmentsId }}' +AND organizationsId = '{{ organizationsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new overrides resource. + + + + +```sql +/*+ create */ +INSERT INTO google.apigee.overrides ( +environmentsId, +organizationsId, +name, +samplingConfig, +apiProxy +) +SELECT +'{{ environmentsId }}', +'{{ organizationsId }}', +'{{ name }}', +'{{ samplingConfig }}', +'{{ apiProxy }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: samplingConfig + value: '{{ samplingConfig }}' + - name: apiProxy + value: '{{ apiProxy }}' + +``` + + + +## `UPDATE` example + +Updates a override only if the necessary resources are available. + +```sql +UPDATE google.apigee.overrides +SET +name = '{{ name }}', +samplingConfig = '{{ samplingConfig }}', +apiProxy = '{{ apiProxy }}' +WHERE +environmentsId = '{{ environmentsId }}' +AND organizationsId = '{{ organizationsId }}' +AND overridesId = '{{ overridesId }}'; +``` + +## `DELETE` example + +Deletes the specified override resource. + +```sql +DELETE FROM google.apigee.overrides +WHERE environmentsId = '{{ environmentsId }}' +AND organizationsId = '{{ organizationsId }}' +AND overridesId = '{{ overridesId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/project_mapping/index.md b/docs/google-docs/providers/google/apigee/project_mapping/index.md index 2ce5451e57..62a270f798 100644 --- a/docs/google-docs/providers/google/apigee/project_mapping/index.md +++ b/docs/google-docs/providers/google/apigee/project_mapping/index.md @@ -1,3 +1,4 @@ + --- title: project_mapping hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - project_mapping - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an project_mapping resource or lists project_mapping in a region ## Overview
@@ -34,7 +36,22 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Name of the Apigee organization. | | | `string` | Google Cloud project associated with the Apigee organization | | | `array` | DEPRECATED: Use `project_id`. An Apigee Organization is mapped to a single project. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets the project ID and region for an Apigee organization. | + +## `SELECT` examples + +Gets the project ID and region for an Apigee organization. + +```sql +SELECT +location, +organization, +projectId, +projectIds +FROM google.apigee.project_mapping +WHERE organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/projects/index.md b/docs/google-docs/providers/google/apigee/projects/index.md index 71ecb096a7..206d30f3da 100644 --- a/docs/google-docs/providers/google/apigee/projects/index.md +++ b/docs/google-docs/providers/google/apigee/projects/index.md @@ -1,3 +1,4 @@ + --- title: projects hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - projects - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an project resource or lists projects in a region ## Overview
@@ -28,8 +30,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Provisions a new Apigee organization with a functioning runtime. This is the standard way to create trial organizations for a free Apigee trial. | diff --git a/docs/google-docs/providers/google/apigee/queries/index.md b/docs/google-docs/providers/google/apigee/queries/index.md index d6fbac2213..699460b43f 100644 --- a/docs/google-docs/providers/google/apigee/queries/index.md +++ b/docs/google-docs/providers/google/apigee/queries/index.md @@ -1,3 +1,4 @@ + --- title: queries hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - queries - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an query resource or lists queries in a region ## Overview @@ -43,9 +45,114 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Self link of the query. Example: `/organizations/myorg/environments/myenv/queries/9cfc0d85-0f30-46d6-ae6f-318d0cb961bd` or following format if query is running at host level: `/organizations/myorg/hostQueries/9cfc0d85-0f30-46d6-ae6f-318d0cb961bd` | | | `string` | Query state could be "enqueued", "running", "completed", "failed". | | | `string` | Last updated timestamp for the query. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Get query status If the query is still in progress, the `state` is set to "running" After the query has completed successfully, `state` is set to "completed" | | | `SELECT` | | Return a list of Asynchronous Queries | | | `INSERT` | | Submit a query to be processed in the background. If the submission of the query succeeds, the API returns a 201 status and an ID that refer to the query. In addition to the HTTP status 201, the `state` of "enqueued" means that the request succeeded. | + +## `SELECT` examples + +Return a list of Asynchronous Queries + +```sql +SELECT +name, +created, +envgroupHostname, +error, +executionTime, +queryParams, +reportDefinitionId, +result, +resultFileSize, +resultRows, +self, +state, +updated +FROM google.apigee.queries +WHERE environmentsId = '{{ environmentsId }}' +AND organizationsId = '{{ organizationsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new queries resource. + + + + +```sql +/*+ create */ +INSERT INTO google.apigee.queries ( +environmentsId, +organizationsId, +dimensions, +limit, +csvDelimiter, +envgroupHostname, +filter, +outputFormat, +name, +timeRange, +metrics, +groupByTimeUnit, +reportDefinitionId +) +SELECT +'{{ environmentsId }}', +'{{ organizationsId }}', +'{{ dimensions }}', +'{{ limit }}', +'{{ csvDelimiter }}', +'{{ envgroupHostname }}', +'{{ filter }}', +'{{ outputFormat }}', +'{{ name }}', +'{{ timeRange }}', +'{{ metrics }}', +'{{ groupByTimeUnit }}', +'{{ reportDefinitionId }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: dimensions + value: '{{ dimensions }}' + - name: limit + value: '{{ limit }}' + - name: csvDelimiter + value: '{{ csvDelimiter }}' + - name: envgroupHostname + value: '{{ envgroupHostname }}' + - name: filter + value: '{{ filter }}' + - name: outputFormat + value: '{{ outputFormat }}' + - name: name + value: '{{ name }}' + - name: timeRange + value: '{{ timeRange }}' + - name: metrics + value: '{{ metrics }}' + - name: groupByTimeUnit + value: '{{ groupByTimeUnit }}' + - name: reportDefinitionId + value: '{{ reportDefinitionId }}' + +``` + + diff --git a/docs/google-docs/providers/google/apigee/queries_result/index.md b/docs/google-docs/providers/google/apigee/queries_result/index.md index 46d88b677d..1a6731c73b 100644 --- a/docs/google-docs/providers/google/apigee/queries_result/index.md +++ b/docs/google-docs/providers/google/apigee/queries_result/index.md @@ -1,3 +1,4 @@ + --- title: queries_result hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - queries_result - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an queries_result resource or lists queries_result in a region ## Overview
@@ -33,7 +35,23 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The HTTP Content-Type header value specifying the content type of the body. | | | `string` | The HTTP request/response body as raw binary. | | | `array` | Application specific response metadata. Must be set in the first response for streaming APIs. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | After the query is completed, use this API to retrieve the results. If the request succeeds, and there is a non-zero result set, the result is downloaded to the client as a zipped JSON file. The name of the downloaded file will be: OfflineQueryResult-.zip Example: `OfflineQueryResult-9cfc0d85-0f30-46d6-ae6f-318d0cb961bd.zip` | + +## `SELECT` examples + +After the query is completed, use this API to retrieve the results. If the request succeeds, and there is a non-zero result set, the result is downloaded to the client as a zipped JSON file. The name of the downloaded file will be: OfflineQueryResult-.zip Example: `OfflineQueryResult-9cfc0d85-0f30-46d6-ae6f-318d0cb961bd.zip` + +```sql +SELECT +contentType, +data, +extensions +FROM google.apigee.queries_result +WHERE environmentsId = '{{ environmentsId }}' +AND organizationsId = '{{ organizationsId }}' +AND queriesId = '{{ queriesId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/queries_resulturl/index.md b/docs/google-docs/providers/google/apigee/queries_resulturl/index.md index 24732f9173..214804b385 100644 --- a/docs/google-docs/providers/google/apigee/queries_resulturl/index.md +++ b/docs/google-docs/providers/google/apigee/queries_resulturl/index.md @@ -1,3 +1,4 @@ + --- title: queries_resulturl hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - queries_resulturl - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an queries_resulturl resource or lists queries_resulturl in a region ## Overview
@@ -28,7 +30,24 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `array` | The list of Signed URLs generated by the CreateAsyncQuery request | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | After the query is completed, use this API to retrieve the results. If the request succeeds, and there is a non-zero result set, the result is sent to the client as a list of urls to JSON files. | + +## `SELECT` examples + +After the query is completed, use this API to retrieve the results. If the request succeeds, and there is a non-zero result set, the result is sent to the client as a list of urls to JSON files. + +```sql +SELECT +urls +FROM google.apigee.queries_resulturl +WHERE environmentsId = '{{ environmentsId }}' +AND organizationsId = '{{ organizationsId }}' +AND queriesId = '{{ queriesId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/rateplans/index.md b/docs/google-docs/providers/google/apigee/rateplans/index.md index c121cb3a87..da24e66e14 100644 --- a/docs/google-docs/providers/google/apigee/rateplans/index.md +++ b/docs/google-docs/providers/google/apigee/rateplans/index.md @@ -1,3 +1,4 @@ + --- title: rateplans hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - rateplans - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an rateplan resource or lists rateplans in a region ## Overview @@ -34,7 +36,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Description of the rate plan. | | | `string` | Name of the API product that the rate plan is associated with. | | | `string` | Frequency at which the customer will be billed. | -| | `array` | API call volume ranges and the fees charged when the total number of API calls is within a given range. The method used to calculate the final fee depends on the selected pricing model. For example, if the pricing model is `STAIRSTEP` and the ranges are defined as follows: ``` { "start": 1, "end": 100, "fee": 75 }, { "start": 101, "end": 200, "fee": 100 }, } ``` Then the following fees would be charged based on the total number of API calls (assuming the currency selected is `USD`): * 1 call costs $75 * 50 calls cost $75 * 150 calls cost $100 The number of API calls cannot exceed 200. | +| | `array` | API call volume ranges and the fees charged when the total number of API calls is within a given range. The method used to calculate the final fee depends on the selected pricing model. For example, if the pricing model is `STAIRSTEP` and the ranges are defined as follows: ``` { "start": 1, "end": 100, "fee": 75 }, { "start": 101, "end": 200, "fee": 100 }, } ``` Then the following fees would be charged based on the total number of API calls (assuming the currency selected is `USD`): * 1 call costs $75 * 50 calls cost $75 * 150 calls cost $100 The number of API calls cannot exceed 200. | | | `string` | Pricing model used for consumption-based charges. | | | `string` | Output only. Time that the rate plan was created in milliseconds since epoch. | | | `string` | Currency to be used for billing. Consists of a three-letter code as defined by the [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) standard. | @@ -49,6 +51,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Represents an amount of money with its currency type. | | | `string` | Time when the rate plan becomes active in milliseconds since epoch. | | | `string` | Current state of the rate plan (draft or published). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -56,4 +59,157 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists all the rate plans for an API product. | | | `INSERT` | | Create a rate plan that is associated with an API product in an organization. Using rate plans, API product owners can monetize their API products by configuring one or more of the following: - Billing frequency - Initial setup fees for using an API product - Payment funding model (postpaid only) - Fixed recurring or consumption-based charges for using an API product - Revenue sharing with developer partners An API product can have multiple rate plans associated with it but *only one* rate plan can be active at any point of time. **Note: From the developer's perspective, they purchase API products not rate plans. | | | `DELETE` | | Deletes a rate plan. | -| | `UPDATE` | | Updates an existing rate plan. | +| | `EXEC` | | Updates an existing rate plan. | + +## `SELECT` examples + +Lists all the rate plans for an API product. + +```sql +SELECT +name, +description, +apiproduct, +billingPeriod, +consumptionPricingRates, +consumptionPricingType, +createdAt, +currencyCode, +displayName, +endTime, +fixedFeeFrequency, +fixedRecurringFee, +lastModifiedAt, +paymentFundingModel, +revenueShareRates, +revenueShareType, +setupFee, +startTime, +state +FROM google.apigee.rateplans +WHERE apiproductsId = '{{ apiproductsId }}' +AND organizationsId = '{{ organizationsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new rateplans resource. + + + + +```sql +/*+ create */ +INSERT INTO google.apigee.rateplans ( +apiproductsId, +organizationsId, +consumptionPricingRates, +billingPeriod, +revenueShareRates, +fixedRecurringFee, +state, +revenueShareType, +consumptionPricingType, +currencyCode, +startTime, +name, +setupFee, +lastModifiedAt, +createdAt, +displayName, +apiproduct, +description, +endTime, +fixedFeeFrequency, +paymentFundingModel +) +SELECT +'{{ apiproductsId }}', +'{{ organizationsId }}', +'{{ consumptionPricingRates }}', +'{{ billingPeriod }}', +'{{ revenueShareRates }}', +'{{ fixedRecurringFee }}', +'{{ state }}', +'{{ revenueShareType }}', +'{{ consumptionPricingType }}', +'{{ currencyCode }}', +'{{ startTime }}', +'{{ name }}', +'{{ setupFee }}', +'{{ lastModifiedAt }}', +'{{ createdAt }}', +'{{ displayName }}', +'{{ apiproduct }}', +'{{ description }}', +'{{ endTime }}', +'{{ fixedFeeFrequency }}', +'{{ paymentFundingModel }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: consumptionPricingRates + value: '{{ consumptionPricingRates }}' + - name: billingPeriod + value: '{{ billingPeriod }}' + - name: revenueShareRates + value: '{{ revenueShareRates }}' + - name: fixedRecurringFee + value: '{{ fixedRecurringFee }}' + - name: state + value: '{{ state }}' + - name: revenueShareType + value: '{{ revenueShareType }}' + - name: consumptionPricingType + value: '{{ consumptionPricingType }}' + - name: currencyCode + value: '{{ currencyCode }}' + - name: startTime + value: '{{ startTime }}' + - name: name + value: '{{ name }}' + - name: setupFee + value: '{{ setupFee }}' + - name: lastModifiedAt + value: '{{ lastModifiedAt }}' + - name: createdAt + value: '{{ createdAt }}' + - name: displayName + value: '{{ displayName }}' + - name: apiproduct + value: '{{ apiproduct }}' + - name: description + value: '{{ description }}' + - name: endTime + value: '{{ endTime }}' + - name: fixedFeeFrequency + value: '{{ fixedFeeFrequency }}' + - name: paymentFundingModel + value: '{{ paymentFundingModel }}' + +``` + + + +## `DELETE` example + +Deletes the specified rateplan resource. + +```sql +DELETE FROM google.apigee.rateplans +WHERE apiproductsId = '{{ apiproductsId }}' +AND organizationsId = '{{ organizationsId }}' +AND rateplansId = '{{ rateplansId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/references/index.md b/docs/google-docs/providers/google/apigee/references/index.md index 5ab5caf4f3..742987d183 100644 --- a/docs/google-docs/providers/google/apigee/references/index.md +++ b/docs/google-docs/providers/google/apigee/references/index.md @@ -1,3 +1,4 @@ + --- title: references hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - references - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an reference resource or lists references in a region ## Overview
@@ -34,10 +36,90 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Optional. A human-readable description of this reference. | | | `string` | Required. The id of the resource to which this reference refers. Must be the id of a resource that exists in the parent environment and is of the given resource_type. | | | `string` | The type of resource referred to by this reference. Valid values are 'KeyStore' or 'TrustStore'. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets a Reference resource. | | | `INSERT` | | Creates a Reference in the specified environment. | | | `DELETE` | | Deletes a Reference from an environment. Returns the deleted Reference resource. | -| | `UPDATE` | | Updates an existing Reference. Note that this operation has PUT semantics; it will replace the entirety of the existing Reference with the resource in the request body. | +| | `EXEC` | | Updates an existing Reference. Note that this operation has PUT semantics; it will replace the entirety of the existing Reference with the resource in the request body. | + +## `SELECT` examples + +Gets a Reference resource. + +```sql +SELECT +name, +description, +refers, +resourceType +FROM google.apigee.references +WHERE environmentsId = '{{ environmentsId }}' +AND organizationsId = '{{ organizationsId }}' +AND referencesId = '{{ referencesId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new references resource. + + + + +```sql +/*+ create */ +INSERT INTO google.apigee.references ( +environmentsId, +organizationsId, +name, +resourceType, +description, +refers +) +SELECT +'{{ environmentsId }}', +'{{ organizationsId }}', +'{{ name }}', +'{{ resourceType }}', +'{{ description }}', +'{{ refers }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: resourceType + value: '{{ resourceType }}' + - name: description + value: '{{ description }}' + - name: refers + value: '{{ refers }}' + +``` + + + +## `DELETE` example + +Deletes the specified reference resource. + +```sql +DELETE FROM google.apigee.references +WHERE environmentsId = '{{ environmentsId }}' +AND organizationsId = '{{ organizationsId }}' +AND referencesId = '{{ referencesId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/reports/index.md b/docs/google-docs/providers/google/apigee/reports/index.md index e3c874d3ab..7de2b78469 100644 --- a/docs/google-docs/providers/google/apigee/reports/index.md +++ b/docs/google-docs/providers/google/apigee/reports/index.md @@ -1,3 +1,4 @@ + --- title: reports hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - reports - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an report resource or lists reports in a region ## Overview
@@ -52,6 +54,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | This field contains the time unit of aggregation for the report | | | `string` | Legacy field: not used. Contains the end time for the report | | | `string` | Legacy field: not used. This field contains the top k parameter value for restricting the result | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -59,4 +62,168 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Return a list of Custom Reports | | | `INSERT` | | Creates a Custom Report for an Organization. A Custom Report provides Apigee Customers to create custom dashboards in addition to the standard dashboards which are provided. The Custom Report in its simplest form contains specifications about metrics, dimensions and filters. It is important to note that the custom report by itself does not provide an executable entity. The Edge UI converts the custom report definition into an analytics query and displays the result in a chart. | | | `DELETE` | | Deletes an existing custom report definition | -| | `UPDATE` | | Update an existing custom report definition | +| | `EXEC` | | Update an existing custom report definition | + +## `SELECT` examples + +Return a list of Custom Reports + +```sql +SELECT +name, +chartType, +comments, +createdAt, +dimensions, +displayName, +environment, +filter, +fromTime, +lastModifiedAt, +lastViewedAt, +limit, +metrics, +offset, +organization, +properties, +sortByCols, +sortOrder, +tags, +timeUnit, +toTime, +topk +FROM google.apigee.reports +WHERE organizationsId = '{{ organizationsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new reports resource. + + + + +```sql +/*+ create */ +INSERT INTO google.apigee.reports ( +organizationsId, +fromTime, +sortByCols, +offset, +environment, +sortOrder, +topk, +name, +timeUnit, +chartType, +lastModifiedAt, +metrics, +filter, +createdAt, +properties, +toTime, +displayName, +organization, +comments, +tags, +lastViewedAt, +dimensions, +limit +) +SELECT +'{{ organizationsId }}', +'{{ fromTime }}', +'{{ sortByCols }}', +'{{ offset }}', +'{{ environment }}', +'{{ sortOrder }}', +'{{ topk }}', +'{{ name }}', +'{{ timeUnit }}', +'{{ chartType }}', +'{{ lastModifiedAt }}', +'{{ metrics }}', +'{{ filter }}', +'{{ createdAt }}', +'{{ properties }}', +'{{ toTime }}', +'{{ displayName }}', +'{{ organization }}', +'{{ comments }}', +'{{ tags }}', +'{{ lastViewedAt }}', +'{{ dimensions }}', +'{{ limit }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: fromTime + value: '{{ fromTime }}' + - name: sortByCols + value: '{{ sortByCols }}' + - name: offset + value: '{{ offset }}' + - name: environment + value: '{{ environment }}' + - name: sortOrder + value: '{{ sortOrder }}' + - name: topk + value: '{{ topk }}' + - name: name + value: '{{ name }}' + - name: timeUnit + value: '{{ timeUnit }}' + - name: chartType + value: '{{ chartType }}' + - name: lastModifiedAt + value: '{{ lastModifiedAt }}' + - name: metrics + value: '{{ metrics }}' + - name: filter + value: '{{ filter }}' + - name: createdAt + value: '{{ createdAt }}' + - name: properties + value: '{{ properties }}' + - name: toTime + value: '{{ toTime }}' + - name: displayName + value: '{{ displayName }}' + - name: organization + value: '{{ organization }}' + - name: comments + value: '{{ comments }}' + - name: tags + value: '{{ tags }}' + - name: lastViewedAt + value: '{{ lastViewedAt }}' + - name: dimensions + value: '{{ dimensions }}' + - name: limit + value: '{{ limit }}' + +``` + + + +## `DELETE` example + +Deletes the specified report resource. + +```sql +DELETE FROM google.apigee.reports +WHERE organizationsId = '{{ organizationsId }}' +AND reportsId = '{{ reportsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/resourcefiles/index.md b/docs/google-docs/providers/google/apigee/resourcefiles/index.md index 33bb694855..1e2f0396f8 100644 --- a/docs/google-docs/providers/google/apigee/resourcefiles/index.md +++ b/docs/google-docs/providers/google/apigee/resourcefiles/index.md @@ -1,3 +1,4 @@ + --- title: resourcefiles hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - resourcefiles - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an resourcefile resource or lists resourcefiles in a region ## Overview
@@ -33,6 +35,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The HTTP Content-Type header value specifying the content type of the body. | | | `string` | The HTTP request/response body as raw binary. | | | `array` | Application specific response metadata. Must be set in the first response for streaming APIs. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -40,4 +43,78 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists all resource files, optionally filtering by type. For more information about resource files, see [Resource files](https://cloud.google.com/apigee/docs/api-platform/develop/resource-files). | | | `INSERT` | | Creates a resource file. Specify the `Content-Type` as `application/octet-stream` or `multipart/form-data`. For more information about resource files, see [Resource files](https://cloud.google.com/apigee/docs/api-platform/develop/resource-files). | | | `DELETE` | | Deletes a resource file. For more information about resource files, see [Resource files](https://cloud.google.com/apigee/docs/api-platform/develop/resource-files). | -| | `UPDATE` | | Updates a resource file. Specify the `Content-Type` as `application/octet-stream` or `multipart/form-data`. For more information about resource files, see [Resource files](https://cloud.google.com/apigee/docs/api-platform/develop/resource-files). | +| | `EXEC` | | Updates a resource file. Specify the `Content-Type` as `application/octet-stream` or `multipart/form-data`. For more information about resource files, see [Resource files](https://cloud.google.com/apigee/docs/api-platform/develop/resource-files). | + +## `SELECT` examples + +Lists all resource files, optionally filtering by type. For more information about resource files, see [Resource files](https://cloud.google.com/apigee/docs/api-platform/develop/resource-files). + +```sql +SELECT +contentType, +data, +extensions +FROM google.apigee.resourcefiles +WHERE environmentsId = '{{ environmentsId }}' +AND organizationsId = '{{ organizationsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new resourcefiles resource. + + + + +```sql +/*+ create */ +INSERT INTO google.apigee.resourcefiles ( +environmentsId, +organizationsId, +contentType, +extensions, +data +) +SELECT +'{{ environmentsId }}', +'{{ organizationsId }}', +'{{ contentType }}', +'{{ extensions }}', +'{{ data }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: contentType + value: '{{ contentType }}' + - name: extensions + value: '{{ extensions }}' + - name: data + value: '{{ data }}' + +``` + + + +## `DELETE` example + +Deletes the specified resourcefile resource. + +```sql +DELETE FROM google.apigee.resourcefiles +WHERE environmentsId = '{{ environmentsId }}' +AND name = '{{ name }}' +AND organizationsId = '{{ organizationsId }}' +AND type = '{{ type }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/resourcefiles_environment_resources/index.md b/docs/google-docs/providers/google/apigee/resourcefiles_environment_resources/index.md index 31e7b50022..815ea1a50c 100644 --- a/docs/google-docs/providers/google/apigee/resourcefiles_environment_resources/index.md +++ b/docs/google-docs/providers/google/apigee/resourcefiles_environment_resources/index.md @@ -1,3 +1,4 @@ + --- title: resourcefiles_environment_resources hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - resourcefiles_environment_resources - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an resourcefiles_environment_resource resource or lists resourcefiles_environment_resources in a region ## Overview
@@ -28,7 +30,24 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `array` | List of resources files. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists all resource files, optionally filtering by type. For more information about resource files, see [Resource files](https://cloud.google.com/apigee/docs/api-platform/develop/resource-files). | + +## `SELECT` examples + +Lists all resource files, optionally filtering by type. For more information about resource files, see [Resource files](https://cloud.google.com/apigee/docs/api-platform/develop/resource-files). + +```sql +SELECT +resourceFile +FROM google.apigee.resourcefiles_environment_resources +WHERE environmentsId = '{{ environmentsId }}' +AND organizationsId = '{{ organizationsId }}' +AND type = '{{ type }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/revisions/index.md b/docs/google-docs/providers/google/apigee/revisions/index.md index 80fa03cd92..e6f64910ee 100644 --- a/docs/google-docs/providers/google/apigee/revisions/index.md +++ b/docs/google-docs/providers/google/apigee/revisions/index.md @@ -1,3 +1,4 @@ + --- title: revisions hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - revisions - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an revision resource or lists revisions in a region ## Overview @@ -33,6 +35,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The HTTP Content-Type header value specifying the content type of the body. | | | `string` | The HTTP request/response body as raw binary. | | | `array` | Application specific response metadata. Must be set in the first response for streaming APIs. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -40,7 +43,33 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Gets a revision of a shared flow. To download the shared flow configuration bundle for the specified revision as a zip file, set the `format` query parameter to `bundle`. If you are using curl, specify `-o filename.zip` to save the output to a file; otherwise, it displays to `stdout`. Then, develop the shared flow configuration locally and upload the updated sharedFlow configuration revision, as described in [updateSharedFlowRevision](updateSharedFlowRevision). | | | `DELETE` | | Deletes an API proxy revision and all policies, resources, endpoints, and revisions associated with it. The API proxy revision must be undeployed before you can delete it. | | | `DELETE` | | Deletes a shared flow and all associated policies, resources, and revisions. You must undeploy the shared flow before deleting it. | -| | `EXEC` | | Deploys a revision of an API proxy. If another revision of the same API proxy revision is currently deployed, set the `override` parameter to `true` to have this revision replace the currently deployed revision. You cannot invoke an API proxy until it has been deployed to an environment. After you deploy an API proxy revision, you cannot edit it. To edit the API proxy, you must create and deploy a new revision. For a request path `organizations/{org}/environments/{env}/apis/{api}/revisions/{rev}/deployments`, two permissions are required: * `apigee.deployments.create` on the resource `organizations/{org}/environments/{env}` * `apigee.proxyrevisions.deploy` on the resource `organizations/{org}/apis/{api}/revisions/{rev}` | -| | `EXEC` | | Undeploys an API proxy revision from an environment. For a request path `organizations/{org}/environments/{env}/apis/{api}/revisions/{rev}/deployments`, two permissions are required: * `apigee.deployments.delete` on the resource `organizations/{org}/environments/{env}` * `apigee.proxyrevisions.undeploy` on the resource `organizations/{org}/apis/{api}/revisions/{rev}` | -| | `EXEC` | | Deploys a revision of a shared flow. If another revision of the same shared flow is currently deployed, set the `override` parameter to `true` to have this revision replace the currently deployed revision. You cannot use a shared flow until it has been deployed to an environment. For a request path `organizations/{org}/environments/{env}/sharedflows/{sf}/revisions/{rev}/deployments`, two permissions are required: * `apigee.deployments.create` on the resource `organizations/{org}/environments/{env}` * `apigee.sharedflowrevisions.deploy` on the resource `organizations/{org}/sharedflows/{sf}/revisions/{rev}` | -| | `EXEC` | | Undeploys a shared flow revision from an environment. For a request path `organizations/{org}/environments/{env}/sharedflows/{sf}/revisions/{rev}/deployments`, two permissions are required: * `apigee.deployments.delete` on the resource `organizations/{org}/environments/{env}` * `apigee.sharedflowrevisions.undeploy` on the resource `organizations/{org}/sharedflows/{sf}/revisions/{rev}` | +| | `EXEC` | | Deploys a revision of an API proxy. If another revision of the same API proxy revision is currently deployed, set the `override` parameter to `true` to have this revision replace the currently deployed revision. You cannot invoke an API proxy until it has been deployed to an environment. After you deploy an API proxy revision, you cannot edit it. To edit the API proxy, you must create and deploy a new revision. For a request path `organizations/{org}/environments/{env}/apis/{api}/revisions/{rev}/deployments`, two permissions are required: * `apigee.deployments.create` on the resource `organizations/{org}/environments/{env}` * `apigee.proxyrevisions.deploy` on the resource `organizations/{org}/apis/{api}/revisions/{rev}` | +| | `EXEC` | | Undeploys an API proxy revision from an environment. For a request path `organizations/{org}/environments/{env}/apis/{api}/revisions/{rev}/deployments`, two permissions are required: * `apigee.deployments.delete` on the resource `organizations/{org}/environments/{env}` * `apigee.proxyrevisions.undeploy` on the resource `organizations/{org}/apis/{api}/revisions/{rev}` | +| | `EXEC` | | Deploys a revision of a shared flow. If another revision of the same shared flow is currently deployed, set the `override` parameter to `true` to have this revision replace the currently deployed revision. You cannot use a shared flow until it has been deployed to an environment. For a request path `organizations/{org}/environments/{env}/sharedflows/{sf}/revisions/{rev}/deployments`, two permissions are required: * `apigee.deployments.create` on the resource `organizations/{org}/environments/{env}` * `apigee.sharedflowrevisions.deploy` on the resource `organizations/{org}/sharedflows/{sf}/revisions/{rev}` | +| | `EXEC` | | Undeploys a shared flow revision from an environment. For a request path `organizations/{org}/environments/{env}/sharedflows/{sf}/revisions/{rev}/deployments`, two permissions are required: * `apigee.deployments.delete` on the resource `organizations/{org}/environments/{env}` * `apigee.sharedflowrevisions.undeploy` on the resource `organizations/{org}/sharedflows/{sf}/revisions/{rev}` | + +## `SELECT` examples + +Gets an API proxy revision. To download the API proxy configuration bundle for the specified revision as a zip file, set the `format` query parameter to `bundle`. If you are using curl, specify `-o filename.zip` to save the output to a file; otherwise, it displays to `stdout`. Then, develop the API proxy configuration locally and upload the updated API proxy configuration revision, as described in [updateApiProxyRevision](updateApiProxyRevision). + +```sql +SELECT +contentType, +data, +extensions +FROM google.apigee.revisions +WHERE apisId = '{{ apisId }}' +AND organizationsId = '{{ organizationsId }}' +AND revisionsId = '{{ revisionsId }}'; +``` + +## `DELETE` example + +Deletes the specified revision resource. + +```sql +DELETE FROM google.apigee.revisions +WHERE apisId = '{{ apisId }}' +AND organizationsId = '{{ organizationsId }}' +AND revisionsId = '{{ revisionsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/revisions_api_proxy_revision/index.md b/docs/google-docs/providers/google/apigee/revisions_api_proxy_revision/index.md index 2916564958..a82e133934 100644 --- a/docs/google-docs/providers/google/apigee/revisions_api_proxy_revision/index.md +++ b/docs/google-docs/providers/google/apigee/revisions_api_proxy_revision/index.md @@ -1,3 +1,4 @@ + --- title: revisions_api_proxy_revision hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - revisions_api_proxy_revision - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an revisions_api_proxy_revision resource or lists revisions_api_proxy_revision in a region ## Overview
@@ -28,8 +30,26 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `UPDATE` | | Updates an existing API proxy revision by uploading the API proxy configuration bundle as a zip file from your local machine. You can update only API proxy revisions that have never been deployed. After deployment, an API proxy revision becomes immutable, even if it is undeployed. Set the `Content-Type` header to either `multipart/form-data` or `application/octet-stream`. | + +## `UPDATE` example + +Updates a revisions_api_proxy_revision only if the necessary resources are available. + +```sql +UPDATE google.apigee.revisions_api_proxy_revision +SET +contentType = '{{ contentType }}', +extensions = '{{ extensions }}', +data = '{{ data }}' +WHERE +apisId = '{{ apisId }}' +AND organizationsId = '{{ organizationsId }}' +AND revisionsId = '{{ revisionsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/revisions_deployments/index.md b/docs/google-docs/providers/google/apigee/revisions_deployments/index.md index f45defbeac..54d1849fa8 100644 --- a/docs/google-docs/providers/google/apigee/revisions_deployments/index.md +++ b/docs/google-docs/providers/google/apigee/revisions_deployments/index.md @@ -1,3 +1,4 @@ + --- title: revisions_deployments hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - revisions_deployments - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an revisions_deployment resource or lists revisions_deployments in a region ## Overview @@ -39,10 +41,35 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The type of the deployment (standard or extensible) Deployed proxy revision will be marked as extensible in following 2 cases. 1. The deployed proxy revision uses extensible policies. 2. If a environment supports flowhooks and flow hook is configured. | | | `string` | API proxy revision. | | | `array` | Conflicts in the desired state routing configuration. The presence of conflicts does not cause the state to be `ERROR`, but it will mean that some of the deployment's base paths are not routed to its environment. If the conflicts change, the state will transition to `PROGRESSING` until the latest configuration is rolled out to all instances. **Note**: This field is displayed only when viewing deployment status. | -| | `string` | The full resource name of Cloud IAM Service Account that this deployment is using, eg, `projects/-/serviceAccounts/{email}`. | +| | `string` | The full resource name of Cloud IAM Service Account that this deployment is using, eg, `projects/-/serviceAccounts/{email}`. | | | `string` | Current state of the deployment. **Note**: This field is displayed only when viewing deployment status. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the deployment of an API proxy revision and actual state reported by runtime pods. | | | `SELECT` | | Gets the deployment of a shared flow revision and actual state reported by runtime pods. | + +## `SELECT` examples + +Gets the deployment of an API proxy revision and actual state reported by runtime pods. + +```sql +SELECT +apiProxy, +deployStartTime, +environment, +errors, +instances, +pods, +proxyDeploymentType, +revision, +routeConflicts, +serviceAccount, +state +FROM google.apigee.revisions_deployments +WHERE apisId = '{{ apisId }}' +AND environmentsId = '{{ environmentsId }}' +AND organizationsId = '{{ organizationsId }}' +AND revisionsId = '{{ revisionsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/revisions_shared_flow_revision/index.md b/docs/google-docs/providers/google/apigee/revisions_shared_flow_revision/index.md index 6e55f93aaa..6d3ce93309 100644 --- a/docs/google-docs/providers/google/apigee/revisions_shared_flow_revision/index.md +++ b/docs/google-docs/providers/google/apigee/revisions_shared_flow_revision/index.md @@ -1,3 +1,4 @@ + --- title: revisions_shared_flow_revision hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - revisions_shared_flow_revision - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an revisions_shared_flow_revision resource or lists revisions_shared_flow_revision in a region ## Overview
@@ -28,8 +30,26 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `UPDATE` | | Updates a shared flow revision. This operation is only allowed on revisions which have never been deployed. After deployment a revision becomes immutable, even if it becomes undeployed. The payload is a ZIP-formatted shared flow. Content type must be either multipart/form-data or application/octet-stream. | + +## `UPDATE` example + +Updates a revisions_shared_flow_revision only if the necessary resources are available. + +```sql +UPDATE google.apigee.revisions_shared_flow_revision +SET +contentType = '{{ contentType }}', +extensions = '{{ extensions }}', +data = '{{ data }}' +WHERE +organizationsId = '{{ organizationsId }}' +AND revisionsId = '{{ revisionsId }}' +AND sharedflowsId = '{{ sharedflowsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/runtime_config/index.md b/docs/google-docs/providers/google/apigee/runtime_config/index.md index 67a0224697..4c26e0f2e2 100644 --- a/docs/google-docs/providers/google/apigee/runtime_config/index.md +++ b/docs/google-docs/providers/google/apigee/runtime_config/index.md @@ -1,3 +1,4 @@ + --- title: runtime_config hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - runtime_config - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an runtime_config resource or lists runtime_config in a region ## Overview @@ -30,11 +32,26 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Name of the resource in the following format: `organizations/{org}/runtimeConfig`. | +| | `string` | Name of the resource in the following format: `organizations/{org}/runtimeConfig`. | | | `string` | Cloud Storage bucket used for uploading Analytics records. | | | `string` | Output only. Tenant project ID associated with the Apigee organization. The tenant project is used to host Google-managed resources that are dedicated to this Apigee organization. Clients have limited access to resources within the tenant project used to support Apigee runtime instances. Access to the tenant project is managed using SetSyncAuthorization. It can be empty if the tenant project hasn't been created yet. | | | `string` | Cloud Storage bucket used for uploading Trace records. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Get runtime config for an organization. | + +## `SELECT` examples + +Get runtime config for an organization. + +```sql +SELECT +name, +analyticsBucket, +tenantProjectId, +traceBucket +FROM google.apigee.runtime_config +WHERE organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/security_actions/index.md b/docs/google-docs/providers/google/apigee/security_actions/index.md index 20f996b166..239e59e22a 100644 --- a/docs/google-docs/providers/google/apigee/security_actions/index.md +++ b/docs/google-docs/providers/google/apigee/security_actions/index.md @@ -1,3 +1,4 @@ + --- title: security_actions hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - security_actions - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an security_action resource or lists security_actions in a region ## Overview
@@ -30,9 +32,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Immutable. This field is ignored during creation as per AIP-133. Please set the `security_action_id` field in the CreateSecurityActionRequest when creating a new SecurityAction. Format: organizations/{org}/environments/{env}/securityActions/{security_action} | +| | `string` | Immutable. This field is ignored during creation as per AIP-133. Please set the `security_action_id` field in the CreateSecurityActionRequest when creating a new SecurityAction. Format: organizations/{org}/environments/{env}/securityActions/{security_action} | | | `string` | Optional. An optional user provided description of the SecurityAction. | | | `object` | Message that should be set in case of an Allow Action. This does not have any fields. | +| | `array` | Optional. If unset, this would apply to all proxies in the environment. If set, this action is enforced only if at least one proxy in the repeated list is deployed at the time of enforcement. If set, several restrictions are enforced on SecurityActions. There can be at most 100 enabled actions with proxies set in an env. Several other restrictions apply on conditions and are detailed later. | | | `object` | The following are a list of conditions. A valid SecurityAction must contain at least one condition. Within a condition, each element is ORed. Across conditions elements are ANDed. For example if a SecurityAction has the following: ip_address_ranges: ["ip1", "ip2"] and bot_reasons: ["Flooder", "Robot Abuser"] then this is interpreted as: enforce the action if the incoming request has ((ip_address_ranges = "ip1" OR ip_address_ranges = "ip2") AND (bot_reasons="Flooder" OR bot_reasons="Robot Abuser")). Conditions other than ip_address_ranges and bot_reasons cannot be ANDed. | | | `string` | Output only. The create time for this SecurityAction. | | | `object` | Message that should be set in case of a Deny Action. | @@ -41,12 +44,119 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Required. Only an ENABLED SecurityAction is enforced. An ENABLED SecurityAction past its expiration time will not be enforced. | | | `string` | Input only. The TTL for this SecurityAction. | | | `string` | Output only. The update time for this SecurityAction. This reflects when this SecurityAction changed states. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Get a SecurityAction by name. | | | `SELECT` | | Returns a list of SecurityActions. This returns both enabled and disabled actions. | | | `INSERT` | | CreateSecurityAction creates a SecurityAction. | -| | `EXEC` | | Returns a list of SecurityActions. This returns both enabled and disabled actions. | | | `EXEC` | | Disable a SecurityAction. The `state` of the SecurityAction after disabling is `DISABLED`. `DisableSecurityAction` can be called on SecurityActions in the state `ENABLED`; SecurityActions in a different state (including `DISABLED`) return an error. | | | `EXEC` | | Enable a SecurityAction. The `state` of the SecurityAction after enabling is `ENABLED`. `EnableSecurityAction` can be called on SecurityActions in the state `DISABLED`; SecurityActions in a different state (including `ENABLED) return an error. | + +## `SELECT` examples + +Returns a list of SecurityActions. This returns both enabled and disabled actions. + +```sql +SELECT +name, +description, +allow, +apiProxies, +conditionConfig, +createTime, +deny, +expireTime, +flag, +state, +ttl, +updateTime +FROM google.apigee.security_actions +WHERE environmentsId = '{{ environmentsId }}' +AND organizationsId = '{{ organizationsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new security_actions resource. + + + + +```sql +/*+ create */ +INSERT INTO google.apigee.security_actions ( +environmentsId, +organizationsId, +apiProxies, +createTime, +updateTime, +name, +description, +conditionConfig, +deny, +state, +ttl, +allow, +flag, +expireTime +) +SELECT +'{{ environmentsId }}', +'{{ organizationsId }}', +'{{ apiProxies }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ name }}', +'{{ description }}', +'{{ conditionConfig }}', +'{{ deny }}', +'{{ state }}', +'{{ ttl }}', +'{{ allow }}', +'{{ flag }}', +'{{ expireTime }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: apiProxies + value: '{{ apiProxies }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: conditionConfig + value: '{{ conditionConfig }}' + - name: deny + value: '{{ deny }}' + - name: state + value: '{{ state }}' + - name: ttl + value: '{{ ttl }}' + - name: allow + value: '{{ allow }}' + - name: flag + value: '{{ flag }}' + - name: expireTime + value: '{{ expireTime }}' + +``` + + diff --git a/docs/google-docs/providers/google/apigee/security_assessment_results/index.md b/docs/google-docs/providers/google/apigee/security_assessment_results/index.md index a87ccf0cc2..cba42c09aa 100644 --- a/docs/google-docs/providers/google/apigee/security_assessment_results/index.md +++ b/docs/google-docs/providers/google/apigee/security_assessment_results/index.md @@ -1,3 +1,4 @@ + --- title: security_assessment_results hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - security_assessment_results - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an security_assessment_result resource or lists security_assessment_results in a region ## Overview
@@ -28,8 +30,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Compute RAV2 security scores for a set of resources. | diff --git a/docs/google-docs/providers/google/apigee/security_incidents/index.md b/docs/google-docs/providers/google/apigee/security_incidents/index.md index 9be0ce7396..9317abb489 100644 --- a/docs/google-docs/providers/google/apigee/security_incidents/index.md +++ b/docs/google-docs/providers/google/apigee/security_incidents/index.md @@ -1,3 +1,4 @@ + --- title: security_incidents hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - security_incidents - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an security_incident resource or lists security_incidents in a region ## Overview @@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Immutable. Name of the security incident resource. Format: organizations/{org}/environments/{environment}/securityIncidents/{incident} Example: organizations/apigee-org/environments/dev/securityIncidents/1234-5678-9101-1111 | +| | `string` | Immutable. Name of the security incident resource. Format: organizations/{org}/environments/{environment}/securityIncidents/{incident} Example: organizations/apigee-org/environments/dev/securityIncidents/1234-5678-9101-1111 | | | `array` | Output only. Detection types which are part of the incident. Examples: Flooder, OAuth Abuser, Static Content Scraper, Anomaly Detection. | | | `string` | Optional. Display name of the security incident. | | | `string` | Output only. The time when events associated with the incident were first detected. | @@ -39,11 +41,44 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Optional. Indicates if the user archived this incident. | | | `string` | Output only. Risk level of the incident. | | | `string` | Total traffic detected as part of the incident. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | GetSecurityIncident gets the specified security incident. Returns NOT_FOUND if security incident is not present for the specified organization and environment. | | | `SELECT` | | ListSecurityIncidents lists all the security incident associated with the environment. | +| | `UPDATE` | | BatchUpdateSecurityIncident updates multiple existing security incidents. | | | `UPDATE` | | UpdateSecurityIncidents updates an existing security incident. | -| | `EXEC` | | ListSecurityIncidents lists all the security incident associated with the environment. | -| | `EXEC` | | BatchUpdateSecurityIncident updates multiple existing security incidents. | + +## `SELECT` examples + +ListSecurityIncidents lists all the security incident associated with the environment. + +```sql +SELECT +name, +detectionTypes, +displayName, +firstDetectedTime, +lastDetectedTime, +lastObservabilityChangeTime, +observability, +riskLevel, +trafficCount +FROM google.apigee.security_incidents +WHERE environmentsId = '{{ environmentsId }}' +AND organizationsId = '{{ organizationsId }}'; +``` + +## `UPDATE` example + +Updates a security_incident only if the necessary resources are available. + +```sql +UPDATE google.apigee.security_incidents +SET +requests = '{{ requests }}' +WHERE +environmentsId = '{{ environmentsId }}' +AND organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/security_profiles/index.md b/docs/google-docs/providers/google/apigee/security_profiles/index.md index 6ebd0b6b18..8a70887982 100644 --- a/docs/google-docs/providers/google/apigee/security_profiles/index.md +++ b/docs/google-docs/providers/google/apigee/security_profiles/index.md @@ -1,3 +1,4 @@ + --- title: security_profiles hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - security_profiles - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an security_profile resource or lists security_profiles in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Immutable. Name of the security profile resource. Format: organizations/{org}/securityProfiles/{profile} | +| | `string` | Immutable. Name of the security profile resource. Format: organizations/{org}/securityProfiles/{profile} | | | `string` | Description of the security profile. | | | `string` | DEPRECATED: DO NOT USE Display name of the security profile. | | | `array` | List of environments attached to security profile. | @@ -42,6 +44,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. DEPRECATED: DO NOT USE The time when revision was published. Once published, the security profile revision cannot be updated further and can be attached to environments. | | | `string` | Output only. The time when revision was updated. | | | `array` | List of profile scoring configs in this revision. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -50,4 +53,141 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | CreateSecurityProfile create a new custom security profile. | | | `DELETE` | | DeleteSecurityProfile delete a profile with all its revisions. | | | `UPDATE` | | UpdateSecurityProfile update the metadata of security profile. | -| | `EXEC` | | ListSecurityProfiles lists all the security profiles associated with the org including attached and unattached profiles. | + +## `SELECT` examples + +ListSecurityProfiles lists all the security profiles associated with the org including attached and unattached profiles. + +```sql +SELECT +name, +description, +displayName, +environments, +maxScore, +minScore, +profileConfig, +revisionCreateTime, +revisionId, +revisionPublishTime, +revisionUpdateTime, +scoringConfigs +FROM google.apigee.security_profiles +WHERE organizationsId = '{{ organizationsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new security_profiles resource. + + + + +```sql +/*+ create */ +INSERT INTO google.apigee.security_profiles ( +organizationsId, +name, +maxScore, +revisionCreateTime, +displayName, +profileConfig, +environments, +revisionPublishTime, +minScore, +description, +scoringConfigs, +revisionId, +revisionUpdateTime +) +SELECT +'{{ organizationsId }}', +'{{ name }}', +'{{ maxScore }}', +'{{ revisionCreateTime }}', +'{{ displayName }}', +'{{ profileConfig }}', +'{{ environments }}', +'{{ revisionPublishTime }}', +'{{ minScore }}', +'{{ description }}', +'{{ scoringConfigs }}', +'{{ revisionId }}', +'{{ revisionUpdateTime }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: maxScore + value: '{{ maxScore }}' + - name: revisionCreateTime + value: '{{ revisionCreateTime }}' + - name: displayName + value: '{{ displayName }}' + - name: profileConfig + value: '{{ profileConfig }}' + - name: environments + value: '{{ environments }}' + - name: revisionPublishTime + value: '{{ revisionPublishTime }}' + - name: minScore + value: '{{ minScore }}' + - name: description + value: '{{ description }}' + - name: scoringConfigs + value: '{{ scoringConfigs }}' + - name: revisionId + value: '{{ revisionId }}' + - name: revisionUpdateTime + value: '{{ revisionUpdateTime }}' + +``` + + + +## `UPDATE` example + +Updates a security_profile only if the necessary resources are available. + +```sql +UPDATE google.apigee.security_profiles +SET +name = '{{ name }}', +maxScore = '{{ maxScore }}', +revisionCreateTime = '{{ revisionCreateTime }}', +displayName = '{{ displayName }}', +profileConfig = '{{ profileConfig }}', +environments = '{{ environments }}', +revisionPublishTime = '{{ revisionPublishTime }}', +minScore = '{{ minScore }}', +description = '{{ description }}', +scoringConfigs = '{{ scoringConfigs }}', +revisionId = '{{ revisionId }}', +revisionUpdateTime = '{{ revisionUpdateTime }}' +WHERE +organizationsId = '{{ organizationsId }}' +AND securityProfilesId = '{{ securityProfilesId }}'; +``` + +## `DELETE` example + +Deletes the specified security_profile resource. + +```sql +DELETE FROM google.apigee.security_profiles +WHERE organizationsId = '{{ organizationsId }}' +AND securityProfilesId = '{{ securityProfilesId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/security_profiles_revisions/index.md b/docs/google-docs/providers/google/apigee/security_profiles_revisions/index.md index 4c56f577a1..dc5924c7d5 100644 --- a/docs/google-docs/providers/google/apigee/security_profiles_revisions/index.md +++ b/docs/google-docs/providers/google/apigee/security_profiles_revisions/index.md @@ -1,3 +1,4 @@ + --- title: security_profiles_revisions hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - security_profiles_revisions - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an security_profiles_revision resource or lists security_profiles_revisions in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Immutable. Name of the security profile resource. Format: organizations/{org}/securityProfiles/{profile} | +| | `string` | Immutable. Name of the security profile resource. Format: organizations/{org}/securityProfiles/{profile} | | | `string` | Description of the security profile. | | | `string` | DEPRECATED: DO NOT USE Display name of the security profile. | | | `array` | List of environments attached to security profile. | @@ -42,8 +44,31 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. DEPRECATED: DO NOT USE The time when revision was published. Once published, the security profile revision cannot be updated further and can be attached to environments. | | | `string` | Output only. The time when revision was updated. | | | `array` | List of profile scoring configs in this revision. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | ListSecurityProfileRevisions lists all the revisions of the security profile. | + +## `SELECT` examples + +ListSecurityProfileRevisions lists all the revisions of the security profile. + +```sql +SELECT +name, +description, +displayName, +environments, +maxScore, +minScore, +profileConfig, +revisionCreateTime, +revisionId, +revisionPublishTime, +revisionUpdateTime, +scoringConfigs +FROM google.apigee.security_profiles_revisions +WHERE organizationsId = '{{ organizationsId }}' +AND securityProfilesId = '{{ securityProfilesId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/security_reports/index.md b/docs/google-docs/providers/google/apigee/security_reports/index.md index 20ed282601..9524d157ff 100644 --- a/docs/google-docs/providers/google/apigee/security_reports/index.md +++ b/docs/google-docs/providers/google/apigee/security_reports/index.md @@ -1,3 +1,4 @@ + --- title: security_reports hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - security_reports - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an security_report resource or lists security_reports in a region ## Overview
@@ -43,10 +45,114 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Self link of the query. Example: `/organizations/myorg/environments/myenv/securityReports/9cfc0d85-0f30-46d6-ae6f-318d0cb961bd` or following format if query is running at host level: `/organizations/myorg/hostSecurityReports/9cfc0d85-0f30-46d6-ae6f-318d0cb961bd` | | | `string` | Query state could be "enqueued", "running", "completed", "expired" and "failed". | | | `string` | Output only. Last updated timestamp for the query. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Get security report status If the query is still in progress, the `state` is set to "running" After the query has completed successfully, `state` is set to "completed" | | | `SELECT` | | Return a list of Security Reports | | | `INSERT` | | Submit a report request to be processed in the background. If the submission succeeds, the API returns a 200 status and an ID that refer to the report request. In addition to the HTTP status 200, the `state` of "enqueued" means that the request succeeded. | -| | `EXEC` | | Return a list of Security Reports | + +## `SELECT` examples + +Return a list of Security Reports + +```sql +SELECT +created, +displayName, +envgroupHostname, +error, +executionTime, +queryParams, +reportDefinitionId, +result, +resultFileSize, +resultRows, +self, +state, +updated +FROM google.apigee.security_reports +WHERE environmentsId = '{{ environmentsId }}' +AND organizationsId = '{{ organizationsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new security_reports resource. + + + + +```sql +/*+ create */ +INSERT INTO google.apigee.security_reports ( +environmentsId, +organizationsId, +reportDefinitionId, +envgroupHostname, +limit, +metrics, +dimensions, +groupByTimeUnit, +mimeType, +timeRange, +csvDelimiter, +filter, +displayName +) +SELECT +'{{ environmentsId }}', +'{{ organizationsId }}', +'{{ reportDefinitionId }}', +'{{ envgroupHostname }}', +'{{ limit }}', +'{{ metrics }}', +'{{ dimensions }}', +'{{ groupByTimeUnit }}', +'{{ mimeType }}', +'{{ timeRange }}', +'{{ csvDelimiter }}', +'{{ filter }}', +'{{ displayName }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: reportDefinitionId + value: '{{ reportDefinitionId }}' + - name: envgroupHostname + value: '{{ envgroupHostname }}' + - name: limit + value: '{{ limit }}' + - name: metrics + value: '{{ metrics }}' + - name: dimensions + value: '{{ dimensions }}' + - name: groupByTimeUnit + value: '{{ groupByTimeUnit }}' + - name: mimeType + value: '{{ mimeType }}' + - name: timeRange + value: '{{ timeRange }}' + - name: csvDelimiter + value: '{{ csvDelimiter }}' + - name: filter + value: '{{ filter }}' + - name: displayName + value: '{{ displayName }}' + +``` + + diff --git a/docs/google-docs/providers/google/apigee/security_reports_result/index.md b/docs/google-docs/providers/google/apigee/security_reports_result/index.md index 5962615dfb..6851677678 100644 --- a/docs/google-docs/providers/google/apigee/security_reports_result/index.md +++ b/docs/google-docs/providers/google/apigee/security_reports_result/index.md @@ -1,3 +1,4 @@ + --- title: security_reports_result hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - security_reports_result - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an security_reports_result resource or lists security_reports_result in a region ## Overview
@@ -33,7 +35,23 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The HTTP Content-Type header value specifying the content type of the body. | | | `string` | The HTTP request/response body as raw binary. | | | `array` | Application specific response metadata. Must be set in the first response for streaming APIs. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | After the query is completed, use this API to retrieve the results as file. If the request succeeds, and there is a non-zero result set, the result is downloaded to the client as a zipped JSON file. The name of the downloaded file will be: OfflineQueryResult-.zip Example: `OfflineQueryResult-9cfc0d85-0f30-46d6-ae6f-318d0cb961bd.zip` | + +## `SELECT` examples + +After the query is completed, use this API to retrieve the results as file. If the request succeeds, and there is a non-zero result set, the result is downloaded to the client as a zipped JSON file. The name of the downloaded file will be: OfflineQueryResult-.zip Example: `OfflineQueryResult-9cfc0d85-0f30-46d6-ae6f-318d0cb961bd.zip` + +```sql +SELECT +contentType, +data, +extensions +FROM google.apigee.security_reports_result +WHERE environmentsId = '{{ environmentsId }}' +AND organizationsId = '{{ organizationsId }}' +AND securityReportsId = '{{ securityReportsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/security_reports_result_view/index.md b/docs/google-docs/providers/google/apigee/security_reports_result_view/index.md index 57bc771732..7c6b634264 100644 --- a/docs/google-docs/providers/google/apigee/security_reports_result_view/index.md +++ b/docs/google-docs/providers/google/apigee/security_reports_result_view/index.md @@ -1,3 +1,4 @@ + --- title: security_reports_result_view hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - security_reports_result_view - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an security_reports_result_view resource or lists security_reports_result_view in a region ## Overview
@@ -33,9 +35,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `integer` | Error code when there is a failure. | | | `string` | Error message when there is a failure. | | | `object` | Metadata for the security report. | -| | `array` | Rows of security report result. Each row is a JSON object. Example: {sum(message_count): 1, developer_app: "(not set)",…} | +| | `array` | Rows of security report result. Each row is a JSON object. Example: {sum(message_count): 1, developer_app: "(not set)",…} | | | `string` | State of retrieving ResultView. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | After the query is completed, use this API to view the query result when result size is small. | + +## `SELECT` examples + +After the query is completed, use this API to view the query result when result size is small. + +```sql +SELECT +code, +error, +metadata, +rows, +state +FROM google.apigee.security_reports_result_view +WHERE environmentsId = '{{ environmentsId }}' +AND organizationsId = '{{ organizationsId }}' +AND securityReportsId = '{{ securityReportsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/security_settings/index.md b/docs/google-docs/providers/google/apigee/security_settings/index.md index 0821393e4a..528cef43c7 100644 --- a/docs/google-docs/providers/google/apigee/security_settings/index.md +++ b/docs/google-docs/providers/google/apigee/security_settings/index.md @@ -1,3 +1,4 @@ + --- title: security_settings hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - security_settings - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an security_setting resource or lists security_settings in a region ## Overview
@@ -30,10 +32,36 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Identifier. Full resource name is always `organizations/{org}/securitySettings`. | +| | `string` | Identifier. Full resource name is always `organizations/{org}/securitySettings`. | | | `boolean` | Optional. If true the user consents to the use of ML models for Abuse detection. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | GetSecuritySettings gets the security settings for API Security. | -| | `EXEC` | | UpdateSecuritySettings updates the current security settings for API Security. | +| | `UPDATE` | | UpdateSecuritySettings updates the current security settings for API Security. | + +## `SELECT` examples + +GetSecuritySettings gets the security settings for API Security. + +```sql +SELECT +name, +mlRetrainingFeedbackEnabled +FROM google.apigee.security_settings +WHERE organizationsId = '{{ organizationsId }}'; +``` + +## `UPDATE` example + +Updates a security_setting only if the necessary resources are available. + +```sql +UPDATE google.apigee.security_settings +SET +mlRetrainingFeedbackEnabled = true|false, +name = '{{ name }}' +WHERE +organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/security_stats/index.md b/docs/google-docs/providers/google/apigee/security_stats/index.md index 35ffaaecfc..2cc057b371 100644 --- a/docs/google-docs/providers/google/apigee/security_stats/index.md +++ b/docs/google-docs/providers/google/apigee/security_stats/index.md @@ -1,3 +1,4 @@ + --- title: security_stats hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - security_stats - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an security_stat resource or lists security_stats in a region ## Overview
@@ -28,7 +30,9 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| diff --git a/docs/google-docs/providers/google/apigee/sharedflows/index.md b/docs/google-docs/providers/google/apigee/sharedflows/index.md index 84f616c001..ca47d6f038 100644 --- a/docs/google-docs/providers/google/apigee/sharedflows/index.md +++ b/docs/google-docs/providers/google/apigee/sharedflows/index.md @@ -1,3 +1,4 @@ + --- title: sharedflows hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - sharedflows - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an sharedflow resource or lists sharedflows in a region ## Overview @@ -34,6 +36,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The id of the most recently created revision for this shared flow. | | | `object` | Metadata common to many entities in this API. | | | `array` | A list of revisions of this shared flow. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -41,3 +44,73 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists all shared flows in the organization. | | | `INSERT` | | Uploads a ZIP-formatted shared flow configuration bundle to an organization. If the shared flow already exists, this creates a new revision of it. If the shared flow does not exist, this creates it. Once imported, the shared flow revision must be deployed before it can be accessed at runtime. The size limit of a shared flow bundle is 15 MB. | | | `DELETE` | | Deletes a shared flow and all it's revisions. The shared flow must be undeployed before you can delete it. | + +## `SELECT` examples + +Lists all shared flows in the organization. + +```sql +SELECT +name, +latestRevisionId, +metaData, +revision +FROM google.apigee.sharedflows +WHERE organizationsId = '{{ organizationsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new sharedflows resource. + + + + +```sql +/*+ create */ +INSERT INTO google.apigee.sharedflows ( +organizationsId, +contentType, +extensions, +data +) +SELECT +'{{ organizationsId }}', +'{{ contentType }}', +'{{ extensions }}', +'{{ data }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: contentType + value: '{{ contentType }}' + - name: extensions + value: '{{ extensions }}' + - name: data + value: '{{ data }}' + +``` + + + +## `DELETE` example + +Deletes the specified sharedflow resource. + +```sql +DELETE FROM google.apigee.sharedflows +WHERE organizationsId = '{{ organizationsId }}' +AND sharedflowsId = '{{ sharedflowsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/stats/index.md b/docs/google-docs/providers/google/apigee/stats/index.md index 4b8e9973e8..a193cc5c1a 100644 --- a/docs/google-docs/providers/google/apigee/stats/index.md +++ b/docs/google-docs/providers/google/apigee/stats/index.md @@ -1,3 +1,4 @@ + --- title: stats hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - stats - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an stat resource or lists stats in a region ## Overview
@@ -33,7 +35,23 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `array` | List of query results on the environment level. | | | `array` | List of query results grouped by host. | | | `object` | Encapsulates additional information about query execution. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Retrieve metrics grouped by dimensions. The types of metrics you can retrieve include traffic, message counts, API call latency, response size, and cache hits and counts. Dimensions let you view metrics in meaningful groups. You can optionally pass dimensions as path parameters to the `stats` API. If dimensions are not specified, the metrics are computed on the entire set of data for the given time range. | + +## `SELECT` examples + +Retrieve metrics grouped by dimensions. The types of metrics you can retrieve include traffic, message counts, API call latency, response size, and cache hits and counts. Dimensions let you view metrics in meaningful groups. You can optionally pass dimensions as path parameters to the `stats` API. If dimensions are not specified, the metrics are computed on the entire set of data for the given time range. + +```sql +SELECT +environments, +hosts, +metaData +FROM google.apigee.stats +WHERE environmentsId = '{{ environmentsId }}' +AND organizationsId = '{{ organizationsId }}' +AND statsId = '{{ statsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/subscriptions/index.md b/docs/google-docs/providers/google/apigee/subscriptions/index.md index fa2be7a033..e8222eca11 100644 --- a/docs/google-docs/providers/google/apigee/subscriptions/index.md +++ b/docs/google-docs/providers/google/apigee/subscriptions/index.md @@ -1,3 +1,4 @@ + --- title: subscriptions hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - subscriptions - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an subscription resource or lists subscriptions in a region ## Overview
@@ -36,6 +38,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Time when the API product subscription ends in milliseconds since epoch. | | | `string` | Output only. Time when the API product subscription was last modified in milliseconds since epoch. | | | `string` | Time when the API product subscription starts in milliseconds since epoch. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -43,3 +46,80 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists all API product subscriptions for a developer. | | | `INSERT` | | Creates a subscription to an API product. | | | `EXEC` | | Expires an API product subscription immediately. | + +## `SELECT` examples + +Lists all API product subscriptions for a developer. + +```sql +SELECT +name, +apiproduct, +createdAt, +endTime, +lastModifiedAt, +startTime +FROM google.apigee.subscriptions +WHERE developersId = '{{ developersId }}' +AND organizationsId = '{{ organizationsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new subscriptions resource. + + + + +```sql +/*+ create */ +INSERT INTO google.apigee.subscriptions ( +developersId, +organizationsId, +apiproduct, +lastModifiedAt, +createdAt, +startTime, +name, +endTime +) +SELECT +'{{ developersId }}', +'{{ organizationsId }}', +'{{ apiproduct }}', +'{{ lastModifiedAt }}', +'{{ createdAt }}', +'{{ startTime }}', +'{{ name }}', +'{{ endTime }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: apiproduct + value: '{{ apiproduct }}' + - name: lastModifiedAt + value: '{{ lastModifiedAt }}' + - name: createdAt + value: '{{ createdAt }}' + - name: startTime + value: '{{ startTime }}' + - name: name + value: '{{ name }}' + - name: endTime + value: '{{ endTime }}' + +``` + + diff --git a/docs/google-docs/providers/google/apigee/sync_authorization/index.md b/docs/google-docs/providers/google/apigee/sync_authorization/index.md index 35bdc0515d..e091350bac 100644 --- a/docs/google-docs/providers/google/apigee/sync_authorization/index.md +++ b/docs/google-docs/providers/google/apigee/sync_authorization/index.md @@ -1,3 +1,4 @@ + --- title: sync_authorization hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - sync_authorization - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an sync_authorization resource or lists sync_authorization in a region ## Overview
@@ -28,8 +30,24 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | Entity tag (ETag) used for optimistic concurrency control as a way to help prevent simultaneous updates from overwriting each other. For example, when you call [getSyncAuthorization](organizations/getSyncAuthorization) an ETag is returned in the response. Pass that ETag when calling the [setSyncAuthorization](organizations/setSyncAuthorization) to ensure that you are updating the correct version. If you don't pass the ETag in the call to `setSyncAuthorization`, then the existing authorization is overwritten indiscriminately. **Note**: We strongly recommend that you use the ETag in the read-modify-write cycle to avoid race conditions. | +| | `array` | Required. Array of service accounts to grant access to control plane resources, each specified using the following format: `serviceAccount:` service-account-name. The service-account-name is formatted like an email address. For example: `my-synchronizer-manager-service_account@my_project_id.iam.gserviceaccount.com` You might specify multiple service accounts, for example, if you have multiple environments and wish to assign a unique service account to each one. The service accounts must have **Apigee Synchronizer Manager** role. See also [Create service accounts](https://cloud.google.com/apigee/docs/hybrid/latest/sa-about#create-the-service-accounts). | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists the service accounts with the permissions required to allow the Synchronizer to download environment data from the control plane. An ETag is returned in the response to `getSyncAuthorization`. Pass that ETag when calling [setSyncAuthorization](setSyncAuthorization) to ensure that you are updating the correct version. If you don't pass the ETag in the call to `setSyncAuthorization`, then the existing authorization is overwritten indiscriminately. For more information, see [Configure the Synchronizer](https://cloud.google.com/apigee/docs/hybrid/latest/synchronizer-access). **Note**: Available to Apigee hybrid only. | + +## `SELECT` examples + +Lists the service accounts with the permissions required to allow the Synchronizer to download environment data from the control plane. An ETag is returned in the response to `getSyncAuthorization`. Pass that ETag when calling [setSyncAuthorization](setSyncAuthorization) to ensure that you are updating the correct version. If you don't pass the ETag in the call to `setSyncAuthorization`, then the existing authorization is overwritten indiscriminately. For more information, see [Configure the Synchronizer](https://cloud.google.com/apigee/docs/hybrid/latest/synchronizer-access). **Note**: Available to Apigee hybrid only. + +```sql +SELECT +etag, +identities +FROM google.apigee.sync_authorization +WHERE organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigee/targetservers/index.md b/docs/google-docs/providers/google/apigee/targetservers/index.md index 4bc91514e4..3943ea9b5f 100644 --- a/docs/google-docs/providers/google/apigee/targetservers/index.md +++ b/docs/google-docs/providers/google/apigee/targetservers/index.md @@ -1,3 +1,4 @@ + --- title: targetservers hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - targetservers - apigee - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an targetserver resource or lists targetservers in a region ## Overview @@ -37,10 +39,105 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `integer` | Required. The port number this target connects to on the given host. Value must be between 1 and 65535, inclusive. | | | `string` | Immutable. The protocol used by this TargetServer. | | | `object` | TLS configuration information for virtual hosts and TargetServers. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets a TargetServer resource. | | | `INSERT` | | Creates a TargetServer in the specified environment. | | | `DELETE` | | Deletes a TargetServer from an environment. Returns the deleted TargetServer resource. | -| | `UPDATE` | | Updates an existing TargetServer. Note that this operation has PUT semantics; it will replace the entirety of the existing TargetServer with the resource in the request body. | +| | `EXEC` | | Updates an existing TargetServer. Note that this operation has PUT semantics; it will replace the entirety of the existing TargetServer with the resource in the request body. | + +## `SELECT` examples + +Gets a TargetServer resource. + +```sql +SELECT +name, +description, +host, +isEnabled, +port, +protocol, +sSLInfo +FROM google.apigee.targetservers +WHERE environmentsId = '{{ environmentsId }}' +AND organizationsId = '{{ organizationsId }}' +AND targetserversId = '{{ targetserversId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new targetservers resource. + + + + +```sql +/*+ create */ +INSERT INTO google.apigee.targetservers ( +environmentsId, +organizationsId, +sSLInfo, +host, +name, +isEnabled, +port, +description, +protocol +) +SELECT +'{{ environmentsId }}', +'{{ organizationsId }}', +'{{ sSLInfo }}', +'{{ host }}', +'{{ name }}', +true|false, +'{{ port }}', +'{{ description }}', +'{{ protocol }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: sSLInfo + value: '{{ sSLInfo }}' + - name: host + value: '{{ host }}' + - name: name + value: '{{ name }}' + - name: isEnabled + value: '{{ isEnabled }}' + - name: port + value: '{{ port }}' + - name: description + value: '{{ description }}' + - name: protocol + value: '{{ protocol }}' + +``` + + + +## `DELETE` example + +Deletes the specified targetserver resource. + +```sql +DELETE FROM google.apigee.targetservers +WHERE environmentsId = '{{ environmentsId }}' +AND organizationsId = '{{ organizationsId }}' +AND targetserversId = '{{ targetserversId }}'; +``` diff --git a/docs/google-docs/providers/google/apigeeregistry/apis/index.md b/docs/google-docs/providers/google/apigeeregistry/apis/index.md index f6719a9821..bac1a797cc 100644 --- a/docs/google-docs/providers/google/apigeeregistry/apis/index.md +++ b/docs/google-docs/providers/google/apigeeregistry/apis/index.md @@ -1,3 +1,4 @@ + --- title: apis hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - apis - apigeeregistry - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an api resource or lists apis in a region ## Overview
@@ -37,9 +39,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Creation timestamp. | | | `string` | Human-meaningful name. | | | `object` | Labels attach identifying metadata to resources. Identifying metadata can be used to filter list operations. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores, and dashes. International characters are allowed. No more than 64 user labels can be associated with one resource (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with `apigeeregistry.googleapis.com/` and cannot be changed. | -| | `string` | The recommended deployment of the API. Format: `projects/{project}/locations/{location}/apis/{api}/deployments/{deployment}` | -| | `string` | The recommended version of the API. Format: `projects/{project}/locations/{location}/apis/{api}/versions/{version}` | +| | `string` | The recommended deployment of the API. Format: `projects/{project}/locations/{location}/apis/{api}/deployments/{deployment}` | +| | `string` | The recommended version of the API. Format: `projects/{project}/locations/{location}/apis/{api}/versions/{version}` | | | `string` | Output only. Last update timestamp. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -48,4 +51,134 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a specified API. | | | `DELETE` | | Removes a specified API and all of the resources that it owns. | | | `UPDATE` | | Used to modify a specified API. | -| | `EXEC` | | Returns matching APIs. | + +## `SELECT` examples + +Returns matching APIs. + +```sql +SELECT +name, +description, +annotations, +availability, +createTime, +displayName, +labels, +recommendedDeployment, +recommendedVersion, +updateTime +FROM google.apigeeregistry.apis +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new apis resource. + + + + +```sql +/*+ create */ +INSERT INTO google.apigeeregistry.apis ( +locationsId, +projectsId, +name, +displayName, +description, +createTime, +updateTime, +availability, +recommendedVersion, +recommendedDeployment, +labels, +annotations +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ displayName }}', +'{{ description }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ availability }}', +'{{ recommendedVersion }}', +'{{ recommendedDeployment }}', +'{{ labels }}', +'{{ annotations }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: description + value: '{{ description }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: availability + value: '{{ availability }}' + - name: recommendedVersion + value: '{{ recommendedVersion }}' + - name: recommendedDeployment + value: '{{ recommendedDeployment }}' + - name: labels + value: '{{ labels }}' + - name: annotations + value: '{{ annotations }}' + +``` + + + +## `UPDATE` example + +Updates a api only if the necessary resources are available. + +```sql +UPDATE google.apigeeregistry.apis +SET +name = '{{ name }}', +displayName = '{{ displayName }}', +description = '{{ description }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +availability = '{{ availability }}', +recommendedVersion = '{{ recommendedVersion }}', +recommendedDeployment = '{{ recommendedDeployment }}', +labels = '{{ labels }}', +annotations = '{{ annotations }}' +WHERE +apisId = '{{ apisId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified api resource. + +```sql +DELETE FROM google.apigeeregistry.apis +WHERE apisId = '{{ apisId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigeeregistry/apis_iam_policies/index.md b/docs/google-docs/providers/google/apigeeregistry/apis_iam_policies/index.md index a740a72a17..9a3a28ca19 100644 --- a/docs/google-docs/providers/google/apigeeregistry/apis_iam_policies/index.md +++ b/docs/google-docs/providers/google/apigeeregistry/apis_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: apis_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - apis_iam_policies - apigeeregistry - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an apis_iam_policy resource or lists apis_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.apigeeregistry.apis_iam_policies +WHERE apisId = '{{ apisId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigeeregistry/artifacts/index.md b/docs/google-docs/providers/google/apigeeregistry/artifacts/index.md index f3aa19f264..471b370b91 100644 --- a/docs/google-docs/providers/google/apigeeregistry/artifacts/index.md +++ b/docs/google-docs/providers/google/apigeeregistry/artifacts/index.md @@ -1,3 +1,4 @@ + --- title: artifacts hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - artifacts - apigeeregistry - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an artifact resource or lists artifacts in a region ## Overview
@@ -39,6 +41,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | A content type specifier for the artifact. Content type specifiers are Media Types (https://en.wikipedia.org/wiki/Media_type) with a possible "schema" parameter that specifies a schema for the stored information. Content types can specify compression. Currently only GZip compression is supported (indicated with "+gzip"). | | | `integer` | Output only. The size of the artifact in bytes. If the artifact is gzipped, this is the size of the uncompressed artifact. | | | `string` | Output only. Last update timestamp. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -62,13 +65,111 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `DELETE` | | Removes a specified artifact. | | | `DELETE` | | Removes a specified artifact. | | | `DELETE` | | Removes a specified artifact. | -| | `EXEC` | | Returns matching artifacts. | -| | `EXEC` | | Returns matching artifacts. | -| | `EXEC` | | Returns matching artifacts. | -| | `EXEC` | | Returns matching artifacts. | -| | `EXEC` | | Returns matching artifacts. | | | `EXEC` | | Used to replace a specified artifact. | | | `EXEC` | | Used to replace a specified artifact. | | | `EXEC` | | Used to replace a specified artifact. | | | `EXEC` | | Used to replace a specified artifact. | | | `EXEC` | | Used to replace a specified artifact. | + +## `SELECT` examples + +Returns matching artifacts. + +```sql +SELECT +name, +annotations, +contents, +createTime, +hash, +labels, +mimeType, +sizeBytes, +updateTime +FROM google.apigeeregistry.artifacts +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new artifacts resource. + + + + +```sql +/*+ create */ +INSERT INTO google.apigeeregistry.artifacts ( +locationsId, +projectsId, +name, +createTime, +updateTime, +mimeType, +sizeBytes, +hash, +contents, +labels, +annotations +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ mimeType }}', +'{{ sizeBytes }}', +'{{ hash }}', +'{{ contents }}', +'{{ labels }}', +'{{ annotations }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: mimeType + value: '{{ mimeType }}' + - name: sizeBytes + value: '{{ sizeBytes }}' + - name: hash + value: '{{ hash }}' + - name: contents + value: '{{ contents }}' + - name: labels + value: '{{ labels }}' + - name: annotations + value: '{{ annotations }}' + +``` + + + +## `DELETE` example + +Deletes the specified artifact resource. + +```sql +DELETE FROM google.apigeeregistry.artifacts +WHERE artifactsId = '{{ artifactsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigeeregistry/artifacts_contents/index.md b/docs/google-docs/providers/google/apigeeregistry/artifacts_contents/index.md index 5f0879e852..309b28801b 100644 --- a/docs/google-docs/providers/google/apigeeregistry/artifacts_contents/index.md +++ b/docs/google-docs/providers/google/apigeeregistry/artifacts_contents/index.md @@ -1,3 +1,4 @@ + --- title: artifacts_contents hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - artifacts_contents - apigeeregistry - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an artifacts_content resource or lists artifacts_contents in a region ## Overview
@@ -33,11 +35,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The HTTP Content-Type header value specifying the content type of the body. | | | `string` | The HTTP request/response body as raw binary. | | | `array` | Application specific response metadata. Must be set in the first response for streaming APIs. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `SELECT` | | -| | `SELECT` | | -| | `SELECT` | | -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Returns the contents of a specified artifact. If artifacts are stored with GZip compression, the default behavior is to return the artifact uncompressed (the mime_type response field indicates the exact format returned). | +| | `SELECT` | | Returns the contents of a specified artifact. If artifacts are stored with GZip compression, the default behavior is to return the artifact uncompressed (the mime_type response field indicates the exact format returned). | +| | `SELECT` | | Returns the contents of a specified artifact. If artifacts are stored with GZip compression, the default behavior is to return the artifact uncompressed (the mime_type response field indicates the exact format returned). | +| | `SELECT` | | Returns the contents of a specified artifact. If artifacts are stored with GZip compression, the default behavior is to return the artifact uncompressed (the mime_type response field indicates the exact format returned). | +| | `SELECT` | | Returns the contents of a specified artifact. If artifacts are stored with GZip compression, the default behavior is to return the artifact uncompressed (the mime_type response field indicates the exact format returned). | + +## `SELECT` examples + +Returns the contents of a specified artifact. If artifacts are stored with GZip compression, the default behavior is to return the artifact uncompressed (the mime_type response field indicates the exact format returned). + +```sql +SELECT +contentType, +data, +extensions +FROM google.apigeeregistry.artifacts_contents +WHERE artifactsId = '{{ artifactsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigeeregistry/artifacts_iam_policies/index.md b/docs/google-docs/providers/google/apigeeregistry/artifacts_iam_policies/index.md index 72951deba5..0ac4d6cfdc 100644 --- a/docs/google-docs/providers/google/apigeeregistry/artifacts_iam_policies/index.md +++ b/docs/google-docs/providers/google/apigeeregistry/artifacts_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: artifacts_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - artifacts_iam_policies - apigeeregistry - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an artifacts_iam_policy resource or lists artifacts_iam_policies in a region ## Overview
@@ -30,9 +32,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -40,10 +43,6 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | @@ -52,3 +51,18 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.apigeeregistry.artifacts_iam_policies +WHERE artifactsId = '{{ artifactsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigeeregistry/deployments/index.md b/docs/google-docs/providers/google/apigeeregistry/deployments/index.md index 0b0cb3d731..a7996ca089 100644 --- a/docs/google-docs/providers/google/apigeeregistry/deployments/index.md +++ b/docs/google-docs/providers/google/apigeeregistry/deployments/index.md @@ -1,3 +1,4 @@ + --- title: deployments hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - deployments - apigeeregistry - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an deployment resource or lists deployments in a region ## Overview
@@ -34,7 +36,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | A detailed description. | | | `string` | Text briefly describing how to access the endpoint. Changes to this value will not affect the revision. | | | `object` | Annotations attach non-identifying metadata to resources. Annotation keys and values are less restricted than those of labels, but should be generally used for small values of broad interest. Larger, topic- specific metadata should be stored in Artifacts. | -| | `string` | The full resource name (including revision ID) of the spec of the API being served by the deployment. Changes to this value will update the revision. Format: `projects/{project}/locations/{location}/apis/{api}/versions/{version}/specs/{spec@revision}` | +| | `string` | The full resource name (including revision ID) of the spec of the API being served by the deployment. Changes to this value will update the revision. Format: `projects/{project}/locations/{location}/apis/{api}/versions/{version}/specs/{spec@revision}` | | | `string` | Output only. Creation timestamp; when the deployment resource was created. | | | `string` | Human-meaningful name. | | | `string` | The address where the deployment is serving. Changes to this value will update the revision. | @@ -44,6 +46,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Revision creation timestamp; when the represented revision was created. | | | `string` | Output only. Immutable. The revision ID of the deployment. A new revision is committed whenever the deployment contents are changed. The format is an 8-character hexadecimal string. | | | `string` | Output only. Last update timestamp: when the represented revision was last modified. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -52,6 +55,165 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a specified deployment. | | | `DELETE` | | Removes a specified deployment, all revisions, and all child resources (e.g., artifacts). | | | `UPDATE` | | Used to modify a specified deployment. | -| | `EXEC` | | Returns matching deployments. | | | `EXEC` | | Sets the current revision to a specified prior revision. Note that this creates a new revision with a new revision ID. | | | `EXEC` | | Adds a tag to a specified revision of a deployment. | + +## `SELECT` examples + +Returns matching deployments. + +```sql +SELECT +name, +description, +accessGuidance, +annotations, +apiSpecRevision, +createTime, +displayName, +endpointUri, +externalChannelUri, +intendedAudience, +labels, +revisionCreateTime, +revisionId, +revisionUpdateTime +FROM google.apigeeregistry.deployments +WHERE apisId = '{{ apisId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new deployments resource. + + + + +```sql +/*+ create */ +INSERT INTO google.apigeeregistry.deployments ( +apisId, +locationsId, +projectsId, +name, +displayName, +description, +revisionId, +createTime, +revisionCreateTime, +revisionUpdateTime, +apiSpecRevision, +endpointUri, +externalChannelUri, +intendedAudience, +accessGuidance, +labels, +annotations +) +SELECT +'{{ apisId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ displayName }}', +'{{ description }}', +'{{ revisionId }}', +'{{ createTime }}', +'{{ revisionCreateTime }}', +'{{ revisionUpdateTime }}', +'{{ apiSpecRevision }}', +'{{ endpointUri }}', +'{{ externalChannelUri }}', +'{{ intendedAudience }}', +'{{ accessGuidance }}', +'{{ labels }}', +'{{ annotations }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: description + value: '{{ description }}' + - name: revisionId + value: '{{ revisionId }}' + - name: createTime + value: '{{ createTime }}' + - name: revisionCreateTime + value: '{{ revisionCreateTime }}' + - name: revisionUpdateTime + value: '{{ revisionUpdateTime }}' + - name: apiSpecRevision + value: '{{ apiSpecRevision }}' + - name: endpointUri + value: '{{ endpointUri }}' + - name: externalChannelUri + value: '{{ externalChannelUri }}' + - name: intendedAudience + value: '{{ intendedAudience }}' + - name: accessGuidance + value: '{{ accessGuidance }}' + - name: labels + value: '{{ labels }}' + - name: annotations + value: '{{ annotations }}' + +``` + + + +## `UPDATE` example + +Updates a deployment only if the necessary resources are available. + +```sql +UPDATE google.apigeeregistry.deployments +SET +name = '{{ name }}', +displayName = '{{ displayName }}', +description = '{{ description }}', +revisionId = '{{ revisionId }}', +createTime = '{{ createTime }}', +revisionCreateTime = '{{ revisionCreateTime }}', +revisionUpdateTime = '{{ revisionUpdateTime }}', +apiSpecRevision = '{{ apiSpecRevision }}', +endpointUri = '{{ endpointUri }}', +externalChannelUri = '{{ externalChannelUri }}', +intendedAudience = '{{ intendedAudience }}', +accessGuidance = '{{ accessGuidance }}', +labels = '{{ labels }}', +annotations = '{{ annotations }}' +WHERE +apisId = '{{ apisId }}' +AND deploymentsId = '{{ deploymentsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified deployment resource. + +```sql +DELETE FROM google.apigeeregistry.deployments +WHERE apisId = '{{ apisId }}' +AND deploymentsId = '{{ deploymentsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigeeregistry/deployments_iam_policies/index.md b/docs/google-docs/providers/google/apigeeregistry/deployments_iam_policies/index.md index a21f8d1282..bd4fef1d2e 100644 --- a/docs/google-docs/providers/google/apigeeregistry/deployments_iam_policies/index.md +++ b/docs/google-docs/providers/google/apigeeregistry/deployments_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: deployments_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - deployments_iam_policies - apigeeregistry - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an deployments_iam_policy resource or lists deployments_iam_policies in a region ## Overview
@@ -30,13 +32,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.apigeeregistry.deployments_iam_policies +WHERE apisId = '{{ apisId }}' +AND deploymentsId = '{{ deploymentsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigeeregistry/deployments_revision/index.md b/docs/google-docs/providers/google/apigeeregistry/deployments_revision/index.md index a451e1972c..9792e93d05 100644 --- a/docs/google-docs/providers/google/apigeeregistry/deployments_revision/index.md +++ b/docs/google-docs/providers/google/apigeeregistry/deployments_revision/index.md @@ -1,3 +1,4 @@ + --- title: deployments_revision hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - deployments_revision - apigeeregistry - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an deployments_revision resource or lists deployments_revision in a region ## Overview
@@ -28,8 +30,22 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `DELETE` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `DELETE` | | Deletes a revision of a deployment. | + +## `DELETE` example + +Deletes the specified deployments_revision resource. + +```sql +DELETE FROM google.apigeeregistry.deployments_revision +WHERE apisId = '{{ apisId }}' +AND deploymentsId = '{{ deploymentsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigeeregistry/deployments_revisions/index.md b/docs/google-docs/providers/google/apigeeregistry/deployments_revisions/index.md index a4fee93075..35c349d2e5 100644 --- a/docs/google-docs/providers/google/apigeeregistry/deployments_revisions/index.md +++ b/docs/google-docs/providers/google/apigeeregistry/deployments_revisions/index.md @@ -1,3 +1,4 @@ + --- title: deployments_revisions hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - deployments_revisions - apigeeregistry - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an deployments_revision resource or lists deployments_revisions in a region ## Overview @@ -34,7 +36,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | A detailed description. | | | `string` | Text briefly describing how to access the endpoint. Changes to this value will not affect the revision. | | | `object` | Annotations attach non-identifying metadata to resources. Annotation keys and values are less restricted than those of labels, but should be generally used for small values of broad interest. Larger, topic- specific metadata should be stored in Artifacts. | -| | `string` | The full resource name (including revision ID) of the spec of the API being served by the deployment. Changes to this value will update the revision. Format: `projects/{project}/locations/{location}/apis/{api}/versions/{version}/specs/{spec@revision}` | +| | `string` | The full resource name (including revision ID) of the spec of the API being served by the deployment. Changes to this value will update the revision. Format: `projects/{project}/locations/{location}/apis/{api}/versions/{version}/specs/{spec@revision}` | | | `string` | Output only. Creation timestamp; when the deployment resource was created. | | | `string` | Human-meaningful name. | | | `string` | The address where the deployment is serving. Changes to this value will update the revision. | @@ -44,8 +46,35 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Revision creation timestamp; when the represented revision was created. | | | `string` | Output only. Immutable. The revision ID of the deployment. A new revision is committed whenever the deployment contents are changed. The format is an 8-character hexadecimal string. | | | `string` | Output only. Last update timestamp: when the represented revision was last modified. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists all revisions of a deployment. Revisions are returned in descending order of revision creation time. | + +## `SELECT` examples + +Lists all revisions of a deployment. Revisions are returned in descending order of revision creation time. + +```sql +SELECT +name, +description, +accessGuidance, +annotations, +apiSpecRevision, +createTime, +displayName, +endpointUri, +externalChannelUri, +intendedAudience, +labels, +revisionCreateTime, +revisionId, +revisionUpdateTime +FROM google.apigeeregistry.deployments_revisions +WHERE apisId = '{{ apisId }}' +AND deploymentsId = '{{ deploymentsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigeeregistry/documents_iam_policies/index.md b/docs/google-docs/providers/google/apigeeregistry/documents_iam_policies/index.md index 45a8aa05b8..01a9d6d5d2 100644 --- a/docs/google-docs/providers/google/apigeeregistry/documents_iam_policies/index.md +++ b/docs/google-docs/providers/google/apigeeregistry/documents_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: documents_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - documents_iam_policies - apigeeregistry - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an documents_iam_policy resource or lists documents_iam_policies in a region ## Overview
@@ -30,13 +32,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.apigeeregistry.documents_iam_policies +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigeeregistry/index.md b/docs/google-docs/providers/google/apigeeregistry/index.md index 0cfd10ab0d..ff47cd3a95 100644 --- a/docs/google-docs/providers/google/apigeeregistry/index.md +++ b/docs/google-docs/providers/google/apigeeregistry/index.md @@ -9,34 +9,23 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- - - +The apigeeregistry service documentation. + :::info Service Summary
total resources: 22
-total selectable resources: 20
-total methods: 125
::: -## Overview -
- - - - - -
Namegoogle.apigeeregistry
TypeService
TitleApigee Registry API
Description
Idapigeeregistry:v24.06.00236
- ## Resources
@@ -50,7 +39,7 @@ image: /img/providers/google/stackql-google-provider-featured-image.png deployments_revision
deployments_revisions
documents_iam_policies
-instances
+instances
instances_iam_policies
@@ -63,6 +52,6 @@ image: /img/providers/google/stackql-google-provider-featured-image.png specs_revision
specs_revisions
versions
-versions_iam_policies
-
+versions_iam_policies
+ \ No newline at end of file diff --git a/docs/google-docs/providers/google/apigeeregistry/instances/index.md b/docs/google-docs/providers/google/apigeeregistry/instances/index.md index 5f86b3fff8..3e6274a5dd 100644 --- a/docs/google-docs/providers/google/apigeeregistry/instances/index.md +++ b/docs/google-docs/providers/google/apigeeregistry/instances/index.md @@ -1,3 +1,4 @@ + --- title: instances hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - instances - apigeeregistry - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an instance resource or lists instances in a region ## Overview @@ -37,9 +39,104 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The current state of the Instance. | | | `string` | Output only. Extra information of Instance.State if the state is `FAILED`. | | | `string` | Output only. Last update timestamp. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets details of a single Instance. | | | `INSERT` | | Provisions instance resources for the Registry. | | | `DELETE` | | Deletes the Registry instance. | + +## `SELECT` examples + +Gets details of a single Instance. + +```sql +SELECT +name, +build, +config, +createTime, +state, +stateMessage, +updateTime +FROM google.apigeeregistry.instances +WHERE instancesId = '{{ instancesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new instances resource. + + + + +```sql +/*+ create */ +INSERT INTO google.apigeeregistry.instances ( +locationsId, +projectsId, +name, +createTime, +updateTime, +state, +stateMessage, +config, +build +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ state }}', +'{{ stateMessage }}', +'{{ config }}', +'{{ build }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: state + value: '{{ state }}' + - name: stateMessage + value: '{{ stateMessage }}' + - name: config + value: '{{ config }}' + - name: build + value: '{{ build }}' + +``` + + + +## `DELETE` example + +Deletes the specified instance resource. + +```sql +DELETE FROM google.apigeeregistry.instances +WHERE instancesId = '{{ instancesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigeeregistry/instances_iam_policies/index.md b/docs/google-docs/providers/google/apigeeregistry/instances_iam_policies/index.md index 1ca5d1ea39..ff74d1c54a 100644 --- a/docs/google-docs/providers/google/apigeeregistry/instances_iam_policies/index.md +++ b/docs/google-docs/providers/google/apigeeregistry/instances_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: instances_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - instances_iam_policies - apigeeregistry - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an instances_iam_policy resource or lists instances_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.apigeeregistry.instances_iam_policies +WHERE instancesId = '{{ instancesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigeeregistry/locations/index.md b/docs/google-docs/providers/google/apigeeregistry/locations/index.md index 9cd6c5c54a..60a21be2fa 100644 --- a/docs/google-docs/providers/google/apigeeregistry/locations/index.md +++ b/docs/google-docs/providers/google/apigeeregistry/locations/index.md @@ -1,3 +1,4 @@ + --- title: locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - locations - apigeeregistry - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an location resource or lists locations in a region ## Overview
@@ -32,12 +34,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` | | | `string` | The friendly name for this location, typically a nearby city name. For example, "Tokyo". | -| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | +| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | | | `string` | The canonical id for this location. For example: `"us-east1"`. | | | `object` | Service-specific metadata. For example the available capacity at the given location. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about a location. | | | `SELECT` | | Lists information about the supported locations for this service. | -| | `EXEC` | | Lists information about the supported locations for this service. | + +## `SELECT` examples + +Lists information about the supported locations for this service. + +```sql +SELECT +name, +displayName, +labels, +locationId, +metadata +FROM google.apigeeregistry.locations +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigeeregistry/operations/index.md b/docs/google-docs/providers/google/apigeeregistry/operations/index.md index 3d6a67c7a3..beb4a6c6e7 100644 --- a/docs/google-docs/providers/google/apigeeregistry/operations/index.md +++ b/docs/google-docs/providers/google/apigeeregistry/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - apigeeregistry - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview
@@ -30,16 +32,43 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.apigeeregistry.operations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified operation resource. + +```sql +DELETE FROM google.apigeeregistry.operations +WHERE locationsId = '{{ locationsId }}' +AND operationsId = '{{ operationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigeeregistry/runtime_iam_policies/index.md b/docs/google-docs/providers/google/apigeeregistry/runtime_iam_policies/index.md index a1c8b84bb0..51cb5cf1ad 100644 --- a/docs/google-docs/providers/google/apigeeregistry/runtime_iam_policies/index.md +++ b/docs/google-docs/providers/google/apigeeregistry/runtime_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: runtime_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - runtime_iam_policies - apigeeregistry - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an runtime_iam_policy resource or lists runtime_iam_policies in a region ## Overview
@@ -30,13 +32,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.apigeeregistry.runtime_iam_policies +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigeeregistry/specs/index.md b/docs/google-docs/providers/google/apigeeregistry/specs/index.md index 57b6e716c6..76353de946 100644 --- a/docs/google-docs/providers/google/apigeeregistry/specs/index.md +++ b/docs/google-docs/providers/google/apigeeregistry/specs/index.md @@ -1,3 +1,4 @@ + --- title: specs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - specs - apigeeregistry - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an spec resource or lists specs in a region ## Overview
@@ -44,6 +46,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Last update timestamp: when the represented revision was last modified. | | | `integer` | Output only. The size of the spec file in bytes. If the spec is gzipped, this is the size of the uncompressed spec. | | | `string` | The original source URI of the spec (if one exists). This is an external location that can be used for reference purposes but which may not be authoritative since this external resource may change after the spec is retrieved. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -52,6 +55,170 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a specified spec. | | | `DELETE` | | Removes a specified spec, all revisions, and all child resources (e.g., artifacts). | | | `UPDATE` | | Used to modify a specified spec. | -| | `EXEC` | | Returns matching specs. | | | `EXEC` | | Sets the current revision to a specified prior revision. Note that this creates a new revision with a new revision ID. | | | `EXEC` | | Adds a tag to a specified revision of a spec. | + +## `SELECT` examples + +Returns matching specs. + +```sql +SELECT +name, +description, +annotations, +contents, +createTime, +filename, +hash, +labels, +mimeType, +revisionCreateTime, +revisionId, +revisionUpdateTime, +sizeBytes, +sourceUri +FROM google.apigeeregistry.specs +WHERE apisId = '{{ apisId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND versionsId = '{{ versionsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new specs resource. + + + + +```sql +/*+ create */ +INSERT INTO google.apigeeregistry.specs ( +apisId, +locationsId, +projectsId, +versionsId, +name, +filename, +description, +revisionId, +createTime, +revisionCreateTime, +revisionUpdateTime, +mimeType, +sizeBytes, +hash, +sourceUri, +contents, +labels, +annotations +) +SELECT +'{{ apisId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ versionsId }}', +'{{ name }}', +'{{ filename }}', +'{{ description }}', +'{{ revisionId }}', +'{{ createTime }}', +'{{ revisionCreateTime }}', +'{{ revisionUpdateTime }}', +'{{ mimeType }}', +'{{ sizeBytes }}', +'{{ hash }}', +'{{ sourceUri }}', +'{{ contents }}', +'{{ labels }}', +'{{ annotations }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: filename + value: '{{ filename }}' + - name: description + value: '{{ description }}' + - name: revisionId + value: '{{ revisionId }}' + - name: createTime + value: '{{ createTime }}' + - name: revisionCreateTime + value: '{{ revisionCreateTime }}' + - name: revisionUpdateTime + value: '{{ revisionUpdateTime }}' + - name: mimeType + value: '{{ mimeType }}' + - name: sizeBytes + value: '{{ sizeBytes }}' + - name: hash + value: '{{ hash }}' + - name: sourceUri + value: '{{ sourceUri }}' + - name: contents + value: '{{ contents }}' + - name: labels + value: '{{ labels }}' + - name: annotations + value: '{{ annotations }}' + +``` + + + +## `UPDATE` example + +Updates a spec only if the necessary resources are available. + +```sql +UPDATE google.apigeeregistry.specs +SET +name = '{{ name }}', +filename = '{{ filename }}', +description = '{{ description }}', +revisionId = '{{ revisionId }}', +createTime = '{{ createTime }}', +revisionCreateTime = '{{ revisionCreateTime }}', +revisionUpdateTime = '{{ revisionUpdateTime }}', +mimeType = '{{ mimeType }}', +sizeBytes = '{{ sizeBytes }}', +hash = '{{ hash }}', +sourceUri = '{{ sourceUri }}', +contents = '{{ contents }}', +labels = '{{ labels }}', +annotations = '{{ annotations }}' +WHERE +apisId = '{{ apisId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND specsId = '{{ specsId }}' +AND versionsId = '{{ versionsId }}'; +``` + +## `DELETE` example + +Deletes the specified spec resource. + +```sql +DELETE FROM google.apigeeregistry.specs +WHERE apisId = '{{ apisId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND specsId = '{{ specsId }}' +AND versionsId = '{{ versionsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigeeregistry/specs_contents/index.md b/docs/google-docs/providers/google/apigeeregistry/specs_contents/index.md index a1f12801d4..aa049a9b97 100644 --- a/docs/google-docs/providers/google/apigeeregistry/specs_contents/index.md +++ b/docs/google-docs/providers/google/apigeeregistry/specs_contents/index.md @@ -1,3 +1,4 @@ + --- title: specs_contents hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - specs_contents - apigeeregistry - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an specs_content resource or lists specs_contents in a region ## Overview
@@ -33,7 +35,25 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The HTTP Content-Type header value specifying the content type of the body. | | | `string` | The HTTP request/response body as raw binary. | | | `array` | Application specific response metadata. Must be set in the first response for streaming APIs. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Returns the contents of a specified spec. If specs are stored with GZip compression, the default behavior is to return the spec uncompressed (the mime_type response field indicates the exact format returned). | + +## `SELECT` examples + +Returns the contents of a specified spec. If specs are stored with GZip compression, the default behavior is to return the spec uncompressed (the mime_type response field indicates the exact format returned). + +```sql +SELECT +contentType, +data, +extensions +FROM google.apigeeregistry.specs_contents +WHERE apisId = '{{ apisId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND specsId = '{{ specsId }}' +AND versionsId = '{{ versionsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigeeregistry/specs_iam_policies/index.md b/docs/google-docs/providers/google/apigeeregistry/specs_iam_policies/index.md index b239837f9e..804e70ea6a 100644 --- a/docs/google-docs/providers/google/apigeeregistry/specs_iam_policies/index.md +++ b/docs/google-docs/providers/google/apigeeregistry/specs_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: specs_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - specs_iam_policies - apigeeregistry - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an specs_iam_policy resource or lists specs_iam_policies in a region ## Overview
@@ -30,13 +32,30 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.apigeeregistry.specs_iam_policies +WHERE apisId = '{{ apisId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND specsId = '{{ specsId }}' +AND versionsId = '{{ versionsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigeeregistry/specs_revision/index.md b/docs/google-docs/providers/google/apigeeregistry/specs_revision/index.md index 7d172c438d..6ba64ce29f 100644 --- a/docs/google-docs/providers/google/apigeeregistry/specs_revision/index.md +++ b/docs/google-docs/providers/google/apigeeregistry/specs_revision/index.md @@ -1,3 +1,4 @@ + --- title: specs_revision hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - specs_revision - apigeeregistry - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an specs_revision resource or lists specs_revision in a region ## Overview
@@ -28,8 +30,23 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `DELETE` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `DELETE` | | Deletes a revision of a spec. | + +## `DELETE` example + +Deletes the specified specs_revision resource. + +```sql +DELETE FROM google.apigeeregistry.specs_revision +WHERE apisId = '{{ apisId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND specsId = '{{ specsId }}' +AND versionsId = '{{ versionsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigeeregistry/specs_revisions/index.md b/docs/google-docs/providers/google/apigeeregistry/specs_revisions/index.md index 81673d4d7c..a27222912c 100644 --- a/docs/google-docs/providers/google/apigeeregistry/specs_revisions/index.md +++ b/docs/google-docs/providers/google/apigeeregistry/specs_revisions/index.md @@ -1,3 +1,4 @@ + --- title: specs_revisions hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - specs_revisions - apigeeregistry - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an specs_revision resource or lists specs_revisions in a region ## Overview @@ -44,8 +46,36 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Last update timestamp: when the represented revision was last modified. | | | `integer` | Output only. The size of the spec file in bytes. If the spec is gzipped, this is the size of the uncompressed spec. | | | `string` | The original source URI of the spec (if one exists). This is an external location that can be used for reference purposes but which may not be authoritative since this external resource may change after the spec is retrieved. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists all revisions of a spec. Revisions are returned in descending order of revision creation time. | + +## `SELECT` examples + +Lists all revisions of a spec. Revisions are returned in descending order of revision creation time. + +```sql +SELECT +name, +description, +annotations, +contents, +createTime, +filename, +hash, +labels, +mimeType, +revisionCreateTime, +revisionId, +revisionUpdateTime, +sizeBytes, +sourceUri +FROM google.apigeeregistry.specs_revisions +WHERE apisId = '{{ apisId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND specsId = '{{ specsId }}' +AND versionsId = '{{ versionsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigeeregistry/versions/index.md b/docs/google-docs/providers/google/apigeeregistry/versions/index.md index 04dab91d4d..ec8da43be9 100644 --- a/docs/google-docs/providers/google/apigeeregistry/versions/index.md +++ b/docs/google-docs/providers/google/apigeeregistry/versions/index.md @@ -1,3 +1,4 @@ + --- title: versions hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - versions - apigeeregistry - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an version resource or lists versions in a region ## Overview
@@ -36,9 +38,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Creation timestamp. | | | `string` | Human-meaningful name. | | | `object` | Labels attach identifying metadata to resources. Identifying metadata can be used to filter list operations. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one resource (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with `apigeeregistry.googleapis.com/` and cannot be changed. | -| | `string` | The primary spec for this version. Format: projects/{project}/locations/{location}/apis/{api}/versions/{version}/specs/{spec} | +| | `string` | The primary spec for this version. Format: projects/{project}/locations/{location}/apis/{api}/versions/{version}/specs/{spec} | | | `string` | A user-definable description of the lifecycle phase of this API version. Format: free-form, but we expect single words that describe API maturity, e.g., "CONCEPT", "DESIGN", "DEVELOPMENT", "STAGING", "PRODUCTION", "DEPRECATED", "RETIRED". | | | `string` | Output only. Last update timestamp. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -47,4 +50,133 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a specified version. | | | `DELETE` | | Removes a specified version and all of the resources that it owns. | | | `UPDATE` | | Used to modify a specified version. | -| | `EXEC` | | Returns matching versions. | + +## `SELECT` examples + +Returns matching versions. + +```sql +SELECT +name, +description, +annotations, +createTime, +displayName, +labels, +primarySpec, +state, +updateTime +FROM google.apigeeregistry.versions +WHERE apisId = '{{ apisId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new versions resource. + + + + +```sql +/*+ create */ +INSERT INTO google.apigeeregistry.versions ( +apisId, +locationsId, +projectsId, +name, +displayName, +description, +createTime, +updateTime, +state, +labels, +annotations, +primarySpec +) +SELECT +'{{ apisId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ displayName }}', +'{{ description }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ state }}', +'{{ labels }}', +'{{ annotations }}', +'{{ primarySpec }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: description + value: '{{ description }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: state + value: '{{ state }}' + - name: labels + value: '{{ labels }}' + - name: annotations + value: '{{ annotations }}' + - name: primarySpec + value: '{{ primarySpec }}' + +``` + + + +## `UPDATE` example + +Updates a version only if the necessary resources are available. + +```sql +UPDATE google.apigeeregistry.versions +SET +name = '{{ name }}', +displayName = '{{ displayName }}', +description = '{{ description }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +state = '{{ state }}', +labels = '{{ labels }}', +annotations = '{{ annotations }}', +primarySpec = '{{ primarySpec }}' +WHERE +apisId = '{{ apisId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND versionsId = '{{ versionsId }}'; +``` + +## `DELETE` example + +Deletes the specified version resource. + +```sql +DELETE FROM google.apigeeregistry.versions +WHERE apisId = '{{ apisId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND versionsId = '{{ versionsId }}'; +``` diff --git a/docs/google-docs/providers/google/apigeeregistry/versions_iam_policies/index.md b/docs/google-docs/providers/google/apigeeregistry/versions_iam_policies/index.md index f846d85dee..a7ab07eb23 100644 --- a/docs/google-docs/providers/google/apigeeregistry/versions_iam_policies/index.md +++ b/docs/google-docs/providers/google/apigeeregistry/versions_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: versions_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - versions_iam_policies - apigeeregistry - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an versions_iam_policy resource or lists versions_iam_policies in a region ## Overview
@@ -30,13 +32,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.apigeeregistry.versions_iam_policies +WHERE apisId = '{{ apisId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND versionsId = '{{ versionsId }}'; +``` diff --git a/docs/google-docs/providers/google/apikeys/index.md b/docs/google-docs/providers/google/apikeys/index.md index 339873ffc9..632c446678 100644 --- a/docs/google-docs/providers/google/apikeys/index.md +++ b/docs/google-docs/providers/google/apikeys/index.md @@ -9,41 +9,30 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Manages the API keys associated with developer projects. - +The apikeys service documentation. + :::info Service Summary
total resources: 3
-total selectable resources: 3
-total methods: 10
::: -## Overview -
- - - - - -
Namegoogle.apikeys
TypeService
TitleAPI Keys API
DescriptionManages the API keys associated with developer projects.
Idapikeys:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/apikeys/keys/index.md b/docs/google-docs/providers/google/apikeys/keys/index.md index 677ffc11f9..f4deab08ce 100644 --- a/docs/google-docs/providers/google/apikeys/keys/index.md +++ b/docs/google-docs/providers/google/apikeys/keys/index.md @@ -1,3 +1,4 @@ + --- title: keys hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - keys - apikeys - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an key resource or lists keys in a region ## Overview @@ -40,6 +42,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Describes the restrictions on the key. | | | `string` | Output only. Unique id in UUID4 format. | | | `string` | Output only. A timestamp identifying the time this key was last updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -48,6 +51,136 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new API key. NOTE: Key is a global resource; hence the only supported value for location is `global`. | | | `DELETE` | | Deletes an API key. Deleted key can be retrieved within 30 days of deletion. Afterward, key will be purged from the project. NOTE: Key is a global resource; hence the only supported value for location is `global`. | | | `UPDATE` | | Patches the modifiable fields of an API key. The key string of the API key isn't included in the response. NOTE: Key is a global resource; hence the only supported value for location is `global`. | -| | `EXEC` | | Lists the API keys owned by a project. The key string of the API key isn't included in the response. NOTE: Key is a global resource; hence the only supported value for location is `global`. | -| | `EXEC` | | Find the parent project and resource name of the API key that matches the key string in the request. If the API key has been purged, resource name will not be set. The service account must have the `apikeys.keys.lookup` permission on the parent project. | +| | `EXEC` | | Find the parent project and resource name of the API key that matches the key string in the request. If the API key has been purged, resource name will not be set. The service account must have the `apikeys.keys.lookup` permission on the parent project. | | | `EXEC` | | Undeletes an API key which was deleted within 30 days. NOTE: Key is a global resource; hence the only supported value for location is `global`. | + +## `SELECT` examples + +Lists the API keys owned by a project. The key string of the API key isn't included in the response. NOTE: Key is a global resource; hence the only supported value for location is `global`. + +```sql +SELECT +name, +annotations, +createTime, +deleteTime, +displayName, +etag, +keyString, +restrictions, +uid, +updateTime +FROM google.apikeys.keys +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new keys resource. + + + + +```sql +/*+ create */ +INSERT INTO google.apikeys.keys ( +locationsId, +projectsId, +name, +etag, +createTime, +annotations, +uid, +keyString, +restrictions, +displayName, +updateTime, +deleteTime +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ etag }}', +'{{ createTime }}', +'{{ annotations }}', +'{{ uid }}', +'{{ keyString }}', +'{{ restrictions }}', +'{{ displayName }}', +'{{ updateTime }}', +'{{ deleteTime }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: etag + value: '{{ etag }}' + - name: createTime + value: '{{ createTime }}' + - name: annotations + value: '{{ annotations }}' + - name: uid + value: '{{ uid }}' + - name: keyString + value: '{{ keyString }}' + - name: restrictions + value: '{{ restrictions }}' + - name: displayName + value: '{{ displayName }}' + - name: updateTime + value: '{{ updateTime }}' + - name: deleteTime + value: '{{ deleteTime }}' + +``` + + + +## `UPDATE` example + +Updates a key only if the necessary resources are available. + +```sql +UPDATE google.apikeys.keys +SET +name = '{{ name }}', +etag = '{{ etag }}', +createTime = '{{ createTime }}', +annotations = '{{ annotations }}', +uid = '{{ uid }}', +keyString = '{{ keyString }}', +restrictions = '{{ restrictions }}', +displayName = '{{ displayName }}', +updateTime = '{{ updateTime }}', +deleteTime = '{{ deleteTime }}' +WHERE +keysId = '{{ keysId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified key resource. + +```sql +DELETE FROM google.apikeys.keys +WHERE keysId = '{{ keysId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/apikeys/keys_key_string/index.md b/docs/google-docs/providers/google/apikeys/keys_key_string/index.md index 40f41d50a8..00c82d88a9 100644 --- a/docs/google-docs/providers/google/apikeys/keys_key_string/index.md +++ b/docs/google-docs/providers/google/apikeys/keys_key_string/index.md @@ -1,3 +1,4 @@ + --- title: keys_key_string hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - keys_key_string - apikeys - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an keys_key_string resource or lists keys_key_string in a region ## Overview
@@ -28,7 +30,24 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | An encrypted and signed value of the key. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Get the key string for an API key. NOTE: Key is a global resource; hence the only supported value for location is `global`. | + +## `SELECT` examples + +Get the key string for an API key. NOTE: Key is a global resource; hence the only supported value for location is `global`. + +```sql +SELECT +keyString +FROM google.apikeys.keys_key_string +WHERE keysId = '{{ keysId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/apikeys/operations/index.md b/docs/google-docs/providers/google/apikeys/operations/index.md index 80d3d579db..52745783cf 100644 --- a/docs/google-docs/providers/google/apikeys/operations/index.md +++ b/docs/google-docs/providers/google/apikeys/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - apikeys - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview @@ -30,12 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | + +## `SELECT` examples + +Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.apikeys.operations +WHERE operationsId = '{{ operationsId }}'; +``` diff --git a/docs/google-docs/providers/google/apim/api_observation_tags/index.md b/docs/google-docs/providers/google/apim/api_observation_tags/index.md new file mode 100644 index 0000000000..ee54734794 --- /dev/null +++ b/docs/google-docs/providers/google/apim/api_observation_tags/index.md @@ -0,0 +1,52 @@ + +--- +title: api_observation_tags +hide_title: false +hide_table_of_contents: false +keywords: + - api_observation_tags + - apim + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an api_observation_tag resource or lists api_observation_tags in a region + +## Overview +
+ + + +
Nameapi_observation_tags
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | | + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | ListApiObservationTags lists all extant tags on any observation in the given project. | + +## `SELECT` examples + +ListApiObservationTags lists all extant tags on any observation in the given project. + +```sql +SELECT +column_anon +FROM google.apim.api_observation_tags +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/apim/api_observations/index.md b/docs/google-docs/providers/google/apim/api_observations/index.md new file mode 100644 index 0000000000..f5a1bfd69a --- /dev/null +++ b/docs/google-docs/providers/google/apim/api_observations/index.md @@ -0,0 +1,73 @@ + +--- +title: api_observations +hide_title: false +hide_table_of_contents: false +keywords: + - api_observations + - apim + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an api_observation resource or lists api_observations in a region + +## Overview + + + + +
Nameapi_observations
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | Identifier. Name of resource | +| | `string` | The number of observed API Operations. | +| | `string` | Create time stamp | +| | `string` | The hostname of requests processed for this Observation. | +| | `string` | Last event detected time stamp | +| | `array` | The IP address (IPv4 or IPv6) of the origin server that the request was sent to. This field can include port information. Examples: `"192.168.1.1"`, `"10.0.0.1:80"`, `"FE80::0202:B3FF:FE1E:8329"`. | +| | `array` | Location of the Observation Source, for example "us-central1" or "europe-west1." | +| | `string` | Style of ApiObservation | +| | `array` | User-defined tags to organize and sort | +| | `string` | Update time stamp | + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | GetApiObservation retrieves a single ApiObservation by name. | +| | `SELECT` | | ListApiObservations gets all ApiObservations for a given project and location and ObservationJob. | +| | `EXEC` | | BatchEditTagsApiObservations adds or removes Tags for ApiObservations. | + +## `SELECT` examples + +ListApiObservations gets all ApiObservations for a given project and location and ObservationJob. + +```sql +SELECT +name, +apiOperationCount, +createTime, +hostname, +lastEventDetectedTime, +serverIps, +sourceLocations, +style, +tags, +updateTime +FROM google.apim.api_observations +WHERE locationsId = '{{ locationsId }}' +AND observationJobsId = '{{ observationJobsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/apim/api_operations/index.md b/docs/google-docs/providers/google/apim/api_operations/index.md new file mode 100644 index 0000000000..84740e97dd --- /dev/null +++ b/docs/google-docs/providers/google/apim/api_operations/index.md @@ -0,0 +1,63 @@ + +--- +title: api_operations +hide_title: false +hide_table_of_contents: false +keywords: + - api_operations + - apim + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an api_operation resource or lists api_operations in a region + +## Overview + + + + +
Nameapi_operations
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | Identifier. Name of resource | +| | `string` | The number of occurrences of this API Operation. | +| | `string` | First seen time stamp | +| | `object` | An HTTP-based API Operation, sometimes called a "REST" Operation. | +| | `string` | Last seen time stamp | + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | GetApiOperation retrieves a single ApiOperation by name. | +| | `SELECT` | | ListApiOperations gets all ApiOperations for a given project and location and ObservationJob and ApiObservation. | + +## `SELECT` examples + +ListApiOperations gets all ApiOperations for a given project and location and ObservationJob and ApiObservation. + +```sql +SELECT +name, +count, +firstSeenTime, +httpOperation, +lastSeenTime +FROM google.apim.api_operations +WHERE apiObservationsId = '{{ apiObservationsId }}' +AND locationsId = '{{ locationsId }}' +AND observationJobsId = '{{ observationJobsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/apim/index.md b/docs/google-docs/providers/google/apim/index.md new file mode 100644 index 0000000000..12f70c448e --- /dev/null +++ b/docs/google-docs/providers/google/apim/index.md @@ -0,0 +1,42 @@ +--- +title: apim +hide_title: false +hide_table_of_contents: false +keywords: + - apim + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage google resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +The apim service documentation. + +:::info Service Summary + +
+
+total resources: 7
+
+
+ +::: + +## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/apim/locations/index.md b/docs/google-docs/providers/google/apim/locations/index.md new file mode 100644 index 0000000000..8905ff3372 --- /dev/null +++ b/docs/google-docs/providers/google/apim/locations/index.md @@ -0,0 +1,60 @@ + +--- +title: locations +hide_title: false +hide_table_of_contents: false +keywords: + - locations + - apim + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an location resource or lists locations in a region + +## Overview + + + + +
Namelocations
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` | +| | `string` | The friendly name for this location, typically a nearby city name. For example, "Tokyo". | +| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | +| | `string` | The canonical id for this location. For example: `"us-east1"`. | +| | `object` | Service-specific metadata. For example the available capacity at the given location. | + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets information about a location. | +| | `SELECT` | | Lists information about the supported locations for this service. | + +## `SELECT` examples + +Lists information about the supported locations for this service. + +```sql +SELECT +name, +displayName, +labels, +locationId, +metadata +FROM google.apim.locations +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/apim/observation_jobs/index.md b/docs/google-docs/providers/google/apim/observation_jobs/index.md new file mode 100644 index 0000000000..107185cf86 --- /dev/null +++ b/docs/google-docs/providers/google/apim/observation_jobs/index.md @@ -0,0 +1,132 @@ + +--- +title: observation_jobs +hide_title: false +hide_table_of_contents: false +keywords: + - observation_jobs + - apim + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an observation_job resource or lists observation_jobs in a region + +## Overview + + + + +
Nameobservation_jobs
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | Identifier. name of resource Format: projects/{project}/locations/{location}/observationJobs/{observation_job} | +| | `string` | Output only. [Output only] Create time stamp | +| | `array` | Optional. These should be of the same kind of source. | +| | `string` | Output only. The observation job state | +| | `string` | Output only. [Output only] Update time stamp | + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | GetObservationJob retrieves a single ObservationJob by name. | +| | `SELECT` | | ListObservationJobs gets all ObservationJobs for a given project and location. | +| | `INSERT` | | CreateObservationJob creates a new ObservationJob but does not have any effecton its own. It is a configuration that can be used in an Observation Job to collect data about existing APIs. | +| | `DELETE` | | DeleteObservationJob deletes an ObservationJob. This method will fail if the observation job is currently being used by any ObservationSource, even if not enabled. | +| | `EXEC` | | Disables the given ObservationJob. | +| | `EXEC` | | Enables the given ObservationJob. | + +## `SELECT` examples + +ListObservationJobs gets all ObservationJobs for a given project and location. + +```sql +SELECT +name, +createTime, +sources, +state, +updateTime +FROM google.apim.observation_jobs +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new observation_jobs resource. + + + + +```sql +/*+ create */ +INSERT INTO google.apim.observation_jobs ( +locationsId, +projectsId, +name, +state, +sources, +createTime, +updateTime +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ state }}', +'{{ sources }}', +'{{ createTime }}', +'{{ updateTime }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: state + value: '{{ state }}' + - name: sources + value: '{{ sources }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + +``` + + + +## `DELETE` example + +Deletes the specified observation_job resource. + +```sql +DELETE FROM google.apim.observation_jobs +WHERE locationsId = '{{ locationsId }}' +AND observationJobsId = '{{ observationJobsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/apim/observation_sources/index.md b/docs/google-docs/providers/google/apim/observation_sources/index.md new file mode 100644 index 0000000000..cff696ee5a --- /dev/null +++ b/docs/google-docs/providers/google/apim/observation_sources/index.md @@ -0,0 +1,130 @@ + +--- +title: observation_sources +hide_title: false +hide_table_of_contents: false +keywords: + - observation_sources + - apim + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an observation_source resource or lists observation_sources in a region + +## Overview + + + + +
Nameobservation_sources
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | Identifier. name of resource For MVP, each region can only have 1 source. | +| | `string` | Output only. [Output only] Create time stamp | +| | `object` | The GCLB observation source. | +| | `string` | Output only. The observation source state | +| | `string` | Output only. [Output only] Update time stamp | + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | GetObservationSource retrieves a single ObservationSource by name. | +| | `SELECT` | | ListObservationSources gets all ObservationSources for a given project and location. | +| | `INSERT` | | CreateObservationSource creates a new ObservationSource but does not affect any deployed infrastructure. It is a configuration that can be used in an Observation Job to collect data about APIs running in user's dataplane. | +| | `DELETE` | | DeleteObservationSource deletes an observation source. This method will fail if the observation source is currently being used by any ObservationJob, even if not enabled. | + +## `SELECT` examples + +ListObservationSources gets all ObservationSources for a given project and location. + +```sql +SELECT +name, +createTime, +gclbObservationSource, +state, +updateTime +FROM google.apim.observation_sources +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new observation_sources resource. + + + + +```sql +/*+ create */ +INSERT INTO google.apim.observation_sources ( +locationsId, +projectsId, +gclbObservationSource, +name, +state, +createTime, +updateTime +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ gclbObservationSource }}', +'{{ name }}', +'{{ state }}', +'{{ createTime }}', +'{{ updateTime }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: gclbObservationSource + value: '{{ gclbObservationSource }}' + - name: name + value: '{{ name }}' + - name: state + value: '{{ state }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + +``` + + + +## `DELETE` example + +Deletes the specified observation_source resource. + +```sql +DELETE FROM google.apim.observation_sources +WHERE locationsId = '{{ locationsId }}' +AND observationSourcesId = '{{ observationSourcesId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/apim/operations/index.md b/docs/google-docs/providers/google/apim/operations/index.md new file mode 100644 index 0000000000..899b6a8b4a --- /dev/null +++ b/docs/google-docs/providers/google/apim/operations/index.md @@ -0,0 +1,74 @@ + +--- +title: operations +hide_title: false +hide_table_of_contents: false +keywords: + - operations + - apim + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an operation resource or lists operations in a region + +## Overview + + + + +
Nameoperations
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | +| | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | +| | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | +| | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | +| | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | +| | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. | +| | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.apim.operations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified operation resource. + +```sql +DELETE FROM google.apim.operations +WHERE locationsId = '{{ locationsId }}' +AND operationsId = '{{ operationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/appengine/apps/index.md b/docs/google-docs/providers/google/appengine/apps/index.md index ef2cb6c461..9b3af681bb 100644 --- a/docs/google-docs/providers/google/appengine/apps/index.md +++ b/docs/google-docs/providers/google/appengine/apps/index.md @@ -1,3 +1,4 @@ + --- title: apps hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - apps - appengine - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an app resource or lists apps in a region ## Overview @@ -46,10 +48,162 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Location from which this application runs. Application instances run out of the data centers in the specified location, which is also where all of the application's end user content is stored.Defaults to us-central.View the list of supported locations (https://cloud.google.com/appengine/docs/locations). | | | `string` | The service account associated with the application. This is the app-level default identity. If no identity provided during create version, Admin API will fallback to this one. | | | `string` | Serving status of this application. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about an application. | -| | `INSERT` | | Creates an App Engine application for a Google Cloud Platform project. Required fields: id - The ID of the target Cloud Platform project. location - The region (https://cloud.google.com/appengine/docs/locations) where you want the App Engine application located.For more information about App Engine applications, see Managing Projects, Applications, and Billing (https://cloud.google.com/appengine/docs/standard/python/console/). | +| | `INSERT` | | Creates an App Engine application for a Google Cloud Platform project. Required fields: id - The ID of the target Cloud Platform project. location - The region (https://cloud.google.com/appengine/docs/locations) where you want the App Engine application located.For more information about App Engine applications, see Managing Projects, Applications, and Billing (https://cloud.google.com/appengine/docs/standard/python/console/). | | | `UPDATE` | | Updates the specified Application resource. You can update the following fields: auth_domain - Google authentication domain for controlling user access to the application. default_cookie_expiration - Cookie expiration policy for the application. iap - Identity-Aware Proxy properties for the application. | | | `EXEC` | | Recreates the required App Engine features for the specified App Engine application, for example a Cloud Storage bucket or App Engine service account. Use this method if you receive an error message about a missing feature, for example, Error retrieving the App Engine service account. If you have deleted your App Engine service account, this will not be able to recreate it. Instead, you should attempt to use the IAM undelete API if possible at https://cloud.google.com/iam/reference/rest/v1/projects.serviceAccounts/undelete?apix_params=%7B"name"%3A"projects%2F-%2FserviceAccounts%2Funique_id"%2C"resource"%3A%7B%7D%7D . If the deletion was recent, the numeric ID can be found in the Cloud Console Activity Log. | + +## `SELECT` examples + +Gets information about an application. + +```sql +SELECT +id, +name, +authDomain, +codeBucket, +databaseType, +defaultBucket, +defaultCookieExpiration, +defaultHostname, +dispatchRules, +featureSettings, +gcrDomain, +generatedCustomerMetadata, +iap, +locationId, +serviceAccount, +servingStatus +FROM google.appengine.apps +WHERE appsId = '{{ appsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new apps resource. + + + + +```sql +/*+ create */ +INSERT INTO google.appengine.apps ( +, +name, +id, +dispatchRules, +authDomain, +locationId, +codeBucket, +defaultCookieExpiration, +servingStatus, +defaultHostname, +defaultBucket, +serviceAccount, +iap, +gcrDomain, +databaseType, +featureSettings, +generatedCustomerMetadata +) +SELECT +'{{ }}', +'{{ name }}', +'{{ id }}', +'{{ dispatchRules }}', +'{{ authDomain }}', +'{{ locationId }}', +'{{ codeBucket }}', +'{{ defaultCookieExpiration }}', +'{{ servingStatus }}', +'{{ defaultHostname }}', +'{{ defaultBucket }}', +'{{ serviceAccount }}', +'{{ iap }}', +'{{ gcrDomain }}', +'{{ databaseType }}', +'{{ featureSettings }}', +'{{ generatedCustomerMetadata }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: id + value: '{{ id }}' + - name: dispatchRules + value: '{{ dispatchRules }}' + - name: authDomain + value: '{{ authDomain }}' + - name: locationId + value: '{{ locationId }}' + - name: codeBucket + value: '{{ codeBucket }}' + - name: defaultCookieExpiration + value: '{{ defaultCookieExpiration }}' + - name: servingStatus + value: '{{ servingStatus }}' + - name: defaultHostname + value: '{{ defaultHostname }}' + - name: defaultBucket + value: '{{ defaultBucket }}' + - name: serviceAccount + value: '{{ serviceAccount }}' + - name: iap + value: '{{ iap }}' + - name: gcrDomain + value: '{{ gcrDomain }}' + - name: databaseType + value: '{{ databaseType }}' + - name: featureSettings + value: '{{ featureSettings }}' + - name: generatedCustomerMetadata + value: '{{ generatedCustomerMetadata }}' + +``` + + + +## `UPDATE` example + +Updates a app only if the necessary resources are available. + +```sql +UPDATE google.appengine.apps +SET +name = '{{ name }}', +id = '{{ id }}', +dispatchRules = '{{ dispatchRules }}', +authDomain = '{{ authDomain }}', +locationId = '{{ locationId }}', +codeBucket = '{{ codeBucket }}', +defaultCookieExpiration = '{{ defaultCookieExpiration }}', +servingStatus = '{{ servingStatus }}', +defaultHostname = '{{ defaultHostname }}', +defaultBucket = '{{ defaultBucket }}', +serviceAccount = '{{ serviceAccount }}', +iap = '{{ iap }}', +gcrDomain = '{{ gcrDomain }}', +databaseType = '{{ databaseType }}', +featureSettings = '{{ featureSettings }}', +generatedCustomerMetadata = '{{ generatedCustomerMetadata }}' +WHERE +appsId = '{{ appsId }}'; +``` diff --git a/docs/google-docs/providers/google/appengine/apps_runtimes/index.md b/docs/google-docs/providers/google/appengine/apps_runtimes/index.md index 1d4e0124ea..8de17cf5c7 100644 --- a/docs/google-docs/providers/google/appengine/apps_runtimes/index.md +++ b/docs/google-docs/providers/google/appengine/apps_runtimes/index.md @@ -1,3 +1,4 @@ + --- title: apps_runtimes hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - apps_runtimes - appengine - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an apps_runtime resource or lists apps_runtimes in a region ## Overview
@@ -39,8 +41,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The stage of life this runtime is in, e.g., BETA, GA, etc. | | | `array` | Supported operating systems for the runtime, e.g., 'ubuntu22', etc. | | | `array` | Warning messages, e.g., a deprecation warning. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists all the available runtimes for the application. | + +## `SELECT` examples + +Lists all the available runtimes for the application. + +```sql +SELECT +name, +decommissionedDate, +deprecationDate, +displayName, +endOfSupportDate, +environment, +stage, +supportedOperatingSystems, +warnings +FROM google.appengine.apps_runtimes +WHERE appsId = '{{ appsId }}'; +``` diff --git a/docs/google-docs/providers/google/appengine/authorized_certificates/index.md b/docs/google-docs/providers/google/appengine/authorized_certificates/index.md index beb583b630..e018e2b1e9 100644 --- a/docs/google-docs/providers/google/appengine/authorized_certificates/index.md +++ b/docs/google-docs/providers/google/appengine/authorized_certificates/index.md @@ -1,3 +1,4 @@ + --- title: authorized_certificates hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - authorized_certificates - appengine - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an authorized_certificate resource or lists authorized_certificates in a region ## Overview
@@ -39,6 +41,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The time when this certificate expires. To update the renewal time on this certificate, upload an SSL certificate with a different expiration time using AuthorizedCertificates.UpdateAuthorizedCertificate.@OutputOnly | | | `object` | A certificate managed by App Engine. | | | `array` | The full paths to user visible Domain Mapping resources that have this certificate mapped. Example: apps/myapp/domainMappings/example.com.This may not represent the full list of mapped domain mappings if the user does not have VIEWER permissions on all of the applications that have this certificate mapped. See domain_mappings_count for a complete count.Only returned by GET or LIST requests when specifically requested by the view=FULL_CERTIFICATE option.@OutputOnly | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -47,4 +50,123 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Uploads the specified SSL certificate. | | | `DELETE` | | Deletes the specified SSL certificate. | | | `UPDATE` | | Updates the specified SSL certificate. To renew a certificate and maintain its existing domain mappings, update certificate_data with a new certificate. The new certificate must be applicable to the same domains as the original certificate. The certificate display_name may also be updated. | -| | `EXEC` | | Lists all SSL certificates the user is authorized to administer. | + +## `SELECT` examples + +Lists all SSL certificates the user is authorized to administer. + +```sql +SELECT +id, +name, +certificateRawData, +displayName, +domainMappingsCount, +domainNames, +expireTime, +managedCertificate, +visibleDomainMappings +FROM google.appengine.authorized_certificates +WHERE appsId = '{{ appsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new authorized_certificates resource. + + + + +```sql +/*+ create */ +INSERT INTO google.appengine.authorized_certificates ( +appsId, +name, +id, +displayName, +domainNames, +expireTime, +certificateRawData, +managedCertificate, +visibleDomainMappings, +domainMappingsCount +) +SELECT +'{{ appsId }}', +'{{ name }}', +'{{ id }}', +'{{ displayName }}', +'{{ domainNames }}', +'{{ expireTime }}', +'{{ certificateRawData }}', +'{{ managedCertificate }}', +'{{ visibleDomainMappings }}', +'{{ domainMappingsCount }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: id + value: '{{ id }}' + - name: displayName + value: '{{ displayName }}' + - name: domainNames + value: '{{ domainNames }}' + - name: expireTime + value: '{{ expireTime }}' + - name: certificateRawData + value: '{{ certificateRawData }}' + - name: managedCertificate + value: '{{ managedCertificate }}' + - name: visibleDomainMappings + value: '{{ visibleDomainMappings }}' + - name: domainMappingsCount + value: '{{ domainMappingsCount }}' + +``` + + + +## `UPDATE` example + +Updates a authorized_certificate only if the necessary resources are available. + +```sql +UPDATE google.appengine.authorized_certificates +SET +name = '{{ name }}', +id = '{{ id }}', +displayName = '{{ displayName }}', +domainNames = '{{ domainNames }}', +expireTime = '{{ expireTime }}', +certificateRawData = '{{ certificateRawData }}', +managedCertificate = '{{ managedCertificate }}', +visibleDomainMappings = '{{ visibleDomainMappings }}', +domainMappingsCount = '{{ domainMappingsCount }}' +WHERE +appsId = '{{ appsId }}' +AND authorizedCertificatesId = '{{ authorizedCertificatesId }}'; +``` + +## `DELETE` example + +Deletes the specified authorized_certificate resource. + +```sql +DELETE FROM google.appengine.authorized_certificates +WHERE appsId = '{{ appsId }}' +AND authorizedCertificatesId = '{{ authorizedCertificatesId }}'; +``` diff --git a/docs/google-docs/providers/google/appengine/authorized_domains/index.md b/docs/google-docs/providers/google/appengine/authorized_domains/index.md index 7139e46077..282c2ba01b 100644 --- a/docs/google-docs/providers/google/appengine/authorized_domains/index.md +++ b/docs/google-docs/providers/google/appengine/authorized_domains/index.md @@ -1,3 +1,4 @@ + --- title: authorized_domains hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - authorized_domains - appengine - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an authorized_domain resource or lists authorized_domains in a region ## Overview
@@ -32,8 +34,22 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Fully qualified domain name of the domain authorized for use. Example: example.com. | | | `string` | Full path to the AuthorizedDomain resource in the API. Example: apps/myapp/authorizedDomains/example.com.@OutputOnly | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists all domains the user is authorized to administer. | + +## `SELECT` examples + +Lists all domains the user is authorized to administer. + +```sql +SELECT +id, +name +FROM google.appengine.authorized_domains +WHERE applicationsId = '{{ applicationsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/appengine/domain_mappings/index.md b/docs/google-docs/providers/google/appengine/domain_mappings/index.md index b56b9786f9..75e0dd869d 100644 --- a/docs/google-docs/providers/google/appengine/domain_mappings/index.md +++ b/docs/google-docs/providers/google/appengine/domain_mappings/index.md @@ -1,3 +1,4 @@ + --- title: domain_mappings hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - domain_mappings - appengine - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an domain_mapping resource or lists domain_mappings in a region ## Overview
@@ -34,6 +36,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Full path to the DomainMapping resource in the API. Example: apps/myapp/domainMapping/example.com.@OutputOnly | | | `array` | The resource records required to configure this domain mapping. These records must be added to the domain's DNS configuration in order to serve the application via this domain mapping.@OutputOnly | | | `object` | SSL configuration for a DomainMapping resource. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -42,4 +45,93 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Maps a domain to an application. A user must be authorized to administer a domain in order to map it to an application. For a list of available authorized domains, see AuthorizedDomains.ListAuthorizedDomains. | | | `DELETE` | | Deletes the specified domain mapping. A user must be authorized to administer the associated domain in order to delete a DomainMapping resource. | | | `UPDATE` | | Updates the specified domain mapping. To map an SSL certificate to a domain mapping, update certificate_id to point to an AuthorizedCertificate resource. A user must be authorized to administer the associated domain in order to update a DomainMapping resource. | -| | `EXEC` | | Lists the domain mappings on an application. | + +## `SELECT` examples + +Lists the domain mappings on an application. + +```sql +SELECT +id, +name, +resourceRecords, +sslSettings +FROM google.appengine.domain_mappings +WHERE appsId = '{{ appsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new domain_mappings resource. + + + + +```sql +/*+ create */ +INSERT INTO google.appengine.domain_mappings ( +appsId, +name, +id, +sslSettings, +resourceRecords +) +SELECT +'{{ appsId }}', +'{{ name }}', +'{{ id }}', +'{{ sslSettings }}', +'{{ resourceRecords }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: id + value: '{{ id }}' + - name: sslSettings + value: '{{ sslSettings }}' + - name: resourceRecords + value: '{{ resourceRecords }}' + +``` + + + +## `UPDATE` example + +Updates a domain_mapping only if the necessary resources are available. + +```sql +UPDATE google.appengine.domain_mappings +SET +name = '{{ name }}', +id = '{{ id }}', +sslSettings = '{{ sslSettings }}', +resourceRecords = '{{ resourceRecords }}' +WHERE +appsId = '{{ appsId }}' +AND domainMappingsId = '{{ domainMappingsId }}'; +``` + +## `DELETE` example + +Deletes the specified domain_mapping resource. + +```sql +DELETE FROM google.appengine.domain_mappings +WHERE appsId = '{{ appsId }}' +AND domainMappingsId = '{{ domainMappingsId }}'; +``` diff --git a/docs/google-docs/providers/google/appengine/index.md b/docs/google-docs/providers/google/appengine/index.md index 1682acaa81..f8a5ba7cef 100644 --- a/docs/google-docs/providers/google/appengine/index.md +++ b/docs/google-docs/providers/google/appengine/index.md @@ -9,34 +9,23 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Provisions and manages developers' App Engine applications. - +The appengine service documentation. + :::info Service Summary
total resources: 11
-total selectable resources: 11
-total methods: 49
::: -## Overview -
- - - - - -
Namegoogle.appengine
TypeService
TitleApp Engine Admin API
DescriptionProvisions and manages developers' App Engine applications.
Idappengine:v24.06.00236
- ## Resources
@@ -45,13 +34,13 @@ Provisions and manages developers' App Engine applications. authorized_certificates
authorized_domains
domain_mappings
-ingress_rules
+ingress_rules
+versions
+ \ No newline at end of file diff --git a/docs/google-docs/providers/google/appengine/ingress_rules/index.md b/docs/google-docs/providers/google/appengine/ingress_rules/index.md index b55b8fbae5..0207826033 100644 --- a/docs/google-docs/providers/google/appengine/ingress_rules/index.md +++ b/docs/google-docs/providers/google/appengine/ingress_rules/index.md @@ -1,3 +1,4 @@ + --- title: ingress_rules hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - ingress_rules - appengine - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an ingress_rule resource or lists ingress_rules in a region ## Overview @@ -34,6 +36,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The action to take on matched requests. | | | `integer` | A positive integer between 1, Int32.MaxValue-1 that defines the order of rule evaluation. Rules with the lowest priority are evaluated first.A default rule at priority Int32.MaxValue matches all IPv4 and IPv6 traffic when no previous rule matches. Only the action of this rule can be modified by the user. | | | `string` | IP address or range, defined using CIDR notation, of requests that this rule applies to. You can use the wildcard character "*" to match all IPs equivalent to "0/0" and "::/0" together. Examples: 192.168.1.1 or 192.168.0.0/16 or 2001:db8::/32 or 2001:0db8:0000:0042:0000:8a2e:0370:7334. Truncation will be silently performed on addresses which are not properly truncated. For example, 1.2.3.4/24 is accepted as the same address as 1.2.3.0/24. Similarly, for IPv6, 2001:db8::1/32 is accepted as the same address as 2001:db8::/32. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -41,6 +44,91 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists the firewall rules of an application. | | | `INSERT` | | Creates a firewall rule for the application. | | | `DELETE` | | Deletes the specified firewall rule. | +| | `UPDATE` | | Replaces the entire firewall ruleset in one bulk operation. This overrides and replaces the rules of an existing firewall with the new rules.If the final rule does not match traffic with the '*' wildcard IP range, then an "allow all" rule is explicitly added to the end of the list. | | | `UPDATE` | | Updates the specified firewall rule. | -| | `EXEC` | | Lists the firewall rules of an application. | -| | `EXEC` | | Replaces the entire firewall ruleset in one bulk operation. This overrides and replaces the rules of an existing firewall with the new rules.If the final rule does not match traffic with the '*' wildcard IP range, then an "allow all" rule is explicitly added to the end of the list. | + +## `SELECT` examples + +Lists the firewall rules of an application. + +```sql +SELECT +description, +action, +priority, +sourceRange +FROM google.appengine.ingress_rules +WHERE appsId = '{{ appsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new ingress_rules resource. + + + + +```sql +/*+ create */ +INSERT INTO google.appengine.ingress_rules ( +appsId, +priority, +action, +sourceRange, +description +) +SELECT +'{{ appsId }}', +'{{ priority }}', +'{{ action }}', +'{{ sourceRange }}', +'{{ description }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: priority + value: '{{ priority }}' + - name: action + value: '{{ action }}' + - name: sourceRange + value: '{{ sourceRange }}' + - name: description + value: '{{ description }}' + +``` + + + +## `UPDATE` example + +Updates a ingress_rule only if the necessary resources are available. + +```sql +UPDATE google.appengine.ingress_rules +SET +ingressRules = '{{ ingressRules }}' +WHERE +appsId = '{{ appsId }}'; +``` + +## `DELETE` example + +Deletes the specified ingress_rule resource. + +```sql +DELETE FROM google.appengine.ingress_rules +WHERE appsId = '{{ appsId }}' +AND ingressRulesId = '{{ ingressRulesId }}'; +``` diff --git a/docs/google-docs/providers/google/appengine/instances/index.md b/docs/google-docs/providers/google/appengine/instances/index.md index 4e8489c657..34fd888f84 100644 --- a/docs/google-docs/providers/google/appengine/instances/index.md +++ b/docs/google-docs/providers/google/appengine/instances/index.md @@ -1,3 +1,4 @@ + --- title: instances hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - instances - appengine - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an instance resource or lists instances in a region ## Overview
@@ -47,11 +49,52 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Name of the virtual machine where this instance lives. Only applicable for instances in App Engine flexible environment. | | | `string` | Output only. Status of the virtual machine where this instance lives. Only applicable for instances in App Engine flexible environment. | | | `string` | Output only. Zone where the virtual machine is located. Only applicable for instances in App Engine flexible environment. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets instance information. | | | `SELECT` | | Lists the instances of a version.Tip: To aggregate details about instances over time, see the Stackdriver Monitoring API (https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list). | -| | `DELETE` | | Stops a running instance.The instance might be automatically recreated based on the scaling settings of the version. For more information, see "How Instances are Managed" (standard environment (https://cloud.google.com/appengine/docs/standard/python/how-instances-are-managed) \| flexible environment (https://cloud.google.com/appengine/docs/flexible/python/how-instances-are-managed)).To ensure that instances are not re-created and avoid getting billed, you can stop all instances within the target version by changing the serving status of the version to STOPPED with the apps.services.versions.patch (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions/patch) method. | -| | `EXEC` | | Lists the instances of a version.Tip: To aggregate details about instances over time, see the Stackdriver Monitoring API (https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list). | +| | `DELETE` | | Stops a running instance.The instance might be automatically recreated based on the scaling settings of the version. For more information, see "How Instances are Managed" (standard environment (https://cloud.google.com/appengine/docs/standard/python/how-instances-are-managed) | flexible environment (https://cloud.google.com/appengine/docs/flexible/python/how-instances-are-managed)).To ensure that instances are not re-created and avoid getting billed, you can stop all instances within the target version by changing the serving status of the version to STOPPED with the apps.services.versions.patch (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions/patch) method. | | | `EXEC` | | Enables debugging on a VM instance. This allows you to use the SSH command to connect to the virtual machine where the instance lives. While in "debug mode", the instance continues to serve live traffic. You should delete the instance when you are done debugging and then allow the system to take over and determine if another instance should be started.Only applicable for instances in App Engine flexible environment. | + +## `SELECT` examples + +Lists the instances of a version.Tip: To aggregate details about instances over time, see the Stackdriver Monitoring API (https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list). + +```sql +SELECT +id, +name, +appEngineRelease, +availability, +averageLatency, +errors, +memoryUsage, +qps, +requests, +startTime, +vmDebugEnabled, +vmId, +vmIp, +vmLiveness, +vmName, +vmStatus, +vmZoneName +FROM google.appengine.instances +WHERE appsId = '{{ appsId }}' +AND servicesId = '{{ servicesId }}' +AND versionsId = '{{ versionsId }}'; +``` + +## `DELETE` example + +Deletes the specified instance resource. + +```sql +DELETE FROM google.appengine.instances +WHERE appsId = '{{ appsId }}' +AND instancesId = '{{ instancesId }}' +AND servicesId = '{{ servicesId }}' +AND versionsId = '{{ versionsId }}'; +``` diff --git a/docs/google-docs/providers/google/appengine/locations/index.md b/docs/google-docs/providers/google/appengine/locations/index.md index 13e4a29aed..47af3460f3 100644 --- a/docs/google-docs/providers/google/appengine/locations/index.md +++ b/docs/google-docs/providers/google/appengine/locations/index.md @@ -1,3 +1,4 @@ + --- title: locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - locations - appengine - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an location resource or lists locations in a region ## Overview
@@ -32,12 +34,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Resource name for the location, which may vary between implementations. For example: "projects/example-project/locations/us-east1" | | | `string` | The friendly name for this location, typically a nearby city name. For example, "Tokyo". | -| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | +| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | | | `string` | The canonical id for this location. For example: "us-east1". | | | `object` | Service-specific metadata. For example the available capacity at the given location. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about a location. | | | `SELECT` | | Lists information about the supported locations for this service. | -| | `EXEC` | | Lists information about the supported locations for this service. | + +## `SELECT` examples + +Lists information about the supported locations for this service. + +```sql +SELECT +name, +displayName, +labels, +locationId, +metadata +FROM google.appengine.locations +WHERE appsId = '{{ appsId }}'; +``` diff --git a/docs/google-docs/providers/google/appengine/operations/index.md b/docs/google-docs/providers/google/appengine/operations/index.md index 7c2943e4fc..e2846a525d 100644 --- a/docs/google-docs/providers/google/appengine/operations/index.md +++ b/docs/google-docs/providers/google/appengine/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - appengine - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview
@@ -30,14 +32,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the name should be a resource name ending with operations/{unique_id}. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the name should be a resource name ending with operations/{unique_id}. | | | `boolean` | If the value is false, it means the operation is still in progress. If true, the operation is completed, and either error or response is available. | | | `object` | The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC (https://github.com/grpc). Each Status message contains three pieces of data: error code, error message, and error details.You can find out more about this error model and how to work with it in the API Design Guide (https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as Delete, the response is google.protobuf.Empty. If the original method is standard Get/Create/Update, the response should be the resource. For other methods, the response should have the type XxxResponse, where Xxx is the original method name. For example, if the original method name is TakeSnapshot(), the inferred response type is TakeSnapshotResponse. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns UNIMPLEMENTED. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns UNIMPLEMENTED. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns UNIMPLEMENTED. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.appengine.operations +WHERE appsId = '{{ appsId }}'; +``` diff --git a/docs/google-docs/providers/google/appengine/services/index.md b/docs/google-docs/providers/google/appengine/services/index.md index 4a9e9908a7..2ba63b2e88 100644 --- a/docs/google-docs/providers/google/appengine/services/index.md +++ b/docs/google-docs/providers/google/appengine/services/index.md @@ -1,3 +1,4 @@ + --- title: services hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - services - appengine - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an service resource or lists services in a region ## Overview
@@ -30,12 +32,13 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Relative name of the service within the application. Example: default.@OutputOnly | -| | `string` | Full path to the Service resource in the API. Example: apps/myapp/services/default.@OutputOnly | +| | `string` | Output only. Relative name of the service within the application. Example: default.@OutputOnly | +| | `string` | Output only. Full path to the Service resource in the API. Example: apps/myapp/services/default.@OutputOnly | | | `object` | Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetServiceRequest | | | `object` | A set of labels to apply to this service. Labels are key/value pairs that describe the service and all resources that belong to it (e.g., versions). The labels can be used to search and group resources, and are propagated to the usage and billing reports, enabling fine-grain analysis of costs. An example of using labels is to tag resources belonging to different environments (e.g., "env=prod", "env=qa"). Label keys and values can be no longer than 63 characters and can only contain lowercase letters, numeric characters, underscores, dashes, and international characters. Label keys must start with a lowercase letter or an international character. Each service can have at most 32 labels. | | | `object` | A NetworkSettings resource is a container for ingress settings for a version or service. | | | `object` | Traffic routing configuration for versions within a single service. Traffic splits define how traffic directed to the service is assigned to versions. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -43,4 +46,47 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists all the services in the application. | | | `DELETE` | | Deletes the specified service and all enclosed versions. | | | `UPDATE` | | Updates the configuration of the specified service. | -| | `EXEC` | | Lists all the services in the application. | + +## `SELECT` examples + +Lists all the services in the application. + +```sql +SELECT +id, +name, +generatedCustomerMetadata, +labels, +networkSettings, +split +FROM google.appengine.services +WHERE appsId = '{{ appsId }}'; +``` + +## `UPDATE` example + +Updates a service only if the necessary resources are available. + +```sql +UPDATE google.appengine.services +SET +name = '{{ name }}', +id = '{{ id }}', +split = '{{ split }}', +labels = '{{ labels }}', +networkSettings = '{{ networkSettings }}', +generatedCustomerMetadata = '{{ generatedCustomerMetadata }}' +WHERE +appsId = '{{ appsId }}' +AND servicesId = '{{ servicesId }}'; +``` + +## `DELETE` example + +Deletes the specified service resource. + +```sql +DELETE FROM google.appengine.services +WHERE appsId = '{{ appsId }}' +AND servicesId = '{{ servicesId }}'; +``` diff --git a/docs/google-docs/providers/google/appengine/versions/index.md b/docs/google-docs/providers/google/appengine/versions/index.md index 496c9efc51..9c0c64c78e 100644 --- a/docs/google-docs/providers/google/appengine/versions/index.md +++ b/docs/google-docs/providers/google/appengine/versions/index.md @@ -1,3 +1,4 @@ + --- title: versions hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - versions - appengine - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an version resource or lists versions in a region ## Overview
@@ -31,7 +33,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | Name | Datatype | Description | |:-----|:---------|:------------| | | `string` | Relative name of the version within the service. Example: v1. Version names can contain only lowercase letters, numbers, or hyphens. Reserved names: "default", "latest", and any name with the prefix "ah-". | -| | `string` | Full path to the Version resource in the API. Example: apps/myapp/services/default/versions/v1.@OutputOnly | +| | `string` | Output only. Full path to the Version resource in the API. Example: apps/myapp/services/default/versions/v1.@OutputOnly | | | `object` | Google Cloud Endpoints (https://cloud.google.com/endpoints) configuration for API handlers. | | | `boolean` | Allows App Engine second generation runtimes to access the legacy bundled services. | | | `object` | Automatic scaling is based on request rate, response latencies, and other application metrics. | @@ -39,10 +41,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Metadata settings that are supplied to this version to enable beta runtime features. | | | `object` | Environment variables available to the build environment.Only returned in GET requests if view=FULL is set. | | | `string` | Time that this version was created.@OutputOnly | -| | `string` | Email address of the user who created this version.@OutputOnly | +| | `string` | Output only. Email address of the user who created this version.@OutputOnly | | | `string` | Duration that static files should be cached by web proxies and browsers. Only applicable if the corresponding StaticFilesHandler (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#StaticFilesHandler) does not specify its own expiration time.Only returned in GET requests if view=FULL is set. | | | `object` | Code and application artifacts used to deploy a version to App Engine. | -| | `string` | Total size in bytes of all the files that are included in this version and currently hosted on the App Engine disk.@OutputOnly | +| | `string` | Output only. Total size in bytes of all the files that are included in this version and currently hosted on the App Engine disk.@OutputOnly | | | `object` | Google Cloud Endpoints (https://cloud.google.com/endpoints) configuration. The Endpoints API Service provides tooling for serving Open API and gRPC endpoints via an NGINX proxy. Only valid for App Engine Flexible environment deployments.The fields here refer to the name and configuration ID of a "service" resource in the Service Management API (https://cloud.google.com/service-management/overview). | | | `object` | The entrypoint for the application. | | | `string` | App Engine execution environment for this version.Defaults to standard. | @@ -68,10 +70,11 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | 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. | | | `string` | Current serving status of this version. Only the versions with a SERVING status create instances and can be billed.SERVING_STATUS_UNSPECIFIED is an invalid value. Defaults to SERVING. | | | `boolean` | Whether multiple requests can be dispatched to this version at once. | -| | `string` | Serving URL for this version. Example: "https://myversion-dot-myservice-dot-myapp.appspot.com"@OutputOnly | +| | `string` | Output only. Serving URL for this version. Example: "https://myversion-dot-myservice-dot-myapp.appspot.com"@OutputOnly | | | `boolean` | Whether to deploy this version in a container on a virtual machine. | | | `object` | VPC access connector specification. | | | `array` | The Google Compute Engine zones that are supported by this version in the App Engine flexible environment. Deprecated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -80,4 +83,326 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Deploys code and resource files to a new version. | | | `DELETE` | | Deletes an existing Version resource. | | | `UPDATE` | | Updates the specified Version resource. You can specify the following fields depending on the App Engine environment and type of scaling that the version resource uses:Standard environment instance_class (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.instance_class)automatic scaling in the standard environment: automatic_scaling.min_idle_instances (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.automatic_scaling) automatic_scaling.max_idle_instances (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.automatic_scaling) automaticScaling.standard_scheduler_settings.max_instances (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#StandardSchedulerSettings) automaticScaling.standard_scheduler_settings.min_instances (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#StandardSchedulerSettings) automaticScaling.standard_scheduler_settings.target_cpu_utilization (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#StandardSchedulerSettings) automaticScaling.standard_scheduler_settings.target_throughput_utilization (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#StandardSchedulerSettings)basic scaling or manual scaling in the standard environment: serving_status (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.serving_status) manual_scaling.instances (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#manualscaling)Flexible environment serving_status (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.serving_status)automatic scaling in the flexible environment: automatic_scaling.min_total_instances (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.automatic_scaling) automatic_scaling.max_total_instances (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.automatic_scaling) automatic_scaling.cool_down_period_sec (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.automatic_scaling) automatic_scaling.cpu_utilization.target_utilization (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.automatic_scaling)manual scaling in the flexible environment: manual_scaling.instances (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#manualscaling) | -| | `EXEC` | | Lists the versions of a service. | + +## `SELECT` examples + +Lists the versions of a service. + +```sql +SELECT +id, +name, +apiConfig, +appEngineApis, +automaticScaling, +basicScaling, +betaSettings, +buildEnvVariables, +createTime, +createdBy, +defaultExpiration, +deployment, +diskUsageBytes, +endpointsApiService, +entrypoint, +env, +envVariables, +errorHandlers, +flexibleRuntimeSettings, +generatedCustomerMetadata, +handlers, +healthCheck, +inboundServices, +instanceClass, +libraries, +livenessCheck, +manualScaling, +network, +nobuildFilesRegex, +readinessCheck, +resources, +runtime, +runtimeApiVersion, +runtimeChannel, +runtimeMainExecutablePath, +serviceAccount, +servingStatus, +threadsafe, +versionUrl, +vm, +vpcAccessConnector, +zones +FROM google.appengine.versions +WHERE appsId = '{{ appsId }}' +AND servicesId = '{{ servicesId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new versions resource. + + + + +```sql +/*+ create */ +INSERT INTO google.appengine.versions ( +appsId, +servicesId, +name, +id, +automaticScaling, +basicScaling, +manualScaling, +inboundServices, +instanceClass, +network, +zones, +resources, +runtime, +runtimeChannel, +threadsafe, +vm, +flexibleRuntimeSettings, +appEngineApis, +betaSettings, +env, +servingStatus, +createdBy, +createTime, +diskUsageBytes, +runtimeApiVersion, +runtimeMainExecutablePath, +serviceAccount, +handlers, +errorHandlers, +libraries, +apiConfig, +envVariables, +buildEnvVariables, +defaultExpiration, +healthCheck, +readinessCheck, +livenessCheck, +nobuildFilesRegex, +deployment, +versionUrl, +endpointsApiService, +entrypoint, +vpcAccessConnector, +generatedCustomerMetadata +) +SELECT +'{{ appsId }}', +'{{ servicesId }}', +'{{ name }}', +'{{ id }}', +'{{ automaticScaling }}', +'{{ basicScaling }}', +'{{ manualScaling }}', +'{{ inboundServices }}', +'{{ instanceClass }}', +'{{ network }}', +'{{ zones }}', +'{{ resources }}', +'{{ runtime }}', +'{{ runtimeChannel }}', +true|false, +true|false, +'{{ flexibleRuntimeSettings }}', +true|false, +'{{ betaSettings }}', +'{{ env }}', +'{{ servingStatus }}', +'{{ createdBy }}', +'{{ createTime }}', +'{{ diskUsageBytes }}', +'{{ runtimeApiVersion }}', +'{{ runtimeMainExecutablePath }}', +'{{ serviceAccount }}', +'{{ handlers }}', +'{{ errorHandlers }}', +'{{ libraries }}', +'{{ apiConfig }}', +'{{ envVariables }}', +'{{ buildEnvVariables }}', +'{{ defaultExpiration }}', +'{{ healthCheck }}', +'{{ readinessCheck }}', +'{{ livenessCheck }}', +'{{ nobuildFilesRegex }}', +'{{ deployment }}', +'{{ versionUrl }}', +'{{ endpointsApiService }}', +'{{ entrypoint }}', +'{{ vpcAccessConnector }}', +'{{ generatedCustomerMetadata }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: id + value: '{{ id }}' + - name: automaticScaling + value: '{{ automaticScaling }}' + - name: basicScaling + value: '{{ basicScaling }}' + - name: manualScaling + value: '{{ manualScaling }}' + - name: inboundServices + value: '{{ inboundServices }}' + - name: instanceClass + value: '{{ instanceClass }}' + - name: network + value: '{{ network }}' + - name: zones + value: '{{ zones }}' + - name: resources + value: '{{ resources }}' + - name: runtime + value: '{{ runtime }}' + - name: runtimeChannel + value: '{{ runtimeChannel }}' + - name: threadsafe + value: '{{ threadsafe }}' + - name: vm + value: '{{ vm }}' + - name: flexibleRuntimeSettings + value: '{{ flexibleRuntimeSettings }}' + - name: appEngineApis + value: '{{ appEngineApis }}' + - name: betaSettings + value: '{{ betaSettings }}' + - name: env + value: '{{ env }}' + - name: servingStatus + value: '{{ servingStatus }}' + - name: createdBy + value: '{{ createdBy }}' + - name: createTime + value: '{{ createTime }}' + - name: diskUsageBytes + value: '{{ diskUsageBytes }}' + - name: runtimeApiVersion + value: '{{ runtimeApiVersion }}' + - name: runtimeMainExecutablePath + value: '{{ runtimeMainExecutablePath }}' + - name: serviceAccount + value: '{{ serviceAccount }}' + - name: handlers + value: '{{ handlers }}' + - name: errorHandlers + value: '{{ errorHandlers }}' + - name: libraries + value: '{{ libraries }}' + - name: apiConfig + value: '{{ apiConfig }}' + - name: envVariables + value: '{{ envVariables }}' + - name: buildEnvVariables + value: '{{ buildEnvVariables }}' + - name: defaultExpiration + value: '{{ defaultExpiration }}' + - name: healthCheck + value: '{{ healthCheck }}' + - name: readinessCheck + value: '{{ readinessCheck }}' + - name: livenessCheck + value: '{{ livenessCheck }}' + - name: nobuildFilesRegex + value: '{{ nobuildFilesRegex }}' + - name: deployment + value: '{{ deployment }}' + - name: versionUrl + value: '{{ versionUrl }}' + - name: endpointsApiService + value: '{{ endpointsApiService }}' + - name: entrypoint + value: '{{ entrypoint }}' + - name: vpcAccessConnector + value: '{{ vpcAccessConnector }}' + - name: generatedCustomerMetadata + value: '{{ generatedCustomerMetadata }}' + +``` + + + +## `UPDATE` example + +Updates a version only if the necessary resources are available. + +```sql +UPDATE google.appengine.versions +SET +name = '{{ name }}', +id = '{{ id }}', +automaticScaling = '{{ automaticScaling }}', +basicScaling = '{{ basicScaling }}', +manualScaling = '{{ manualScaling }}', +inboundServices = '{{ inboundServices }}', +instanceClass = '{{ instanceClass }}', +network = '{{ network }}', +zones = '{{ zones }}', +resources = '{{ resources }}', +runtime = '{{ runtime }}', +runtimeChannel = '{{ runtimeChannel }}', +threadsafe = true|false, +vm = true|false, +flexibleRuntimeSettings = '{{ flexibleRuntimeSettings }}', +appEngineApis = true|false, +betaSettings = '{{ betaSettings }}', +env = '{{ env }}', +servingStatus = '{{ servingStatus }}', +createdBy = '{{ createdBy }}', +createTime = '{{ createTime }}', +diskUsageBytes = '{{ diskUsageBytes }}', +runtimeApiVersion = '{{ runtimeApiVersion }}', +runtimeMainExecutablePath = '{{ runtimeMainExecutablePath }}', +serviceAccount = '{{ serviceAccount }}', +handlers = '{{ handlers }}', +errorHandlers = '{{ errorHandlers }}', +libraries = '{{ libraries }}', +apiConfig = '{{ apiConfig }}', +envVariables = '{{ envVariables }}', +buildEnvVariables = '{{ buildEnvVariables }}', +defaultExpiration = '{{ defaultExpiration }}', +healthCheck = '{{ healthCheck }}', +readinessCheck = '{{ readinessCheck }}', +livenessCheck = '{{ livenessCheck }}', +nobuildFilesRegex = '{{ nobuildFilesRegex }}', +deployment = '{{ deployment }}', +versionUrl = '{{ versionUrl }}', +endpointsApiService = '{{ endpointsApiService }}', +entrypoint = '{{ entrypoint }}', +vpcAccessConnector = '{{ vpcAccessConnector }}', +generatedCustomerMetadata = '{{ generatedCustomerMetadata }}' +WHERE +appsId = '{{ appsId }}' +AND servicesId = '{{ servicesId }}' +AND versionsId = '{{ versionsId }}'; +``` + +## `DELETE` example + +Deletes the specified version resource. + +```sql +DELETE FROM google.appengine.versions +WHERE appsId = '{{ appsId }}' +AND servicesId = '{{ servicesId }}' +AND versionsId = '{{ versionsId }}'; +``` diff --git a/docs/google-docs/providers/google/apphub/applications/index.md b/docs/google-docs/providers/google/apphub/applications/index.md index 2d5730ef84..ed77f2ae1a 100644 --- a/docs/google-docs/providers/google/apphub/applications/index.md +++ b/docs/google-docs/providers/google/apphub/applications/index.md @@ -1,3 +1,4 @@ + --- title: applications hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - applications - apphub - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an application resource or lists applications in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Identifier. The resource name of an Application. Format: "projects/{host-project-id}/locations/{location}/applications/{application-id}" | +| | `string` | Identifier. The resource name of an Application. Format: "projects/{host-project-id}/locations/{location}/applications/{application-id}" | | | `string` | Optional. User-defined description of an Application. Can have a maximum length of 2048 characters. | | | `object` | Consumer provided attributes. | | | `string` | Output only. Create time. | @@ -39,6 +41,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Application state. | | | `string` | Output only. A universally unique identifier (in UUID4 format) for the `Application`. | | | `string` | Output only. Update time. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -47,4 +50,128 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates an Application in a host project and location. | | | `DELETE` | | Deletes an Application in a host project and location. | | | `UPDATE` | | Updates an Application in a host project and location. | -| | `EXEC` | | Lists Applications in a host project and location. | + +## `SELECT` examples + +Lists Applications in a host project and location. + +```sql +SELECT +name, +description, +attributes, +createTime, +displayName, +scope, +state, +uid, +updateTime +FROM google.apphub.applications +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new applications resource. + + + + +```sql +/*+ create */ +INSERT INTO google.apphub.applications ( +locationsId, +projectsId, +name, +displayName, +description, +attributes, +createTime, +updateTime, +scope, +uid, +state +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ displayName }}', +'{{ description }}', +'{{ attributes }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ scope }}', +'{{ uid }}', +'{{ state }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: description + value: '{{ description }}' + - name: attributes + value: '{{ attributes }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: scope + value: '{{ scope }}' + - name: uid + value: '{{ uid }}' + - name: state + value: '{{ state }}' + +``` + + + +## `UPDATE` example + +Updates a application only if the necessary resources are available. + +```sql +UPDATE google.apphub.applications +SET +name = '{{ name }}', +displayName = '{{ displayName }}', +description = '{{ description }}', +attributes = '{{ attributes }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +scope = '{{ scope }}', +uid = '{{ uid }}', +state = '{{ state }}' +WHERE +applicationsId = '{{ applicationsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified application resource. + +```sql +DELETE FROM google.apphub.applications +WHERE applicationsId = '{{ applicationsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/apphub/applications_iam_policies/index.md b/docs/google-docs/providers/google/apphub/applications_iam_policies/index.md index a67f735d29..9444352c03 100644 --- a/docs/google-docs/providers/google/apphub/applications_iam_policies/index.md +++ b/docs/google-docs/providers/google/apphub/applications_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: applications_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - applications_iam_policies - apphub - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an applications_iam_policy resource or lists applications_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.apphub.applications_iam_policies +WHERE applicationsId = '{{ applicationsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/apphub/discovered_services/index.md b/docs/google-docs/providers/google/apphub/discovered_services/index.md index 759c6e16aa..9f3f363db3 100644 --- a/docs/google-docs/providers/google/apphub/discovered_services/index.md +++ b/docs/google-docs/providers/google/apphub/discovered_services/index.md @@ -1,3 +1,4 @@ + --- title: discovered_services hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - discovered_services - apphub - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an discovered_service resource or lists discovered_services in a region ## Overview
@@ -30,13 +32,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Identifier. The resource name of the discovered service. Format: "projects/{host-project-id}/locations/{location}/discoveredServices/{uuid}"" | +| | `string` | Identifier. The resource name of the discovered service. Format: "projects/{host-project-id}/locations/{location}/discoveredServices/{uuid}"" | | | `object` | Properties of an underlying cloud resource that can comprise a Service. | | | `object` | Reference to an underlying networking resource that can comprise a Service. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets a Discovered Service in a host project and location. | | | `SELECT` | | Lists Discovered Services that can be added to an Application in a host project and location. | -| | `EXEC` | | Lists Discovered Services that can be added to an Application in a host project and location. | | | `EXEC` | | Lists a Discovered Service in a host project and location, with a given resource URI. | + +## `SELECT` examples + +Lists Discovered Services that can be added to an Application in a host project and location. + +```sql +SELECT +name, +serviceProperties, +serviceReference +FROM google.apphub.discovered_services +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/apphub/discovered_workloads/index.md b/docs/google-docs/providers/google/apphub/discovered_workloads/index.md index 73e5e17025..b525959405 100644 --- a/docs/google-docs/providers/google/apphub/discovered_workloads/index.md +++ b/docs/google-docs/providers/google/apphub/discovered_workloads/index.md @@ -1,3 +1,4 @@ + --- title: discovered_workloads hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - discovered_workloads - apphub - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an discovered_workload resource or lists discovered_workloads in a region ## Overview
@@ -30,13 +32,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Identifier. The resource name of the discovered workload. Format: "projects/{host-project-id}/locations/{location}/discoveredWorkloads/{uuid}" | +| | `string` | Identifier. The resource name of the discovered workload. Format: "projects/{host-project-id}/locations/{location}/discoveredWorkloads/{uuid}" | | | `object` | Properties of an underlying compute resource represented by the Workload. | | | `object` | Reference of an underlying compute resource represented by the Workload. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets a Discovered Workload in a host project and location. | | | `SELECT` | | Lists Discovered Workloads that can be added to an Application in a host project and location. | -| | `EXEC` | | Lists Discovered Workloads that can be added to an Application in a host project and location. | | | `EXEC` | | Lists a Discovered Workload in a host project and location, with a given resource URI. | + +## `SELECT` examples + +Lists Discovered Workloads that can be added to an Application in a host project and location. + +```sql +SELECT +name, +workloadProperties, +workloadReference +FROM google.apphub.discovered_workloads +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/apphub/index.md b/docs/google-docs/providers/google/apphub/index.md index 30dfb23426..fd9ee55a27 100644 --- a/docs/google-docs/providers/google/apphub/index.md +++ b/docs/google-docs/providers/google/apphub/index.md @@ -9,34 +9,23 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- - - +The apphub service documentation. + :::info Service Summary
total resources: 9
-total selectable resources: 9
-total methods: 45
::: -## Overview -
- - - - - -
Namegoogle.apphub
TypeService
TitleApp Hub API
Description
Idapphub:v24.06.00236
- ## Resources
@@ -44,12 +33,12 @@ image: /img/providers/google/stackql-google-provider-featured-image.png applications_iam_policies
discovered_services
discovered_workloads
-locations
+locations
+workloads
+ \ No newline at end of file diff --git a/docs/google-docs/providers/google/apphub/locations/index.md b/docs/google-docs/providers/google/apphub/locations/index.md index 6bb42b403c..52aeed9c4f 100644 --- a/docs/google-docs/providers/google/apphub/locations/index.md +++ b/docs/google-docs/providers/google/apphub/locations/index.md @@ -1,3 +1,4 @@ + --- title: locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - locations - apphub - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an location resource or lists locations in a region ## Overview @@ -32,14 +34,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` | | | `string` | The friendly name for this location, typically a nearby city name. For example, "Tokyo". | -| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | +| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | | | `string` | The canonical id for this location. For example: `"us-east1"`. | | | `object` | Service-specific metadata. For example the available capacity at the given location. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about a location. | | | `SELECT` | | Lists information about the supported locations for this service. | -| | `EXEC` | | Lists information about the supported locations for this service. | | | `EXEC` | | Detaches a service project from a host project. You can call this API from any service project without needing access to the host project that it is attached to. | | | `EXEC` | | Lists a service project attachment for a given service project. You can call this API from any project to find if it is attached to a host project. | + +## `SELECT` examples + +Lists information about the supported locations for this service. + +```sql +SELECT +name, +displayName, +labels, +locationId, +metadata +FROM google.apphub.locations +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/apphub/operations/index.md b/docs/google-docs/providers/google/apphub/operations/index.md index 4de2281b17..e1741bce10 100644 --- a/docs/google-docs/providers/google/apphub/operations/index.md +++ b/docs/google-docs/providers/google/apphub/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - apphub - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview
@@ -30,16 +32,43 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.apphub.operations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified operation resource. + +```sql +DELETE FROM google.apphub.operations +WHERE locationsId = '{{ locationsId }}' +AND operationsId = '{{ operationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/apphub/service_project_attachments/index.md b/docs/google-docs/providers/google/apphub/service_project_attachments/index.md index 4d75460114..a6faece731 100644 --- a/docs/google-docs/providers/google/apphub/service_project_attachments/index.md +++ b/docs/google-docs/providers/google/apphub/service_project_attachments/index.md @@ -1,3 +1,4 @@ + --- title: service_project_attachments hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - service_project_attachments - apphub - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an service_project_attachment resource or lists service_project_attachments in a region ## Overview
@@ -30,11 +32,12 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Identifier. The resource name of a ServiceProjectAttachment. Format: "projects/{host-project-id}/locations/global/serviceProjectAttachments/{service-project-id}." | +| | `string` | Identifier. The resource name of a ServiceProjectAttachment. Format: "projects/{host-project-id}/locations/global/serviceProjectAttachments/{service-project-id}." | | | `string` | Output only. Create time. | | | `string` | Required. Immutable. Service project name in the format: "projects/abc" or "projects/123". As input, project name with either project id or number are accepted. As output, this field will contain project number. | | | `string` | Output only. ServiceProjectAttachment state. | | | `string` | Output only. A globally unique identifier (in UUID4 format) for the `ServiceProjectAttachment`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -42,4 +45,86 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists service projects attached to the host project. | | | `INSERT` | | Attaches a service project to the host project. | | | `DELETE` | | Deletes a service project attachment. | -| | `EXEC` | | Lists service projects attached to the host project. | + +## `SELECT` examples + +Lists service projects attached to the host project. + +```sql +SELECT +name, +createTime, +serviceProject, +state, +uid +FROM google.apphub.service_project_attachments +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new service_project_attachments resource. + + + + +```sql +/*+ create */ +INSERT INTO google.apphub.service_project_attachments ( +locationsId, +projectsId, +name, +serviceProject, +createTime, +uid, +state +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ serviceProject }}', +'{{ createTime }}', +'{{ uid }}', +'{{ state }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: serviceProject + value: '{{ serviceProject }}' + - name: createTime + value: '{{ createTime }}' + - name: uid + value: '{{ uid }}' + - name: state + value: '{{ state }}' + +``` + + + +## `DELETE` example + +Deletes the specified service_project_attachment resource. + +```sql +DELETE FROM google.apphub.service_project_attachments +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND serviceProjectAttachmentsId = '{{ serviceProjectAttachmentsId }}'; +``` diff --git a/docs/google-docs/providers/google/apphub/services/index.md b/docs/google-docs/providers/google/apphub/services/index.md index 5b24527354..8e29ff8c5d 100644 --- a/docs/google-docs/providers/google/apphub/services/index.md +++ b/docs/google-docs/providers/google/apphub/services/index.md @@ -1,3 +1,4 @@ + --- title: services hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - services - apphub - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an service resource or lists services in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Identifier. The resource name of a Service. Format: "projects/{host-project-id}/locations/{location}/applications/{application-id}/services/{service-id}" | +| | `string` | Identifier. The resource name of a Service. Format: "projects/{host-project-id}/locations/{location}/applications/{application-id}/services/{service-id}" | | | `string` | Optional. User-defined description of a Service. Can have a maximum length of 2048 characters. | | | `object` | Consumer provided attributes. | | | `string` | Output only. Create time. | @@ -41,6 +43,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Service state. | | | `string` | Output only. A universally unique identifier (UUID) for the `Service` in the UUID4 format. | | | `string` | Output only. Update time. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -49,4 +52,145 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a Service in an Application. | | | `DELETE` | | Deletes a Service from an Application. | | | `UPDATE` | | Updates a Service in an Application. | -| | `EXEC` | | Lists Services in an Application. | + +## `SELECT` examples + +Lists Services in an Application. + +```sql +SELECT +name, +description, +attributes, +createTime, +discoveredService, +displayName, +serviceProperties, +serviceReference, +state, +uid, +updateTime +FROM google.apphub.services +WHERE applicationsId = '{{ applicationsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new services resource. + + + + +```sql +/*+ create */ +INSERT INTO google.apphub.services ( +applicationsId, +locationsId, +projectsId, +name, +displayName, +description, +serviceReference, +serviceProperties, +attributes, +discoveredService, +createTime, +updateTime, +uid, +state +) +SELECT +'{{ applicationsId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ displayName }}', +'{{ description }}', +'{{ serviceReference }}', +'{{ serviceProperties }}', +'{{ attributes }}', +'{{ discoveredService }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ uid }}', +'{{ state }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: description + value: '{{ description }}' + - name: serviceReference + value: '{{ serviceReference }}' + - name: serviceProperties + value: '{{ serviceProperties }}' + - name: attributes + value: '{{ attributes }}' + - name: discoveredService + value: '{{ discoveredService }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: uid + value: '{{ uid }}' + - name: state + value: '{{ state }}' + +``` + + + +## `UPDATE` example + +Updates a service only if the necessary resources are available. + +```sql +UPDATE google.apphub.services +SET +name = '{{ name }}', +displayName = '{{ displayName }}', +description = '{{ description }}', +serviceReference = '{{ serviceReference }}', +serviceProperties = '{{ serviceProperties }}', +attributes = '{{ attributes }}', +discoveredService = '{{ discoveredService }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +uid = '{{ uid }}', +state = '{{ state }}' +WHERE +applicationsId = '{{ applicationsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND servicesId = '{{ servicesId }}'; +``` + +## `DELETE` example + +Deletes the specified service resource. + +```sql +DELETE FROM google.apphub.services +WHERE applicationsId = '{{ applicationsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND servicesId = '{{ servicesId }}'; +``` diff --git a/docs/google-docs/providers/google/apphub/workloads/index.md b/docs/google-docs/providers/google/apphub/workloads/index.md index 988428cf9f..a62088af3b 100644 --- a/docs/google-docs/providers/google/apphub/workloads/index.md +++ b/docs/google-docs/providers/google/apphub/workloads/index.md @@ -1,3 +1,4 @@ + --- title: workloads hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - workloads - apphub - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an workload resource or lists workloads in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Identifier. The resource name of the Workload. Format: "projects/{host-project-id}/locations/{location}/applications/{application-id}/workloads/{workload-id}" | +| | `string` | Identifier. The resource name of the Workload. Format: "projects/{host-project-id}/locations/{location}/applications/{application-id}/workloads/{workload-id}" | | | `string` | Optional. User-defined description of a Workload. Can have a maximum length of 2048 characters. | | | `object` | Consumer provided attributes. | | | `string` | Output only. Create time. | @@ -41,6 +43,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Update time. | | | `object` | Properties of an underlying compute resource represented by the Workload. | | | `object` | Reference of an underlying compute resource represented by the Workload. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -49,4 +52,145 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a Workload in an Application. | | | `DELETE` | | Deletes a Workload from an Application. | | | `UPDATE` | | Updates a Workload in an Application. | -| | `EXEC` | | Lists Workloads in an Application. | + +## `SELECT` examples + +Lists Workloads in an Application. + +```sql +SELECT +name, +description, +attributes, +createTime, +discoveredWorkload, +displayName, +state, +uid, +updateTime, +workloadProperties, +workloadReference +FROM google.apphub.workloads +WHERE applicationsId = '{{ applicationsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new workloads resource. + + + + +```sql +/*+ create */ +INSERT INTO google.apphub.workloads ( +applicationsId, +locationsId, +projectsId, +name, +displayName, +description, +workloadReference, +workloadProperties, +discoveredWorkload, +attributes, +createTime, +updateTime, +uid, +state +) +SELECT +'{{ applicationsId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ displayName }}', +'{{ description }}', +'{{ workloadReference }}', +'{{ workloadProperties }}', +'{{ discoveredWorkload }}', +'{{ attributes }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ uid }}', +'{{ state }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: description + value: '{{ description }}' + - name: workloadReference + value: '{{ workloadReference }}' + - name: workloadProperties + value: '{{ workloadProperties }}' + - name: discoveredWorkload + value: '{{ discoveredWorkload }}' + - name: attributes + value: '{{ attributes }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: uid + value: '{{ uid }}' + - name: state + value: '{{ state }}' + +``` + + + +## `UPDATE` example + +Updates a workload only if the necessary resources are available. + +```sql +UPDATE google.apphub.workloads +SET +name = '{{ name }}', +displayName = '{{ displayName }}', +description = '{{ description }}', +workloadReference = '{{ workloadReference }}', +workloadProperties = '{{ workloadProperties }}', +discoveredWorkload = '{{ discoveredWorkload }}', +attributes = '{{ attributes }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +uid = '{{ uid }}', +state = '{{ state }}' +WHERE +applicationsId = '{{ applicationsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND workloadsId = '{{ workloadsId }}'; +``` + +## `DELETE` example + +Deletes the specified workload resource. + +```sql +DELETE FROM google.apphub.workloads +WHERE applicationsId = '{{ applicationsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND workloadsId = '{{ workloadsId }}'; +``` diff --git a/docs/google-docs/providers/google/artifactregistry/apt_artifacts/index.md b/docs/google-docs/providers/google/artifactregistry/apt_artifacts/index.md index d02fe8df03..50838f8951 100644 --- a/docs/google-docs/providers/google/artifactregistry/apt_artifacts/index.md +++ b/docs/google-docs/providers/google/artifactregistry/apt_artifacts/index.md @@ -1,3 +1,4 @@ + --- title: apt_artifacts hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - apt_artifacts - artifactregistry - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an apt_artifact resource or lists apt_artifacts in a region ## Overview
@@ -28,7 +30,9 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| diff --git a/docs/google-docs/providers/google/artifactregistry/docker_images/index.md b/docs/google-docs/providers/google/artifactregistry/docker_images/index.md index dd66d3c5b4..3a6af14862 100644 --- a/docs/google-docs/providers/google/artifactregistry/docker_images/index.md +++ b/docs/google-docs/providers/google/artifactregistry/docker_images/index.md @@ -1,3 +1,4 @@ + --- title: docker_images hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - docker_images - artifactregistry - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an docker_image resource or lists docker_images in a region ## Overview @@ -38,9 +40,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The time when the docker image was last updated. | | | `string` | Time the image was uploaded. | | | `string` | Required. URL to access the image. Example: us-west4-docker.pkg.dev/test-project/test-repo/nginx@sha256:e9954c1fc875017be1c3e36eca16be2d9e9bccc4bf072163515467d6a823c7cf | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets a docker image. | | | `SELECT` | | Lists docker images. | -| | `EXEC` | | Lists docker images. | + +## `SELECT` examples + +Lists docker images. + +```sql +SELECT +name, +buildTime, +imageSizeBytes, +mediaType, +tags, +updateTime, +uploadTime, +uri +FROM google.artifactregistry.docker_images +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND repositoriesId = '{{ repositoriesId }}'; +``` diff --git a/docs/google-docs/providers/google/artifactregistry/files/index.md b/docs/google-docs/providers/google/artifactregistry/files/index.md index 6a72689f03..8f933aeebd 100644 --- a/docs/google-docs/providers/google/artifactregistry/files/index.md +++ b/docs/google-docs/providers/google/artifactregistry/files/index.md @@ -1,3 +1,4 @@ + --- title: files hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - files - artifactregistry - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an file resource or lists files in a region ## Overview
@@ -37,11 +39,42 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The name of the Package or Version that owns this file, if any. | | | `string` | The size of the File in bytes. | | | `string` | Output only. The time when the File was last updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets a file. | | | `SELECT` | | Lists files. | | | `DELETE` | | Deletes a file and all of its content. It is only allowed on generic repositories. The returned operation will complete once the file has been deleted. | -| | `EXEC` | | Lists files. | | | `EXEC` | | Download a file. | + +## `SELECT` examples + +Lists files. + +```sql +SELECT +name, +createTime, +fetchTime, +hashes, +owner, +sizeBytes, +updateTime +FROM google.artifactregistry.files +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND repositoriesId = '{{ repositoriesId }}'; +``` + +## `DELETE` example + +Deletes the specified file resource. + +```sql +DELETE FROM google.artifactregistry.files +WHERE filesId = '{{ filesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND repositoriesId = '{{ repositoriesId }}'; +``` diff --git a/docs/google-docs/providers/google/artifactregistry/generic_artifacts/index.md b/docs/google-docs/providers/google/artifactregistry/generic_artifacts/index.md index bfd73e02e2..15675e7092 100644 --- a/docs/google-docs/providers/google/artifactregistry/generic_artifacts/index.md +++ b/docs/google-docs/providers/google/artifactregistry/generic_artifacts/index.md @@ -1,3 +1,4 @@ + --- title: generic_artifacts hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - generic_artifacts - artifactregistry - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an generic_artifact resource or lists generic_artifacts in a region ## Overview
@@ -28,8 +30,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Directly uploads a Generic artifact. The returned operation will complete once the resources are uploaded. Package, version, and file resources are created based on the uploaded artifact. Uploaded artifacts that conflict with existing resources will raise an `ALREADY_EXISTS` error. | diff --git a/docs/google-docs/providers/google/artifactregistry/go_modules/index.md b/docs/google-docs/providers/google/artifactregistry/go_modules/index.md index bcb5b83423..ec393fb3ea 100644 --- a/docs/google-docs/providers/google/artifactregistry/go_modules/index.md +++ b/docs/google-docs/providers/google/artifactregistry/go_modules/index.md @@ -1,3 +1,4 @@ + --- title: go_modules hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - go_modules - artifactregistry - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an go_module resource or lists go_modules in a region ## Overview @@ -28,8 +30,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Directly uploads a Go module. The returned Operation will complete once the Go module is uploaded. Package, Version, and File resources are created based on the uploaded Go module. | diff --git a/docs/google-docs/providers/google/artifactregistry/googet_artifacts/index.md b/docs/google-docs/providers/google/artifactregistry/googet_artifacts/index.md index d8533519e5..85696a6c6f 100644 --- a/docs/google-docs/providers/google/artifactregistry/googet_artifacts/index.md +++ b/docs/google-docs/providers/google/artifactregistry/googet_artifacts/index.md @@ -1,3 +1,4 @@ + --- title: googet_artifacts hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - googet_artifacts - artifactregistry - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an googet_artifact resource or lists googet_artifacts in a region ## Overview @@ -28,7 +30,9 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| diff --git a/docs/google-docs/providers/google/artifactregistry/index.md b/docs/google-docs/providers/google/artifactregistry/index.md index 2f40c345f5..05c2999c50 100644 --- a/docs/google-docs/providers/google/artifactregistry/index.md +++ b/docs/google-docs/providers/google/artifactregistry/index.md @@ -9,34 +9,23 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Store and manage build artifacts in a scalable and integrated service built on Google infrastructure. - +The artifactregistry service documentation. + :::info Service Summary
total resources: 20
-total selectable resources: 14
-total methods: 60
::: -## Overview - - - - - - -
Namegoogle.artifactregistry
TypeService
TitleArtifact Registry API
DescriptionStore and manage build artifacts in a scalable and integrated service built on Google infrastructure.
Idartifactregistry:v24.06.00236
- ## Resources
@@ -49,7 +38,7 @@ Store and manage build artifacts in a scalable and integrated service built on G kfp_artifacts
locations
maven_artifacts
-npm_packages
+npm_packages
operations
@@ -61,6 +50,6 @@ Store and manage build artifacts in a scalable and integrated service built on G tags
versions
vpcsc_config
-yum_artifacts
-
+yum_artifacts
+ \ No newline at end of file diff --git a/docs/google-docs/providers/google/artifactregistry/kfp_artifacts/index.md b/docs/google-docs/providers/google/artifactregistry/kfp_artifacts/index.md index 4f9e74116a..81ce094bde 100644 --- a/docs/google-docs/providers/google/artifactregistry/kfp_artifacts/index.md +++ b/docs/google-docs/providers/google/artifactregistry/kfp_artifacts/index.md @@ -1,3 +1,4 @@ + --- title: kfp_artifacts hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - kfp_artifacts - artifactregistry - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an kfp_artifact resource or lists kfp_artifacts in a region ## Overview @@ -28,8 +30,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Directly uploads a KFP artifact. The returned Operation will complete once the resource is uploaded. Package, Version, and File resources will be created based on the uploaded artifact. Uploaded artifacts that conflict with existing resources will be overwritten. | diff --git a/docs/google-docs/providers/google/artifactregistry/locations/index.md b/docs/google-docs/providers/google/artifactregistry/locations/index.md index b80d09a53d..b779bc9a4f 100644 --- a/docs/google-docs/providers/google/artifactregistry/locations/index.md +++ b/docs/google-docs/providers/google/artifactregistry/locations/index.md @@ -1,3 +1,4 @@ + --- title: locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - locations - artifactregistry - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an location resource or lists locations in a region ## Overview @@ -32,12 +34,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` | | | `string` | The friendly name for this location, typically a nearby city name. For example, "Tokyo". | -| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | +| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | | | `string` | The canonical id for this location. For example: `"us-east1"`. | | | `object` | Service-specific metadata. For example the available capacity at the given location. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about a location. | | | `SELECT` | | Lists information about the supported locations for this service. | -| | `EXEC` | | Lists information about the supported locations for this service. | + +## `SELECT` examples + +Lists information about the supported locations for this service. + +```sql +SELECT +name, +displayName, +labels, +locationId, +metadata +FROM google.artifactregistry.locations +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/artifactregistry/maven_artifacts/index.md b/docs/google-docs/providers/google/artifactregistry/maven_artifacts/index.md index c587eac00f..0fe6f1d335 100644 --- a/docs/google-docs/providers/google/artifactregistry/maven_artifacts/index.md +++ b/docs/google-docs/providers/google/artifactregistry/maven_artifacts/index.md @@ -1,3 +1,4 @@ + --- title: maven_artifacts hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - maven_artifacts - artifactregistry - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an maven_artifact resource or lists maven_artifacts in a region ## Overview
@@ -37,9 +39,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Required. URL to access the pom file of the artifact. Example: us-west4-maven.pkg.dev/test-project/test-repo/com/google/guava/guava/31.0/guava-31.0.pom | | | `string` | Output only. Time the artifact was updated. | | | `string` | Version of this artifact. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets a maven artifact. | | | `SELECT` | | Lists maven artifacts. | -| | `EXEC` | | Lists maven artifacts. | + +## `SELECT` examples + +Lists maven artifacts. + +```sql +SELECT +name, +artifactId, +createTime, +groupId, +pomUri, +updateTime, +version +FROM google.artifactregistry.maven_artifacts +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND repositoriesId = '{{ repositoriesId }}'; +``` diff --git a/docs/google-docs/providers/google/artifactregistry/npm_packages/index.md b/docs/google-docs/providers/google/artifactregistry/npm_packages/index.md index 35755cbc95..1eb7d5afcd 100644 --- a/docs/google-docs/providers/google/artifactregistry/npm_packages/index.md +++ b/docs/google-docs/providers/google/artifactregistry/npm_packages/index.md @@ -1,3 +1,4 @@ + --- title: npm_packages hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - npm_packages - artifactregistry - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an npm_package resource or lists npm_packages in a region ## Overview
@@ -36,9 +38,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `array` | Tags attached to this package. | | | `string` | Output only. Time the package was updated. | | | `string` | Version of this package. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets a npm package. | | | `SELECT` | | Lists npm packages. | -| | `EXEC` | | Lists npm packages. | + +## `SELECT` examples + +Lists npm packages. + +```sql +SELECT +name, +createTime, +packageName, +tags, +updateTime, +version +FROM google.artifactregistry.npm_packages +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND repositoriesId = '{{ repositoriesId }}'; +``` diff --git a/docs/google-docs/providers/google/artifactregistry/operations/index.md b/docs/google-docs/providers/google/artifactregistry/operations/index.md index d56ddeec26..20842f1ce2 100644 --- a/docs/google-docs/providers/google/artifactregistry/operations/index.md +++ b/docs/google-docs/providers/google/artifactregistry/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - artifactregistry - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview
@@ -30,12 +32,30 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | + +## `SELECT` examples + +Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.artifactregistry.operations +WHERE locationsId = '{{ locationsId }}' +AND operationsId = '{{ operationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/artifactregistry/packages/index.md b/docs/google-docs/providers/google/artifactregistry/packages/index.md index 11f271a9d5..d76bffba67 100644 --- a/docs/google-docs/providers/google/artifactregistry/packages/index.md +++ b/docs/google-docs/providers/google/artifactregistry/packages/index.md @@ -1,3 +1,4 @@ + --- title: packages hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - packages - artifactregistry - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an package resource or lists packages in a region ## Overview
@@ -35,6 +37,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The time when the package was created. | | | `string` | The display name of the package. | | | `string` | The time when the package was last updated. This includes publishing a new version of the package. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -42,4 +45,51 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists packages. | | | `DELETE` | | Deletes a package and all of its versions and tags. The returned operation will complete once the package has been deleted. | | | `UPDATE` | | Updates a package. | -| | `EXEC` | | Lists packages. | + +## `SELECT` examples + +Lists packages. + +```sql +SELECT +name, +annotations, +createTime, +displayName, +updateTime +FROM google.artifactregistry.packages +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND repositoriesId = '{{ repositoriesId }}'; +``` + +## `UPDATE` example + +Updates a package only if the necessary resources are available. + +```sql +UPDATE google.artifactregistry.packages +SET +name = '{{ name }}', +displayName = '{{ displayName }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +annotations = '{{ annotations }}' +WHERE +locationsId = '{{ locationsId }}' +AND packagesId = '{{ packagesId }}' +AND projectsId = '{{ projectsId }}' +AND repositoriesId = '{{ repositoriesId }}'; +``` + +## `DELETE` example + +Deletes the specified package resource. + +```sql +DELETE FROM google.artifactregistry.packages +WHERE locationsId = '{{ locationsId }}' +AND packagesId = '{{ packagesId }}' +AND projectsId = '{{ projectsId }}' +AND repositoriesId = '{{ repositoriesId }}'; +``` diff --git a/docs/google-docs/providers/google/artifactregistry/project_settings/index.md b/docs/google-docs/providers/google/artifactregistry/project_settings/index.md index 001941a97f..60b28c8052 100644 --- a/docs/google-docs/providers/google/artifactregistry/project_settings/index.md +++ b/docs/google-docs/providers/google/artifactregistry/project_settings/index.md @@ -1,3 +1,4 @@ + --- title: project_settings hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - project_settings - artifactregistry - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an project_setting resource or lists project_settings in a region ## Overview
@@ -30,10 +32,39 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The name of the project's settings. Always of the form: projects/{project-id}/projectSettings In update request: never set In response: always set | +| | `string` | The name of the project's settings. Always of the form: projects/{project-id}/projectSettings In update request: never set In response: always set | | | `string` | The redirection state of the legacy repositories in this project. | +| | `integer` | The percentage of pull traffic to redirect from GCR to AR when using partial redirection. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Retrieves the Settings for the Project. | -| | `EXEC` | | Updates the Settings for the Project. | +| | `UPDATE` | | Updates the Settings for the Project. | + +## `SELECT` examples + +Retrieves the Settings for the Project. + +```sql +SELECT +name, +legacyRedirectionState, +pullPercent +FROM google.artifactregistry.project_settings +WHERE projectsId = '{{ projectsId }}'; +``` + +## `UPDATE` example + +Updates a project_setting only if the necessary resources are available. + +```sql +UPDATE google.artifactregistry.project_settings +SET +name = '{{ name }}', +legacyRedirectionState = '{{ legacyRedirectionState }}', +pullPercent = '{{ pullPercent }}' +WHERE +projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/artifactregistry/python_packages/index.md b/docs/google-docs/providers/google/artifactregistry/python_packages/index.md index d018daef3c..dbe36449fc 100644 --- a/docs/google-docs/providers/google/artifactregistry/python_packages/index.md +++ b/docs/google-docs/providers/google/artifactregistry/python_packages/index.md @@ -1,3 +1,4 @@ + --- title: python_packages hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - python_packages - artifactregistry - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an python_package resource or lists python_packages in a region ## Overview
@@ -36,9 +38,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Time the package was updated. | | | `string` | Required. URL to access the package. Example: us-west4-python.pkg.dev/test-project/test-repo/python_package/file-name-1.0.0.tar.gz | | | `string` | Version of this package. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets a python package. | | | `SELECT` | | Lists python packages. | -| | `EXEC` | | Lists python packages. | + +## `SELECT` examples + +Lists python packages. + +```sql +SELECT +name, +createTime, +packageName, +updateTime, +uri, +version +FROM google.artifactregistry.python_packages +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND repositoriesId = '{{ repositoriesId }}'; +``` diff --git a/docs/google-docs/providers/google/artifactregistry/repositories/index.md b/docs/google-docs/providers/google/artifactregistry/repositories/index.md index 7e0ed58518..fca41f94b1 100644 --- a/docs/google-docs/providers/google/artifactregistry/repositories/index.md +++ b/docs/google-docs/providers/google/artifactregistry/repositories/index.md @@ -1,3 +1,4 @@ + --- title: repositories hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - repositories - artifactregistry - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an repository resource or lists repositories in a region ## Overview
@@ -48,6 +50,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The size, in bytes, of all artifact storage in this repository. Repositories that are generally available or in public preview use this to calculate storage costs. | | | `string` | Output only. The time when the repository was last updated. | | | `object` | Virtual repository configuration. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -56,4 +59,182 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a repository. The returned Operation will finish once the repository has been created. Its response will be the created Repository. | | | `DELETE` | | Deletes a repository and all of its contents. The returned Operation will finish once the repository has been deleted. It will not have any Operation metadata and will return a google.protobuf.Empty response. | | | `UPDATE` | | Updates a repository. | -| | `EXEC` | | Lists repositories. | + +## `SELECT` examples + +Lists repositories. + +```sql +SELECT +name, +description, +cleanupPolicies, +cleanupPolicyDryRun, +createTime, +disallowUnspecifiedMode, +dockerConfig, +format, +kmsKeyName, +labels, +mavenConfig, +mode, +remoteRepositoryConfig, +satisfiesPzi, +satisfiesPzs, +sizeBytes, +updateTime, +virtualRepositoryConfig +FROM google.artifactregistry.repositories +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new repositories resource. + + + + +```sql +/*+ create */ +INSERT INTO google.artifactregistry.repositories ( +locationsId, +projectsId, +mavenConfig, +dockerConfig, +virtualRepositoryConfig, +remoteRepositoryConfig, +name, +format, +description, +labels, +createTime, +updateTime, +kmsKeyName, +mode, +cleanupPolicies, +sizeBytes, +satisfiesPzs, +cleanupPolicyDryRun, +disallowUnspecifiedMode, +satisfiesPzi +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ mavenConfig }}', +'{{ dockerConfig }}', +'{{ virtualRepositoryConfig }}', +'{{ remoteRepositoryConfig }}', +'{{ name }}', +'{{ format }}', +'{{ description }}', +'{{ labels }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ kmsKeyName }}', +'{{ mode }}', +'{{ cleanupPolicies }}', +'{{ sizeBytes }}', +true|false, +true|false, +true|false, +true|false +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: mavenConfig + value: '{{ mavenConfig }}' + - name: dockerConfig + value: '{{ dockerConfig }}' + - name: virtualRepositoryConfig + value: '{{ virtualRepositoryConfig }}' + - name: remoteRepositoryConfig + value: '{{ remoteRepositoryConfig }}' + - name: name + value: '{{ name }}' + - name: format + value: '{{ format }}' + - name: description + value: '{{ description }}' + - name: labels + value: '{{ labels }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: kmsKeyName + value: '{{ kmsKeyName }}' + - name: mode + value: '{{ mode }}' + - name: cleanupPolicies + value: '{{ cleanupPolicies }}' + - name: sizeBytes + value: '{{ sizeBytes }}' + - name: satisfiesPzs + value: '{{ satisfiesPzs }}' + - name: cleanupPolicyDryRun + value: '{{ cleanupPolicyDryRun }}' + - name: disallowUnspecifiedMode + value: '{{ disallowUnspecifiedMode }}' + - name: satisfiesPzi + value: '{{ satisfiesPzi }}' + +``` + + + +## `UPDATE` example + +Updates a repository only if the necessary resources are available. + +```sql +UPDATE google.artifactregistry.repositories +SET +mavenConfig = '{{ mavenConfig }}', +dockerConfig = '{{ dockerConfig }}', +virtualRepositoryConfig = '{{ virtualRepositoryConfig }}', +remoteRepositoryConfig = '{{ remoteRepositoryConfig }}', +name = '{{ name }}', +format = '{{ format }}', +description = '{{ description }}', +labels = '{{ labels }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +kmsKeyName = '{{ kmsKeyName }}', +mode = '{{ mode }}', +cleanupPolicies = '{{ cleanupPolicies }}', +sizeBytes = '{{ sizeBytes }}', +satisfiesPzs = true|false, +cleanupPolicyDryRun = true|false, +disallowUnspecifiedMode = true|false, +satisfiesPzi = true|false +WHERE +locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND repositoriesId = '{{ repositoriesId }}'; +``` + +## `DELETE` example + +Deletes the specified repository resource. + +```sql +DELETE FROM google.artifactregistry.repositories +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND repositoriesId = '{{ repositoriesId }}'; +``` diff --git a/docs/google-docs/providers/google/artifactregistry/repositories_iam_policies/index.md b/docs/google-docs/providers/google/artifactregistry/repositories_iam_policies/index.md index 35a3342a4f..8e069688f9 100644 --- a/docs/google-docs/providers/google/artifactregistry/repositories_iam_policies/index.md +++ b/docs/google-docs/providers/google/artifactregistry/repositories_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: repositories_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - repositories_iam_policies - artifactregistry - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an repositories_iam_policy resource or lists repositories_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the IAM policy for a given resource. | -| | `EXEC` | | Gets the IAM policy for a given resource. | | | `EXEC` | | Updates the IAM policy for a given resource. | | | `EXEC` | | Tests if the caller has a list of permissions on a resource. | + +## `SELECT` examples + +Gets the IAM policy for a given resource. + +```sql +SELECT +condition, +members, +role +FROM google.artifactregistry.repositories_iam_policies +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND repositoriesId = '{{ repositoriesId }}'; +``` diff --git a/docs/google-docs/providers/google/artifactregistry/tags/index.md b/docs/google-docs/providers/google/artifactregistry/tags/index.md index 0457f60e99..8f2c66a24d 100644 --- a/docs/google-docs/providers/google/artifactregistry/tags/index.md +++ b/docs/google-docs/providers/google/artifactregistry/tags/index.md @@ -1,3 +1,4 @@ + --- title: tags hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - tags - artifactregistry - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an tag resource or lists tags in a region ## Overview
@@ -32,6 +34,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | The name of the tag, for example: "projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/tags/tag1". If the package part contains slashes, the slashes are escaped. The tag part can only have characters in [a-zA-Z0-9\-._~:@], anything else must be URL encoded. | | | `string` | The name of the version the tag refers to, for example: "projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/sha256:5243811" If the package or version ID parts contain slashes, the slashes are escaped. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -40,4 +43,96 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a tag. | | | `DELETE` | | Deletes a tag. | | | `UPDATE` | | Updates a tag. | -| | `EXEC` | | Lists tags. | + +## `SELECT` examples + +Lists tags. + +```sql +SELECT +name, +version +FROM google.artifactregistry.tags +WHERE locationsId = '{{ locationsId }}' +AND packagesId = '{{ packagesId }}' +AND projectsId = '{{ projectsId }}' +AND repositoriesId = '{{ repositoriesId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new tags resource. + + + + +```sql +/*+ create */ +INSERT INTO google.artifactregistry.tags ( +locationsId, +packagesId, +projectsId, +repositoriesId, +name, +version +) +SELECT +'{{ locationsId }}', +'{{ packagesId }}', +'{{ projectsId }}', +'{{ repositoriesId }}', +'{{ name }}', +'{{ version }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: version + value: '{{ version }}' + +``` + + + +## `UPDATE` example + +Updates a tag only if the necessary resources are available. + +```sql +UPDATE google.artifactregistry.tags +SET +name = '{{ name }}', +version = '{{ version }}' +WHERE +locationsId = '{{ locationsId }}' +AND packagesId = '{{ packagesId }}' +AND projectsId = '{{ projectsId }}' +AND repositoriesId = '{{ repositoriesId }}' +AND tagsId = '{{ tagsId }}'; +``` + +## `DELETE` example + +Deletes the specified tag resource. + +```sql +DELETE FROM google.artifactregistry.tags +WHERE locationsId = '{{ locationsId }}' +AND packagesId = '{{ packagesId }}' +AND projectsId = '{{ projectsId }}' +AND repositoriesId = '{{ repositoriesId }}' +AND tagsId = '{{ tagsId }}'; +``` diff --git a/docs/google-docs/providers/google/artifactregistry/versions/index.md b/docs/google-docs/providers/google/artifactregistry/versions/index.md index 3931a791dc..6cae84e694 100644 --- a/docs/google-docs/providers/google/artifactregistry/versions/index.md +++ b/docs/google-docs/providers/google/artifactregistry/versions/index.md @@ -1,3 +1,4 @@ + --- title: versions hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - versions - artifactregistry - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an version resource or lists versions in a region ## Overview
@@ -36,11 +38,42 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Output only. Repository-specific Metadata stored against this version. The fields returned are defined by the underlying repository-specific resource. Currently, the resources could be: DockerImage MavenArtifact | | | `array` | Output only. A list of related tags. Will contain up to 100 tags that reference this version. | | | `string` | The time when the version was last updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets a version | | | `SELECT` | | Lists versions. | +| | `DELETE` | | Deletes multiple versions across a repository. The returned operation will complete once the versions have been deleted. | | | `DELETE` | | Deletes a version and all of its content. The returned operation will complete once the version has been deleted. | -| | `EXEC` | | Lists versions. | -| | `EXEC` | | Deletes multiple versions across a repository. The returned operation will complete once the versions have been deleted. | + +## `SELECT` examples + +Lists versions. + +```sql +SELECT +name, +description, +createTime, +metadata, +relatedTags, +updateTime +FROM google.artifactregistry.versions +WHERE locationsId = '{{ locationsId }}' +AND packagesId = '{{ packagesId }}' +AND projectsId = '{{ projectsId }}' +AND repositoriesId = '{{ repositoriesId }}'; +``` + +## `DELETE` example + +Deletes the specified version resource. + +```sql +DELETE FROM google.artifactregistry.versions +WHERE locationsId = '{{ locationsId }}' +AND packagesId = '{{ packagesId }}' +AND projectsId = '{{ projectsId }}' +AND repositoriesId = '{{ repositoriesId }}'; +``` diff --git a/docs/google-docs/providers/google/artifactregistry/vpcsc_config/index.md b/docs/google-docs/providers/google/artifactregistry/vpcsc_config/index.md index f11ab9ec65..1f1c9b263d 100644 --- a/docs/google-docs/providers/google/artifactregistry/vpcsc_config/index.md +++ b/docs/google-docs/providers/google/artifactregistry/vpcsc_config/index.md @@ -1,3 +1,4 @@ + --- title: vpcsc_config hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - vpcsc_config - artifactregistry - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an vpcsc_config resource or lists vpcsc_config in a region ## Overview
@@ -30,10 +32,38 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The name of the project's VPC SC Config. Always of the form: projects/{projectID}/locations/{location}/vpcscConfig In update request: never set In response: always set | +| | `string` | The name of the project's VPC SC Config. Always of the form: projects/{projectID}/locations/{location}/vpcscConfig In update request: never set In response: always set | | | `string` | The project per location VPC SC policy that defines the VPC SC behavior for the Remote Repository (Allow/Deny). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Retrieves the VPCSC Config for the Project. | -| | `EXEC` | | Updates the VPCSC Config for the Project. | +| | `UPDATE` | | Updates the VPCSC Config for the Project. | + +## `SELECT` examples + +Retrieves the VPCSC Config for the Project. + +```sql +SELECT +name, +vpcscPolicy +FROM google.artifactregistry.vpcsc_config +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `UPDATE` example + +Updates a vpcsc_config only if the necessary resources are available. + +```sql +UPDATE google.artifactregistry.vpcsc_config +SET +name = '{{ name }}', +vpcscPolicy = '{{ vpcscPolicy }}' +WHERE +locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/artifactregistry/yum_artifacts/index.md b/docs/google-docs/providers/google/artifactregistry/yum_artifacts/index.md index c26348c624..ab5c675482 100644 --- a/docs/google-docs/providers/google/artifactregistry/yum_artifacts/index.md +++ b/docs/google-docs/providers/google/artifactregistry/yum_artifacts/index.md @@ -1,3 +1,4 @@ + --- title: yum_artifacts hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - yum_artifacts - artifactregistry - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an yum_artifact resource or lists yum_artifacts in a region ## Overview
@@ -28,7 +30,9 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| diff --git a/docs/google-docs/providers/google/assuredworkloads/index.md b/docs/google-docs/providers/google/assuredworkloads/index.md index 821581e555..b5bff74340 100644 --- a/docs/google-docs/providers/google/assuredworkloads/index.md +++ b/docs/google-docs/providers/google/assuredworkloads/index.md @@ -9,41 +9,30 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- - - +The assuredworkloads service documentation. + :::info Service Summary
total resources: 3
-total selectable resources: 3
-total methods: 17
::: -## Overview - - - - - - -
Namegoogle.assuredworkloads
TypeService
TitleAssured Workloads API
Description
Idassuredworkloads:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/assuredworkloads/operations/index.md b/docs/google-docs/providers/google/assuredworkloads/operations/index.md index e481e84da3..8166e3d397 100644 --- a/docs/google-docs/providers/google/assuredworkloads/operations/index.md +++ b/docs/google-docs/providers/google/assuredworkloads/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - assuredworkloads - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview @@ -30,14 +32,30 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.assuredworkloads.operations +WHERE locationsId = '{{ locationsId }}' +AND organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/assuredworkloads/violations/index.md b/docs/google-docs/providers/google/assuredworkloads/violations/index.md index 6fc4c09791..861f322743 100644 --- a/docs/google-docs/providers/google/assuredworkloads/violations/index.md +++ b/docs/google-docs/providers/google/assuredworkloads/violations/index.md @@ -1,3 +1,4 @@ + --- title: violations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - violations - assuredworkloads - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an violation resource or lists violations in a region ## Overview
@@ -30,17 +32,17 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. Immutable. Name of the Violation. Format: organizations/{organization}/locations/{location}/workloads/{workload_id}/violations/{violations_id} | +| | `string` | Output only. Immutable. Name of the Violation. Format: organizations/{organization}/locations/{location}/workloads/{workload_id}/violations/{violations_id} | | | `string` | Output only. Description for the Violation. e.g. OrgPolicy gcp.resourceLocations has non compliant value. | | | `boolean` | A boolean that indicates if the violation is acknowledged | | | `string` | Optional. Timestamp when this violation was acknowledged first. Check exception_contexts to find the last time the violation was acknowledged when there are more than one violations. This field will be absent when acknowledged field is marked as false. | | | `string` | Optional. Output only. Violation Id of the org-policy violation due to which the resource violation is caused. Empty for org-policy violations. | -| | `string` | Output only. Immutable. Audit Log Link for violated resource Format: https://console.cloud.google.com/logs/query;query={logName}{protoPayload.resourceName}{timeRange}{folder} | +| | `string` | Output only. Immutable. Audit Log Link for violated resource Format: https://console.cloud.google.com/logs/query;query={logName}{protoPayload.resourceName}{timeRange}{folder} | | | `string` | Output only. Time of the event which triggered the Violation. | | | `string` | Output only. Category under which this violation is mapped. e.g. Location, Service Usage, Access, Encryption, etc. | -| | `string` | Output only. Immutable. Audit Log link to find business justification provided for violation exception. Format: https://console.cloud.google.com/logs/query;query={logName}{protoPayload.resourceName}{protoPayload.methodName}{timeRange}{organization} | +| | `string` | Output only. Immutable. Audit Log link to find business justification provided for violation exception. Format: https://console.cloud.google.com/logs/query;query={logName}{protoPayload.resourceName}{protoPayload.methodName}{timeRange}{organization} | | | `array` | Output only. List of all the exception detail added for the violation. | -| | `string` | Output only. Immutable. Name of the OrgPolicy which was modified with non-compliant change and resulted this violation. Format: projects/{project_number}/policies/{constraint_name} folders/{folder_id}/policies/{constraint_name} organizations/{organization_id}/policies/{constraint_name} | +| | `string` | Output only. Immutable. Name of the OrgPolicy which was modified with non-compliant change and resulted this violation. Format: projects/{project_number}/policies/{constraint_name} folders/{folder_id}/policies/{constraint_name} organizations/{organization_id}/policies/{constraint_name} | | | `string` | Output only. Immutable. The org-policy-constraint that was incorrectly changed, which resulted in this violation. | | | `string` | Optional. Output only. Parent project number where resource is present. Empty for org-policy violations. | | | `object` | Represents remediation guidance to resolve compliance violation for AssuredWorkload | @@ -50,10 +52,42 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. State of the violation | | | `string` | Output only. The last time when the Violation record was updated. | | | `string` | Output only. Type of the violation | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Retrieves Assured Workload Violation based on ID. | -| | `SELECT` | | Lists the Violations in the AssuredWorkload Environment. Callers may also choose to read across multiple Workloads as per [AIP-159](https://google.aip.dev/159) by using '-' (the hyphen or dash character) as a wildcard character instead of workload-id in the parent. Format `organizations/{org_id}/locations/{location}/workloads/-` | -| | `EXEC` | | Lists the Violations in the AssuredWorkload Environment. Callers may also choose to read across multiple Workloads as per [AIP-159](https://google.aip.dev/159) by using '-' (the hyphen or dash character) as a wildcard character instead of workload-id in the parent. Format `organizations/{org_id}/locations/{location}/workloads/-` | +| | `SELECT` | | Lists the Violations in the AssuredWorkload Environment. Callers may also choose to read across multiple Workloads as per [AIP-159](https://google.aip.dev/159) by using '-' (the hyphen or dash character) as a wildcard character instead of workload-id in the parent. Format `organizations/{org_id}/locations/{location}/workloads/-` | | | `EXEC` | | Acknowledges an existing violation. By acknowledging a violation, users acknowledge the existence of a compliance violation in their workload and decide to ignore it due to a valid business justification. Acknowledgement is a permanent operation and it cannot be reverted. | + +## `SELECT` examples + +Lists the Violations in the AssuredWorkload Environment. Callers may also choose to read across multiple Workloads as per [AIP-159](https://google.aip.dev/159) by using '-' (the hyphen or dash character) as a wildcard character instead of workload-id in the parent. Format `organizations/{org_id}/locations/{location}/workloads/-` + +```sql +SELECT +name, +description, +acknowledged, +acknowledgementTime, +associatedOrgPolicyViolationId, +auditLogLink, +beginTime, +category, +exceptionAuditLogLink, +exceptionContexts, +nonCompliantOrgPolicy, +orgPolicyConstraint, +parentProjectNumber, +remediation, +resolveTime, +resourceName, +resourceType, +state, +updateTime, +violationType +FROM google.assuredworkloads.violations +WHERE locationsId = '{{ locationsId }}' +AND organizationsId = '{{ organizationsId }}' +AND workloadsId = '{{ workloadsId }}'; +``` diff --git a/docs/google-docs/providers/google/assuredworkloads/workloads/index.md b/docs/google-docs/providers/google/assuredworkloads/workloads/index.md index 28a90d6236..3aec9aa7f0 100644 --- a/docs/google-docs/providers/google/assuredworkloads/workloads/index.md +++ b/docs/google-docs/providers/google/assuredworkloads/workloads/index.md @@ -1,3 +1,4 @@ + --- title: workloads hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - workloads - assuredworkloads - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an workload resource or lists workloads in a region ## Overview
@@ -30,8 +32,8 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Optional. The resource name of the workload. Format: organizations/{organization}/locations/{location}/workloads/{workload} Read-only. | -| | `string` | Optional. The billing account used for the resources which are direct children of workload. This billing account is initially associated with the resources created as part of Workload creation. After the initial creation of these resources, the customer can change the assigned billing account. The resource name has the form `billingAccounts/{billing_account_id}`. For example, `billingAccounts/012345-567890-ABCDEF`. | +| | `string` | Optional. The resource name of the workload. Format: organizations/{organization}/locations/{location}/workloads/{workload} Read-only. | +| | `string` | Optional. The billing account used for the resources which are direct children of workload. This billing account is initially associated with the resources created as part of Workload creation. After the initial creation of these resources, the customer can change the assigned billing account. The resource name has the form `billingAccounts/{billing_account_id}`. For example, `billingAccounts/012345-567890-ABCDEF`. | | | `string` | Required. Immutable. Compliance Regime associated with this workload. | | | `object` | Represents the Compliance Status of this workload | | | `array` | Output only. Urls for services which are compliant for this Assured Workload, but which are currently disallowed by the ResourceUsageRestriction org policy. Invoke RestrictAllowedResources endpoint to allow your project developers to use these services in their environment. | @@ -45,12 +47,14 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Optional. Labels applied to the workload. | | | `string` | Optional. Partner regime associated with this workload. | | | `object` | Permissions granted to the AW Partner SA account for the customer workload | -| | `string` | Input only. The parent resource for the resources managed by this Assured Workload. May be either empty or a folder resource which is a child of the Workload parent. If not specified all resources are created under the parent organization. Format: folders/{folder_id} | +| | `string` | Optional. Billing account necessary for purchasing services from Sovereign Partners. This field is required for creating SIA/PSN/CNTXT partner workloads. The caller should have 'billing.resourceAssociations.create' IAM permission on this billing-account. The format of this string is billingAccounts/AAAAAA-BBBBBB-CCCCCC | +| | `string` | Input only. The parent resource for the resources managed by this Assured Workload. May be either empty or a folder resource which is a child of the Workload parent. If not specified all resources are created under the parent organization. Format: folders/{folder_id} | | | `boolean` | Output only. Indicates whether resource monitoring is enabled for workload or not. It is true when Resource feed is subscribed to AWM topic and AWM Service Agent Role is binded to AW Service Account for resource Assured workload. | | | `array` | Input only. Resource properties that are used to customize workload resources. These properties (such as custom project id) will be used to create workload resources if possible. This field is optional. | | | `array` | Output only. The resources associated with this workload. These resources will be created when creating the workload. If any of the projects already exist, the workload creation will fail. Always read only. | | | `object` | Signed Access Approvals (SAA) enrollment response. | | | `boolean` | Optional. Indicates whether the e-mail notification for a violation is enabled for a workload. This value will be by default True, and if not present will be considered as true. This should only be updated via updateWorkload call. Any Changes to this field during the createWorkload call will not be honored. This will always be true while creating the workload. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -59,8 +63,210 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates Assured Workload. | | | `DELETE` | | Deletes the workload. Make sure that workload's direct children are already in a deleted state, otherwise the request will fail with a FAILED_PRECONDITION error. In addition to assuredworkloads.workload.delete permission, the user should also have orgpolicy.policy.set permission on the deleted folder to remove Assured Workloads OrgPolicies. | | | `UPDATE` | | Updates an existing workload. Currently allows updating of workload display_name and labels. For force updates don't set etag field in the Workload. Only one update operation per workload can be in progress. | -| | `EXEC` | | Lists Assured Workloads under a CRM Node. | | | `EXEC` | | Analyzes a hypothetical move of a source resource to a target workload to surface compliance risks. The analysis is best effort and is not guaranteed to be exhaustive. | | | `EXEC` | | Enable resource violation monitoring for a workload. | | | `EXEC` | | Update the permissions settings for an existing partner workload. For force updates don't set etag field in the Workload. Only one update operation per workload can be in progress. | | | `EXEC` | | Restrict the list of resources allowed in the Workload environment. The current list of allowed products can be found at https://cloud.google.com/assured-workloads/docs/supported-products In addition to assuredworkloads.workload.update permission, the user should also have orgpolicy.policy.set permission on the folder resource to use this functionality. | + +## `SELECT` examples + +Lists Assured Workloads under a CRM Node. + +```sql +SELECT +name, +billingAccount, +complianceRegime, +complianceStatus, +compliantButDisallowedServices, +createTime, +displayName, +ekmProvisioningResponse, +enableSovereignControls, +etag, +kajEnrollmentState, +kmsSettings, +labels, +partner, +partnerPermissions, +partnerServicesBillingAccount, +provisionedResourcesParent, +resourceMonitoringEnabled, +resourceSettings, +resources, +saaEnrollmentResponse, +violationNotificationsEnabled +FROM google.assuredworkloads.workloads +WHERE locationsId = '{{ locationsId }}' +AND organizationsId = '{{ organizationsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new workloads resource. + + + + +```sql +/*+ create */ +INSERT INTO google.assuredworkloads.workloads ( +locationsId, +organizationsId, +saaEnrollmentResponse, +resourceSettings, +partner, +createTime, +resources, +displayName, +kmsSettings, +partnerServicesBillingAccount, +complianceStatus, +resourceMonitoringEnabled, +kajEnrollmentState, +violationNotificationsEnabled, +enableSovereignControls, +billingAccount, +etag, +complianceRegime, +partnerPermissions, +compliantButDisallowedServices, +provisionedResourcesParent, +labels, +ekmProvisioningResponse, +name +) +SELECT +'{{ locationsId }}', +'{{ organizationsId }}', +'{{ saaEnrollmentResponse }}', +'{{ resourceSettings }}', +'{{ partner }}', +'{{ createTime }}', +'{{ resources }}', +'{{ displayName }}', +'{{ kmsSettings }}', +'{{ partnerServicesBillingAccount }}', +'{{ complianceStatus }}', +true|false, +'{{ kajEnrollmentState }}', +true|false, +true|false, +'{{ billingAccount }}', +'{{ etag }}', +'{{ complianceRegime }}', +'{{ partnerPermissions }}', +'{{ compliantButDisallowedServices }}', +'{{ provisionedResourcesParent }}', +'{{ labels }}', +'{{ ekmProvisioningResponse }}', +'{{ name }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: saaEnrollmentResponse + value: '{{ saaEnrollmentResponse }}' + - name: resourceSettings + value: '{{ resourceSettings }}' + - name: partner + value: '{{ partner }}' + - name: createTime + value: '{{ createTime }}' + - name: resources + value: '{{ resources }}' + - name: displayName + value: '{{ displayName }}' + - name: kmsSettings + value: '{{ kmsSettings }}' + - name: partnerServicesBillingAccount + value: '{{ partnerServicesBillingAccount }}' + - name: complianceStatus + value: '{{ complianceStatus }}' + - name: resourceMonitoringEnabled + value: '{{ resourceMonitoringEnabled }}' + - name: kajEnrollmentState + value: '{{ kajEnrollmentState }}' + - name: violationNotificationsEnabled + value: '{{ violationNotificationsEnabled }}' + - name: enableSovereignControls + value: '{{ enableSovereignControls }}' + - name: billingAccount + value: '{{ billingAccount }}' + - name: etag + value: '{{ etag }}' + - name: complianceRegime + value: '{{ complianceRegime }}' + - name: partnerPermissions + value: '{{ partnerPermissions }}' + - name: compliantButDisallowedServices + value: '{{ compliantButDisallowedServices }}' + - name: provisionedResourcesParent + value: '{{ provisionedResourcesParent }}' + - name: labels + value: '{{ labels }}' + - name: ekmProvisioningResponse + value: '{{ ekmProvisioningResponse }}' + - name: name + value: '{{ name }}' + +``` + + + +## `UPDATE` example + +Updates a workload only if the necessary resources are available. + +```sql +UPDATE google.assuredworkloads.workloads +SET +saaEnrollmentResponse = '{{ saaEnrollmentResponse }}', +resourceSettings = '{{ resourceSettings }}', +partner = '{{ partner }}', +createTime = '{{ createTime }}', +resources = '{{ resources }}', +displayName = '{{ displayName }}', +kmsSettings = '{{ kmsSettings }}', +partnerServicesBillingAccount = '{{ partnerServicesBillingAccount }}', +complianceStatus = '{{ complianceStatus }}', +resourceMonitoringEnabled = true|false, +kajEnrollmentState = '{{ kajEnrollmentState }}', +violationNotificationsEnabled = true|false, +enableSovereignControls = true|false, +billingAccount = '{{ billingAccount }}', +etag = '{{ etag }}', +complianceRegime = '{{ complianceRegime }}', +partnerPermissions = '{{ partnerPermissions }}', +compliantButDisallowedServices = '{{ compliantButDisallowedServices }}', +provisionedResourcesParent = '{{ provisionedResourcesParent }}', +labels = '{{ labels }}', +ekmProvisioningResponse = '{{ ekmProvisioningResponse }}', +name = '{{ name }}' +WHERE +locationsId = '{{ locationsId }}' +AND organizationsId = '{{ organizationsId }}' +AND workloadsId = '{{ workloadsId }}'; +``` + +## `DELETE` example + +Deletes the specified workload resource. + +```sql +DELETE FROM google.assuredworkloads.workloads +WHERE locationsId = '{{ locationsId }}' +AND organizationsId = '{{ organizationsId }}' +AND workloadsId = '{{ workloadsId }}'; +``` diff --git a/docs/google-docs/providers/google/backupdr/backup_plan_associations/index.md b/docs/google-docs/providers/google/backupdr/backup_plan_associations/index.md new file mode 100644 index 0000000000..f768e218c8 --- /dev/null +++ b/docs/google-docs/providers/google/backupdr/backup_plan_associations/index.md @@ -0,0 +1,155 @@ + +--- +title: backup_plan_associations +hide_title: false +hide_table_of_contents: false +keywords: + - backup_plan_associations + - backupdr + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an backup_plan_association resource or lists backup_plan_associations in a region + +## Overview +
+ + + +
Namebackup_plan_associations
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | Output only. Identifier. The resource name of BackupPlanAssociation in below format Format : projects/{project}/locations/{location}/backupPlanAssociations/{backupPlanAssociationId} | +| | `string` | Required. Resource name of backup plan which needs to be applied on workload. Format: projects/{project}/locations/{location}/backupPlans/{backupPlanId} | +| | `string` | Output only. The time when the instance was created. | +| | `string` | Output only. Output Only. Resource name of data source which will be used as storage location for backups taken. Format : projects/{project}/locations/{location}/backupVaults/{backupvault}/dataSources/{datasource} | +| | `string` | Required. Immutable. Resource name of workload on which backupplan is applied | +| | `string` | Output only. Output Only. Resource type of workload on which backupplan is applied | +| | `array` | Output only. The config info related to backup rules. | +| | `string` | Output only. The BackupPlanAssociation resource state. | +| | `string` | Output only. The time when the instance was updated. | + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets details of a single BackupPlanAssociation. | +| | `SELECT` | | Lists BackupPlanAssociations in a given project and location. | +| | `INSERT` | | Create a BackupPlanAssociation | +| | `DELETE` | | Deletes a single BackupPlanAssociation. | +| | `EXEC` | | Triggers a new Backup. | + +## `SELECT` examples + +Lists BackupPlanAssociations in a given project and location. + +```sql +SELECT +name, +backupPlan, +createTime, +dataSource, +resource, +resourceType, +rulesConfigInfo, +state, +updateTime +FROM google.backupdr.backup_plan_associations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new backup_plan_associations resource. + + + + +```sql +/*+ create */ +INSERT INTO google.backupdr.backup_plan_associations ( +locationsId, +projectsId, +name, +resourceType, +resource, +backupPlan, +createTime, +updateTime, +state, +rulesConfigInfo, +dataSource +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ resourceType }}', +'{{ resource }}', +'{{ backupPlan }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ state }}', +'{{ rulesConfigInfo }}', +'{{ dataSource }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: resourceType + value: '{{ resourceType }}' + - name: resource + value: '{{ resource }}' + - name: backupPlan + value: '{{ backupPlan }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: state + value: '{{ state }}' + - name: rulesConfigInfo + value: '{{ rulesConfigInfo }}' + - name: dataSource + value: '{{ dataSource }}' + +``` + + + +## `DELETE` example + +Deletes the specified backup_plan_association resource. + +```sql +DELETE FROM google.backupdr.backup_plan_associations +WHERE backupPlanAssociationsId = '{{ backupPlanAssociationsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/backupdr/backup_plans/index.md b/docs/google-docs/providers/google/backupdr/backup_plans/index.md new file mode 100644 index 0000000000..2f50282010 --- /dev/null +++ b/docs/google-docs/providers/google/backupdr/backup_plans/index.md @@ -0,0 +1,166 @@ + +--- +title: backup_plans +hide_title: false +hide_table_of_contents: false +keywords: + - backup_plans + - backupdr + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an backup_plan resource or lists backup_plans in a region + +## Overview + + + + +
Namebackup_plans
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | Output only. Identifier. The resource name of the `BackupPlan`. Format: `projects/{project}/locations/{location}/backupPlans/{backup_plan}` | +| | `string` | Optional. The description of the `BackupPlan` resource. The description allows for additional details about `BackupPlan` and its use cases to be provided. An example description is the following: "This is a backup plan that performs a daily backup at 6pm and retains data for 3 months". The description must be at most 2048 characters. | +| | `array` | Required. The backup rules for this `BackupPlan`. There must be at least one `BackupRule` message. | +| | `string` | Required. Resource name of backup vault which will be used as storage location for backups. Format: projects/{project}/locations/{location}/backupVaults/{backupvault} | +| | `string` | Output only. The Google Cloud Platform Service Account to be used by the BackupVault for taking backups. Specify the email address of the Backup Vault Service Account. | +| | `string` | Output only. When the `BackupPlan` was created. | +| | `string` | Optional. `etag` is returned from the service in the response. As a user of the service, you may provide an etag value in this field to prevent stale resources. | +| | `object` | Optional. This collection of key/value pairs allows for custom labels to be supplied by the user. Example, {"tag": "Weekly"}. | +| | `string` | Required. The resource type to which the `BackupPlan` will be applied. Examples include, "compute.googleapis.com/Instance" and "storage.googleapis.com/Bucket". | +| | `string` | Output only. The `State` for the `BackupPlan`. | +| | `string` | Output only. When the `BackupPlan` was last updated. | + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets details of a single BackupPlan. | +| | `SELECT` | | Lists BackupPlans in a given project and location. | +| | `INSERT` | | Create a BackupPlan | +| | `DELETE` | | Deletes a single BackupPlan. | + +## `SELECT` examples + +Lists BackupPlans in a given project and location. + +```sql +SELECT +name, +description, +backupRules, +backupVault, +backupVaultServiceAccount, +createTime, +etag, +labels, +resourceType, +state, +updateTime +FROM google.backupdr.backup_plans +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new backup_plans resource. + + + + +```sql +/*+ create */ +INSERT INTO google.backupdr.backup_plans ( +locationsId, +projectsId, +name, +description, +labels, +createTime, +updateTime, +backupRules, +state, +resourceType, +etag, +backupVault, +backupVaultServiceAccount +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ description }}', +'{{ labels }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ backupRules }}', +'{{ state }}', +'{{ resourceType }}', +'{{ etag }}', +'{{ backupVault }}', +'{{ backupVaultServiceAccount }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: labels + value: '{{ labels }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: backupRules + value: '{{ backupRules }}' + - name: state + value: '{{ state }}' + - name: resourceType + value: '{{ resourceType }}' + - name: etag + value: '{{ etag }}' + - name: backupVault + value: '{{ backupVault }}' + - name: backupVaultServiceAccount + value: '{{ backupVaultServiceAccount }}' + +``` + + + +## `DELETE` example + +Deletes the specified backup_plan resource. + +```sql +DELETE FROM google.backupdr.backup_plans +WHERE backupPlansId = '{{ backupPlansId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/backupdr/backup_vaults/index.md b/docs/google-docs/providers/google/backupdr/backup_vaults/index.md new file mode 100644 index 0000000000..d1b7210ffb --- /dev/null +++ b/docs/google-docs/providers/google/backupdr/backup_vaults/index.md @@ -0,0 +1,219 @@ + +--- +title: backup_vaults +hide_title: false +hide_table_of_contents: false +keywords: + - backup_vaults + - backupdr + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an backup_vault resource or lists backup_vaults in a region + +## Overview + + + + +
Namebackup_vaults
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | Output only. Identifier. The resource name. | +| | `string` | Optional. The description of the BackupVault instance (2048 characters or less). | +| | `object` | Optional. User annotations. See https://google.aip.dev/128#annotations Stores small amounts of arbitrary data. | +| | `string` | Output only. The number of backups in this backup vault. | +| | `string` | Required. The default and minimum enforced retention for each backup within the backup vault. The enforced retention for each backup can be extended. | +| | `string` | Output only. The time when the instance was created. | +| | `boolean` | Output only. Set to true when there are no backups nested under this resource. | +| | `string` | Optional. Time after which the BackupVault resource is locked. | +| | `string` | Optional. Server specified ETag for the backup vault resource to prevent simultaneous updates from overwiting each other. | +| | `object` | Optional. Resource labels to represent user provided metadata. No labels currently defined: | +| | `string` | Output only. Service account used by the BackupVault Service for this BackupVault. The user should grant this account permissions in their workload project to enable the service to run backups and restores there. | +| | `string` | Output only. The BackupVault resource instance state. | +| | `string` | Output only. Total size of the storage used by all backup resources. | +| | `string` | Output only. Output only Immutable after resource creation until resource deletion. | +| | `string` | Output only. The time when the instance was updated. | + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets details of a BackupVault. | +| | `SELECT` | | Lists BackupVaults in a given project and location. | +| | `INSERT` | | | +| | `DELETE` | | Deletes a BackupVault. | +| | `UPDATE` | | Updates the settings of a BackupVault. | + +## `SELECT` examples + +Lists BackupVaults in a given project and location. + +```sql +SELECT +name, +description, +annotations, +backupCount, +backupMinimumEnforcedRetentionDuration, +createTime, +deletable, +effectiveTime, +etag, +labels, +serviceAccount, +state, +totalStoredBytes, +uid, +updateTime +FROM google.backupdr.backup_vaults +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new backup_vaults resource. + + + + +```sql +/*+ create */ +INSERT INTO google.backupdr.backup_vaults ( +locationsId, +projectsId, +name, +description, +labels, +createTime, +updateTime, +backupMinimumEnforcedRetentionDuration, +deletable, +etag, +state, +effectiveTime, +backupCount, +serviceAccount, +totalStoredBytes, +uid, +annotations +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ description }}', +'{{ labels }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ backupMinimumEnforcedRetentionDuration }}', +true|false, +'{{ etag }}', +'{{ state }}', +'{{ effectiveTime }}', +'{{ backupCount }}', +'{{ serviceAccount }}', +'{{ totalStoredBytes }}', +'{{ uid }}', +'{{ annotations }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: labels + value: '{{ labels }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: backupMinimumEnforcedRetentionDuration + value: '{{ backupMinimumEnforcedRetentionDuration }}' + - name: deletable + value: '{{ deletable }}' + - name: etag + value: '{{ etag }}' + - name: state + value: '{{ state }}' + - name: effectiveTime + value: '{{ effectiveTime }}' + - name: backupCount + value: '{{ backupCount }}' + - name: serviceAccount + value: '{{ serviceAccount }}' + - name: totalStoredBytes + value: '{{ totalStoredBytes }}' + - name: uid + value: '{{ uid }}' + - name: annotations + value: '{{ annotations }}' + +``` + + + +## `UPDATE` example + +Updates a backup_vault only if the necessary resources are available. + +```sql +UPDATE google.backupdr.backup_vaults +SET +name = '{{ name }}', +description = '{{ description }}', +labels = '{{ labels }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +backupMinimumEnforcedRetentionDuration = '{{ backupMinimumEnforcedRetentionDuration }}', +deletable = true|false, +etag = '{{ etag }}', +state = '{{ state }}', +effectiveTime = '{{ effectiveTime }}', +backupCount = '{{ backupCount }}', +serviceAccount = '{{ serviceAccount }}', +totalStoredBytes = '{{ totalStoredBytes }}', +uid = '{{ uid }}', +annotations = '{{ annotations }}' +WHERE +backupVaultsId = '{{ backupVaultsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified backup_vault resource. + +```sql +DELETE FROM google.backupdr.backup_vaults +WHERE backupVaultsId = '{{ backupVaultsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/backupdr/backup_vaults_iam_policies/index.md b/docs/google-docs/providers/google/backupdr/backup_vaults_iam_policies/index.md new file mode 100644 index 0000000000..b4da8c30a1 --- /dev/null +++ b/docs/google-docs/providers/google/backupdr/backup_vaults_iam_policies/index.md @@ -0,0 +1,39 @@ + +--- +title: backup_vaults_iam_policies +hide_title: false +hide_table_of_contents: false +keywords: + - backup_vaults_iam_policies + - backupdr + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an backup_vaults_iam_policy resource or lists backup_vaults_iam_policies in a region + +## Overview + + + + +
Namebackup_vaults_iam_policies
TypeResource
Id
+ +## Fields +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Returns the caller's permissions on a BackupVault resource. A caller is not required to have Google IAM permission to make this request. | diff --git a/docs/google-docs/providers/google/backupdr/backup_vaults_usable/index.md b/docs/google-docs/providers/google/backupdr/backup_vaults_usable/index.md new file mode 100644 index 0000000000..e3f3471b33 --- /dev/null +++ b/docs/google-docs/providers/google/backupdr/backup_vaults_usable/index.md @@ -0,0 +1,56 @@ + +--- +title: backup_vaults_usable +hide_title: false +hide_table_of_contents: false +keywords: + - backup_vaults_usable + - backupdr + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an backup_vaults_usable resource or lists backup_vaults_usable in a region + +## Overview + + + + +
Namebackup_vaults_usable
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `array` | The list of BackupVault instances in the project for the specified location. If the '{location}' value in the request is "-", the response contains a list of instances from all locations. In case any location is unreachable, the response will only return backup vaults in reachable locations and the 'unreachable' field will be populated with a list of unreachable locations. | +| | `string` | A token identifying a page of results the server should return. | +| | `array` | Locations that could not be reached. | + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | FetchUsableBackupVaults lists usable BackupVaults in a given project and location. Usable BackupVault are the ones that user has backupdr.backupVaults.get permission. | + +## `SELECT` examples + +FetchUsableBackupVaults lists usable BackupVaults in a given project and location. Usable BackupVault are the ones that user has backupdr.backupVaults.get permission. + +```sql +SELECT +backupVaults, +nextPageToken, +unreachable +FROM google.backupdr.backup_vaults_usable +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/backupdr/backups/index.md b/docs/google-docs/providers/google/backupdr/backups/index.md new file mode 100644 index 0000000000..88147e662e --- /dev/null +++ b/docs/google-docs/providers/google/backupdr/backups/index.md @@ -0,0 +1,135 @@ + +--- +title: backups +hide_title: false +hide_table_of_contents: false +keywords: + - backups + - backupdr + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an backup resource or lists backups in a region + +## Overview + + + + +
Namebackups
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | Output only. Identifier. Name of the resource. | +| | `string` | Output only. The description of the Backup instance (2048 characters or less). | +| | `object` | BackupApplianceBackupProperties represents BackupDR backup appliance's properties. | +| | `array` | Optional. The list of BackupLocks taken by the accessor Backup Appliance. | +| | `string` | Output only. Type of the backup, unspecified, scheduled or ondemand. | +| | `object` | ComputeInstanceBackupProperties represents Compute Engine instance backup properties. | +| | `string` | Output only. The point in time when this backup was captured from the source. | +| | `string` | Output only. The time when the instance was created. | +| | `string` | Optional. The backup can not be deleted before this time. | +| | `string` | Optional. Server specified ETag to prevent updates from overwriting each other. | +| | `string` | Optional. When this backup is automatically expired. | +| | `object` | GCPBackupPlanInfo captures the plan configuration details of Google Cloud resources at the time of backup. | +| | `object` | Optional. Resource labels to represent user provided metadata. No labels currently defined. | +| | `string` | Output only. source resource size in bytes at the time of the backup. | +| | `array` | Output only. The list of BackupLocks taken by the service to prevent the deletion of the backup. | +| | `string` | Output only. The Backup resource instance state. | +| | `string` | Output only. The time when the instance was updated. | + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets details of a Backup. | +| | `SELECT` | | Lists Backups in a given project and location. | +| | `DELETE` | | Deletes a Backup. | +| | `UPDATE` | | Updates the settings of a Backup. | +| | `EXEC` | | Restore from a Backup | + +## `SELECT` examples + +Lists Backups in a given project and location. + +```sql +SELECT +name, +description, +backupApplianceBackupProperties, +backupApplianceLocks, +backupType, +computeInstanceBackupProperties, +consistencyTime, +createTime, +enforcedRetentionEndTime, +etag, +expireTime, +gcpBackupPlanInfo, +labels, +resourceSizeBytes, +serviceLocks, +state, +updateTime +FROM google.backupdr.backups +WHERE backupVaultsId = '{{ backupVaultsId }}' +AND dataSourcesId = '{{ dataSourcesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `UPDATE` example + +Updates a backup only if the necessary resources are available. + +```sql +UPDATE google.backupdr.backups +SET +name = '{{ name }}', +description = '{{ description }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +labels = '{{ labels }}', +enforcedRetentionEndTime = '{{ enforcedRetentionEndTime }}', +expireTime = '{{ expireTime }}', +consistencyTime = '{{ consistencyTime }}', +etag = '{{ etag }}', +state = '{{ state }}', +serviceLocks = '{{ serviceLocks }}', +backupApplianceLocks = '{{ backupApplianceLocks }}', +computeInstanceBackupProperties = '{{ computeInstanceBackupProperties }}', +backupApplianceBackupProperties = '{{ backupApplianceBackupProperties }}', +backupType = '{{ backupType }}', +gcpBackupPlanInfo = '{{ gcpBackupPlanInfo }}', +resourceSizeBytes = '{{ resourceSizeBytes }}' +WHERE +backupVaultsId = '{{ backupVaultsId }}' +AND backupsId = '{{ backupsId }}' +AND dataSourcesId = '{{ dataSourcesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified backup resource. + +```sql +DELETE FROM google.backupdr.backups +WHERE backupVaultsId = '{{ backupVaultsId }}' +AND backupsId = '{{ backupsId }}' +AND dataSourcesId = '{{ dataSourcesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/backupdr/data_sources/index.md b/docs/google-docs/providers/google/backupdr/data_sources/index.md new file mode 100644 index 0000000000..258f15c0b9 --- /dev/null +++ b/docs/google-docs/providers/google/backupdr/data_sources/index.md @@ -0,0 +1,120 @@ + +--- +title: data_sources +hide_title: false +hide_table_of_contents: false +keywords: + - data_sources + - backupdr + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an data_source resource or lists data_sources in a region + +## Overview + + + + +
Namedata_sources
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | Output only. Identifier. The resource name. | +| | `object` | BackupConfigInfo has information about how the resource is configured for Backup and about the most recent backup to this vault. | +| | `string` | Number of backups in the data source. | +| | `string` | Output only. The backup configuration state. | +| | `string` | Output only. The time when the instance was created. | +| | `object` | BackupApplianceApplication describes a Source Resource when it is an application backed up by a BackupAppliance. | +| | `object` | DataSourceGcpResource is used for protected resources that are Google Cloud Resources. This name is easeier to understand than GcpResourceDataSource or GcpDataSourceResource | +| | `string` | Server specified ETag for the ManagementServer resource to prevent simultaneous updates from overwiting each other. | +| | `object` | Optional. Resource labels to represent user provided metadata. No labels currently defined: | +| | `string` | Output only. The DataSource resource instance state. | +| | `string` | The number of bytes (metadata and data) stored in this datasource. | +| | `string` | Output only. The time when the instance was updated. | + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets details of a DataSource. | +| | `SELECT` | | Lists DataSources in a given project and location. | +| | `DELETE` | | Deletes a DataSource. This is a custom method instead of a standard delete method because external clients will not delete DataSources except for BackupDR backup appliances. | +| | `UPDATE` | | Updates the settings of a DataSource. | +| | `EXEC` | | Internal only. Abandons a backup. | +| | `EXEC` | | Internal only. Finalize a backup that was started by a call to InitiateBackup. | +| | `EXEC` | | Internal only. Initiates a backup. | +| | `EXEC` | | Sets the internal status of a DataSource. | + +## `SELECT` examples + +Lists DataSources in a given project and location. + +```sql +SELECT +name, +backupConfigInfo, +backupCount, +configState, +createTime, +dataSourceBackupApplianceApplication, +dataSourceGcpResource, +etag, +labels, +state, +totalStoredBytes, +updateTime +FROM google.backupdr.data_sources +WHERE backupVaultsId = '{{ backupVaultsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `UPDATE` example + +Updates a data_source only if the necessary resources are available. + +```sql +UPDATE google.backupdr.data_sources +SET +name = '{{ name }}', +state = '{{ state }}', +labels = '{{ labels }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +backupCount = '{{ backupCount }}', +etag = '{{ etag }}', +totalStoredBytes = '{{ totalStoredBytes }}', +configState = '{{ configState }}', +backupConfigInfo = '{{ backupConfigInfo }}', +dataSourceGcpResource = '{{ dataSourceGcpResource }}', +dataSourceBackupApplianceApplication = '{{ dataSourceBackupApplianceApplication }}' +WHERE +backupVaultsId = '{{ backupVaultsId }}' +AND dataSourcesId = '{{ dataSourcesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified data_source resource. + +```sql +DELETE FROM google.backupdr.data_sources +WHERE backupVaultsId = '{{ backupVaultsId }}' +AND dataSourcesId = '{{ dataSourcesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/backupdr/data_sources_access_token/index.md b/docs/google-docs/providers/google/backupdr/data_sources_access_token/index.md new file mode 100644 index 0000000000..55936c1b95 --- /dev/null +++ b/docs/google-docs/providers/google/backupdr/data_sources_access_token/index.md @@ -0,0 +1,60 @@ + +--- +title: data_sources_access_token +hide_title: false +hide_table_of_contents: false +keywords: + - data_sources_access_token + - backupdr + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an data_sources_access_token resource or lists data_sources_access_token in a region + +## Overview + + + + +
Namedata_sources_access_token
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | The token is valid until this time. | +| | `string` | The location in bucket that can be used for reading. | +| | `string` | The downscoped token that was created. | +| | `string` | The location in bucket that can be used for writing. | + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Internal only. Fetch access token for a given data source. | + +## `SELECT` examples + +Internal only. Fetch access token for a given data source. + +```sql +SELECT +expireTime, +readLocation, +token, +writeLocation +FROM google.backupdr.data_sources_access_token +WHERE backupVaultsId = '{{ backupVaultsId }}' +AND dataSourcesId = '{{ dataSourcesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/backupdr/index.md b/docs/google-docs/providers/google/backupdr/index.md index 9fb0f9178f..de36f3ec5e 100644 --- a/docs/google-docs/providers/google/backupdr/index.md +++ b/docs/google-docs/providers/google/backupdr/index.md @@ -9,42 +9,39 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- - - +The backupdr service documentation. + :::info Service Summary
-total resources: 4
-total selectable resources: 4
-total methods: 17
+total resources: 12
::: -## Overview - - - - - - -
Namegoogle.backupdr
TypeService
TitleBackup and DR Service API
Description
Idbackupdr:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/backupdr/locations/index.md b/docs/google-docs/providers/google/backupdr/locations/index.md index bf0d71caa2..29f23fcddb 100644 --- a/docs/google-docs/providers/google/backupdr/locations/index.md +++ b/docs/google-docs/providers/google/backupdr/locations/index.md @@ -1,3 +1,4 @@ + --- title: locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - locations - backupdr - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an location resource or lists locations in a region ## Overview @@ -32,12 +34,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` | | | `string` | The friendly name for this location, typically a nearby city name. For example, "Tokyo". | -| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | +| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | | | `string` | The canonical id for this location. For example: `"us-east1"`. | | | `object` | Service-specific metadata. For example the available capacity at the given location. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about a location. | | | `SELECT` | | Lists information about the supported locations for this service. | -| | `EXEC` | | Lists information about the supported locations for this service. | + +## `SELECT` examples + +Lists information about the supported locations for this service. + +```sql +SELECT +name, +displayName, +labels, +locationId, +metadata +FROM google.backupdr.locations +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/backupdr/management_servers/index.md b/docs/google-docs/providers/google/backupdr/management_servers/index.md index 11f8295fae..3940a5ba1c 100644 --- a/docs/google-docs/providers/google/backupdr/management_servers/index.md +++ b/docs/google-docs/providers/google/backupdr/management_servers/index.md @@ -1,3 +1,4 @@ + --- title: management_servers hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - management_servers - backupdr - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an management_server resource or lists management_servers in a region ## Overview
@@ -38,7 +40,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Optional. Resource labels to represent user provided metadata. Labels currently defined: 1. migrate_from_go= If set to true, the MS is created in migration ready mode. | | | `object` | ManagementURI for the Management Server resource. | | | `array` | Required. VPC networks to which the ManagementServer instance is connected. For this version, only a single network is supported. | -| | `string` | Output only. The OAuth 2.0 client id is required to make API calls to the BackupDR instance API of this ManagementServer. This is the value that should be provided in the ‘aud’ field of the OIDC ID Token (see openid specification https://openid.net/specs/openid-connect-core-1_0.html#IDToken). | +| | `string` | Output only. The OAuth 2.0 client id is required to make API calls to the BackupDR instance API of this ManagementServer. This is the value that should be provided in the 'aud' field of the OIDC ID Token (see openid specification https://openid.net/specs/openid-connect-core-1_0.html#IDToken). | | | `boolean` | Output only. Reserved for future use. | | | `boolean` | Output only. Reserved for future use. | | | `string` | Output only. The ManagementServer state. | @@ -46,6 +48,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The time when the instance was updated. | | | `object` | ManagementURI depending on the Workforce Identity i.e. either 1p or 3p. | | | `object` | OAuth Client ID depending on the Workforce Identity i.e. either 1p or 3p, | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -53,4 +56,141 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists ManagementServers in a given project and location. | | | `INSERT` | | Creates a new ManagementServer in a given project and location. | | | `DELETE` | | Deletes a single ManagementServer. | -| | `EXEC` | | Lists ManagementServers in a given project and location. | + +## `SELECT` examples + +Lists ManagementServers in a given project and location. + +```sql +SELECT +name, +description, +baProxyUri, +createTime, +etag, +labels, +managementUri, +networks, +oauth2ClientId, +satisfiesPzi, +satisfiesPzs, +state, +type, +updateTime, +workforceIdentityBasedManagementUri, +workforceIdentityBasedOauth2ClientId +FROM google.backupdr.management_servers +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new management_servers resource. + + + + +```sql +/*+ create */ +INSERT INTO google.backupdr.management_servers ( +locationsId, +projectsId, +name, +description, +labels, +createTime, +updateTime, +type, +managementUri, +workforceIdentityBasedManagementUri, +state, +networks, +etag, +oauth2ClientId, +workforceIdentityBasedOauth2ClientId, +baProxyUri, +satisfiesPzs, +satisfiesPzi +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ description }}', +'{{ labels }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ type }}', +'{{ managementUri }}', +'{{ workforceIdentityBasedManagementUri }}', +'{{ state }}', +'{{ networks }}', +'{{ etag }}', +'{{ oauth2ClientId }}', +'{{ workforceIdentityBasedOauth2ClientId }}', +'{{ baProxyUri }}', +true|false, +true|false +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: labels + value: '{{ labels }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: type + value: '{{ type }}' + - name: managementUri + value: '{{ managementUri }}' + - name: workforceIdentityBasedManagementUri + value: '{{ workforceIdentityBasedManagementUri }}' + - name: state + value: '{{ state }}' + - name: networks + value: '{{ networks }}' + - name: etag + value: '{{ etag }}' + - name: oauth2ClientId + value: '{{ oauth2ClientId }}' + - name: workforceIdentityBasedOauth2ClientId + value: '{{ workforceIdentityBasedOauth2ClientId }}' + - name: baProxyUri + value: '{{ baProxyUri }}' + - name: satisfiesPzs + value: '{{ satisfiesPzs }}' + - name: satisfiesPzi + value: '{{ satisfiesPzi }}' + +``` + + + +## `DELETE` example + +Deletes the specified management_server resource. + +```sql +DELETE FROM google.backupdr.management_servers +WHERE locationsId = '{{ locationsId }}' +AND managementServersId = '{{ managementServersId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/backupdr/management_servers_iam_policies/index.md b/docs/google-docs/providers/google/backupdr/management_servers_iam_policies/index.md index 614cb343fa..2401327e0f 100644 --- a/docs/google-docs/providers/google/backupdr/management_servers_iam_policies/index.md +++ b/docs/google-docs/providers/google/backupdr/management_servers_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: management_servers_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - management_servers_iam_policies - backupdr - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an management_servers_iam_policy resource or lists management_servers_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.backupdr.management_servers_iam_policies +WHERE locationsId = '{{ locationsId }}' +AND managementServersId = '{{ managementServersId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/backupdr/operations/index.md b/docs/google-docs/providers/google/backupdr/operations/index.md index 74dc26e822..fe810165d1 100644 --- a/docs/google-docs/providers/google/backupdr/operations/index.md +++ b/docs/google-docs/providers/google/backupdr/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - backupdr - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview
@@ -30,16 +32,43 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.backupdr.operations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified operation resource. + +```sql +DELETE FROM google.backupdr.operations +WHERE locationsId = '{{ locationsId }}' +AND operationsId = '{{ operationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/baremetalsolution/index.md b/docs/google-docs/providers/google/baremetalsolution/index.md index 04f066550c..53ab74127b 100644 --- a/docs/google-docs/providers/google/baremetalsolution/index.md +++ b/docs/google-docs/providers/google/baremetalsolution/index.md @@ -9,34 +9,23 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Provides ways to manage Bare Metal Solution hardware installed in a regional extension located near a Google Cloud data center. - +The baremetalsolution service documentation. + :::info Service Summary
total resources: 13
-total selectable resources: 13
-total methods: 62
::: -## Overview -
- - - - - -
Namegoogle.baremetalsolution
TypeService
TitleBare Metal Solution API
DescriptionProvides ways to manage Bare Metal Solution hardware installed in a regional extension located near a Google Cloud data center.
Idbaremetalsolution:v24.06.00236
- ## Resources
@@ -46,7 +35,7 @@ Provides ways to manage Bare Metal Solution hardware installed in a regional ext networks
networks_network_usage
nfs_shares
-operations
+operations
os_images
@@ -54,6 +43,6 @@ Provides ways to manage Bare Metal Solution hardware installed in a regional ext provisioning_quotas
snapshots
ssh_keys
-volumes
-
+volumes
+ \ No newline at end of file diff --git a/docs/google-docs/providers/google/baremetalsolution/instances/index.md b/docs/google-docs/providers/google/baremetalsolution/instances/index.md index 8720640a94..e65b0b86d0 100644 --- a/docs/google-docs/providers/google/baremetalsolution/instances/index.md +++ b/docs/google-docs/providers/google/baremetalsolution/instances/index.md @@ -1,3 +1,4 @@ + --- title: instances hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - instances - baremetalsolution - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an instance resource or lists instances in a region ## Overview @@ -31,12 +33,12 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | Name | Datatype | Description | |:-----|:---------|:------------| | | `string` | Output only. An identifier for the `Instance`, generated by the backend. | -| | `string` | Immutable. The resource name of this `Instance`. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. Format: `projects/{project}/locations/{location}/instances/{instance}` | +| | `string` | Immutable. The resource name of this `Instance`. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. Format: `projects/{project}/locations/{location}/instances/{instance}` | | | `string` | Output only. Create a time stamp. | | | `string` | Output only. The firmware version for the instance. | | | `boolean` | True if you enable hyperthreading for the server, otherwise false. The default value is false. | | | `boolean` | Output only. True if the interactive serial console feature is enabled for the instance, false otherwise. The default value is false. | -| | `string` | Optional. Name of the KMS crypto key version used to encrypt the initial passwords. The key has to have ASYMMETRIC_DECRYPT purpose. Format is `projects/{project}/locations/{location}/keyRings/{keyring}/cryptoKeys/{key}/cryptoKeyVersions/{version}`. | +| | `string` | Optional. Name of the KMS crypto key version used to encrypt the initial passwords. The key has to have ASYMMETRIC_DECRYPT purpose. Format is `projects/{project}/locations/{location}/keyRings/{keyring}/cryptoKeys/{key}/cryptoKeyVersions/{version}`. | | | `object` | Labels as key value pairs. | | | `array` | List of logical interfaces for the instance. The number of logical interfaces will be the same as number of hardware bond/nic on the chosen network template. For the non-multivlan configurations (for eg, existing servers) that use existing default network template (bondaa-bondaa), both the Instance.networks field and the Instance.logical_interfaces fields will be filled to ensure backward compatibility. For the others, only Instance.logical_interfaces will be filled. | | | `string` | Output only. Text field about info for logging in. | @@ -51,13 +53,13 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Update a time stamp. | | | `array` | Input only. List of Volumes to attach to this Instance on creation. This field won't be populated in Get/List responses. | | | `string` | The workload profile for the instance. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Get details about a single server. | | | `SELECT` | | List servers in a given project and location. | | | `UPDATE` | | Update details of a single server. | -| | `EXEC` | | List servers in a given project and location. | | | `EXEC` | | Detach LUN from Instance. | | | `EXEC` | | Perform disable hyperthreading operation on a single server. | | | `EXEC` | | Disable the interactive serial console feature on an instance. | @@ -69,3 +71,69 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `EXEC` | | Perform an ungraceful, hard reset on a server. Equivalent to shutting the power off and then turning it back on. | | | `EXEC` | | Starts a server that was shutdown. | | | `EXEC` | | Stop a running server. | + +## `SELECT` examples + +List servers in a given project and location. + +```sql +SELECT +id, +name, +createTime, +firmwareVersion, +hyperthreadingEnabled, +interactiveSerialConsoleEnabled, +kmsKeyVersion, +labels, +logicalInterfaces, +loginInfo, +luns, +machineType, +networkTemplate, +networks, +osImage, +pod, +sshKeys, +state, +updateTime, +volumes, +workloadProfile +FROM google.baremetalsolution.instances +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `UPDATE` example + +Updates a instance only if the necessary resources are available. + +```sql +UPDATE google.baremetalsolution.instances +SET +name = '{{ name }}', +id = '{{ id }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +machineType = '{{ machineType }}', +state = '{{ state }}', +hyperthreadingEnabled = true|false, +labels = '{{ labels }}', +luns = '{{ luns }}', +volumes = '{{ volumes }}', +networks = '{{ networks }}', +interactiveSerialConsoleEnabled = true|false, +osImage = '{{ osImage }}', +pod = '{{ pod }}', +networkTemplate = '{{ networkTemplate }}', +logicalInterfaces = '{{ logicalInterfaces }}', +loginInfo = '{{ loginInfo }}', +workloadProfile = '{{ workloadProfile }}', +firmwareVersion = '{{ firmwareVersion }}', +sshKeys = '{{ sshKeys }}', +kmsKeyVersion = '{{ kmsKeyVersion }}' +WHERE +instancesId = '{{ instancesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/baremetalsolution/locations/index.md b/docs/google-docs/providers/google/baremetalsolution/locations/index.md index 3a4f2ffc4a..c0839ea642 100644 --- a/docs/google-docs/providers/google/baremetalsolution/locations/index.md +++ b/docs/google-docs/providers/google/baremetalsolution/locations/index.md @@ -1,3 +1,4 @@ + --- title: locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - locations - baremetalsolution - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an location resource or lists locations in a region ## Overview
@@ -32,12 +34,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` | | | `string` | The friendly name for this location, typically a nearby city name. For example, "Tokyo". | -| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | +| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | | | `string` | The canonical id for this location. For example: `"us-east1"`. | | | `object` | Service-specific metadata. For example the available capacity at the given location. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about a location. | | | `SELECT` | | Lists information about the supported locations for this service. | -| | `EXEC` | | Lists information about the supported locations for this service. | + +## `SELECT` examples + +Lists information about the supported locations for this service. + +```sql +SELECT +name, +displayName, +labels, +locationId, +metadata +FROM google.baremetalsolution.locations +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/baremetalsolution/luns/index.md b/docs/google-docs/providers/google/baremetalsolution/luns/index.md index a921675ca8..c55972e913 100644 --- a/docs/google-docs/providers/google/baremetalsolution/luns/index.md +++ b/docs/google-docs/providers/google/baremetalsolution/luns/index.md @@ -1,3 +1,4 @@ + --- title: luns hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - luns - baremetalsolution - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an lun resource or lists luns in a region ## Overview
@@ -42,10 +44,34 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The storage type for this LUN. | | | `string` | Display the storage volume for this LUN. | | | `string` | The WWID for this LUN. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Get details of a single storage logical unit number(LUN). | | | `SELECT` | | List storage volume luns for given storage volume. | -| | `EXEC` | | List storage volume luns for given storage volume. | | | `EXEC` | | Skips lun's cooloff and deletes it now. Lun must be in cooloff state. | + +## `SELECT` examples + +List storage volume luns for given storage volume. + +```sql +SELECT +id, +name, +bootLun, +expireTime, +instances, +multiprotocolType, +shareable, +sizeGb, +state, +storageType, +storageVolume, +wwid +FROM google.baremetalsolution.luns +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND volumesId = '{{ volumesId }}'; +``` diff --git a/docs/google-docs/providers/google/baremetalsolution/networks/index.md b/docs/google-docs/providers/google/baremetalsolution/networks/index.md index 46fd9c334f..89b503b6b3 100644 --- a/docs/google-docs/providers/google/baremetalsolution/networks/index.md +++ b/docs/google-docs/providers/google/baremetalsolution/networks/index.md @@ -1,3 +1,4 @@ + --- title: networks hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - networks - baremetalsolution - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an network resource or lists networks in a region ## Overview
@@ -31,7 +33,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | Name | Datatype | Description | |:-----|:---------|:------------| | | `string` | An identifier for the `Network`, generated by the backend. | -| | `string` | Output only. The resource name of this `Network`. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. Format: `projects/{project}/locations/{location}/networks/{network}` | +| | `string` | Output only. The resource name of this `Network`. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. Format: `projects/{project}/locations/{location}/networks/{network}` | | | `string` | The cidr of the Network. | | | `string` | Output only. Gateway ip address. | | | `string` | IP address configured. | @@ -46,12 +48,70 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The type of this network. | | | `string` | The vlan id of the Network. | | | `object` | A network VRF. | -| | `string` | Optional. The name of a pre-existing Vrf that the network should be attached to. Format is `vrfs/{vrf}`. | +| | `string` | Optional. The name of a pre-existing Vrf that the network should be attached to. Format is `vrfs/{vrf}`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Get details of a single network. | | | `SELECT` | | List network in a given project and location. | | | `UPDATE` | | Update details of a single network. | -| | `EXEC` | | List network in a given project and location. | | | `EXEC` | | RenameNetwork sets a new name for a network. Use with caution, previous names become immediately invalidated. | + +## `SELECT` examples + +List network in a given project and location. + +```sql +SELECT +id, +name, +cidr, +gatewayIp, +ipAddress, +jumboFramesEnabled, +labels, +macAddress, +mountPoints, +pod, +reservations, +servicesCidr, +state, +type, +vlanId, +vrf, +vrfAttachment +FROM google.baremetalsolution.networks +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `UPDATE` example + +Updates a network only if the necessary resources are available. + +```sql +UPDATE google.baremetalsolution.networks +SET +name = '{{ name }}', +id = '{{ id }}', +type = '{{ type }}', +ipAddress = '{{ ipAddress }}', +macAddress = '{{ macAddress }}', +state = '{{ state }}', +vlanId = '{{ vlanId }}', +cidr = '{{ cidr }}', +vrf = '{{ vrf }}', +vrfAttachment = '{{ vrfAttachment }}', +labels = '{{ labels }}', +servicesCidr = '{{ servicesCidr }}', +reservations = '{{ reservations }}', +pod = '{{ pod }}', +mountPoints = '{{ mountPoints }}', +jumboFramesEnabled = true|false, +gatewayIp = '{{ gatewayIp }}' +WHERE +locationsId = '{{ locationsId }}' +AND networksId = '{{ networksId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/baremetalsolution/networks_network_usage/index.md b/docs/google-docs/providers/google/baremetalsolution/networks_network_usage/index.md index 7350eaf451..ea28e9748b 100644 --- a/docs/google-docs/providers/google/baremetalsolution/networks_network_usage/index.md +++ b/docs/google-docs/providers/google/baremetalsolution/networks_network_usage/index.md @@ -1,3 +1,4 @@ + --- title: networks_network_usage hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - networks_network_usage - baremetalsolution - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an networks_network_usage resource or lists networks_network_usage in a region ## Overview
@@ -28,7 +30,23 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `array` | Networks with IPs. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | List all Networks (and used IPs for each Network) in the vendor account associated with the specified project. | + +## `SELECT` examples + +List all Networks (and used IPs for each Network) in the vendor account associated with the specified project. + +```sql +SELECT +networks +FROM google.baremetalsolution.networks_network_usage +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/baremetalsolution/nfs_shares/index.md b/docs/google-docs/providers/google/baremetalsolution/nfs_shares/index.md index 8403a32b7e..0381027f3f 100644 --- a/docs/google-docs/providers/google/baremetalsolution/nfs_shares/index.md +++ b/docs/google-docs/providers/google/baremetalsolution/nfs_shares/index.md @@ -1,3 +1,4 @@ + --- title: nfs_shares hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - nfs_shares - baremetalsolution - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an nfs_share resource or lists nfs_shares in a region ## Overview @@ -40,6 +42,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The state of the NFS share. | | | `string` | Immutable. The storage type of the underlying volume. | | | `string` | Output only. The underlying volume of the share. Created automatically during provisioning. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -48,5 +51,135 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Create an NFS share. | | | `DELETE` | | Delete an NFS share. The underlying volume is automatically deleted. | | | `UPDATE` | | Update details of a single NFS share. | -| | `EXEC` | | List NFS shares. | | | `EXEC` | | RenameNfsShare sets a new name for an nfsshare. Use with caution, previous names become immediately invalidated. | + +## `SELECT` examples + +List NFS shares. + +```sql +SELECT +id, +name, +allowedClients, +labels, +nfsShareId, +pod, +requestedSizeGib, +state, +storageType, +volume +FROM google.baremetalsolution.nfs_shares +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new nfs_shares resource. + + + + +```sql +/*+ create */ +INSERT INTO google.baremetalsolution.nfs_shares ( +locationsId, +projectsId, +name, +nfsShareId, +id, +state, +volume, +allowedClients, +labels, +requestedSizeGib, +storageType, +pod +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ nfsShareId }}', +'{{ id }}', +'{{ state }}', +'{{ volume }}', +'{{ allowedClients }}', +'{{ labels }}', +'{{ requestedSizeGib }}', +'{{ storageType }}', +'{{ pod }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: nfsShareId + value: '{{ nfsShareId }}' + - name: id + value: '{{ id }}' + - name: state + value: '{{ state }}' + - name: volume + value: '{{ volume }}' + - name: allowedClients + value: '{{ allowedClients }}' + - name: labels + value: '{{ labels }}' + - name: requestedSizeGib + value: '{{ requestedSizeGib }}' + - name: storageType + value: '{{ storageType }}' + - name: pod + value: '{{ pod }}' + +``` + + + +## `UPDATE` example + +Updates a nfs_share only if the necessary resources are available. + +```sql +UPDATE google.baremetalsolution.nfs_shares +SET +name = '{{ name }}', +nfsShareId = '{{ nfsShareId }}', +id = '{{ id }}', +state = '{{ state }}', +volume = '{{ volume }}', +allowedClients = '{{ allowedClients }}', +labels = '{{ labels }}', +requestedSizeGib = '{{ requestedSizeGib }}', +storageType = '{{ storageType }}', +pod = '{{ pod }}' +WHERE +locationsId = '{{ locationsId }}' +AND nfsSharesId = '{{ nfsSharesId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified nfs_share resource. + +```sql +DELETE FROM google.baremetalsolution.nfs_shares +WHERE locationsId = '{{ locationsId }}' +AND nfsSharesId = '{{ nfsSharesId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/baremetalsolution/operations/index.md b/docs/google-docs/providers/google/baremetalsolution/operations/index.md index 722e5fdba7..ba00bdd613 100644 --- a/docs/google-docs/providers/google/baremetalsolution/operations/index.md +++ b/docs/google-docs/providers/google/baremetalsolution/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - baremetalsolution - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview
@@ -30,12 +32,30 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Get details about an operation. | + +## `SELECT` examples + +Get details about an operation. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.baremetalsolution.operations +WHERE locationsId = '{{ locationsId }}' +AND operationsId = '{{ operationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/baremetalsolution/os_images/index.md b/docs/google-docs/providers/google/baremetalsolution/os_images/index.md index 2dea50a71b..abda0905f4 100644 --- a/docs/google-docs/providers/google/baremetalsolution/os_images/index.md +++ b/docs/google-docs/providers/google/baremetalsolution/os_images/index.md @@ -1,3 +1,4 @@ + --- title: os_images hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - os_images - baremetalsolution - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an os_image resource or lists os_images in a region ## Overview
@@ -35,9 +37,25 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `array` | Instance types this image is applicable to. [Available types](https://cloud.google.com/bare-metal/docs/bms-planning#server_configurations) | | | `string` | OS Image code. | | | `array` | Network templates that can be used with this OS Image. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Get details of a single OS image. | | | `SELECT` | | Retrieves the list of OS images which are currently approved. | -| | `EXEC` | | Retrieves the list of OS images which are currently approved. | + +## `SELECT` examples + +Retrieves the list of OS images which are currently approved. + +```sql +SELECT +name, +description, +applicableInstanceTypes, +code, +supportedNetworkTemplates +FROM google.baremetalsolution.os_images +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/baremetalsolution/provisioning_configs/index.md b/docs/google-docs/providers/google/baremetalsolution/provisioning_configs/index.md index 220cc6d279..8f9b9c26f9 100644 --- a/docs/google-docs/providers/google/baremetalsolution/provisioning_configs/index.md +++ b/docs/google-docs/providers/google/baremetalsolution/provisioning_configs/index.md @@ -1,3 +1,4 @@ + --- title: provisioning_configs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - provisioning_configs - baremetalsolution - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an provisioning_config resource or lists provisioning_configs in a region ## Overview
@@ -45,6 +47,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Last update timestamp. | | | `array` | Volumes to be created. | | | `boolean` | If true, VPC SC is enabled for the cluster. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -52,3 +55,154 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Create new ProvisioningConfig. | | | `UPDATE` | | Update existing ProvisioningConfig. | | | `EXEC` | | Submit a provisiong configuration for a given project. | + +## `SELECT` examples + +Get ProvisioningConfig by name. + +```sql +SELECT +name, +cloudConsoleUri, +customId, +email, +handoverServiceAccount, +instances, +location, +networks, +pod, +state, +statusMessage, +ticketId, +updateTime, +volumes, +vpcScEnabled +FROM google.baremetalsolution.provisioning_configs +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND provisioningConfigsId = '{{ provisioningConfigsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new provisioning_configs resource. + + + + +```sql +/*+ create */ +INSERT INTO google.baremetalsolution.provisioning_configs ( +locationsId, +projectsId, +name, +instances, +networks, +volumes, +ticketId, +handoverServiceAccount, +email, +state, +location, +updateTime, +cloudConsoleUri, +vpcScEnabled, +statusMessage, +customId, +pod +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ instances }}', +'{{ networks }}', +'{{ volumes }}', +'{{ ticketId }}', +'{{ handoverServiceAccount }}', +'{{ email }}', +'{{ state }}', +'{{ location }}', +'{{ updateTime }}', +'{{ cloudConsoleUri }}', +true|false, +'{{ statusMessage }}', +'{{ customId }}', +'{{ pod }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: instances + value: '{{ instances }}' + - name: networks + value: '{{ networks }}' + - name: volumes + value: '{{ volumes }}' + - name: ticketId + value: '{{ ticketId }}' + - name: handoverServiceAccount + value: '{{ handoverServiceAccount }}' + - name: email + value: '{{ email }}' + - name: state + value: '{{ state }}' + - name: location + value: '{{ location }}' + - name: updateTime + value: '{{ updateTime }}' + - name: cloudConsoleUri + value: '{{ cloudConsoleUri }}' + - name: vpcScEnabled + value: '{{ vpcScEnabled }}' + - name: statusMessage + value: '{{ statusMessage }}' + - name: customId + value: '{{ customId }}' + - name: pod + value: '{{ pod }}' + +``` + + + +## `UPDATE` example + +Updates a provisioning_config only if the necessary resources are available. + +```sql +UPDATE google.baremetalsolution.provisioning_configs +SET +name = '{{ name }}', +instances = '{{ instances }}', +networks = '{{ networks }}', +volumes = '{{ volumes }}', +ticketId = '{{ ticketId }}', +handoverServiceAccount = '{{ handoverServiceAccount }}', +email = '{{ email }}', +state = '{{ state }}', +location = '{{ location }}', +updateTime = '{{ updateTime }}', +cloudConsoleUri = '{{ cloudConsoleUri }}', +vpcScEnabled = true|false, +statusMessage = '{{ statusMessage }}', +customId = '{{ customId }}', +pod = '{{ pod }}' +WHERE +locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND provisioningConfigsId = '{{ provisioningConfigsId }}'; +``` diff --git a/docs/google-docs/providers/google/baremetalsolution/provisioning_quotas/index.md b/docs/google-docs/providers/google/baremetalsolution/provisioning_quotas/index.md index adf19a4e30..ec26b1f33d 100644 --- a/docs/google-docs/providers/google/baremetalsolution/provisioning_quotas/index.md +++ b/docs/google-docs/providers/google/baremetalsolution/provisioning_quotas/index.md @@ -1,3 +1,4 @@ + --- title: provisioning_quotas hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - provisioning_quotas - baremetalsolution - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an provisioning_quota resource or lists provisioning_quotas in a region ## Overview
@@ -39,8 +41,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Network bandwidth, Gbps | | | `string` | Server count. | | | `string` | Storage size (GB). | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | List the budget details to provision resources on a given project. | + +## `SELECT` examples + +List the budget details to provision resources on a given project. + +```sql +SELECT +name, +assetType, +availableCount, +gcpService, +instanceQuota, +location, +networkBandwidth, +serverCount, +storageGib +FROM google.baremetalsolution.provisioning_quotas +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/baremetalsolution/snapshots/index.md b/docs/google-docs/providers/google/baremetalsolution/snapshots/index.md index 606c2e13fc..a814f2e927 100644 --- a/docs/google-docs/providers/google/baremetalsolution/snapshots/index.md +++ b/docs/google-docs/providers/google/baremetalsolution/snapshots/index.md @@ -1,3 +1,4 @@ + --- title: snapshots hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - snapshots - baremetalsolution - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an snapshot resource or lists snapshots in a region ## Overview
@@ -36,6 +38,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The creation time of the snapshot. | | | `string` | Output only. The name of the volume which this snapshot belongs to. | | | `string` | Output only. The type of the snapshot which indicates whether it was scheduled or manual/ad-hoc. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -43,5 +46,96 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Retrieves the list of snapshots for the specified volume. Returns a response with an empty list of snapshots if called for a non-boot volume. | | | `INSERT` | | Takes a snapshot of a boot volume. Returns INVALID_ARGUMENT if called for a non-boot volume. | | | `DELETE` | | Deletes a volume snapshot. Returns INVALID_ARGUMENT if called for a non-boot volume. | -| | `EXEC` | | Retrieves the list of snapshots for the specified volume. Returns a response with an empty list of snapshots if called for a non-boot volume. | | | `EXEC` | | Uses the specified snapshot to restore its parent volume. Returns INVALID_ARGUMENT if called for a non-boot volume. | + +## `SELECT` examples + +Retrieves the list of snapshots for the specified volume. Returns a response with an empty list of snapshots if called for a non-boot volume. + +```sql +SELECT +id, +name, +description, +createTime, +storageVolume, +type +FROM google.baremetalsolution.snapshots +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND volumesId = '{{ volumesId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new snapshots resource. + + + + +```sql +/*+ create */ +INSERT INTO google.baremetalsolution.snapshots ( +locationsId, +projectsId, +volumesId, +name, +id, +description, +createTime, +storageVolume, +type +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ volumesId }}', +'{{ name }}', +'{{ id }}', +'{{ description }}', +'{{ createTime }}', +'{{ storageVolume }}', +'{{ type }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: id + value: '{{ id }}' + - name: description + value: '{{ description }}' + - name: createTime + value: '{{ createTime }}' + - name: storageVolume + value: '{{ storageVolume }}' + - name: type + value: '{{ type }}' + +``` + + + +## `DELETE` example + +Deletes the specified snapshot resource. + +```sql +DELETE FROM google.baremetalsolution.snapshots +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND snapshotsId = '{{ snapshotsId }}' +AND volumesId = '{{ volumesId }}'; +``` diff --git a/docs/google-docs/providers/google/baremetalsolution/ssh_keys/index.md b/docs/google-docs/providers/google/baremetalsolution/ssh_keys/index.md index 14e7704713..119681d403 100644 --- a/docs/google-docs/providers/google/baremetalsolution/ssh_keys/index.md +++ b/docs/google-docs/providers/google/baremetalsolution/ssh_keys/index.md @@ -1,3 +1,4 @@ + --- title: ssh_keys hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - ssh_keys - baremetalsolution - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an ssh_key resource or lists ssh_keys in a region ## Overview
@@ -32,10 +34,78 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Output only. The name of this SSH key. Currently, the only valid value for the location is "global". | | | `string` | The public SSH key. This must be in OpenSSH .authorized_keys format. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Lists the public SSH keys registered for the specified project. These SSH keys are used only for the interactive serial console feature. | | | `INSERT` | | Register a public SSH key in the specified project for use with the interactive serial console feature. | | | `DELETE` | | Deletes a public SSH key registered in the specified project. | -| | `EXEC` | | Lists the public SSH keys registered for the specified project. These SSH keys are used only for the interactive serial console feature. | + +## `SELECT` examples + +Lists the public SSH keys registered for the specified project. These SSH keys are used only for the interactive serial console feature. + +```sql +SELECT +name, +publicKey +FROM google.baremetalsolution.ssh_keys +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new ssh_keys resource. + + + + +```sql +/*+ create */ +INSERT INTO google.baremetalsolution.ssh_keys ( +locationsId, +projectsId, +name, +publicKey +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ publicKey }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: publicKey + value: '{{ publicKey }}' + +``` + + + +## `DELETE` example + +Deletes the specified ssh_key resource. + +```sql +DELETE FROM google.baremetalsolution.ssh_keys +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND sshKeysId = '{{ sshKeysId }}'; +``` diff --git a/docs/google-docs/providers/google/baremetalsolution/volumes/index.md b/docs/google-docs/providers/google/baremetalsolution/volumes/index.md index aea5ded8dc..6e1a07fe8d 100644 --- a/docs/google-docs/providers/google/baremetalsolution/volumes/index.md +++ b/docs/google-docs/providers/google/baremetalsolution/volumes/index.md @@ -1,3 +1,4 @@ + --- title: volumes hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - volumes - baremetalsolution - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an volume resource or lists volumes in a region ## Overview
@@ -31,7 +33,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | Name | Datatype | Description | |:-----|:---------|:------------| | | `string` | An identifier for the `Volume`, generated by the backend. | -| | `string` | Output only. The resource name of this `Volume`. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. Format: `projects/{project}/locations/{location}/volumes/{volume}` | +| | `string` | Output only. The resource name of this `Volume`. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. Format: `projects/{project}/locations/{location}/volumes/{volume}` | | | `boolean` | Output only. Is the Volume attached at at least one instance. This field is a lightweight counterpart of `instances` field. It is filled in List responses as well. | | | `string` | The size, in GiB, that this storage volume has expanded as a result of an auto grow policy. In the absence of auto-grow, the value is 0. | | | `boolean` | Output only. Whether this volume is a boot volume. A boot volume is one which contains a boot LUN. | @@ -54,13 +56,85 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The state of this storage volume. | | | `string` | The storage type for this volume. | | | `string` | The workload profile for the volume. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Get details of a single storage volume. | | | `SELECT` | | List storage volumes in a given project and location. | | | `UPDATE` | | Update details of a single storage volume. | -| | `EXEC` | | List storage volumes in a given project and location. | | | `EXEC` | | Skips volume's cooloff and deletes it now. Volume must be in cooloff state. | | | `EXEC` | | RenameVolume sets a new name for a volume. Use with caution, previous names become immediately invalidated. | | | `EXEC` | | Emergency Volume resize. | + +## `SELECT` examples + +List storage volumes in a given project and location. + +```sql +SELECT +id, +name, +attached, +autoGrownSizeGib, +bootVolume, +currentSizeGib, +emergencySizeGib, +expireTime, +instances, +labels, +maxSizeGib, +notes, +originallyRequestedSizeGib, +performanceTier, +pod, +protocol, +remainingSpaceGib, +requestedSizeGib, +snapshotAutoDeleteBehavior, +snapshotEnabled, +snapshotReservationDetail, +state, +storageType, +workloadProfile +FROM google.baremetalsolution.volumes +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `UPDATE` example + +Updates a volume only if the necessary resources are available. + +```sql +UPDATE google.baremetalsolution.volumes +SET +name = '{{ name }}', +id = '{{ id }}', +storageType = '{{ storageType }}', +state = '{{ state }}', +requestedSizeGib = '{{ requestedSizeGib }}', +originallyRequestedSizeGib = '{{ originallyRequestedSizeGib }}', +currentSizeGib = '{{ currentSizeGib }}', +emergencySizeGib = '{{ emergencySizeGib }}', +maxSizeGib = '{{ maxSizeGib }}', +autoGrownSizeGib = '{{ autoGrownSizeGib }}', +remainingSpaceGib = '{{ remainingSpaceGib }}', +snapshotReservationDetail = '{{ snapshotReservationDetail }}', +snapshotAutoDeleteBehavior = '{{ snapshotAutoDeleteBehavior }}', +labels = '{{ labels }}', +snapshotEnabled = true|false, +pod = '{{ pod }}', +protocol = '{{ protocol }}', +bootVolume = true|false, +performanceTier = '{{ performanceTier }}', +notes = '{{ notes }}', +workloadProfile = '{{ workloadProfile }}', +expireTime = '{{ expireTime }}', +instances = '{{ instances }}', +attached = true|false +WHERE +locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND volumesId = '{{ volumesId }}'; +``` diff --git a/docs/google-docs/providers/google/batch/index.md b/docs/google-docs/providers/google/batch/index.md index 9d5985f0b8..431ae5118d 100644 --- a/docs/google-docs/providers/google/batch/index.md +++ b/docs/google-docs/providers/google/batch/index.md @@ -9,43 +9,32 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -An API to manage the running of Batch resources on Google Cloud Platform. - +The batch service documentation. + :::info Service Summary
total resources: 5
-total selectable resources: 4
-total methods: 17
::: -## Overview -
- - - - - -
Namegoogle.batch
TypeService
TitleBatch API
DescriptionAn API to manage the running of Batch resources on Google Cloud Platform.
Idbatch:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/batch/jobs/index.md b/docs/google-docs/providers/google/batch/jobs/index.md index 3a8eadac1b..40bfba0fd2 100644 --- a/docs/google-docs/providers/google/batch/jobs/index.md +++ b/docs/google-docs/providers/google/batch/jobs/index.md @@ -1,3 +1,4 @@ + --- title: jobs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - jobs - batch - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an job resource or lists jobs in a region ## Overview @@ -33,7 +35,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Job name. For example: "projects/123456/locations/us-central1/jobs/job01". | | | `object` | A Job's resource allocation policy describes when, where, and how compute resources should be allocated for the Job. | | | `string` | Output only. When the Job was created. | -| | `object` | Labels for the Job. Labels could be user provided or system generated. For example, "labels": { "department": "finance", "environment": "test" } You can assign up to 64 labels. [Google Compute Engine label restrictions](https://cloud.google.com/compute/docs/labeling-resources#restrictions) apply. Label names that start with "goog-" or "google-" are reserved. | +| | `object` | Labels for the Job. Labels could be user provided or system generated. For example, "labels": { "department": "finance", "environment": "test" } You can assign up to 64 labels. [Google Compute Engine label restrictions](https://cloud.google.com/compute/docs/labeling-resources#restrictions) apply. Label names that start with "goog-" or "google-" are reserved. | | | `object` | LogsPolicy describes how outputs from a Job's Tasks (stdout/stderr) will be preserved. | | | `array` | Notification configurations. | | | `string` | Priority of the Job. The valid value range is [0, 100). Default value is 0. Higher value indicates higher priority. A job with higher priority value is more likely to run earlier if all other requirements are satisfied. | @@ -41,6 +43,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `array` | Required. TaskGroups in the Job. Only one TaskGroup is supported now. | | | `string` | Output only. A system generated unique ID for the Job. | | | `string` | Output only. The last time the Job was updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -48,4 +51,116 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | List all Jobs for a project within a region. | | | `INSERT` | | Create a Job. | | | `DELETE` | | Delete a Job. | -| | `EXEC` | | List all Jobs for a project within a region. | + +## `SELECT` examples + +List all Jobs for a project within a region. + +```sql +SELECT +name, +allocationPolicy, +createTime, +labels, +logsPolicy, +notifications, +priority, +status, +taskGroups, +uid, +updateTime +FROM google.batch.jobs +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new jobs resource. + + + + +```sql +/*+ create */ +INSERT INTO google.batch.jobs ( +locationsId, +projectsId, +name, +uid, +priority, +taskGroups, +allocationPolicy, +labels, +status, +createTime, +updateTime, +logsPolicy, +notifications +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ uid }}', +'{{ priority }}', +'{{ taskGroups }}', +'{{ allocationPolicy }}', +'{{ labels }}', +'{{ status }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ logsPolicy }}', +'{{ notifications }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: uid + value: '{{ uid }}' + - name: priority + value: '{{ priority }}' + - name: taskGroups + value: '{{ taskGroups }}' + - name: allocationPolicy + value: '{{ allocationPolicy }}' + - name: labels + value: '{{ labels }}' + - name: status + value: '{{ status }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: logsPolicy + value: '{{ logsPolicy }}' + - name: notifications + value: '{{ notifications }}' + +``` + + + +## `DELETE` example + +Deletes the specified job resource. + +```sql +DELETE FROM google.batch.jobs +WHERE jobsId = '{{ jobsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/batch/locations/index.md b/docs/google-docs/providers/google/batch/locations/index.md index 3cfc44807a..96517e1f85 100644 --- a/docs/google-docs/providers/google/batch/locations/index.md +++ b/docs/google-docs/providers/google/batch/locations/index.md @@ -1,3 +1,4 @@ + --- title: locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - locations - batch - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an location resource or lists locations in a region ## Overview
@@ -32,12 +34,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` | | | `string` | The friendly name for this location, typically a nearby city name. For example, "Tokyo". | -| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | +| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | | | `string` | The canonical id for this location. For example: `"us-east1"`. | | | `object` | Service-specific metadata. For example the available capacity at the given location. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about a location. | | | `SELECT` | | Lists information about the supported locations for this service. | -| | `EXEC` | | Lists information about the supported locations for this service. | + +## `SELECT` examples + +Lists information about the supported locations for this service. + +```sql +SELECT +name, +displayName, +labels, +locationId, +metadata +FROM google.batch.locations +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/batch/operations/index.md b/docs/google-docs/providers/google/batch/operations/index.md index 38534ee405..4ad5c394c7 100644 --- a/docs/google-docs/providers/google/batch/operations/index.md +++ b/docs/google-docs/providers/google/batch/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - batch - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview
@@ -30,16 +32,43 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.batch.operations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified operation resource. + +```sql +DELETE FROM google.batch.operations +WHERE locationsId = '{{ locationsId }}' +AND operationsId = '{{ operationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/batch/state/index.md b/docs/google-docs/providers/google/batch/state/index.md index e40aca7dea..e0700158c0 100644 --- a/docs/google-docs/providers/google/batch/state/index.md +++ b/docs/google-docs/providers/google/batch/state/index.md @@ -1,3 +1,4 @@ + --- title: state hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - state - batch - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an state resource or lists state in a region ## Overview
@@ -28,8 +30,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Report agent's state, e.g. agent status and tasks information | diff --git a/docs/google-docs/providers/google/batch/tasks/index.md b/docs/google-docs/providers/google/batch/tasks/index.md index 60f06b8858..c46d437a74 100644 --- a/docs/google-docs/providers/google/batch/tasks/index.md +++ b/docs/google-docs/providers/google/batch/tasks/index.md @@ -1,3 +1,4 @@ + --- title: tasks hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - tasks - batch - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an task resource or lists tasks in a region ## Overview @@ -31,10 +33,25 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | Name | Datatype | Description | |:-----|:---------|:------------| | | `string` | Task name. The name is generated from the parent TaskGroup name and 'id' field. For example: "projects/123456/locations/us-west1/jobs/job01/taskGroups/group01/tasks/task01". | -| | `object` | Status of a task | +| | `object` | Status of a task. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Return a single Task. | | | `SELECT` | | List Tasks associated with a job. | -| | `EXEC` | | List Tasks associated with a job. | + +## `SELECT` examples + +List Tasks associated with a job. + +```sql +SELECT +name, +status +FROM google.batch.tasks +WHERE jobsId = '{{ jobsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND taskGroupsId = '{{ taskGroupsId }}'; +``` diff --git a/docs/google-docs/providers/google/beyondcorp/app_connections/index.md b/docs/google-docs/providers/google/beyondcorp/app_connections/index.md index d858a70d35..03f610345c 100644 --- a/docs/google-docs/providers/google/beyondcorp/app_connections/index.md +++ b/docs/google-docs/providers/google/beyondcorp/app_connections/index.md @@ -1,3 +1,4 @@ + --- title: app_connections hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - app_connections - beyondcorp - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an app_connection resource or lists app_connections in a region ## Overview
@@ -43,6 +45,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Required. The type of network connectivity used by the AppConnection. | | | `string` | Output only. A unique identifier for the instance generated by the system. | | | `string` | Output only. Timestamp when the resource was last modified. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -51,5 +54,153 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new AppConnection in a given project and location. | | | `DELETE` | | Deletes a single AppConnection. | | | `UPDATE` | | Updates the parameters of a single AppConnection. | -| | `EXEC` | | Lists AppConnections in a given project and location. | | | `EXEC` | | Resolves AppConnections details for a given AppConnector. An internal method called by a connector to find AppConnections to connect to. | + +## `SELECT` examples + +Lists AppConnections in a given project and location. + +```sql +SELECT +name, +applicationEndpoint, +connectors, +createTime, +displayName, +gateway, +labels, +satisfiesPzi, +satisfiesPzs, +state, +type, +uid, +updateTime +FROM google.beyondcorp.app_connections +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new app_connections resource. + + + + +```sql +/*+ create */ +INSERT INTO google.beyondcorp.app_connections ( +locationsId, +projectsId, +name, +createTime, +updateTime, +labels, +displayName, +uid, +type, +applicationEndpoint, +connectors, +state, +gateway, +satisfiesPzs, +satisfiesPzi +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ labels }}', +'{{ displayName }}', +'{{ uid }}', +'{{ type }}', +'{{ applicationEndpoint }}', +'{{ connectors }}', +'{{ state }}', +'{{ gateway }}', +true|false, +true|false +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: labels + value: '{{ labels }}' + - name: displayName + value: '{{ displayName }}' + - name: uid + value: '{{ uid }}' + - name: type + value: '{{ type }}' + - name: applicationEndpoint + value: '{{ applicationEndpoint }}' + - name: connectors + value: '{{ connectors }}' + - name: state + value: '{{ state }}' + - name: gateway + value: '{{ gateway }}' + - name: satisfiesPzs + value: '{{ satisfiesPzs }}' + - name: satisfiesPzi + value: '{{ satisfiesPzi }}' + +``` + + + +## `UPDATE` example + +Updates a app_connection only if the necessary resources are available. + +```sql +UPDATE google.beyondcorp.app_connections +SET +name = '{{ name }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +labels = '{{ labels }}', +displayName = '{{ displayName }}', +uid = '{{ uid }}', +type = '{{ type }}', +applicationEndpoint = '{{ applicationEndpoint }}', +connectors = '{{ connectors }}', +state = '{{ state }}', +gateway = '{{ gateway }}', +satisfiesPzs = true|false, +satisfiesPzi = true|false +WHERE +appConnectionsId = '{{ appConnectionsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified app_connection resource. + +```sql +DELETE FROM google.beyondcorp.app_connections +WHERE appConnectionsId = '{{ appConnectionsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/beyondcorp/app_connections_iam_policies/index.md b/docs/google-docs/providers/google/beyondcorp/app_connections_iam_policies/index.md index ee07491150..0d27602b25 100644 --- a/docs/google-docs/providers/google/beyondcorp/app_connections_iam_policies/index.md +++ b/docs/google-docs/providers/google/beyondcorp/app_connections_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: app_connections_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - app_connections_iam_policies - beyondcorp - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an app_connections_iam_policy resource or lists app_connections_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.beyondcorp.app_connections_iam_policies +WHERE appConnectionsId = '{{ appConnectionsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/beyondcorp/app_connectors/index.md b/docs/google-docs/providers/google/beyondcorp/app_connectors/index.md index f7acbe0af5..9a84fdf882 100644 --- a/docs/google-docs/providers/google/beyondcorp/app_connectors/index.md +++ b/docs/google-docs/providers/google/beyondcorp/app_connectors/index.md @@ -1,3 +1,4 @@ + --- title: app_connectors hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - app_connectors - beyondcorp - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an app_connector resource or lists app_connectors in a region ## Overview
@@ -39,6 +41,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The current state of the AppConnector. | | | `string` | Output only. A unique identifier for the instance generated by the system. | | | `string` | Output only. Timestamp when the resource was last modified. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -47,6 +50,130 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new AppConnector in a given project and location. | | | `DELETE` | | Deletes a single AppConnector. | | | `UPDATE` | | Updates the parameters of a single AppConnector. | -| | `EXEC` | | Lists AppConnectors in a given project and location. | | | `EXEC` | | Report status for a given connector. | | | `EXEC` | | Gets instance configuration for a given AppConnector. An internal method called by a AppConnector to get its container config. | + +## `SELECT` examples + +Lists AppConnectors in a given project and location. + +```sql +SELECT +name, +createTime, +displayName, +labels, +principalInfo, +resourceInfo, +state, +uid, +updateTime +FROM google.beyondcorp.app_connectors +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new app_connectors resource. + + + + +```sql +/*+ create */ +INSERT INTO google.beyondcorp.app_connectors ( +locationsId, +projectsId, +name, +createTime, +updateTime, +labels, +displayName, +uid, +state, +principalInfo, +resourceInfo +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ labels }}', +'{{ displayName }}', +'{{ uid }}', +'{{ state }}', +'{{ principalInfo }}', +'{{ resourceInfo }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: labels + value: '{{ labels }}' + - name: displayName + value: '{{ displayName }}' + - name: uid + value: '{{ uid }}' + - name: state + value: '{{ state }}' + - name: principalInfo + value: '{{ principalInfo }}' + - name: resourceInfo + value: '{{ resourceInfo }}' + +``` + + + +## `UPDATE` example + +Updates a app_connector only if the necessary resources are available. + +```sql +UPDATE google.beyondcorp.app_connectors +SET +name = '{{ name }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +labels = '{{ labels }}', +displayName = '{{ displayName }}', +uid = '{{ uid }}', +state = '{{ state }}', +principalInfo = '{{ principalInfo }}', +resourceInfo = '{{ resourceInfo }}' +WHERE +appConnectorsId = '{{ appConnectorsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified app_connector resource. + +```sql +DELETE FROM google.beyondcorp.app_connectors +WHERE appConnectorsId = '{{ appConnectorsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/beyondcorp/app_connectors_iam_policies/index.md b/docs/google-docs/providers/google/beyondcorp/app_connectors_iam_policies/index.md index 9b94fba2c8..dafc127754 100644 --- a/docs/google-docs/providers/google/beyondcorp/app_connectors_iam_policies/index.md +++ b/docs/google-docs/providers/google/beyondcorp/app_connectors_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: app_connectors_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - app_connectors_iam_policies - beyondcorp - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an app_connectors_iam_policy resource or lists app_connectors_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.beyondcorp.app_connectors_iam_policies +WHERE appConnectorsId = '{{ appConnectorsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/beyondcorp/app_gateways/index.md b/docs/google-docs/providers/google/beyondcorp/app_gateways/index.md index f5ee7a804f..b8f795b61c 100644 --- a/docs/google-docs/providers/google/beyondcorp/app_gateways/index.md +++ b/docs/google-docs/providers/google/beyondcorp/app_gateways/index.md @@ -1,3 +1,4 @@ + --- title: app_gateways hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - app_gateways - beyondcorp - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an app_gateway resource or lists app_gateways in a region ## Overview
@@ -43,6 +45,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. A unique identifier for the instance generated by the system. | | | `string` | Output only. Timestamp when the resource was last modified. | | | `string` | Output only. Server-defined URI for this resource. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -50,4 +53,127 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists AppGateways in a given project and location. | | | `INSERT` | | Creates a new AppGateway in a given project and location. | | | `DELETE` | | Deletes a single AppGateway. | -| | `EXEC` | | Lists AppGateways in a given project and location. | +| | `EXEC` | | Calls the Bouncer method ShouldThrottle to check if a request should be throttled. | + +## `SELECT` examples + +Lists AppGateways in a given project and location. + +```sql +SELECT +name, +allocatedConnections, +createTime, +displayName, +hostType, +labels, +satisfiesPzi, +satisfiesPzs, +state, +type, +uid, +updateTime, +uri +FROM google.beyondcorp.app_gateways +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new app_gateways resource. + + + + +```sql +/*+ create */ +INSERT INTO google.beyondcorp.app_gateways ( +locationsId, +projectsId, +name, +createTime, +updateTime, +labels, +displayName, +uid, +type, +state, +uri, +allocatedConnections, +hostType, +satisfiesPzs, +satisfiesPzi +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ labels }}', +'{{ displayName }}', +'{{ uid }}', +'{{ type }}', +'{{ state }}', +'{{ uri }}', +'{{ allocatedConnections }}', +'{{ hostType }}', +true|false, +true|false +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: labels + value: '{{ labels }}' + - name: displayName + value: '{{ displayName }}' + - name: uid + value: '{{ uid }}' + - name: type + value: '{{ type }}' + - name: state + value: '{{ state }}' + - name: uri + value: '{{ uri }}' + - name: allocatedConnections + value: '{{ allocatedConnections }}' + - name: hostType + value: '{{ hostType }}' + - name: satisfiesPzs + value: '{{ satisfiesPzs }}' + - name: satisfiesPzi + value: '{{ satisfiesPzi }}' + +``` + + + +## `DELETE` example + +Deletes the specified app_gateway resource. + +```sql +DELETE FROM google.beyondcorp.app_gateways +WHERE appGatewaysId = '{{ appGatewaysId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/beyondcorp/app_gateways_iam_policies/index.md b/docs/google-docs/providers/google/beyondcorp/app_gateways_iam_policies/index.md index c2e7642d68..1be97932fe 100644 --- a/docs/google-docs/providers/google/beyondcorp/app_gateways_iam_policies/index.md +++ b/docs/google-docs/providers/google/beyondcorp/app_gateways_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: app_gateways_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - app_gateways_iam_policies - beyondcorp - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an app_gateways_iam_policy resource or lists app_gateways_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.beyondcorp.app_gateways_iam_policies +WHERE appGatewaysId = '{{ appGatewaysId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/beyondcorp/browser_dlp_rules_iam_policies/index.md b/docs/google-docs/providers/google/beyondcorp/browser_dlp_rules_iam_policies/index.md index 109b144d01..356106ae01 100644 --- a/docs/google-docs/providers/google/beyondcorp/browser_dlp_rules_iam_policies/index.md +++ b/docs/google-docs/providers/google/beyondcorp/browser_dlp_rules_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: browser_dlp_rules_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - browser_dlp_rules_iam_policies - beyondcorp - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an browser_dlp_rules_iam_policy resource or lists browser_dlp_rules_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.beyondcorp.browser_dlp_rules_iam_policies +WHERE browserDlpRulesId = '{{ browserDlpRulesId }}' +AND organizationsId = '{{ organizationsId }}' +AND partnerTenantsId = '{{ partnerTenantsId }}'; +``` diff --git a/docs/google-docs/providers/google/beyondcorp/client_connector_services_iam_policies/index.md b/docs/google-docs/providers/google/beyondcorp/client_connector_services_iam_policies/index.md index 6dfac755aa..0dd5290900 100644 --- a/docs/google-docs/providers/google/beyondcorp/client_connector_services_iam_policies/index.md +++ b/docs/google-docs/providers/google/beyondcorp/client_connector_services_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: client_connector_services_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - client_connector_services_iam_policies - beyondcorp - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an client_connector_services_iam_policy resource or lists client_connector_services_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.beyondcorp.client_connector_services_iam_policies +WHERE clientConnectorServicesId = '{{ clientConnectorServicesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/beyondcorp/client_gateways_iam_policies/index.md b/docs/google-docs/providers/google/beyondcorp/client_gateways_iam_policies/index.md index 182b2602f7..dd0bdd8a28 100644 --- a/docs/google-docs/providers/google/beyondcorp/client_gateways_iam_policies/index.md +++ b/docs/google-docs/providers/google/beyondcorp/client_gateways_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: client_gateways_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - client_gateways_iam_policies - beyondcorp - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an client_gateways_iam_policy resource or lists client_gateways_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.beyondcorp.client_gateways_iam_policies +WHERE clientGatewaysId = '{{ clientGatewaysId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/beyondcorp/index.md b/docs/google-docs/providers/google/beyondcorp/index.md index 50b6897c3e..959aeb4a01 100644 --- a/docs/google-docs/providers/google/beyondcorp/index.md +++ b/docs/google-docs/providers/google/beyondcorp/index.md @@ -9,34 +9,23 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Beyondcorp Enterprise provides identity and context aware access controls for enterprise resources and enables zero-trust access. Using the Beyondcorp Enterprise APIs, enterprises can set up multi-cloud and on-prem connectivity solutions. - +The beyondcorp service documentation. + :::info Service Summary
total resources: 13
-total selectable resources: 13
-total methods: 65
::: -## Overview -
- - - - - -
Namegoogle.beyondcorp
TypeService
TitleBeyondCorp API
DescriptionBeyondcorp Enterprise provides identity and context aware access controls for enterprise resources and enables zero-trust access. Using the Beyondcorp Enterprise APIs, enterprises can set up multi-cloud and on-prem connectivity solutions.
Idbeyondcorp:v24.06.00236
- ## Resources
@@ -46,7 +35,7 @@ Beyondcorp Enterprise provides identity and context aware access controls for en app_connectors_iam_policies
app_gateways
app_gateways_iam_policies
-browser_dlp_rules_iam_policies
+browser_dlp_rules_iam_policies
client_connector_services_iam_policies
@@ -54,6 +43,6 @@ Beyondcorp Enterprise provides identity and context aware access controls for en locations
operations
partner_tenants_iam_policies
-proxy_configs_iam_policies
-
+proxy_configs_iam_policies
+ \ No newline at end of file diff --git a/docs/google-docs/providers/google/beyondcorp/locations/index.md b/docs/google-docs/providers/google/beyondcorp/locations/index.md index f0931bfc92..aeac4d013d 100644 --- a/docs/google-docs/providers/google/beyondcorp/locations/index.md +++ b/docs/google-docs/providers/google/beyondcorp/locations/index.md @@ -1,3 +1,4 @@ + --- title: locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - locations - beyondcorp - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an location resource or lists locations in a region ## Overview @@ -32,12 +34,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` | | | `string` | The friendly name for this location, typically a nearby city name. For example, "Tokyo". | -| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | +| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | | | `string` | The canonical id for this location. For example: `"us-east1"`. | | | `object` | Service-specific metadata. For example the available capacity at the given location. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about a location. | | | `SELECT` | | Lists information about the supported locations for this service. | -| | `EXEC` | | Lists information about the supported locations for this service. | + +## `SELECT` examples + +Lists information about the supported locations for this service. + +```sql +SELECT +name, +displayName, +labels, +locationId, +metadata +FROM google.beyondcorp.locations +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/beyondcorp/operations/index.md b/docs/google-docs/providers/google/beyondcorp/operations/index.md index 02af72810d..d6dae72d0e 100644 --- a/docs/google-docs/providers/google/beyondcorp/operations/index.md +++ b/docs/google-docs/providers/google/beyondcorp/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - beyondcorp - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview
@@ -30,11 +32,12 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -44,7 +47,32 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. | | | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.beyondcorp.operations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified operation resource. + +```sql +DELETE FROM google.beyondcorp.operations +WHERE locationsId = '{{ locationsId }}' +AND operationsId = '{{ operationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/beyondcorp/partner_tenants_iam_policies/index.md b/docs/google-docs/providers/google/beyondcorp/partner_tenants_iam_policies/index.md index 3b68090d9b..ca90f93b6a 100644 --- a/docs/google-docs/providers/google/beyondcorp/partner_tenants_iam_policies/index.md +++ b/docs/google-docs/providers/google/beyondcorp/partner_tenants_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: partner_tenants_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - partner_tenants_iam_policies - beyondcorp - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an partner_tenants_iam_policy resource or lists partner_tenants_iam_policies in a region ## Overview
@@ -30,13 +32,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.beyondcorp.partner_tenants_iam_policies +WHERE organizationsId = '{{ organizationsId }}' +AND partnerTenantsId = '{{ partnerTenantsId }}'; +``` diff --git a/docs/google-docs/providers/google/beyondcorp/proxy_configs_iam_policies/index.md b/docs/google-docs/providers/google/beyondcorp/proxy_configs_iam_policies/index.md index f24a73d136..61340649f5 100644 --- a/docs/google-docs/providers/google/beyondcorp/proxy_configs_iam_policies/index.md +++ b/docs/google-docs/providers/google/beyondcorp/proxy_configs_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: proxy_configs_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - proxy_configs_iam_policies - beyondcorp - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an proxy_configs_iam_policy resource or lists proxy_configs_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.beyondcorp.proxy_configs_iam_policies +WHERE organizationsId = '{{ organizationsId }}' +AND partnerTenantsId = '{{ partnerTenantsId }}' +AND proxyConfigsId = '{{ proxyConfigsId }}'; +``` diff --git a/docs/google-docs/providers/google/biglake/catalogs/index.md b/docs/google-docs/providers/google/biglake/catalogs/index.md index 1733c97482..c35acf3ea4 100644 --- a/docs/google-docs/providers/google/biglake/catalogs/index.md +++ b/docs/google-docs/providers/google/biglake/catalogs/index.md @@ -1,3 +1,4 @@ + --- title: catalogs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - catalogs - biglake - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an catalog resource or lists catalogs in a region ## Overview
@@ -30,11 +32,12 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. The resource name. Format: projects/{project_id_or_number}/locations/{location_id}/catalogs/{catalog_id} | +| | `string` | Output only. The resource name. Format: projects/{project_id_or_number}/locations/{location_id}/catalogs/{catalog_id} | | | `string` | Output only. The creation time of the catalog. | | | `string` | Output only. The deletion time of the catalog. Only set after the catalog is deleted. | | | `string` | Output only. The time when this catalog is considered expired. Only set after the catalog is deleted. | | | `string` | Output only. The last modification time of the catalog. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -42,4 +45,86 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | List all catalogs in a specified project. | | | `INSERT` | | Creates a new catalog. | | | `DELETE` | | Deletes an existing catalog specified by the catalog ID. | -| | `EXEC` | | List all catalogs in a specified project. | + +## `SELECT` examples + +List all catalogs in a specified project. + +```sql +SELECT +name, +createTime, +deleteTime, +expireTime, +updateTime +FROM google.biglake.catalogs +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new catalogs resource. + + + + +```sql +/*+ create */ +INSERT INTO google.biglake.catalogs ( +locationsId, +projectsId, +name, +createTime, +updateTime, +deleteTime, +expireTime +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ deleteTime }}', +'{{ expireTime }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: deleteTime + value: '{{ deleteTime }}' + - name: expireTime + value: '{{ expireTime }}' + +``` + + + +## `DELETE` example + +Deletes the specified catalog resource. + +```sql +DELETE FROM google.biglake.catalogs +WHERE catalogsId = '{{ catalogsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/biglake/databases/index.md b/docs/google-docs/providers/google/biglake/databases/index.md index efa1289c55..021a4376e8 100644 --- a/docs/google-docs/providers/google/biglake/databases/index.md +++ b/docs/google-docs/providers/google/biglake/databases/index.md @@ -1,3 +1,4 @@ + --- title: databases hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - databases - biglake - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an database resource or lists databases in a region ## Overview
@@ -30,13 +32,14 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. The resource name. Format: projects/{project_id_or_number}/locations/{location_id}/catalogs/{catalog_id}/databases/{database_id} | +| | `string` | Output only. The resource name. Format: projects/{project_id_or_number}/locations/{location_id}/catalogs/{catalog_id}/databases/{database_id} | | | `string` | Output only. The creation time of the database. | | | `string` | Output only. The deletion time of the database. Only set after the database is deleted. | | | `string` | Output only. The time when this database is considered expired. Only set after the database is deleted. | | | `object` | Options of a Hive database. | | | `string` | The database type. | | | `string` | Output only. The last modification time of the database. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -45,4 +48,121 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new database. | | | `DELETE` | | Deletes an existing database specified by the database ID. | | | `UPDATE` | | Updates an existing database specified by the database ID. | -| | `EXEC` | | List all databases in a specified catalog. | + +## `SELECT` examples + +List all databases in a specified catalog. + +```sql +SELECT +name, +createTime, +deleteTime, +expireTime, +hiveOptions, +type, +updateTime +FROM google.biglake.databases +WHERE catalogsId = '{{ catalogsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new databases resource. + + + + +```sql +/*+ create */ +INSERT INTO google.biglake.databases ( +catalogsId, +locationsId, +projectsId, +hiveOptions, +name, +createTime, +updateTime, +deleteTime, +expireTime, +type +) +SELECT +'{{ catalogsId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ hiveOptions }}', +'{{ name }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ deleteTime }}', +'{{ expireTime }}', +'{{ type }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: hiveOptions + value: '{{ hiveOptions }}' + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: deleteTime + value: '{{ deleteTime }}' + - name: expireTime + value: '{{ expireTime }}' + - name: type + value: '{{ type }}' + +``` + + + +## `UPDATE` example + +Updates a database only if the necessary resources are available. + +```sql +UPDATE google.biglake.databases +SET +hiveOptions = '{{ hiveOptions }}', +name = '{{ name }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +deleteTime = '{{ deleteTime }}', +expireTime = '{{ expireTime }}', +type = '{{ type }}' +WHERE +catalogsId = '{{ catalogsId }}' +AND databasesId = '{{ databasesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified database resource. + +```sql +DELETE FROM google.biglake.databases +WHERE catalogsId = '{{ catalogsId }}' +AND databasesId = '{{ databasesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/biglake/index.md b/docs/google-docs/providers/google/biglake/index.md index cd86359700..d22f8f8f33 100644 --- a/docs/google-docs/providers/google/biglake/index.md +++ b/docs/google-docs/providers/google/biglake/index.md @@ -9,41 +9,30 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -The BigLake API provides access to BigLake Metastore, a serverless, fully managed, and highly available metastore for open-source data that can be used for querying Apache Iceberg tables in BigQuery. - +The biglake service documentation. + :::info Service Summary
total resources: 3
-total selectable resources: 3
-total methods: 18
::: -## Overview -
- - - - - -
Namegoogle.biglake
TypeService
TitleBigLake API
DescriptionThe BigLake API provides access to BigLake Metastore, a serverless, fully managed, and highly available metastore for open-source data that can be used for querying Apache Iceberg tables in BigQuery.
Idbiglake:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/biglake/tables/index.md b/docs/google-docs/providers/google/biglake/tables/index.md index 3a1b1c3d8a..e1a008bb31 100644 --- a/docs/google-docs/providers/google/biglake/tables/index.md +++ b/docs/google-docs/providers/google/biglake/tables/index.md @@ -1,3 +1,4 @@ + --- title: tables hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - tables - biglake - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an table resource or lists tables in a region ## Overview @@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. The resource name. Format: projects/{project_id_or_number}/locations/{location_id}/catalogs/{catalog_id}/databases/{database_id}/tables/{table_id} | +| | `string` | Output only. The resource name. Format: projects/{project_id_or_number}/locations/{location_id}/catalogs/{catalog_id}/databases/{database_id}/tables/{table_id} | | | `string` | Output only. The creation time of the table. | | | `string` | Output only. The deletion time of the table. Only set after the table is deleted. | | | `string` | The checksum of a table object computed by the server based on the value of other fields. It may be sent on update requests to ensure the client has an up-to-date value before proceeding. It is only checked for update table operations. | @@ -38,6 +40,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Options of a Hive table. | | | `string` | The table type. | | | `string` | Output only. The last modification time of the table. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -46,5 +49,133 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new table. | | | `DELETE` | | Deletes an existing table specified by the table ID. | | | `UPDATE` | | Updates an existing table specified by the table ID. | -| | `EXEC` | | List all tables in a specified database. | | | `EXEC` | | Renames an existing table specified by the table ID. | + +## `SELECT` examples + +List all tables in a specified database. + +```sql +SELECT +name, +createTime, +deleteTime, +etag, +expireTime, +hiveOptions, +type, +updateTime +FROM google.biglake.tables +WHERE catalogsId = '{{ catalogsId }}' +AND databasesId = '{{ databasesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new tables resource. + + + + +```sql +/*+ create */ +INSERT INTO google.biglake.tables ( +catalogsId, +databasesId, +locationsId, +projectsId, +hiveOptions, +name, +createTime, +updateTime, +deleteTime, +expireTime, +type, +etag +) +SELECT +'{{ catalogsId }}', +'{{ databasesId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ hiveOptions }}', +'{{ name }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ deleteTime }}', +'{{ expireTime }}', +'{{ type }}', +'{{ etag }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: hiveOptions + value: '{{ hiveOptions }}' + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: deleteTime + value: '{{ deleteTime }}' + - name: expireTime + value: '{{ expireTime }}' + - name: type + value: '{{ type }}' + - name: etag + value: '{{ etag }}' + +``` + + + +## `UPDATE` example + +Updates a table only if the necessary resources are available. + +```sql +UPDATE google.biglake.tables +SET +hiveOptions = '{{ hiveOptions }}', +name = '{{ name }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +deleteTime = '{{ deleteTime }}', +expireTime = '{{ expireTime }}', +type = '{{ type }}', +etag = '{{ etag }}' +WHERE +catalogsId = '{{ catalogsId }}' +AND databasesId = '{{ databasesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND tablesId = '{{ tablesId }}'; +``` + +## `DELETE` example + +Deletes the specified table resource. + +```sql +DELETE FROM google.biglake.tables +WHERE catalogsId = '{{ catalogsId }}' +AND databasesId = '{{ databasesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND tablesId = '{{ tablesId }}'; +``` diff --git a/docs/google-docs/providers/google/bigquery/datasets/index.md b/docs/google-docs/providers/google/bigquery/datasets/index.md index 026f2352ce..cf718bbe02 100644 --- a/docs/google-docs/providers/google/bigquery/datasets/index.md +++ b/docs/google-docs/providers/google/bigquery/datasets/index.md @@ -1,3 +1,4 @@ + --- title: datasets hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - datasets - bigquery - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an dataset resource or lists datasets in a region ## Overview
@@ -32,11 +34,11 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Output only. The fully-qualified unique name of the dataset in the format projectId:datasetId. The dataset name without the project name is given in the datasetId field. When creating a new dataset, leave this field blank, and instead specify the datasetId field. | | | `string` | Optional. A user-friendly description of the dataset. | -| | `array` | Optional. An array of objects that define dataset access for one or more entities. You can set this property when inserting or updating a dataset in order to control who is allowed to access the data. If unspecified at dataset creation time, BigQuery adds default dataset access for the following entities: access.specialGroup: projectReaders; access.role: READER; access.specialGroup: projectWriters; access.role: WRITER; access.specialGroup: projectOwners; access.role: OWNER; access.userByEmail: [dataset creator email]; access.role: OWNER; | +| | `array` | Optional. An array of objects that define dataset access for one or more entities. You can set this property when inserting or updating a dataset in order to control who is allowed to access the data. If unspecified at dataset creation time, BigQuery adds default dataset access for the following entities: access.specialGroup: projectReaders; access.role: READER; access.specialGroup: projectWriters; access.role: WRITER; access.specialGroup: projectOwners; access.role: OWNER; access.userByEmail: [dataset creator email]; access.role: OWNER; If you patch a dataset, then this field is overwritten by the patched dataset's access field. To add entities, you must supply the entire existing access array in addition to any new entities that you want to add. | | | `string` | Output only. The time when this dataset was created, in milliseconds since the epoch. | -| | `object` | | +| | `object` | Identifier for a dataset. | | | `string` | Optional. Defines the default collation specification of future tables created in the dataset. If a table is created in this dataset without table-level default collation, then the table inherits the dataset default collation, which is applied to the string fields that do not have explicit collation specified. A change to this field affects only tables created afterwards, and does not alter the existing tables. The following values are supported: * 'und:ci': undetermined locale, case insensitive. * '': empty string. Default to case-sensitive behavior. | -| | `object` | | +| | `object` | Configuration for Cloud KMS encryption settings. | | | `string` | This default partition expiration, expressed in milliseconds. When new time-partitioned tables are created in a dataset where this property is set, the table will inherit this value, propagated as the `TimePartitioning.expirationMs` property on the new table. If you set `TimePartitioning.expirationMs` explicitly when creating a table, the `defaultPartitionExpirationMs` of the containing dataset is ignored. When creating a partitioned table, if `defaultPartitionExpirationMs` is set, the `defaultTableExpirationMs` value is ignored and the table will not be inherit a table expiration deadline. | | | `string` | Optional. Defines the default rounding mode specification of new tables created within this dataset. During table creation, if this field is specified, the table within this dataset will inherit the default rounding mode of the dataset. Setting the default rounding mode on a table overrides this option. Existing tables in the dataset are unaffected. If columns are defined during that table creation, they will immediately inherit the table's default rounding mode, unless otherwise specified. | | | `string` | Optional. The default lifetime of all tables in the dataset, in milliseconds. The minimum lifetime value is 3600000 milliseconds (one hour). To clear an existing default expiration with a PATCH request, set to 0. Once this property is set, all newly-created tables in the dataset will have an expirationTime property set to the creation time plus the value in this property, and changing the value will only affect new tables, not existing ones. When the expirationTime for a given table is reached, that table will be deleted automatically. If a table's expirationTime is modified or removed before the table expires, or if you provide an explicit expirationTime when creating a table, that value takes precedence over the default expiration time indicated by this property. | @@ -46,19 +48,21 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Optional. A descriptive name for the dataset. | | | `boolean` | Optional. TRUE if the dataset and its table names are case-insensitive, otherwise FALSE. By default, this is FALSE, which means the dataset and its table names are case-sensitive. This field does not affect routine references. | | | `string` | Output only. The resource type. | -| | `object` | The labels associated with this dataset. You can use these to organize and group your datasets. You can set this property when inserting or updating a dataset. See Creating and Updating Dataset Labels for more information. | +| | `object` | The labels associated with this dataset. You can use these to organize and group your datasets. You can set this property when inserting or updating a dataset. See [Creating and Updating Dataset Labels](https://cloud.google.com/bigquery/docs/creating-managing-labels#creating_and_updating_dataset_labels) for more information. | | | `string` | Output only. The date when this dataset was last modified, in milliseconds since the epoch. | | | `object` | Metadata about the Linked Dataset. | | | `object` | A dataset source type which refers to another BigQuery dataset. | | | `string` | The geographic location where the dataset should reside. See https://cloud.google.com/bigquery/docs/locations for supported locations. | | | `string` | Optional. Defines the time travel window in hours. The value can be from 48 to 168 hours (2 to 7 days). The default value is 168 hours if this is not set. | +| | `object` | Optional. The [tags](/bigquery/docs/tags) attached to this dataset. Tag keys are globally unique. Tag key is expected to be in the namespaced format, for example "123456789012/environment" where 123456789012 is the ID of the parent organization or project resource for this tag key. Tag value is expected to be the short name, for example "Production". See [Tag definitions](/iam/docs/tags-access-control#definitions) for more details. | | | `object` | | | | `boolean` | Output only. Reserved for future use. | | | `boolean` | Output only. Reserved for future use. | | | `string` | Output only. A URL that can be used to access the resource again. You can use this URL in Get or Update requests to the resource. | | | `string` | Optional. Updates storage_billing_model for the dataset. | -| | `array` | Output only. Tags for the Dataset. | +| | `array` | Output only. Tags for the dataset. To provide tags as inputs, use the `resourceTags` field. | | | `string` | Output only. Same as `type` in `ListFormatDataset`. The type of the dataset, one of: * DEFAULT - only accessible by owner and authorized accounts, * PUBLIC - accessible by everyone, * LINKED - linked dataset, * EXTERNAL - dataset with definition in external metadata catalog. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -67,6 +71,273 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new empty dataset. | | | `DELETE` | | Deletes the dataset specified by the datasetId value. Before you can delete a dataset, you must delete all its tables, either manually or by specifying deleteContents. Immediately after deletion, you can create another dataset with the same name. | | | `UPDATE` | | Updates information in an existing dataset. The update method replaces the entire dataset resource, whereas the patch method only replaces fields that are provided in the submitted dataset resource. This method supports RFC5789 patch semantics. | -| | `UPDATE` | | Updates information in an existing dataset. The update method replaces the entire dataset resource, whereas the patch method only replaces fields that are provided in the submitted dataset resource. | -| | `EXEC` | | Lists all datasets in the specified project to which the user has been granted the READER dataset role. | | | `EXEC` | | Undeletes a dataset which is within time travel window based on datasetId. If a time is specified, the dataset version deleted at that time is undeleted, else the last live version is undeleted. | +| | `EXEC` | | Updates information in an existing dataset. The update method replaces the entire dataset resource, whereas the patch method only replaces fields that are provided in the submitted dataset resource. | + +## `SELECT` examples + +Lists all datasets in the specified project to which the user has been granted the READER dataset role. + +```sql +SELECT +id, +description, +access, +creationTime, +datasetReference, +defaultCollation, +defaultEncryptionConfiguration, +defaultPartitionExpirationMs, +defaultRoundingMode, +defaultTableExpirationMs, +etag, +externalCatalogDatasetOptions, +externalDatasetReference, +friendlyName, +isCaseInsensitive, +kind, +labels, +lastModifiedTime, +linkedDatasetMetadata, +linkedDatasetSource, +location, +maxTimeTravelHours, +resourceTags, +restrictions, +satisfiesPzi, +satisfiesPzs, +selfLink, +storageBillingModel, +tags, +type +FROM google.bigquery.datasets +WHERE projectId = '{{ projectId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new datasets resource. + + + + +```sql +/*+ create */ +INSERT INTO google.bigquery.datasets ( +projectId, +access, +creationTime, +datasetReference, +defaultCollation, +defaultEncryptionConfiguration, +defaultPartitionExpirationMs, +defaultRoundingMode, +defaultTableExpirationMs, +description, +etag, +externalCatalogDatasetOptions, +externalDatasetReference, +friendlyName, +id, +isCaseInsensitive, +kind, +labels, +lastModifiedTime, +linkedDatasetMetadata, +linkedDatasetSource, +location, +maxTimeTravelHours, +resourceTags, +restrictions, +satisfiesPzi, +satisfiesPzs, +selfLink, +storageBillingModel, +tags, +type +) +SELECT +'{{ projectId }}', +'{{ access }}', +'{{ creationTime }}', +'{{ datasetReference }}', +'{{ defaultCollation }}', +'{{ defaultEncryptionConfiguration }}', +'{{ defaultPartitionExpirationMs }}', +'{{ defaultRoundingMode }}', +'{{ defaultTableExpirationMs }}', +'{{ description }}', +'{{ etag }}', +'{{ externalCatalogDatasetOptions }}', +'{{ externalDatasetReference }}', +'{{ friendlyName }}', +'{{ id }}', +true|false, +'{{ kind }}', +'{{ labels }}', +'{{ lastModifiedTime }}', +'{{ linkedDatasetMetadata }}', +'{{ linkedDatasetSource }}', +'{{ location }}', +'{{ maxTimeTravelHours }}', +'{{ resourceTags }}', +'{{ restrictions }}', +true|false, +true|false, +'{{ selfLink }}', +'{{ storageBillingModel }}', +'{{ tags }}', +'{{ type }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: access + value: + - - name: dataset + value: '{{ dataset }}' + - name: domain + value: '{{ domain }}' + - name: groupByEmail + value: '{{ groupByEmail }}' + - name: iamMember + value: '{{ iamMember }}' + - name: role + value: '{{ role }}' + - name: routine + value: '{{ routine }}' + - name: specialGroup + value: '{{ specialGroup }}' + - name: userByEmail + value: '{{ userByEmail }}' + - name: view + value: '{{ view }}' + - name: creationTime + value: '{{ creationTime }}' + - name: datasetReference + value: '{{ datasetReference }}' + - name: defaultCollation + value: '{{ defaultCollation }}' + - name: defaultEncryptionConfiguration + value: '{{ defaultEncryptionConfiguration }}' + - name: defaultPartitionExpirationMs + value: '{{ defaultPartitionExpirationMs }}' + - name: defaultRoundingMode + value: '{{ defaultRoundingMode }}' + - name: defaultTableExpirationMs + value: '{{ defaultTableExpirationMs }}' + - name: description + value: '{{ description }}' + - name: etag + value: '{{ etag }}' + - name: externalCatalogDatasetOptions + value: '{{ externalCatalogDatasetOptions }}' + - name: externalDatasetReference + value: '{{ externalDatasetReference }}' + - name: friendlyName + value: '{{ friendlyName }}' + - name: id + value: '{{ id }}' + - name: isCaseInsensitive + value: '{{ isCaseInsensitive }}' + - name: kind + value: '{{ kind }}' + - name: labels + value: '{{ labels }}' + - name: lastModifiedTime + value: '{{ lastModifiedTime }}' + - name: linkedDatasetMetadata + value: '{{ linkedDatasetMetadata }}' + - name: linkedDatasetSource + value: '{{ linkedDatasetSource }}' + - name: location + value: '{{ location }}' + - name: maxTimeTravelHours + value: '{{ maxTimeTravelHours }}' + - name: resourceTags + value: '{{ resourceTags }}' + - name: restrictions + value: '{{ restrictions }}' + - name: satisfiesPzi + value: '{{ satisfiesPzi }}' + - name: satisfiesPzs + value: '{{ satisfiesPzs }}' + - name: selfLink + value: '{{ selfLink }}' + - name: storageBillingModel + value: '{{ storageBillingModel }}' + - name: tags + value: + - - name: tagKey + value: '{{ tagKey }}' + - name: tagValue + value: '{{ tagValue }}' + - name: type + value: '{{ type }}' + +``` + + + +## `UPDATE` example + +Updates a dataset only if the necessary resources are available. + +```sql +UPDATE google.bigquery.datasets +SET +access = '{{ access }}', +creationTime = '{{ creationTime }}', +datasetReference = '{{ datasetReference }}', +defaultCollation = '{{ defaultCollation }}', +defaultEncryptionConfiguration = '{{ defaultEncryptionConfiguration }}', +defaultPartitionExpirationMs = '{{ defaultPartitionExpirationMs }}', +defaultRoundingMode = '{{ defaultRoundingMode }}', +defaultTableExpirationMs = '{{ defaultTableExpirationMs }}', +description = '{{ description }}', +etag = '{{ etag }}', +externalCatalogDatasetOptions = '{{ externalCatalogDatasetOptions }}', +externalDatasetReference = '{{ externalDatasetReference }}', +friendlyName = '{{ friendlyName }}', +id = '{{ id }}', +isCaseInsensitive = true|false, +kind = '{{ kind }}', +labels = '{{ labels }}', +lastModifiedTime = '{{ lastModifiedTime }}', +linkedDatasetMetadata = '{{ linkedDatasetMetadata }}', +linkedDatasetSource = '{{ linkedDatasetSource }}', +location = '{{ location }}', +maxTimeTravelHours = '{{ maxTimeTravelHours }}', +resourceTags = '{{ resourceTags }}', +restrictions = '{{ restrictions }}', +satisfiesPzi = true|false, +satisfiesPzs = true|false, +selfLink = '{{ selfLink }}', +storageBillingModel = '{{ storageBillingModel }}', +tags = '{{ tags }}', +type = '{{ type }}' +WHERE ++datasetId = '{{ +datasetId }}' +AND projectId = '{{ projectId }}'; +``` + +## `DELETE` example + +Deletes the specified dataset resource. + +```sql +DELETE FROM google.bigquery.datasets +WHERE +datasetId = '{{ +datasetId }}' +AND projectId = '{{ projectId }}'; +``` diff --git a/docs/google-docs/providers/google/bigquery/index.md b/docs/google-docs/providers/google/bigquery/index.md index 64a719d1ee..f0e9be9876 100644 --- a/docs/google-docs/providers/google/bigquery/index.md +++ b/docs/google-docs/providers/google/bigquery/index.md @@ -9,34 +9,23 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -A data platform for customers to create, manage, share and query data. - +The bigquery service documentation. + :::info Service Summary
total resources: 11
-total selectable resources: 10
-total methods: 42
::: -## Overview -
- - - - - -
Namegoogle.bigquery
TypeService
TitleBigQuery API
DescriptionA data platform for customers to create, manage, share and query data.
Idbigquery:v24.06.00236
- ## Resources
@@ -45,13 +34,13 @@ A data platform for customers to create, manage, share and query data. jobs_query_results
models
projects
-routines
+routines
+tables_iam_policies
+ \ No newline at end of file diff --git a/docs/google-docs/providers/google/bigquery/jobs/index.md b/docs/google-docs/providers/google/bigquery/jobs/index.md index 61df7aa481..068ed7b291 100644 --- a/docs/google-docs/providers/google/bigquery/jobs/index.md +++ b/docs/google-docs/providers/google/bigquery/jobs/index.md @@ -1,3 +1,4 @@ + --- title: jobs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - jobs - bigquery - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an job resource or lists jobs in a region ## Overview @@ -41,6 +43,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Statistics for a single job execution. | | | `object` | | | | `string` | Output only. Email address of the user who ran the job. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -48,6 +51,114 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists all jobs that you started in the specified project. Job information is available for a six month period after creation. The job list is sorted in reverse chronological order, by job creation time. Requires the Can View project role, or the Is Owner project role if you set the allUsers property. | | | `INSERT` | | Starts a new asynchronous job. This API has two different kinds of endpoint URIs, as this method supports a variety of use cases. * The *Metadata* URI is used for most interactions, as it accepts the job configuration directly. * The *Upload* URI is ONLY for the case when you're sending both a load job configuration and a data stream together. In this case, the Upload URI accepts the job configuration and the data as two distinct multipart MIME parts. | | | `DELETE` | | Requests the deletion of the metadata of a job. This call returns when the job's metadata is deleted. | -| | `EXEC` | | Lists all jobs that you started in the specified project. Job information is available for a six month period after creation. The job list is sorted in reverse chronological order, by job creation time. Requires the Can View project role, or the Is Owner project role if you set the allUsers property. | | | `EXEC` | | Requests that a job be cancelled. This call will return immediately, and the client will need to poll for the job status to see if the cancel completed successfully. Cancelled jobs may still incur costs. | | | `EXEC` | | Runs a BigQuery SQL query synchronously and returns query results if the query completes within a specified timeout. | + +## `SELECT` examples + +Lists all jobs that you started in the specified project. Job information is available for a six month period after creation. The job list is sorted in reverse chronological order, by job creation time. Requires the Can View project role, or the Is Owner project role if you set the allUsers property. + +```sql +SELECT +id, +configuration, +etag, +jobCreationReason, +jobReference, +kind, +principal_subject, +selfLink, +statistics, +status, +user_email +FROM google.bigquery.jobs +WHERE projectId = '{{ projectId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new jobs resource. + + + + +```sql +/*+ create */ +INSERT INTO google.bigquery.jobs ( +projectId, +configuration, +etag, +id, +jobCreationReason, +jobReference, +kind, +principal_subject, +selfLink, +statistics, +status, +user_email +) +SELECT +'{{ projectId }}', +'{{ configuration }}', +'{{ etag }}', +'{{ id }}', +'{{ jobCreationReason }}', +'{{ jobReference }}', +'{{ kind }}', +'{{ principal_subject }}', +'{{ selfLink }}', +'{{ statistics }}', +'{{ status }}', +'{{ user_email }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: configuration + value: '{{ configuration }}' + - name: etag + value: '{{ etag }}' + - name: id + value: '{{ id }}' + - name: jobCreationReason + value: '{{ jobCreationReason }}' + - name: jobReference + value: '{{ jobReference }}' + - name: kind + value: '{{ kind }}' + - name: principal_subject + value: '{{ principal_subject }}' + - name: selfLink + value: '{{ selfLink }}' + - name: statistics + value: '{{ statistics }}' + - name: status + value: '{{ status }}' + - name: user_email + value: '{{ user_email }}' + +``` + + + +## `DELETE` example + +Deletes the specified job resource. + +```sql +DELETE FROM google.bigquery.jobs +WHERE +jobId = '{{ +jobId }}' +AND projectId = '{{ projectId }}'; +``` diff --git a/docs/google-docs/providers/google/bigquery/jobs_query_results/index.md b/docs/google-docs/providers/google/bigquery/jobs_query_results/index.md index e3f8207319..f0fbb78737 100644 --- a/docs/google-docs/providers/google/bigquery/jobs_query_results/index.md +++ b/docs/google-docs/providers/google/bigquery/jobs_query_results/index.md @@ -1,3 +1,4 @@ + --- title: jobs_query_results hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - jobs_query_results - bigquery - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an jobs_query_result resource or lists jobs_query_results in a region ## Overview
@@ -42,7 +44,31 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Schema of a table | | | `string` | The total number of bytes processed for this query. | | | `string` | The total number of rows in the complete query result set, which can be more than the number of rows in this single page of results. Present only when the query completes successfully. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | RPC to get the results of a query job. | + +## `SELECT` examples + +RPC to get the results of a query job. + +```sql +SELECT +cacheHit, +errors, +etag, +jobComplete, +jobReference, +kind, +numDmlAffectedRows, +pageToken, +rows, +schema, +totalBytesProcessed, +totalRows +FROM google.bigquery.jobs_query_results +WHERE +jobId = '{{ +jobId }}' +AND projectId = '{{ projectId }}'; +``` diff --git a/docs/google-docs/providers/google/bigquery/models/index.md b/docs/google-docs/providers/google/bigquery/models/index.md index bac809a8d7..6990ce9aba 100644 --- a/docs/google-docs/providers/google/bigquery/models/index.md +++ b/docs/google-docs/providers/google/bigquery/models/index.md @@ -1,3 +1,4 @@ + --- title: models hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - models - bigquery - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an model resource or lists models in a region ## Overview
@@ -34,7 +36,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The best trial_id across all training runs. | | | `string` | Output only. The time when this model was created, in millisecs since the epoch. | | | `string` | Output only. The default trial_id to use in TVFs when the trial_id is not passed in. For single-objective [hyperparameter tuning](/bigquery-ml/docs/reference/standard-sql/bigqueryml-syntax-hp-tuning-overview) models, this is the best trial ID. For multi-objective [hyperparameter tuning](/bigquery-ml/docs/reference/standard-sql/bigqueryml-syntax-hp-tuning-overview) models, this is the smallest trial ID among all Pareto optimal trials. | -| | `object` | | +| | `object` | Configuration for Cloud KMS encryption settings. | | | `string` | Output only. A hash of this resource. | | | `string` | Optional. The time when this model expires, in milliseconds since the epoch. If not present, the model will persist indefinitely. Expired models will be deleted and their storage reclaimed. The defaultTableExpirationMs property of the encapsulating dataset can be used to set a default expirationTime on newly created models. | | | `array` | Output only. Input feature columns for the model inference. If the model is trained with TRANSFORM clause, these are the input of the TRANSFORM clause. | @@ -51,6 +53,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Remote Model Info | | | `array` | Information for all training runs in increasing order of start_time. | | | `array` | Output only. This field will be populated if a TRANSFORM clause was used to train a model. TRANSFORM clause (if used) takes feature_columns as input and outputs transform_columns. transform_columns then are used to train the model. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -58,4 +61,80 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists all models in the specified dataset. Requires the READER dataset role. After retrieving the list of models, you can get information about a particular model by calling the models.get method. | | | `DELETE` | | Deletes the model specified by modelId from the dataset. | | | `UPDATE` | | Patch specific fields in the specified model. | -| | `EXEC` | | Lists all models in the specified dataset. Requires the READER dataset role. After retrieving the list of models, you can get information about a particular model by calling the models.get method. | + +## `SELECT` examples + +Lists all models in the specified dataset. Requires the READER dataset role. After retrieving the list of models, you can get information about a particular model by calling the models.get method. + +```sql +SELECT +description, +bestTrialId, +creationTime, +defaultTrialId, +encryptionConfiguration, +etag, +expirationTime, +featureColumns, +friendlyName, +hparamSearchSpaces, +hparamTrials, +labelColumns, +labels, +lastModifiedTime, +location, +modelReference, +modelType, +optimalTrialIds, +remoteModelInfo, +trainingRuns, +transformColumns +FROM google.bigquery.models +WHERE +datasetId = '{{ +datasetId }}' +AND projectId = '{{ projectId }}'; +``` + +## `UPDATE` example + +Updates a model only if the necessary resources are available. + +```sql +UPDATE google.bigquery.models +SET +bestTrialId = '{{ bestTrialId }}', +creationTime = '{{ creationTime }}', +defaultTrialId = '{{ defaultTrialId }}', +description = '{{ description }}', +encryptionConfiguration = '{{ encryptionConfiguration }}', +etag = '{{ etag }}', +expirationTime = '{{ expirationTime }}', +featureColumns = '{{ featureColumns }}', +friendlyName = '{{ friendlyName }}', +hparamSearchSpaces = '{{ hparamSearchSpaces }}', +hparamTrials = '{{ hparamTrials }}', +labelColumns = '{{ labelColumns }}', +labels = '{{ labels }}', +lastModifiedTime = '{{ lastModifiedTime }}', +location = '{{ location }}', +modelReference = '{{ modelReference }}', +modelType = '{{ modelType }}', +optimalTrialIds = '{{ optimalTrialIds }}', +remoteModelInfo = '{{ remoteModelInfo }}', +trainingRuns = '{{ trainingRuns }}', +transformColumns = '{{ transformColumns }}' +WHERE ++datasetId = '{{ +datasetId }}' +AND +modelId = '{{ +modelId }}' +AND projectId = '{{ projectId }}'; +``` + +## `DELETE` example + +Deletes the specified model resource. + +```sql +DELETE FROM google.bigquery.models +WHERE +datasetId = '{{ +datasetId }}' +AND +modelId = '{{ +modelId }}' +AND projectId = '{{ projectId }}'; +``` diff --git a/docs/google-docs/providers/google/bigquery/projects/index.md b/docs/google-docs/providers/google/bigquery/projects/index.md index c936c70d3c..3e1effe708 100644 --- a/docs/google-docs/providers/google/bigquery/projects/index.md +++ b/docs/google-docs/providers/google/bigquery/projects/index.md @@ -1,3 +1,4 @@ + --- title: projects hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - projects - bigquery - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an project resource or lists projects in a region ## Overview
@@ -35,8 +37,23 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The resource type. | | | `string` | The numeric ID of this project. | | | `object` | A unique reference to a project. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | RPC to list projects to which the user has been granted any project role. Users of this method are encouraged to consider the [Resource Manager](https://cloud.google.com/resource-manager/docs/) API, which provides the underlying data for this method and has more capabilities. | + +## `SELECT` examples + +RPC to list projects to which the user has been granted any project role. Users of this method are encouraged to consider the [Resource Manager](https://cloud.google.com/resource-manager/docs/) API, which provides the underlying data for this method and has more capabilities. + +```sql +SELECT +id, +friendlyName, +kind, +numericId, +projectReference +FROM google.bigquery.projects +WHERE = '{{ }}'; +``` diff --git a/docs/google-docs/providers/google/bigquery/routines/index.md b/docs/google-docs/providers/google/bigquery/routines/index.md index 5a15cbb26a..fbb320eb07 100644 --- a/docs/google-docs/providers/google/bigquery/routines/index.md +++ b/docs/google-docs/providers/google/bigquery/routines/index.md @@ -1,3 +1,4 @@ + --- title: routines hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - routines - bigquery - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an routine resource or lists routines in a region ## Overview
@@ -42,12 +44,13 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The time when this routine was last modified, in milliseconds since the epoch. | | | `object` | Options for a remote user-defined function. | | | `object` | A table type | -| | `object` | The data type of a variable such as a function argument. Examples include: * INT64: `{"typeKind": "INT64"}` * ARRAY: { "typeKind": "ARRAY", "arrayElementType": {"typeKind": "STRING"} } * STRUCT>: { "typeKind": "STRUCT", "structType": { "fields": [ { "name": "x", "type": {"typeKind": "STRING"} }, { "name": "y", "type": { "typeKind": "ARRAY", "arrayElementType": {"typeKind": "DATE"} } } ] } } | +| | `object` | The data type of a variable such as a function argument. Examples include: * INT64: `{"typeKind": "INT64"}` * ARRAY: { "typeKind": "ARRAY", "arrayElementType": {"typeKind": "STRING"} } * STRUCT>: { "typeKind": "STRUCT", "structType": { "fields": [ { "name": "x", "type": {"typeKind": "STRING"} }, { "name": "y", "type": { "typeKind": "ARRAY", "arrayElementType": {"typeKind": "DATE"} } } ] } } | | | `object` | Id path of a routine. | | | `string` | Required. The type of routine. | | | `string` | Optional. The security mode of the routine, if defined. If not defined, the security mode is automatically determined from the routine's configuration. | | | `object` | Options for a user-defined Spark routine. | | | `boolean` | Optional. Use this option to catch many common errors. Error checking is not exhaustive, and successfully creating a procedure doesn't guarantee that the procedure will successfully execute at runtime. If `strictMode` is set to `TRUE`, the procedure body is further checked for errors such as non-existent tables or columns. The `CREATE PROCEDURE` statement fails if the body fails any of these checks. If `strictMode` is set to `FALSE`, the procedure body is checked only for syntax. For procedures that invoke themselves recursively, specify `strictMode=FALSE` to avoid non-existent procedure errors during validation. Default value is `TRUE`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -55,5 +58,152 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists all routines in the specified dataset. Requires the READER dataset role. | | | `INSERT` | | Creates a new routine in the dataset. | | | `DELETE` | | Deletes the routine specified by routineId from the dataset. | -| | `UPDATE` | | Updates information in an existing routine. The update method replaces the entire Routine resource. | -| | `EXEC` | | Lists all routines in the specified dataset. Requires the READER dataset role. | +| | `EXEC` | | Updates information in an existing routine. The update method replaces the entire Routine resource. | + +## `SELECT` examples + +Lists all routines in the specified dataset. Requires the READER dataset role. + +```sql +SELECT +description, +arguments, +creationTime, +dataGovernanceType, +definitionBody, +determinismLevel, +etag, +importedLibraries, +language, +lastModifiedTime, +remoteFunctionOptions, +returnTableType, +returnType, +routineReference, +routineType, +securityMode, +sparkOptions, +strictMode +FROM google.bigquery.routines +WHERE +datasetId = '{{ +datasetId }}' +AND projectId = '{{ projectId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new routines resource. + + + + +```sql +/*+ create */ +INSERT INTO google.bigquery.routines ( ++datasetId, +projectId, +arguments, +creationTime, +dataGovernanceType, +definitionBody, +description, +determinismLevel, +etag, +importedLibraries, +language, +lastModifiedTime, +remoteFunctionOptions, +returnTableType, +returnType, +routineReference, +routineType, +securityMode, +sparkOptions, +strictMode +) +SELECT +'{{ +datasetId }}', +'{{ projectId }}', +'{{ arguments }}', +'{{ creationTime }}', +'{{ dataGovernanceType }}', +'{{ definitionBody }}', +'{{ description }}', +'{{ determinismLevel }}', +'{{ etag }}', +'{{ importedLibraries }}', +'{{ language }}', +'{{ lastModifiedTime }}', +'{{ remoteFunctionOptions }}', +'{{ returnTableType }}', +'{{ returnType }}', +'{{ routineReference }}', +'{{ routineType }}', +'{{ securityMode }}', +'{{ sparkOptions }}', +true|false +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: arguments + value: '{{ arguments }}' + - name: creationTime + value: '{{ creationTime }}' + - name: dataGovernanceType + value: '{{ dataGovernanceType }}' + - name: definitionBody + value: '{{ definitionBody }}' + - name: description + value: '{{ description }}' + - name: determinismLevel + value: '{{ determinismLevel }}' + - name: etag + value: '{{ etag }}' + - name: importedLibraries + value: '{{ importedLibraries }}' + - name: language + value: '{{ language }}' + - name: lastModifiedTime + value: '{{ lastModifiedTime }}' + - name: remoteFunctionOptions + value: '{{ remoteFunctionOptions }}' + - name: returnTableType + value: '{{ returnTableType }}' + - name: returnType + value: '{{ returnType }}' + - name: routineReference + value: '{{ routineReference }}' + - name: routineType + value: '{{ routineType }}' + - name: securityMode + value: '{{ securityMode }}' + - name: sparkOptions + value: '{{ sparkOptions }}' + - name: strictMode + value: '{{ strictMode }}' + +``` + + + +## `DELETE` example + +Deletes the specified routine resource. + +```sql +DELETE FROM google.bigquery.routines +WHERE +datasetId = '{{ +datasetId }}' +AND +routineId = '{{ +routineId }}' +AND projectId = '{{ projectId }}'; +``` diff --git a/docs/google-docs/providers/google/bigquery/row_access_policies/index.md b/docs/google-docs/providers/google/bigquery/row_access_policies/index.md index 84b7348943..46a7a00a31 100644 --- a/docs/google-docs/providers/google/bigquery/row_access_policies/index.md +++ b/docs/google-docs/providers/google/bigquery/row_access_policies/index.md @@ -1,3 +1,4 @@ + --- title: row_access_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - row_access_policies - bigquery - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an row_access_policy resource or lists row_access_policies in a region ## Overview
@@ -35,8 +37,25 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Required. A SQL boolean expression that represents the rows defined by this row access policy, similar to the boolean expression in a WHERE clause of a SELECT query on a table. References to other tables, routines, and temporary functions are not supported. Examples: region="EU" date_field = CAST('2019-9-27' as DATE) nullable_field is not NULL numeric_field BETWEEN 1.0 AND 5.0 | | | `string` | Output only. The time when this row access policy was last modified, in milliseconds since the epoch. | | | `object` | Id path of a row access policy. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists all row access policies on the specified table. | + +## `SELECT` examples + +Lists all row access policies on the specified table. + +```sql +SELECT +creationTime, +etag, +filterPredicate, +lastModifiedTime, +rowAccessPolicyReference +FROM google.bigquery.row_access_policies +WHERE +datasetId = '{{ +datasetId }}' +AND +tableId = '{{ +tableId }}' +AND projectId = '{{ projectId }}'; +``` diff --git a/docs/google-docs/providers/google/bigquery/service_account/index.md b/docs/google-docs/providers/google/bigquery/service_account/index.md index 5b3ba2e64e..f19b0dc558 100644 --- a/docs/google-docs/providers/google/bigquery/service_account/index.md +++ b/docs/google-docs/providers/google/bigquery/service_account/index.md @@ -1,3 +1,4 @@ + --- title: service_account hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - service_account - bigquery - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an service_account resource or lists service_account in a region ## Overview
@@ -32,7 +34,20 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | The service account email address. | | | `string` | The resource type of the response. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | RPC to get the service account for a project used for interactions with Google Cloud KMS | + +## `SELECT` examples + +RPC to get the service account for a project used for interactions with Google Cloud KMS + +```sql +SELECT +email, +kind +FROM google.bigquery.service_account +WHERE projectId = '{{ projectId }}'; +``` diff --git a/docs/google-docs/providers/google/bigquery/tabledata/index.md b/docs/google-docs/providers/google/bigquery/tabledata/index.md index 5302d67298..99436f1197 100644 --- a/docs/google-docs/providers/google/bigquery/tabledata/index.md +++ b/docs/google-docs/providers/google/bigquery/tabledata/index.md @@ -1,3 +1,4 @@ + --- title: tabledata hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - tabledata - bigquery - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an tabledatum resource or lists tabledata in a region ## Overview
@@ -35,8 +37,92 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | A token used for paging results. Providing this token instead of the startIndex parameter can help you retrieve stable results when an underlying table is changing. | | | `array` | Rows of results. | | | `string` | Total rows of the entire table. In order to show default value 0 we have to present it as string. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | List the content of a table in rows. | | | `INSERT` | | Streams data into BigQuery one record at a time without needing to run a load job. | + +## `SELECT` examples + +List the content of a table in rows. + +```sql +SELECT +etag, +kind, +pageToken, +rows, +totalRows +FROM google.bigquery.tabledata +WHERE +datasetId = '{{ +datasetId }}' +AND +tableId = '{{ +tableId }}' +AND projectId = '{{ projectId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new tabledata resource. + + + + +```sql +/*+ create */ +INSERT INTO google.bigquery.tabledata ( ++datasetId, ++tableId, +projectId, +ignoreUnknownValues, +kind, +rows, +skipInvalidRows, +templateSuffix, +traceId +) +SELECT +'{{ +datasetId }}', +'{{ +tableId }}', +'{{ projectId }}', +true|false, +'{{ kind }}', +'{{ rows }}', +true|false, +'{{ templateSuffix }}', +'{{ traceId }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: ignoreUnknownValues + value: '{{ ignoreUnknownValues }}' + - name: kind + value: '{{ kind }}' + - name: rows + value: + - - name: insertId + value: '{{ insertId }}' + - name: json + value: '{{ json }}' + - name: skipInvalidRows + value: '{{ skipInvalidRows }}' + - name: templateSuffix + value: '{{ templateSuffix }}' + - name: traceId + value: '{{ traceId }}' + +``` + + diff --git a/docs/google-docs/providers/google/bigquery/tables/index.md b/docs/google-docs/providers/google/bigquery/tables/index.md index 5e5c046141..f3ea788a61 100644 --- a/docs/google-docs/providers/google/bigquery/tables/index.md +++ b/docs/google-docs/providers/google/bigquery/tables/index.md @@ -1,3 +1,4 @@ + --- title: tables hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - tables - bigquery - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an table resource or lists tables in a region ## Overview
@@ -38,7 +40,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The time when this table was created, in milliseconds since the epoch. | | | `string` | Optional. Defines the default collation specification of new STRING fields in the table. During table creation or update, if a STRING field is added to this table without explicit collation specified, then the table inherits the table default collation. A change to this field affects only fields added afterwards, and does not alter the existing fields. The following values are supported: * 'und:ci': undetermined locale, case insensitive. * '': empty string. Default to case-sensitive behavior. | | | `string` | Optional. Defines the default rounding mode specification of new decimal fields (NUMERIC OR BIGNUMERIC) in the table. During table creation or update, if a decimal field is added to this table without an explicit rounding mode specified, then the field inherits the table default rounding mode. Changing this field doesn't affect existing fields. | -| | `object` | | +| | `object` | Configuration for Cloud KMS encryption settings. | | | `string` | Output only. A hash of this resource. | | | `string` | Optional. The time when this table expires, in milliseconds since the epoch. If not present, the table will persist indefinitely. Expired tables will be deleted and their storage reclaimed. The defaultTableExpirationMs property of the encapsulating dataset can be used to set a default expirationTime on newly created tables. | | | `object` | Metadata about open source compatible table. The fields contained in these options correspond to hive metastore's table level properties. | @@ -55,6 +57,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Number of logical bytes that are less than 90 days old. | | | `string` | Output only. Number of physical bytes less than 90 days old. This data is not kept in real time, and might be delayed by a few seconds to a few minutes. | | | `string` | Output only. The size of this table in logical bytes, excluding any data in the streaming buffer. | +| | `string` | Output only. Number of physical bytes used by current live data storage. This data is not kept in real time, and might be delayed by a few seconds to a few minutes. | | | `string` | Output only. The number of logical bytes in the table that are considered "long-term storage". | | | `string` | Output only. Number of logical bytes that are more than 90 days old. | | | `string` | Output only. Number of physical bytes more than 90 days old. This data is not kept in real time, and might be delayed by a few seconds to a few minutes. | @@ -64,7 +67,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Number of physical bytes used by time travel storage (deleted or changed data). This data is not kept in real time, and might be delayed by a few seconds to a few minutes. | | | `string` | Output only. Total number of logical bytes in the table or materialized view. | | | `string` | Output only. The physical size of this table in bytes. This also includes storage used for time travel. This data is not kept in real time, and might be delayed by a few seconds to a few minutes. | -| | `object` | The partitioning information, which includes managed table and external table partition information. | +| | `object` | The partitioning information, which includes managed table, external table and metastore partitioned table partition information. | | | `object` | | | | `array` | Optional. Output only. Table references of all replicas currently active on the table. | | | `boolean` | Optional. If set to true, queries over this table require a partition filter that can be used for partition elimination to be specified. | @@ -80,6 +83,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | | | | `string` | Output only. Describes the table type. The following values are supported: * `TABLE`: A normal BigQuery table. * `VIEW`: A virtual table defined by a SQL query. * `EXTERNAL`: A table that references data stored in an external storage system, such as Google Cloud Storage. * `MATERIALIZED_VIEW`: A precomputed view defined by a SQL query. * `SNAPSHOT`: An immutable BigQuery table that preserves the contents of a base table at a particular time. See additional information on [table snapshots](/bigquery/docs/table-snapshots-intro). The default value is `TABLE`. | | | `object` | Describes the definition of a logical view. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -88,5 +92,381 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new, empty table in the dataset. | | | `DELETE` | | Deletes the table specified by tableId from the dataset. If the table contains data, all the data will be deleted. | | | `UPDATE` | | Updates information in an existing table. The update method replaces the entire table resource, whereas the patch method only replaces fields that are provided in the submitted table resource. This method supports RFC5789 patch semantics. | -| | `UPDATE` | | Updates information in an existing table. The update method replaces the entire Table resource, whereas the patch method only replaces fields that are provided in the submitted Table resource. | -| | `EXEC` | | Lists all tables in the specified dataset. Requires the READER dataset role. | +| | `EXEC` | | Updates information in an existing table. The update method replaces the entire Table resource, whereas the patch method only replaces fields that are provided in the submitted Table resource. | + +## `SELECT` examples + +Lists all tables in the specified dataset. Requires the READER dataset role. + +```sql +SELECT +id, +description, +biglakeConfiguration, +cloneDefinition, +clustering, +creationTime, +defaultCollation, +defaultRoundingMode, +encryptionConfiguration, +etag, +expirationTime, +externalCatalogTableOptions, +externalDataConfiguration, +friendlyName, +kind, +labels, +lastModifiedTime, +location, +materializedView, +materializedViewStatus, +maxStaleness, +model, +numActiveLogicalBytes, +numActivePhysicalBytes, +numBytes, +numCurrentPhysicalBytes, +numLongTermBytes, +numLongTermLogicalBytes, +numLongTermPhysicalBytes, +numPartitions, +numPhysicalBytes, +numRows, +numTimeTravelPhysicalBytes, +numTotalLogicalBytes, +numTotalPhysicalBytes, +partitionDefinition, +rangePartitioning, +replicas, +requirePartitionFilter, +resourceTags, +restrictions, +schema, +selfLink, +snapshotDefinition, +streamingBuffer, +tableConstraints, +tableReference, +tableReplicationInfo, +timePartitioning, +type, +view +FROM google.bigquery.tables +WHERE +datasetId = '{{ +datasetId }}' +AND projectId = '{{ projectId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new tables resource. + + + + +```sql +/*+ create */ +INSERT INTO google.bigquery.tables ( ++datasetId, +projectId, +biglakeConfiguration, +cloneDefinition, +clustering, +creationTime, +defaultCollation, +defaultRoundingMode, +description, +encryptionConfiguration, +etag, +expirationTime, +externalCatalogTableOptions, +externalDataConfiguration, +friendlyName, +id, +kind, +labels, +lastModifiedTime, +location, +materializedView, +materializedViewStatus, +maxStaleness, +model, +numActiveLogicalBytes, +numActivePhysicalBytes, +numBytes, +numCurrentPhysicalBytes, +numLongTermBytes, +numLongTermLogicalBytes, +numLongTermPhysicalBytes, +numPartitions, +numPhysicalBytes, +numRows, +numTimeTravelPhysicalBytes, +numTotalLogicalBytes, +numTotalPhysicalBytes, +partitionDefinition, +rangePartitioning, +replicas, +requirePartitionFilter, +resourceTags, +restrictions, +schema, +selfLink, +snapshotDefinition, +streamingBuffer, +tableConstraints, +tableReference, +tableReplicationInfo, +timePartitioning, +type, +view +) +SELECT +'{{ +datasetId }}', +'{{ projectId }}', +'{{ biglakeConfiguration }}', +'{{ cloneDefinition }}', +'{{ clustering }}', +'{{ creationTime }}', +'{{ defaultCollation }}', +'{{ defaultRoundingMode }}', +'{{ description }}', +'{{ encryptionConfiguration }}', +'{{ etag }}', +'{{ expirationTime }}', +'{{ externalCatalogTableOptions }}', +'{{ externalDataConfiguration }}', +'{{ friendlyName }}', +'{{ id }}', +'{{ kind }}', +'{{ labels }}', +'{{ lastModifiedTime }}', +'{{ location }}', +'{{ materializedView }}', +'{{ materializedViewStatus }}', +'{{ maxStaleness }}', +'{{ model }}', +'{{ numActiveLogicalBytes }}', +'{{ numActivePhysicalBytes }}', +'{{ numBytes }}', +'{{ numCurrentPhysicalBytes }}', +'{{ numLongTermBytes }}', +'{{ numLongTermLogicalBytes }}', +'{{ numLongTermPhysicalBytes }}', +'{{ numPartitions }}', +'{{ numPhysicalBytes }}', +'{{ numRows }}', +'{{ numTimeTravelPhysicalBytes }}', +'{{ numTotalLogicalBytes }}', +'{{ numTotalPhysicalBytes }}', +'{{ partitionDefinition }}', +'{{ rangePartitioning }}', +'{{ replicas }}', +true|false, +'{{ resourceTags }}', +'{{ restrictions }}', +'{{ schema }}', +'{{ selfLink }}', +'{{ snapshotDefinition }}', +'{{ streamingBuffer }}', +'{{ tableConstraints }}', +'{{ tableReference }}', +'{{ tableReplicationInfo }}', +'{{ timePartitioning }}', +'{{ type }}', +'{{ view }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: biglakeConfiguration + value: '{{ biglakeConfiguration }}' + - name: cloneDefinition + value: '{{ cloneDefinition }}' + - name: clustering + value: '{{ clustering }}' + - name: creationTime + value: '{{ creationTime }}' + - name: defaultCollation + value: '{{ defaultCollation }}' + - name: defaultRoundingMode + value: '{{ defaultRoundingMode }}' + - name: description + value: '{{ description }}' + - name: encryptionConfiguration + value: '{{ encryptionConfiguration }}' + - name: etag + value: '{{ etag }}' + - name: expirationTime + value: '{{ expirationTime }}' + - name: externalCatalogTableOptions + value: '{{ externalCatalogTableOptions }}' + - name: externalDataConfiguration + value: '{{ externalDataConfiguration }}' + - name: friendlyName + value: '{{ friendlyName }}' + - name: id + value: '{{ id }}' + - name: kind + value: '{{ kind }}' + - name: labels + value: '{{ labels }}' + - name: lastModifiedTime + value: '{{ lastModifiedTime }}' + - name: location + value: '{{ location }}' + - name: materializedView + value: '{{ materializedView }}' + - name: materializedViewStatus + value: '{{ materializedViewStatus }}' + - name: maxStaleness + value: '{{ maxStaleness }}' + - name: model + value: '{{ model }}' + - name: numActiveLogicalBytes + value: '{{ numActiveLogicalBytes }}' + - name: numActivePhysicalBytes + value: '{{ numActivePhysicalBytes }}' + - name: numBytes + value: '{{ numBytes }}' + - name: numCurrentPhysicalBytes + value: '{{ numCurrentPhysicalBytes }}' + - name: numLongTermBytes + value: '{{ numLongTermBytes }}' + - name: numLongTermLogicalBytes + value: '{{ numLongTermLogicalBytes }}' + - name: numLongTermPhysicalBytes + value: '{{ numLongTermPhysicalBytes }}' + - name: numPartitions + value: '{{ numPartitions }}' + - name: numPhysicalBytes + value: '{{ numPhysicalBytes }}' + - name: numRows + value: '{{ numRows }}' + - name: numTimeTravelPhysicalBytes + value: '{{ numTimeTravelPhysicalBytes }}' + - name: numTotalLogicalBytes + value: '{{ numTotalLogicalBytes }}' + - name: numTotalPhysicalBytes + value: '{{ numTotalPhysicalBytes }}' + - name: partitionDefinition + value: '{{ partitionDefinition }}' + - name: rangePartitioning + value: '{{ rangePartitioning }}' + - name: replicas + value: '{{ replicas }}' + - name: requirePartitionFilter + value: '{{ requirePartitionFilter }}' + - name: resourceTags + value: '{{ resourceTags }}' + - name: restrictions + value: '{{ restrictions }}' + - name: schema + value: '{{ schema }}' + - name: selfLink + value: '{{ selfLink }}' + - name: snapshotDefinition + value: '{{ snapshotDefinition }}' + - name: streamingBuffer + value: '{{ streamingBuffer }}' + - name: tableConstraints + value: '{{ tableConstraints }}' + - name: tableReference + value: '{{ tableReference }}' + - name: tableReplicationInfo + value: '{{ tableReplicationInfo }}' + - name: timePartitioning + value: '{{ timePartitioning }}' + - name: type + value: '{{ type }}' + - name: view + value: '{{ view }}' + +``` + + + +## `UPDATE` example + +Updates a table only if the necessary resources are available. + +```sql +UPDATE google.bigquery.tables +SET +biglakeConfiguration = '{{ biglakeConfiguration }}', +cloneDefinition = '{{ cloneDefinition }}', +clustering = '{{ clustering }}', +creationTime = '{{ creationTime }}', +defaultCollation = '{{ defaultCollation }}', +defaultRoundingMode = '{{ defaultRoundingMode }}', +description = '{{ description }}', +encryptionConfiguration = '{{ encryptionConfiguration }}', +etag = '{{ etag }}', +expirationTime = '{{ expirationTime }}', +externalCatalogTableOptions = '{{ externalCatalogTableOptions }}', +externalDataConfiguration = '{{ externalDataConfiguration }}', +friendlyName = '{{ friendlyName }}', +id = '{{ id }}', +kind = '{{ kind }}', +labels = '{{ labels }}', +lastModifiedTime = '{{ lastModifiedTime }}', +location = '{{ location }}', +materializedView = '{{ materializedView }}', +materializedViewStatus = '{{ materializedViewStatus }}', +maxStaleness = '{{ maxStaleness }}', +model = '{{ model }}', +numActiveLogicalBytes = '{{ numActiveLogicalBytes }}', +numActivePhysicalBytes = '{{ numActivePhysicalBytes }}', +numBytes = '{{ numBytes }}', +numCurrentPhysicalBytes = '{{ numCurrentPhysicalBytes }}', +numLongTermBytes = '{{ numLongTermBytes }}', +numLongTermLogicalBytes = '{{ numLongTermLogicalBytes }}', +numLongTermPhysicalBytes = '{{ numLongTermPhysicalBytes }}', +numPartitions = '{{ numPartitions }}', +numPhysicalBytes = '{{ numPhysicalBytes }}', +numRows = '{{ numRows }}', +numTimeTravelPhysicalBytes = '{{ numTimeTravelPhysicalBytes }}', +numTotalLogicalBytes = '{{ numTotalLogicalBytes }}', +numTotalPhysicalBytes = '{{ numTotalPhysicalBytes }}', +partitionDefinition = '{{ partitionDefinition }}', +rangePartitioning = '{{ rangePartitioning }}', +replicas = '{{ replicas }}', +requirePartitionFilter = true|false, +resourceTags = '{{ resourceTags }}', +restrictions = '{{ restrictions }}', +schema = '{{ schema }}', +selfLink = '{{ selfLink }}', +snapshotDefinition = '{{ snapshotDefinition }}', +streamingBuffer = '{{ streamingBuffer }}', +tableConstraints = '{{ tableConstraints }}', +tableReference = '{{ tableReference }}', +tableReplicationInfo = '{{ tableReplicationInfo }}', +timePartitioning = '{{ timePartitioning }}', +type = '{{ type }}', +view = '{{ view }}' +WHERE ++datasetId = '{{ +datasetId }}' +AND +tableId = '{{ +tableId }}' +AND projectId = '{{ projectId }}'; +``` + +## `DELETE` example + +Deletes the specified table resource. + +```sql +DELETE FROM google.bigquery.tables +WHERE +datasetId = '{{ +datasetId }}' +AND +tableId = '{{ +tableId }}' +AND projectId = '{{ projectId }}'; +``` diff --git a/docs/google-docs/providers/google/bigquery/tables_iam_policies/index.md b/docs/google-docs/providers/google/bigquery/tables_iam_policies/index.md index 47ecc50d12..f8a08c29a4 100644 --- a/docs/google-docs/providers/google/bigquery/tables_iam_policies/index.md +++ b/docs/google-docs/providers/google/bigquery/tables_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: tables_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - tables_iam_policies - bigquery - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an tables_iam_policy resource or lists tables_iam_policies in a region ## Overview
@@ -28,8 +30,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | diff --git a/docs/google-docs/providers/google/bigqueryconnection/connections/index.md b/docs/google-docs/providers/google/bigqueryconnection/connections/index.md index 0e85f7fdf3..a4d9f07620 100644 --- a/docs/google-docs/providers/google/bigqueryconnection/connections/index.md +++ b/docs/google-docs/providers/google/bigqueryconnection/connections/index.md @@ -1,3 +1,4 @@ + --- title: connections hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - connections - bigqueryconnection - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an connection resource or lists connections in a region ## Overview @@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. The resource name of the connection in the form of: `projects/{project_id}/locations/{location_id}/connections/{connection_id}` | +| | `string` | Output only. The resource name of the connection in the form of: `projects/{project_id}/locations/{location_id}/connections/{connection_id}` | | | `string` | User provided description. | | | `object` | Connection properties specific to Amazon Web Services (AWS). | | | `object` | Container for connection properties specific to Azure. | @@ -41,10 +43,11 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The creation timestamp of the connection. | | | `string` | User provided display name for the connection. | | | `boolean` | Output only. True, if credential is configured for this connection. | -| | `string` | Optional. The Cloud KMS key that is used for encryption. Example: `projects/[kms_project_id]/locations/[region]/keyRings/[key_region]/cryptoKeys/[key]` | +| | `string` | Optional. The Cloud KMS key that is used for credentials encryption. If omitted, internal Google owned encryption keys are used. Example: `projects/[kms_project_id]/locations/[region]/keyRings/[key_region]/cryptoKeys/[key]` | | | `string` | Output only. The last update timestamp of the connection. | | | `object` | Connection properties specific to Salesforce DataCloud. This is intended for use only by Salesforce partner projects. | | | `object` | Container for connection properties to execute stored procedures for Apache Spark. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -53,4 +56,164 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new connection. | | | `DELETE` | | Deletes connection and associated credential. | | | `UPDATE` | | Updates the specified connection. For security reasons, also resets credential if connection properties are in the update field mask. | -| | `EXEC` | | Returns a list of connections in the given project. | + +## `SELECT` examples + +Returns a list of connections in the given project. + +```sql +SELECT +name, +description, +aws, +azure, +cloudResource, +cloudSpanner, +cloudSql, +configuration, +creationTime, +friendlyName, +hasCredential, +kmsKeyName, +lastModifiedTime, +salesforceDataCloud, +spark +FROM google.bigqueryconnection.connections +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new connections resource. + + + + +```sql +/*+ create */ +INSERT INTO google.bigqueryconnection.connections ( +locationsId, +projectsId, +name, +friendlyName, +description, +cloudSql, +aws, +azure, +cloudSpanner, +cloudResource, +spark, +salesforceDataCloud, +configuration, +creationTime, +lastModifiedTime, +hasCredential, +kmsKeyName +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ friendlyName }}', +'{{ description }}', +'{{ cloudSql }}', +'{{ aws }}', +'{{ azure }}', +'{{ cloudSpanner }}', +'{{ cloudResource }}', +'{{ spark }}', +'{{ salesforceDataCloud }}', +'{{ configuration }}', +'{{ creationTime }}', +'{{ lastModifiedTime }}', +true|false, +'{{ kmsKeyName }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: friendlyName + value: '{{ friendlyName }}' + - name: description + value: '{{ description }}' + - name: cloudSql + value: '{{ cloudSql }}' + - name: aws + value: '{{ aws }}' + - name: azure + value: '{{ azure }}' + - name: cloudSpanner + value: '{{ cloudSpanner }}' + - name: cloudResource + value: '{{ cloudResource }}' + - name: spark + value: '{{ spark }}' + - name: salesforceDataCloud + value: '{{ salesforceDataCloud }}' + - name: configuration + value: '{{ configuration }}' + - name: creationTime + value: '{{ creationTime }}' + - name: lastModifiedTime + value: '{{ lastModifiedTime }}' + - name: hasCredential + value: '{{ hasCredential }}' + - name: kmsKeyName + value: '{{ kmsKeyName }}' + +``` + + + +## `UPDATE` example + +Updates a connection only if the necessary resources are available. + +```sql +UPDATE google.bigqueryconnection.connections +SET +name = '{{ name }}', +friendlyName = '{{ friendlyName }}', +description = '{{ description }}', +cloudSql = '{{ cloudSql }}', +aws = '{{ aws }}', +azure = '{{ azure }}', +cloudSpanner = '{{ cloudSpanner }}', +cloudResource = '{{ cloudResource }}', +spark = '{{ spark }}', +salesforceDataCloud = '{{ salesforceDataCloud }}', +configuration = '{{ configuration }}', +creationTime = '{{ creationTime }}', +lastModifiedTime = '{{ lastModifiedTime }}', +hasCredential = true|false, +kmsKeyName = '{{ kmsKeyName }}' +WHERE +connectionsId = '{{ connectionsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified connection resource. + +```sql +DELETE FROM google.bigqueryconnection.connections +WHERE connectionsId = '{{ connectionsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/bigqueryconnection/connections_iam_policies/index.md b/docs/google-docs/providers/google/bigqueryconnection/connections_iam_policies/index.md index e37885e773..688fa050ca 100644 --- a/docs/google-docs/providers/google/bigqueryconnection/connections_iam_policies/index.md +++ b/docs/google-docs/providers/google/bigqueryconnection/connections_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: connections_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - connections_iam_policies - bigqueryconnection - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an connections_iam_policy resource or lists connections_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.bigqueryconnection.connections_iam_policies +WHERE connectionsId = '{{ connectionsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/bigqueryconnection/index.md b/docs/google-docs/providers/google/bigqueryconnection/index.md index dc7ad95af5..0d91d9685d 100644 --- a/docs/google-docs/providers/google/bigqueryconnection/index.md +++ b/docs/google-docs/providers/google/bigqueryconnection/index.md @@ -9,40 +9,29 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Allows users to manage BigQuery connections to external data sources. - +The bigqueryconnection service documentation. + :::info Service Summary
total resources: 2
-total selectable resources: 2
-total methods: 10
::: -## Overview -
- - - - - -
Namegoogle.bigqueryconnection
TypeService
TitleBigQuery Connection API
DescriptionAllows users to manage BigQuery connections to external data sources.
Idbigqueryconnection:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/bigquerydatapolicy/data_policies/index.md b/docs/google-docs/providers/google/bigquerydatapolicy/data_policies/index.md index ce3d347e60..386251dddc 100644 --- a/docs/google-docs/providers/google/bigquerydatapolicy/data_policies/index.md +++ b/docs/google-docs/providers/google/bigquerydatapolicy/data_policies/index.md @@ -1,3 +1,4 @@ + --- title: data_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - data_policies - bigquerydatapolicy - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an data_policy resource or lists data_policies in a region ## Overview @@ -30,11 +32,12 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. Resource name of this data policy, in the format of `projects/{project_number}/locations/{location_id}/dataPolicies/{data_policy_id}`. | +| | `string` | Output only. Resource name of this data policy, in the format of `projects/{project_number}/locations/{location_id}/dataPolicies/{data_policy_id}`. | | | `object` | The data masking policy that is used to specify data masking rule. | -| | `string` | User-assigned (human readable) ID of the data policy that needs to be unique within a project. Used as {data_policy_id} in part of the resource name. | +| | `string` | User-assigned (human readable) ID of the data policy that needs to be unique within a project. Used as {data_policy_id} in part of the resource name. | | | `string` | Type of data policy. | -| | `string` | Policy tag resource name, in the format of `projects/{project_number}/locations/{location_id}/taxonomies/{taxonomy_id}/policyTags/{policyTag_id}`. | +| | `string` | Policy tag resource name, in the format of `projects/{project_number}/locations/{location_id}/taxonomies/{taxonomy_id}/policyTags/{policyTag_id}`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -43,5 +46,105 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new data policy under a project with the given `dataPolicyId` (used as the display name), policy tag, and data policy type. | | | `DELETE` | | Deletes the data policy specified by its resource name. | | | `UPDATE` | | Updates the metadata for an existing data policy. The target data policy can be specified by the resource name. | -| | `EXEC` | | List all of the data policies in the specified parent project. | | | `EXEC` | | Renames the id (display name) of the specified data policy. | + +## `SELECT` examples + +List all of the data policies in the specified parent project. + +```sql +SELECT +name, +dataMaskingPolicy, +dataPolicyId, +dataPolicyType, +policyTag +FROM google.bigquerydatapolicy.data_policies +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new data_policies resource. + + + + +```sql +/*+ create */ +INSERT INTO google.bigquerydatapolicy.data_policies ( +locationsId, +projectsId, +policyTag, +dataMaskingPolicy, +name, +dataPolicyType, +dataPolicyId +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ policyTag }}', +'{{ dataMaskingPolicy }}', +'{{ name }}', +'{{ dataPolicyType }}', +'{{ dataPolicyId }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: policyTag + value: '{{ policyTag }}' + - name: dataMaskingPolicy + value: '{{ dataMaskingPolicy }}' + - name: name + value: '{{ name }}' + - name: dataPolicyType + value: '{{ dataPolicyType }}' + - name: dataPolicyId + value: '{{ dataPolicyId }}' + +``` + + + +## `UPDATE` example + +Updates a data_policy only if the necessary resources are available. + +```sql +UPDATE google.bigquerydatapolicy.data_policies +SET +policyTag = '{{ policyTag }}', +dataMaskingPolicy = '{{ dataMaskingPolicy }}', +name = '{{ name }}', +dataPolicyType = '{{ dataPolicyType }}', +dataPolicyId = '{{ dataPolicyId }}' +WHERE +dataPoliciesId = '{{ dataPoliciesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified data_policy resource. + +```sql +DELETE FROM google.bigquerydatapolicy.data_policies +WHERE dataPoliciesId = '{{ dataPoliciesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/bigquerydatapolicy/data_policies_iam_policies/index.md b/docs/google-docs/providers/google/bigquerydatapolicy/data_policies_iam_policies/index.md index 2c74c9d510..ce6bcafc27 100644 --- a/docs/google-docs/providers/google/bigquerydatapolicy/data_policies_iam_policies/index.md +++ b/docs/google-docs/providers/google/bigquerydatapolicy/data_policies_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: data_policies_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - data_policies_iam_policies - bigquerydatapolicy - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an data_policies_iam_policy resource or lists data_policies_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the IAM policy for the specified data policy. | -| | `EXEC` | | Gets the IAM policy for the specified data policy. | | | `EXEC` | | Sets the IAM policy for the specified data policy. | | | `EXEC` | | Returns the caller's permission on the specified data policy resource. | + +## `SELECT` examples + +Gets the IAM policy for the specified data policy. + +```sql +SELECT +condition, +members, +role +FROM google.bigquerydatapolicy.data_policies_iam_policies +WHERE dataPoliciesId = '{{ dataPoliciesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/bigquerydatapolicy/index.md b/docs/google-docs/providers/google/bigquerydatapolicy/index.md index 596b259e58..6daa33df1e 100644 --- a/docs/google-docs/providers/google/bigquerydatapolicy/index.md +++ b/docs/google-docs/providers/google/bigquerydatapolicy/index.md @@ -9,40 +9,29 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Allows users to manage BigQuery data policies. - +The bigquerydatapolicy service documentation. + :::info Service Summary
total resources: 2
-total selectable resources: 2
-total methods: 11
::: -## Overview -
- - - - - -
Namegoogle.bigquerydatapolicy
TypeService
TitleBigQuery Data Policy API
DescriptionAllows users to manage BigQuery data policies.
Idbigquerydatapolicy:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/bigquerydatatransfer/data_sources/index.md b/docs/google-docs/providers/google/bigquerydatatransfer/data_sources/index.md index 805a425099..5cee136f6b 100644 --- a/docs/google-docs/providers/google/bigquerydatatransfer/data_sources/index.md +++ b/docs/google-docs/providers/google/bigquerydatatransfer/data_sources/index.md @@ -1,3 +1,4 @@ + --- title: data_sources hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - data_sources - bigquerydatatransfer - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an data_source resource or lists data_sources in a region ## Overview @@ -48,6 +50,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `boolean` | Deprecated. This field has no effect. | | | `string` | Deprecated. This field has no effect. | | | `integer` | The number of seconds to wait for an update from the data source before the Data Transfer Service marks the transfer as FAILED. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -55,7 +58,33 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists supported data sources and returns their settings. | | | `SELECT` | | Retrieves a supported data source and returns its settings. | | | `SELECT` | | Lists supported data sources and returns their settings. | -| | `EXEC` | | Lists supported data sources and returns their settings. | -| | `EXEC` | | Lists supported data sources and returns their settings. | | | `EXEC` | | Returns true if valid credentials exist for the given data source and requesting user. | | | `EXEC` | | Returns true if valid credentials exist for the given data source and requesting user. | + +## `SELECT` examples + +Lists supported data sources and returns their settings. + +```sql +SELECT +name, +description, +authorizationType, +clientId, +dataRefreshType, +dataSourceId, +defaultDataRefreshWindowDays, +defaultSchedule, +displayName, +helpUrl, +manualRunsDisabled, +minimumScheduleInterval, +parameters, +scopes, +supportsCustomSchedule, +supportsMultipleTransfers, +transferType, +updateDeadlineSeconds +FROM google.bigquerydatatransfer.data_sources +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/bigquerydatatransfer/index.md b/docs/google-docs/providers/google/bigquerydatatransfer/index.md index e9734f2ff9..a002abf25c 100644 --- a/docs/google-docs/providers/google/bigquerydatatransfer/index.md +++ b/docs/google-docs/providers/google/bigquerydatatransfer/index.md @@ -9,44 +9,33 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Schedule queries or transfer external data from SaaS applications to Google BigQuery on a regular basis. - +The bigquerydatatransfer service documentation. + :::info Service Summary
total resources: 6
-total selectable resources: 5
-total methods: 42
::: -## Overview -
- - - - - -
Namegoogle.bigquerydatatransfer
TypeService
TitleBigQuery Data Transfer API
DescriptionSchedule queries or transfer external data from SaaS applications to Google BigQuery on a regular basis.
Idbigquerydatatransfer:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/bigquerydatatransfer/locations/index.md b/docs/google-docs/providers/google/bigquerydatatransfer/locations/index.md index 3ecb0de9f0..34e1870c28 100644 --- a/docs/google-docs/providers/google/bigquerydatatransfer/locations/index.md +++ b/docs/google-docs/providers/google/bigquerydatatransfer/locations/index.md @@ -1,3 +1,4 @@ + --- title: locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - locations - bigquerydatatransfer - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an location resource or lists locations in a region ## Overview @@ -32,14 +34,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` | | | `string` | The friendly name for this location, typically a nearby city name. For example, "Tokyo". | -| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | +| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | | | `string` | The canonical id for this location. For example: `"us-east1"`. | | | `object` | Service-specific metadata. For example the available capacity at the given location. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about a location. | | | `SELECT` | | Lists information about the supported locations for this service. | -| | `EXEC` | | Lists information about the supported locations for this service. | | | `EXEC` | | Enroll data sources in a user project. This allows users to create transfer configurations for these data sources. They will also appear in the ListDataSources RPC and as such, will appear in the [BigQuery UI](https://console.cloud.google.com/bigquery), and the documents can be found in the public guide for [BigQuery Web UI](https://cloud.google.com/bigquery/bigquery-web-ui) and [Data Transfer Service](https://cloud.google.com/bigquery/docs/working-with-transfers). | | | `EXEC` | | Unenroll data sources in a user project. This allows users to remove transfer configurations for these data sources. They will no longer appear in the ListDataSources RPC and will also no longer appear in the [BigQuery UI](https://console.cloud.google.com/bigquery). Data transfers configurations of unenrolled data sources will not be scheduled. | + +## `SELECT` examples + +Lists information about the supported locations for this service. + +```sql +SELECT +name, +displayName, +labels, +locationId, +metadata +FROM google.bigquerydatatransfer.locations +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/bigquerydatatransfer/projects/index.md b/docs/google-docs/providers/google/bigquerydatatransfer/projects/index.md index 53b677a5e1..461f21cfa5 100644 --- a/docs/google-docs/providers/google/bigquerydatatransfer/projects/index.md +++ b/docs/google-docs/providers/google/bigquerydatatransfer/projects/index.md @@ -1,3 +1,4 @@ + --- title: projects hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - projects - bigquerydatatransfer - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an project resource or lists projects in a region ## Overview
@@ -28,8 +30,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Enroll data sources in a user project. This allows users to create transfer configurations for these data sources. They will also appear in the ListDataSources RPC and as such, will appear in the [BigQuery UI](https://console.cloud.google.com/bigquery), and the documents can be found in the public guide for [BigQuery Web UI](https://cloud.google.com/bigquery/bigquery-web-ui) and [Data Transfer Service](https://cloud.google.com/bigquery/docs/working-with-transfers). | diff --git a/docs/google-docs/providers/google/bigquerydatatransfer/runs/index.md b/docs/google-docs/providers/google/bigquerydatatransfer/runs/index.md index 632a8a5425..4e2b9741ea 100644 --- a/docs/google-docs/providers/google/bigquerydatatransfer/runs/index.md +++ b/docs/google-docs/providers/google/bigquerydatatransfer/runs/index.md @@ -1,3 +1,4 @@ + --- title: runs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - runs - bigquerydatatransfer - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an run resource or lists runs in a region ## Overview @@ -30,13 +32,13 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Identifier. The resource name of the transfer run. Transfer run names have the form `projects/{project_id}/locations/{location}/transferConfigs/{config_id}/runs/{run_id}`. The name is ignored when creating a transfer run. | +| | `string` | Identifier. The resource name of the transfer run. Transfer run names have the form `projects/{project_id}/locations/{location}/transferConfigs/{config_id}/runs/{run_id}`. The name is ignored when creating a transfer run. | | | `string` | Output only. Data source id. | | | `string` | Output only. The BigQuery target dataset id. | | | `object` | Represents preferences for sending email notifications for transfer run events. | | | `string` | Output only. Time when transfer run ended. Parameter ignored by server for input requests. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | -| | `string` | Output only. Pub/Sub topic where a notification will be sent after this transfer run finishes. The format for specifying a pubsub topic is: `projects/{project_id}/topics/{topic_id}` | +| | `string` | Output only. Pub/Sub topic where a notification will be sent after this transfer run finishes. The format for specifying a pubsub topic is: `projects/{project_id}/topics/{topic_id}` | | | `object` | Output only. Parameters specific to each data source. For more information see the bq tab in the 'Setting up a data transfer' section for each data source. For example the parameters for Cloud Storage transfers are listed here: https://cloud.google.com/bigquery-transfer/docs/cloud-storage-transfer#bq | | | `string` | For batch transfer runs, specifies the date and time of the data should be ingested. | | | `string` | Output only. Describes the schedule of this transfer run if it was created as part of a regular schedule. For batch transfer runs that are scheduled manually, this is empty. NOTE: the system might choose to delay the schedule depending on the current load, so `schedule_time` doesn't always match this. | @@ -45,6 +47,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Data transfer run state. Ignored for input requests. | | | `string` | Output only. Last time the data transfer run state was updated. | | | `string` | Deprecated. Unique ID of the user on whose behalf transfer is done. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -54,5 +57,40 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Returns information about running and completed transfer runs. | | | `DELETE` | | Deletes the specified transfer run. | | | `DELETE` | | Deletes the specified transfer run. | -| | `EXEC` | | Returns information about running and completed transfer runs. | -| | `EXEC` | | Returns information about running and completed transfer runs. | + +## `SELECT` examples + +Returns information about running and completed transfer runs. + +```sql +SELECT +name, +dataSourceId, +destinationDatasetId, +emailPreferences, +endTime, +errorStatus, +notificationPubsubTopic, +params, +runTime, +schedule, +scheduleTime, +startTime, +state, +updateTime, +userId +FROM google.bigquerydatatransfer.runs +WHERE projectsId = '{{ projectsId }}' +AND transferConfigsId = '{{ transferConfigsId }}'; +``` + +## `DELETE` example + +Deletes the specified run resource. + +```sql +DELETE FROM google.bigquerydatatransfer.runs +WHERE projectsId = '{{ projectsId }}' +AND runsId = '{{ runsId }}' +AND transferConfigsId = '{{ transferConfigsId }}'; +``` diff --git a/docs/google-docs/providers/google/bigquerydatatransfer/transfer_configs/index.md b/docs/google-docs/providers/google/bigquerydatatransfer/transfer_configs/index.md index c4add744ff..743b8209b5 100644 --- a/docs/google-docs/providers/google/bigquerydatatransfer/transfer_configs/index.md +++ b/docs/google-docs/providers/google/bigquerydatatransfer/transfer_configs/index.md @@ -1,3 +1,4 @@ + --- title: transfer_configs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - transfer_configs - bigquerydatatransfer - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an transfer_config resource or lists transfer_configs in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Identifier. The resource name of the transfer config. Transfer config names have the form either `projects/{project_id}/locations/{region}/transferConfigs/{config_id}` or `projects/{project_id}/transferConfigs/{config_id}`, where `config_id` is usually a UUID, even though it is not guaranteed or required. The name is ignored when creating a transfer config. | +| | `string` | Identifier. The resource name of the transfer config. Transfer config names have the form either `projects/{project_id}/locations/{region}/transferConfigs/{config_id}` or `projects/{project_id}/transferConfigs/{config_id}`, where `config_id` is usually a UUID, even though it is not guaranteed or required. The name is ignored when creating a transfer config. | | | `integer` | The number of days to look back to automatically refresh the data. For example, if `data_refresh_window_days = 10`, then every day BigQuery reingests data for [today-10, today-1], rather than ingesting data for just [today-1]. Only valid if the data source supports the feature. Set the value to 0 to use the default value. | | | `string` | Data source ID. This cannot be changed once data transfer is created. The full list of available data source IDs can be returned through an API call: https://cloud.google.com/bigquery-transfer/docs/reference/datatransfer/rest/v1/projects.locations.dataSources/list | | | `string` | Output only. Region in which BigQuery dataset is located. | @@ -40,7 +42,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Represents preferences for sending email notifications for transfer run events. | | | `object` | Represents the encryption configuration for a transfer. | | | `string` | Output only. Next time when data transfer will run. | -| | `string` | Pub/Sub topic where notifications will be sent after transfer runs associated with this transfer config finish. The format for specifying a pubsub topic is: `projects/{project_id}/topics/{topic_id}` | +| | `string` | Pub/Sub topic where notifications will be sent after transfer runs associated with this transfer config finish. The format for specifying a pubsub topic is: `projects/{project_id}/topics/{topic_id}` | | | `object` | Information about a user. | | | `object` | Parameters specific to each data source. For more information see the bq tab in the 'Setting up a data transfer' section for each data source. For example the parameters for Cloud Storage transfers are listed here: https://cloud.google.com/bigquery-transfer/docs/cloud-storage-transfer#bq | | | `string` | Data transfer schedule. If the data source does not support a custom schedule, this should be empty. If it is empty, the default value for the data source will be used. The specified times are in UTC. Examples of valid format: `1st,3rd monday of month 15:30`, `every wed,fri of jan,jun 13:15`, and `first sunday of quarter 00:00`. See more explanation about the format here: https://cloud.google.com/appengine/docs/flexible/python/scheduling-jobs-with-cron-yaml#the_schedule_format NOTE: The minimum interval time between recurring transfers depends on the data source; refer to the documentation for your data source. | @@ -48,6 +50,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. State of the most recently updated transfer run. | | | `string` | Output only. Data transfer modification time. Ignored by server on input. | | | `string` | Deprecated. Unique ID of the user on whose behalf transfer is done. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -61,9 +64,181 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `DELETE` | | Deletes a data transfer configuration, including any associated transfer runs and logs. | | | `UPDATE` | | Updates a data transfer configuration. All fields must be set, even if they are not updated. | | | `UPDATE` | | Updates a data transfer configuration. All fields must be set, even if they are not updated. | -| | `EXEC` | | Returns information about all transfer configs owned by a project in the specified location. | -| | `EXEC` | | Returns information about all transfer configs owned by a project in the specified location. | | | `EXEC` | | Creates transfer runs for a time range [start_time, end_time]. For each date - or whatever granularity the data source supports - in the range, one transfer run is created. Note that runs are created per UTC time in the time range. DEPRECATED: use StartManualTransferRuns instead. | | | `EXEC` | | Start manual transfer runs to be executed now with schedule_time equal to current time. The transfer runs can be created for a time range where the run_time is between start_time (inclusive) and end_time (exclusive), or for a specific run_time. | | | `EXEC` | | Creates transfer runs for a time range [start_time, end_time]. For each date - or whatever granularity the data source supports - in the range, one transfer run is created. Note that runs are created per UTC time in the time range. DEPRECATED: use StartManualTransferRuns instead. | | | `EXEC` | | Start manual transfer runs to be executed now with schedule_time equal to current time. The transfer runs can be created for a time range where the run_time is between start_time (inclusive) and end_time (exclusive), or for a specific run_time. | + +## `SELECT` examples + +Returns information about all transfer configs owned by a project in the specified location. + +```sql +SELECT +name, +dataRefreshWindowDays, +dataSourceId, +datasetRegion, +destinationDatasetId, +disabled, +displayName, +emailPreferences, +encryptionConfiguration, +nextRunTime, +notificationPubsubTopic, +ownerInfo, +params, +schedule, +scheduleOptions, +state, +updateTime, +userId +FROM google.bigquerydatatransfer.transfer_configs +WHERE projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new transfer_configs resource. + + + + +```sql +/*+ create */ +INSERT INTO google.bigquerydatatransfer.transfer_configs ( +projectsId, +name, +destinationDatasetId, +displayName, +dataSourceId, +params, +schedule, +scheduleOptions, +dataRefreshWindowDays, +disabled, +updateTime, +nextRunTime, +state, +userId, +datasetRegion, +notificationPubsubTopic, +emailPreferences, +ownerInfo, +encryptionConfiguration +) +SELECT +'{{ projectsId }}', +'{{ name }}', +'{{ destinationDatasetId }}', +'{{ displayName }}', +'{{ dataSourceId }}', +'{{ params }}', +'{{ schedule }}', +'{{ scheduleOptions }}', +'{{ dataRefreshWindowDays }}', +true|false, +'{{ updateTime }}', +'{{ nextRunTime }}', +'{{ state }}', +'{{ userId }}', +'{{ datasetRegion }}', +'{{ notificationPubsubTopic }}', +'{{ emailPreferences }}', +'{{ ownerInfo }}', +'{{ encryptionConfiguration }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: destinationDatasetId + value: '{{ destinationDatasetId }}' + - name: displayName + value: '{{ displayName }}' + - name: dataSourceId + value: '{{ dataSourceId }}' + - name: params + value: '{{ params }}' + - name: schedule + value: '{{ schedule }}' + - name: scheduleOptions + value: '{{ scheduleOptions }}' + - name: dataRefreshWindowDays + value: '{{ dataRefreshWindowDays }}' + - name: disabled + value: '{{ disabled }}' + - name: updateTime + value: '{{ updateTime }}' + - name: nextRunTime + value: '{{ nextRunTime }}' + - name: state + value: '{{ state }}' + - name: userId + value: '{{ userId }}' + - name: datasetRegion + value: '{{ datasetRegion }}' + - name: notificationPubsubTopic + value: '{{ notificationPubsubTopic }}' + - name: emailPreferences + value: '{{ emailPreferences }}' + - name: ownerInfo + value: '{{ ownerInfo }}' + - name: encryptionConfiguration + value: '{{ encryptionConfiguration }}' + +``` + + + +## `UPDATE` example + +Updates a transfer_config only if the necessary resources are available. + +```sql +UPDATE google.bigquerydatatransfer.transfer_configs +SET +name = '{{ name }}', +destinationDatasetId = '{{ destinationDatasetId }}', +displayName = '{{ displayName }}', +dataSourceId = '{{ dataSourceId }}', +params = '{{ params }}', +schedule = '{{ schedule }}', +scheduleOptions = '{{ scheduleOptions }}', +dataRefreshWindowDays = '{{ dataRefreshWindowDays }}', +disabled = true|false, +updateTime = '{{ updateTime }}', +nextRunTime = '{{ nextRunTime }}', +state = '{{ state }}', +userId = '{{ userId }}', +datasetRegion = '{{ datasetRegion }}', +notificationPubsubTopic = '{{ notificationPubsubTopic }}', +emailPreferences = '{{ emailPreferences }}', +ownerInfo = '{{ ownerInfo }}', +encryptionConfiguration = '{{ encryptionConfiguration }}' +WHERE +projectsId = '{{ projectsId }}' +AND transferConfigsId = '{{ transferConfigsId }}'; +``` + +## `DELETE` example + +Deletes the specified transfer_config resource. + +```sql +DELETE FROM google.bigquerydatatransfer.transfer_configs +WHERE projectsId = '{{ projectsId }}' +AND transferConfigsId = '{{ transferConfigsId }}'; +``` diff --git a/docs/google-docs/providers/google/bigquerydatatransfer/transfer_logs/index.md b/docs/google-docs/providers/google/bigquerydatatransfer/transfer_logs/index.md index a9885e0ea0..a841ca7093 100644 --- a/docs/google-docs/providers/google/bigquerydatatransfer/transfer_logs/index.md +++ b/docs/google-docs/providers/google/bigquerydatatransfer/transfer_logs/index.md @@ -1,3 +1,4 @@ + --- title: transfer_logs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - transfer_logs - bigquerydatatransfer - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an transfer_log resource or lists transfer_logs in a region ## Overview
@@ -33,10 +35,24 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Message text. | | | `string` | Time when message was logged. | | | `string` | Message severity. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `SELECT` | | -| | `EXEC` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Returns log messages for the transfer run. | +| | `SELECT` | | Returns log messages for the transfer run. | + +## `SELECT` examples + +Returns log messages for the transfer run. + +```sql +SELECT +messageText, +messageTime, +severity +FROM google.bigquerydatatransfer.transfer_logs +WHERE projectsId = '{{ projectsId }}' +AND runsId = '{{ runsId }}' +AND transferConfigsId = '{{ transferConfigsId }}'; +``` diff --git a/docs/google-docs/providers/google/bigqueryreservation/assignments/index.md b/docs/google-docs/providers/google/bigqueryreservation/assignments/index.md index a897a5a57a..70a5b3f2ce 100644 --- a/docs/google-docs/providers/google/bigqueryreservation/assignments/index.md +++ b/docs/google-docs/providers/google/bigqueryreservation/assignments/index.md @@ -1,3 +1,4 @@ + --- title: assignments hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - assignments - bigqueryreservation - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an assignment resource or lists assignments in a region ## Overview
@@ -34,6 +36,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The resource which will use the reservation. E.g. `projects/myproject`, `folders/123`, or `organizations/456`. | | | `string` | Which type of jobs will use the reservation. | | | `string` | Output only. State of the assignment. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -41,5 +44,104 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates an assignment object which allows the given project to submit jobs of a certain type using slots from the specified reservation. Currently a resource (project, folder, organization) can only have one assignment per each (job_type, location) combination, and that reservation will be used for all jobs of the matching type. Different assignments can be created on different levels of the projects, folders or organization hierarchy. During query execution, the assignment is looked up at the project, folder and organization levels in that order. The first assignment found is applied to the query. When creating assignments, it does not matter if other assignments exist at higher levels. Example: * The organization `organizationA` contains two projects, `project1` and `project2`. * Assignments for all three entities (`organizationA`, `project1`, and `project2`) could all be created and mapped to the same or different reservations. "None" assignments represent an absence of the assignment. Projects assigned to None use on-demand pricing. To create a "None" assignment, use "none" as a reservation_id in the parent. Example parent: `projects/myproject/locations/US/reservations/none`. Returns `google.rpc.Code.PERMISSION_DENIED` if user does not have 'bigquery.admin' permissions on the project using the reservation and the project that owns this reservation. Returns `google.rpc.Code.INVALID_ARGUMENT` when location of the assignment does not match location of the reservation. | | | `DELETE` | | Deletes a assignment. No expansion will happen. Example: * Organization `organizationA` contains two projects, `project1` and `project2`. * Reservation `res1` exists and was created previously. * CreateAssignment was used previously to define the following associations between entities and reservations: `` and `` In this example, deletion of the `` assignment won't affect the other assignment ``. After said deletion, queries from `project1` will still use `res1` while queries from `project2` will switch to use on-demand mode. | | | `UPDATE` | | Updates an existing assignment. Only the `priority` field can be updated. | -| | `EXEC` | | Lists assignments. Only explicitly created assignments will be returned. Example: * Organization `organizationA` contains two projects, `project1` and `project2`. * Reservation `res1` exists and was created previously. * CreateAssignment was used previously to define the following associations between entities and reservations: `` and `` In this example, ListAssignments will just return the above two assignments for reservation `res1`, and no expansion/merge will happen. The wildcard "-" can be used for reservations in the request. In that case all assignments belongs to the specified project and location will be listed. **Note** "-" cannot be used for projects nor locations. | | | `EXEC` | | Moves an assignment under a new reservation. This differs from removing an existing assignment and recreating a new one by providing a transactional change that ensures an assignee always has an associated reservation. | + +## `SELECT` examples + +Lists assignments. Only explicitly created assignments will be returned. Example: * Organization `organizationA` contains two projects, `project1` and `project2`. * Reservation `res1` exists and was created previously. * CreateAssignment was used previously to define the following associations between entities and reservations: `` and `` In this example, ListAssignments will just return the above two assignments for reservation `res1`, and no expansion/merge will happen. The wildcard "-" can be used for reservations in the request. In that case all assignments belongs to the specified project and location will be listed. **Note** "-" cannot be used for projects nor locations. + +```sql +SELECT +name, +assignee, +jobType, +state +FROM google.bigqueryreservation.assignments +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND reservationsId = '{{ reservationsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new assignments resource. + + + + +```sql +/*+ create */ +INSERT INTO google.bigqueryreservation.assignments ( +locationsId, +projectsId, +reservationsId, +name, +assignee, +jobType, +state +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ reservationsId }}', +'{{ name }}', +'{{ assignee }}', +'{{ jobType }}', +'{{ state }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: assignee + value: '{{ assignee }}' + - name: jobType + value: '{{ jobType }}' + - name: state + value: '{{ state }}' + +``` + + + +## `UPDATE` example + +Updates a assignment only if the necessary resources are available. + +```sql +UPDATE google.bigqueryreservation.assignments +SET +name = '{{ name }}', +assignee = '{{ assignee }}', +jobType = '{{ jobType }}', +state = '{{ state }}' +WHERE +assignmentsId = '{{ assignmentsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND reservationsId = '{{ reservationsId }}'; +``` + +## `DELETE` example + +Deletes the specified assignment resource. + +```sql +DELETE FROM google.bigqueryreservation.assignments +WHERE assignmentsId = '{{ assignmentsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND reservationsId = '{{ reservationsId }}'; +``` diff --git a/docs/google-docs/providers/google/bigqueryreservation/bi_reservation/index.md b/docs/google-docs/providers/google/bigqueryreservation/bi_reservation/index.md index 205f5891d6..07e949d791 100644 --- a/docs/google-docs/providers/google/bigqueryreservation/bi_reservation/index.md +++ b/docs/google-docs/providers/google/bigqueryreservation/bi_reservation/index.md @@ -1,3 +1,4 @@ + --- title: bi_reservation hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - bi_reservation - bigqueryreservation - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an bi_reservation resource or lists bi_reservation in a region ## Overview
@@ -30,12 +32,44 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The resource name of the singleton BI reservation. Reservation names have the form `projects/{project_id}/locations/{location_id}/biReservation`. | +| | `string` | The resource name of the singleton BI reservation. Reservation names have the form `projects/{project_id}/locations/{location_id}/biReservation`. | | | `array` | Preferred tables to use BI capacity for. | | | `string` | Size of a reservation, in bytes. | | | `string` | Output only. The last update timestamp of a reservation. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Retrieves a BI reservation. | -| | `EXEC` | | Updates a BI reservation. Only fields specified in the `field_mask` are updated. A singleton BI reservation always exists with default size 0. In order to reserve BI capacity it needs to be updated to an amount greater than 0. In order to release BI capacity reservation size must be set to 0. | +| | `UPDATE` | | Updates a BI reservation. Only fields specified in the `field_mask` are updated. A singleton BI reservation always exists with default size 0. In order to reserve BI capacity it needs to be updated to an amount greater than 0. In order to release BI capacity reservation size must be set to 0. | + +## `SELECT` examples + +Retrieves a BI reservation. + +```sql +SELECT +name, +preferredTables, +size, +updateTime +FROM google.bigqueryreservation.bi_reservation +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `UPDATE` example + +Updates a bi_reservation only if the necessary resources are available. + +```sql +UPDATE google.bigqueryreservation.bi_reservation +SET +name = '{{ name }}', +updateTime = '{{ updateTime }}', +size = '{{ size }}', +preferredTables = '{{ preferredTables }}' +WHERE +locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/bigqueryreservation/capacity_commitments/index.md b/docs/google-docs/providers/google/bigqueryreservation/capacity_commitments/index.md index 7819f04acd..d9c646fdb8 100644 --- a/docs/google-docs/providers/google/bigqueryreservation/capacity_commitments/index.md +++ b/docs/google-docs/providers/google/bigqueryreservation/capacity_commitments/index.md @@ -1,3 +1,4 @@ + --- title: capacity_commitments hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - capacity_commitments - bigqueryreservation - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an capacity_commitment resource or lists capacity_commitments in a region ## Overview
@@ -41,6 +43,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The plan this capacity commitment is converted to after commitment_end_time passes. Once the plan is changed, committed period is extended according to commitment plan. Only applicable for ANNUAL and TRIAL commitments. | | | `string` | Number of slots in this commitment. | | | `string` | Output only. State of the commitment. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -49,6 +52,142 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new capacity commitment resource. | | | `DELETE` | | Deletes a capacity commitment. Attempting to delete capacity commitment before its commitment_end_time will fail with the error code `google.rpc.Code.FAILED_PRECONDITION`. | | | `UPDATE` | | Updates an existing capacity commitment. Only `plan` and `renewal_plan` fields can be updated. Plan can only be changed to a plan of a longer commitment period. Attempting to change to a plan with shorter commitment period will fail with the error code `google.rpc.Code.FAILED_PRECONDITION`. | -| | `EXEC` | | Lists all the capacity commitments for the admin project. | | | `EXEC` | | Merges capacity commitments of the same plan into a single commitment. The resulting capacity commitment has the greater commitment_end_time out of the to-be-merged capacity commitments. Attempting to merge capacity commitments of different plan will fail with the error code `google.rpc.Code.FAILED_PRECONDITION`. | | | `EXEC` | | Splits capacity commitment to two commitments of the same plan and `commitment_end_time`. A common use case is to enable downgrading commitments. For example, in order to downgrade from 10000 slots to 8000, you might split a 10000 capacity commitment into commitments of 2000 and 8000. Then, you delete the first one after the commitment end time passes. | + +## `SELECT` examples + +Lists all the capacity commitments for the admin project. + +```sql +SELECT +name, +commitmentEndTime, +commitmentStartTime, +edition, +failureStatus, +isFlatRate, +multiRegionAuxiliary, +plan, +renewalPlan, +slotCount, +state +FROM google.bigqueryreservation.capacity_commitments +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new capacity_commitments resource. + + + + +```sql +/*+ create */ +INSERT INTO google.bigqueryreservation.capacity_commitments ( +locationsId, +projectsId, +name, +slotCount, +plan, +state, +commitmentStartTime, +commitmentEndTime, +failureStatus, +renewalPlan, +multiRegionAuxiliary, +edition, +isFlatRate +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ slotCount }}', +'{{ plan }}', +'{{ state }}', +'{{ commitmentStartTime }}', +'{{ commitmentEndTime }}', +'{{ failureStatus }}', +'{{ renewalPlan }}', +true|false, +'{{ edition }}', +true|false +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: slotCount + value: '{{ slotCount }}' + - name: plan + value: '{{ plan }}' + - name: state + value: '{{ state }}' + - name: commitmentStartTime + value: '{{ commitmentStartTime }}' + - name: commitmentEndTime + value: '{{ commitmentEndTime }}' + - name: failureStatus + value: '{{ failureStatus }}' + - name: renewalPlan + value: '{{ renewalPlan }}' + - name: multiRegionAuxiliary + value: '{{ multiRegionAuxiliary }}' + - name: edition + value: '{{ edition }}' + - name: isFlatRate + value: '{{ isFlatRate }}' + +``` + + + +## `UPDATE` example + +Updates a capacity_commitment only if the necessary resources are available. + +```sql +UPDATE google.bigqueryreservation.capacity_commitments +SET +name = '{{ name }}', +slotCount = '{{ slotCount }}', +plan = '{{ plan }}', +state = '{{ state }}', +commitmentStartTime = '{{ commitmentStartTime }}', +commitmentEndTime = '{{ commitmentEndTime }}', +failureStatus = '{{ failureStatus }}', +renewalPlan = '{{ renewalPlan }}', +multiRegionAuxiliary = true|false, +edition = '{{ edition }}', +isFlatRate = true|false +WHERE +capacityCommitmentsId = '{{ capacityCommitmentsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified capacity_commitment resource. + +```sql +DELETE FROM google.bigqueryreservation.capacity_commitments +WHERE capacityCommitmentsId = '{{ capacityCommitmentsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/bigqueryreservation/index.md b/docs/google-docs/providers/google/bigqueryreservation/index.md index a315ec5bf9..7c8a21748f 100644 --- a/docs/google-docs/providers/google/bigqueryreservation/index.md +++ b/docs/google-docs/providers/google/bigqueryreservation/index.md @@ -9,43 +9,32 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -A service to modify your BigQuery flat-rate reservations. - +The bigqueryreservation service documentation. + :::info Service Summary
total resources: 5
-total selectable resources: 4
-total methods: 25
::: -## Overview -
- - - - - -
Namegoogle.bigqueryreservation
TypeService
TitleBigQuery Reservation API
DescriptionA service to modify your BigQuery flat-rate reservations.
Idbigqueryreservation:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/bigqueryreservation/locations/index.md b/docs/google-docs/providers/google/bigqueryreservation/locations/index.md index 3b2dd7fb23..f0b8a5f0dd 100644 --- a/docs/google-docs/providers/google/bigqueryreservation/locations/index.md +++ b/docs/google-docs/providers/google/bigqueryreservation/locations/index.md @@ -1,3 +1,4 @@ + --- title: locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - locations - bigqueryreservation - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an location resource or lists locations in a region ## Overview @@ -28,9 +30,11 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| -| | `EXEC` | | Looks up assignments for a specified resource for a particular region. If the request is about a project: 1. Assignments created on the project will be returned if they exist. 2. Otherwise assignments created on the closest ancestor will be returned. 3. Assignments for different JobTypes will all be returned. The same logic applies if the request is about a folder. If the request is about an organization, then assignments created on the organization will be returned (organization doesn't have ancestors). Comparing to ListAssignments, there are some behavior differences: 1. permission on the assignee will be verified in this API. 2. Hierarchy lookup (project->folder->organization) happens in this API. 3. Parent here is `projects/*/locations/*`, instead of `projects/*/locations/*reservations/*`. | -| | `EXEC` | | Deprecated: Looks up assignments for a specified resource for a particular region. If the request is about a project: 1. Assignments created on the project will be returned if they exist. 2. Otherwise assignments created on the closest ancestor will be returned. 3. Assignments for different JobTypes will all be returned. The same logic applies if the request is about a folder. If the request is about an organization, then assignments created on the organization will be returned (organization doesn't have ancestors). Comparing to ListAssignments, there are some behavior differences: 1. permission on the assignee will be verified in this API. 2. Hierarchy lookup (project->folder->organization) happens in this API. 3. Parent here is `projects/*/locations/*`, instead of `projects/*/locations/*reservations/*`. **Note** "-" cannot be used for projects nor locations. | +| | `EXEC` | | Looks up assignments for a specified resource for a particular region. If the request is about a project: 1. Assignments created on the project will be returned if they exist. 2. Otherwise assignments created on the closest ancestor will be returned. 3. Assignments for different JobTypes will all be returned. The same logic applies if the request is about a folder. If the request is about an organization, then assignments created on the organization will be returned (organization doesn't have ancestors). Comparing to ListAssignments, there are some behavior differences: 1. permission on the assignee will be verified in this API. 2. Hierarchy lookup (project->folder->organization) happens in this API. 3. Parent here is `projects/*/locations/*`, instead of `projects/*/locations/*reservations/*`. | +| | `EXEC` | | Deprecated: Looks up assignments for a specified resource for a particular region. If the request is about a project: 1. Assignments created on the project will be returned if they exist. 2. Otherwise assignments created on the closest ancestor will be returned. 3. Assignments for different JobTypes will all be returned. The same logic applies if the request is about a folder. If the request is about an organization, then assignments created on the organization will be returned (organization doesn't have ancestors). Comparing to ListAssignments, there are some behavior differences: 1. permission on the assignee will be verified in this API. 2. Hierarchy lookup (project->folder->organization) happens in this API. 3. Parent here is `projects/*/locations/*`, instead of `projects/*/locations/*reservations/*`. **Note** "-" cannot be used for projects nor locations. | diff --git a/docs/google-docs/providers/google/bigqueryreservation/reservations/index.md b/docs/google-docs/providers/google/bigqueryreservation/reservations/index.md index 79153af799..bb14df422b 100644 --- a/docs/google-docs/providers/google/bigqueryreservation/reservations/index.md +++ b/docs/google-docs/providers/google/bigqueryreservation/reservations/index.md @@ -1,3 +1,4 @@ + --- title: reservations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - reservations - bigqueryreservation - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an reservation resource or lists reservations in a region ## Overview @@ -42,6 +44,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Optional. The secondary location of the reservation which is used for cross region disaster recovery purposes. Customer can set this in create/update reservation calls to create a failover reservation or convert a non-failover reservation to a failover reservation. | | | `string` | Baseline slots available to this reservation. A slot is a unit of computational power in BigQuery, and serves as the unit of parallelism. Queries using this reservation might use more slots during runtime if ignore_idle_slots is set to false, or autoscaling is enabled. If edition is EDITION_UNSPECIFIED and total slot_capacity of the reservation and its siblings exceeds the total slot_count of all capacity commitments, the request will fail with `google.rpc.Code.RESOURCE_EXHAUSTED`. If edition is any value but EDITION_UNSPECIFIED, then the above requirement is not needed. The total slot_capacity of the reservation and its siblings may exceed the total slot_count of capacity commitments. In that case, the exceeding slots will be charged with the autoscale SKU. You can increase the number of baseline slots in a reservation every few minutes. If you want to decrease your baseline slots, you are limited to once an hour if you have recently changed your baseline slot capacity and your baseline slots exceed your committed slots. Otherwise, you can decrease your baseline slots every few minutes. | | | `string` | Output only. Last update time of the reservation. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -50,5 +53,147 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new reservation resource. | | | `DELETE` | | Deletes a reservation. Returns `google.rpc.Code.FAILED_PRECONDITION` when reservation has assignments. | | | `UPDATE` | | Updates an existing reservation resource. | -| | `EXEC` | | Lists all the reservations for the project in the specified location. | | | `EXEC` | | Failover a reservation to the secondary location. The operation should be done in the current secondary location, which will be promoted to the new primary location for the reservation. Attempting to failover a reservation in the current primary location will fail with the error code `google.rpc.Code.FAILED_PRECONDITION`. | + +## `SELECT` examples + +Lists all the reservations for the project in the specified location. + +```sql +SELECT +name, +autoscale, +concurrency, +creationTime, +edition, +ignoreIdleSlots, +multiRegionAuxiliary, +originalPrimaryLocation, +primaryLocation, +secondaryLocation, +slotCapacity, +updateTime +FROM google.bigqueryreservation.reservations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new reservations resource. + + + + +```sql +/*+ create */ +INSERT INTO google.bigqueryreservation.reservations ( +locationsId, +projectsId, +name, +slotCapacity, +ignoreIdleSlots, +autoscale, +concurrency, +creationTime, +updateTime, +multiRegionAuxiliary, +edition, +primaryLocation, +secondaryLocation, +originalPrimaryLocation +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ slotCapacity }}', +true|false, +'{{ autoscale }}', +'{{ concurrency }}', +'{{ creationTime }}', +'{{ updateTime }}', +true|false, +'{{ edition }}', +'{{ primaryLocation }}', +'{{ secondaryLocation }}', +'{{ originalPrimaryLocation }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: slotCapacity + value: '{{ slotCapacity }}' + - name: ignoreIdleSlots + value: '{{ ignoreIdleSlots }}' + - name: autoscale + value: '{{ autoscale }}' + - name: concurrency + value: '{{ concurrency }}' + - name: creationTime + value: '{{ creationTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: multiRegionAuxiliary + value: '{{ multiRegionAuxiliary }}' + - name: edition + value: '{{ edition }}' + - name: primaryLocation + value: '{{ primaryLocation }}' + - name: secondaryLocation + value: '{{ secondaryLocation }}' + - name: originalPrimaryLocation + value: '{{ originalPrimaryLocation }}' + +``` + + + +## `UPDATE` example + +Updates a reservation only if the necessary resources are available. + +```sql +UPDATE google.bigqueryreservation.reservations +SET +name = '{{ name }}', +slotCapacity = '{{ slotCapacity }}', +ignoreIdleSlots = true|false, +autoscale = '{{ autoscale }}', +concurrency = '{{ concurrency }}', +creationTime = '{{ creationTime }}', +updateTime = '{{ updateTime }}', +multiRegionAuxiliary = true|false, +edition = '{{ edition }}', +primaryLocation = '{{ primaryLocation }}', +secondaryLocation = '{{ secondaryLocation }}', +originalPrimaryLocation = '{{ originalPrimaryLocation }}' +WHERE +locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND reservationsId = '{{ reservationsId }}'; +``` + +## `DELETE` example + +Deletes the specified reservation resource. + +```sql +DELETE FROM google.bigqueryreservation.reservations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND reservationsId = '{{ reservationsId }}'; +``` diff --git a/docs/google-docs/providers/google/bigtableadmin/app_profiles/index.md b/docs/google-docs/providers/google/bigtableadmin/app_profiles/index.md index 4e19854481..e67d6ffe7f 100644 --- a/docs/google-docs/providers/google/bigtableadmin/app_profiles/index.md +++ b/docs/google-docs/providers/google/bigtableadmin/app_profiles/index.md @@ -1,3 +1,4 @@ + --- title: app_profiles hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - app_profiles - bigtableadmin - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an app_profile resource or lists app_profiles in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The unique name of the app profile. Values are of the form `projects/{project}/instances/{instance}/appProfiles/_a-zA-Z0-9*`. | +| | `string` | The unique name of the app profile. Values are of the form `projects/{project}/instances/{instance}/appProfiles/_a-zA-Z0-9*`. | | | `string` | Long form description of the use case for this AppProfile. | | | `object` | Data Boost is a serverless compute capability that lets you run high-throughput read jobs and queries on your Bigtable data, without impacting the performance of the clusters that handle your application traffic. Data Boost supports read-only use cases with single-cluster routing. | | | `string` | Strongly validated etag for optimistic concurrency control. Preserve the value returned from `GetAppProfile` when calling `UpdateAppProfile` to fail the request if there has been a modification in the mean time. The `update_mask` of the request need not include `etag` for this protection to apply. See [Wikipedia](https://en.wikipedia.org/wiki/HTTP_ETag) and [RFC 7232](https://tools.ietf.org/html/rfc7232#section-2.3) for more details. | @@ -38,6 +40,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | This field has been deprecated in favor of `standard_isolation.priority`. If you set this field, `standard_isolation.priority` will be set instead. The priority of requests sent using this app profile. | | | `object` | Unconditionally routes all read/write requests to a specific cluster. This option preserves read-your-writes consistency but does not improve availability. | | | `object` | Standard options for isolating this app profile's traffic from other use cases. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -46,4 +49,122 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates an app profile within an instance. | | | `DELETE` | | Deletes an app profile from an instance. | | | `UPDATE` | | Updates an app profile within an instance. | -| | `EXEC` | | Lists information about app profiles in an instance. | + +## `SELECT` examples + +Lists information about app profiles in an instance. + +```sql +SELECT +name, +description, +dataBoostIsolationReadOnly, +etag, +multiClusterRoutingUseAny, +priority, +singleClusterRouting, +standardIsolation +FROM google.bigtableadmin.app_profiles +WHERE instancesId = '{{ instancesId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new app_profiles resource. + + + + +```sql +/*+ create */ +INSERT INTO google.bigtableadmin.app_profiles ( +instancesId, +projectsId, +name, +etag, +description, +multiClusterRoutingUseAny, +singleClusterRouting, +priority, +standardIsolation, +dataBoostIsolationReadOnly +) +SELECT +'{{ instancesId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ etag }}', +'{{ description }}', +'{{ multiClusterRoutingUseAny }}', +'{{ singleClusterRouting }}', +'{{ priority }}', +'{{ standardIsolation }}', +'{{ dataBoostIsolationReadOnly }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: etag + value: '{{ etag }}' + - name: description + value: '{{ description }}' + - name: multiClusterRoutingUseAny + value: '{{ multiClusterRoutingUseAny }}' + - name: singleClusterRouting + value: '{{ singleClusterRouting }}' + - name: priority + value: '{{ priority }}' + - name: standardIsolation + value: '{{ standardIsolation }}' + - name: dataBoostIsolationReadOnly + value: '{{ dataBoostIsolationReadOnly }}' + +``` + + + +## `UPDATE` example + +Updates a app_profile only if the necessary resources are available. + +```sql +UPDATE google.bigtableadmin.app_profiles +SET +name = '{{ name }}', +etag = '{{ etag }}', +description = '{{ description }}', +multiClusterRoutingUseAny = '{{ multiClusterRoutingUseAny }}', +singleClusterRouting = '{{ singleClusterRouting }}', +priority = '{{ priority }}', +standardIsolation = '{{ standardIsolation }}', +dataBoostIsolationReadOnly = '{{ dataBoostIsolationReadOnly }}' +WHERE +appProfilesId = '{{ appProfilesId }}' +AND instancesId = '{{ instancesId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified app_profile resource. + +```sql +DELETE FROM google.bigtableadmin.app_profiles +WHERE appProfilesId = '{{ appProfilesId }}' +AND instancesId = '{{ instancesId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/bigtableadmin/authorized_views/index.md b/docs/google-docs/providers/google/bigtableadmin/authorized_views/index.md index bd130ec0db..68f73a42fa 100644 --- a/docs/google-docs/providers/google/bigtableadmin/authorized_views/index.md +++ b/docs/google-docs/providers/google/bigtableadmin/authorized_views/index.md @@ -1,3 +1,4 @@ + --- title: authorized_views hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - authorized_views - bigtableadmin - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an authorized_view resource or lists authorized_views in a region ## Overview
@@ -30,10 +32,11 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Identifier. The name of this AuthorizedView. Values are of the form `projects/{project}/instances/{instance}/tables/{table}/authorizedViews/{authorized_view}` | +| | `string` | Identifier. The name of this AuthorizedView. Values are of the form `projects/{project}/instances/{instance}/tables/{table}/authorizedViews/{authorized_view}` | | | `boolean` | Set to true to make the AuthorizedView protected against deletion. The parent Table and containing Instance cannot be deleted if an AuthorizedView has this bit set. | | | `string` | The etag for this AuthorizedView. If this is provided on update, it must match the server's etag. The server returns ABORTED error on a mismatched etag. | | | `object` | Defines a simple AuthorizedView that is a subset of the underlying Table. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -42,4 +45,103 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new AuthorizedView in a table. | | | `DELETE` | | Permanently deletes a specified AuthorizedView. | | | `UPDATE` | | Updates an AuthorizedView in a table. | -| | `EXEC` | | Lists all AuthorizedViews from a specific table. | + +## `SELECT` examples + +Lists all AuthorizedViews from a specific table. + +```sql +SELECT +name, +deletionProtection, +etag, +subsetView +FROM google.bigtableadmin.authorized_views +WHERE instancesId = '{{ instancesId }}' +AND projectsId = '{{ projectsId }}' +AND tablesId = '{{ tablesId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new authorized_views resource. + + + + +```sql +/*+ create */ +INSERT INTO google.bigtableadmin.authorized_views ( +instancesId, +projectsId, +tablesId, +name, +subsetView, +etag, +deletionProtection +) +SELECT +'{{ instancesId }}', +'{{ projectsId }}', +'{{ tablesId }}', +'{{ name }}', +'{{ subsetView }}', +'{{ etag }}', +true|false +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: subsetView + value: '{{ subsetView }}' + - name: etag + value: '{{ etag }}' + - name: deletionProtection + value: '{{ deletionProtection }}' + +``` + + + +## `UPDATE` example + +Updates a authorized_view only if the necessary resources are available. + +```sql +UPDATE google.bigtableadmin.authorized_views +SET +name = '{{ name }}', +subsetView = '{{ subsetView }}', +etag = '{{ etag }}', +deletionProtection = true|false +WHERE +authorizedViewsId = '{{ authorizedViewsId }}' +AND instancesId = '{{ instancesId }}' +AND projectsId = '{{ projectsId }}' +AND tablesId = '{{ tablesId }}'; +``` + +## `DELETE` example + +Deletes the specified authorized_view resource. + +```sql +DELETE FROM google.bigtableadmin.authorized_views +WHERE authorizedViewsId = '{{ authorizedViewsId }}' +AND instancesId = '{{ instancesId }}' +AND projectsId = '{{ projectsId }}' +AND tablesId = '{{ tablesId }}'; +``` diff --git a/docs/google-docs/providers/google/bigtableadmin/authorized_views_iam_policies/index.md b/docs/google-docs/providers/google/bigtableadmin/authorized_views_iam_policies/index.md index 8a124154be..f9a806faac 100644 --- a/docs/google-docs/providers/google/bigtableadmin/authorized_views_iam_policies/index.md +++ b/docs/google-docs/providers/google/bigtableadmin/authorized_views_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: authorized_views_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - authorized_views_iam_policies - bigtableadmin - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an authorized_views_iam_policy resource or lists authorized_views_iam_policies in a region ## Overview
@@ -30,13 +32,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a Bigtable resource. Returns an empty policy if the resource exists but does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a Bigtable resource. Returns an empty policy if the resource exists but does not have a policy set. | | | `EXEC` | | Sets the access control policy on a Bigtable resource. Replaces any existing policy. | | | `EXEC` | | Returns permissions that the caller has on the specified Bigtable resource. | + +## `SELECT` examples + +Gets the access control policy for a Bigtable resource. Returns an empty policy if the resource exists but does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.bigtableadmin.authorized_views_iam_policies +WHERE authorizedViewsId = '{{ authorizedViewsId }}' +AND instancesId = '{{ instancesId }}' +AND projectsId = '{{ projectsId }}' +AND tablesId = '{{ tablesId }}'; +``` diff --git a/docs/google-docs/providers/google/bigtableadmin/backups/index.md b/docs/google-docs/providers/google/bigtableadmin/backups/index.md index 241ba0c1cf..22225384bd 100644 --- a/docs/google-docs/providers/google/bigtableadmin/backups/index.md +++ b/docs/google-docs/providers/google/bigtableadmin/backups/index.md @@ -1,3 +1,4 @@ + --- title: backups hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - backups - bigtableadmin - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an backup resource or lists backups in a region ## Overview
@@ -30,15 +32,16 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | A globally unique identifier for the backup which cannot be changed. Values are of the form `projects/{project}/instances/{instance}/clusters/{cluster}/ backups/_a-zA-Z0-9*` The final segment of the name must be between 1 and 50 characters in length. The backup is stored in the cluster identified by the prefix of the backup name of the form `projects/{project}/instances/{instance}/clusters/{cluster}`. | +| | `string` | A globally unique identifier for the backup which cannot be changed. Values are of the form `projects/{project}/instances/{instance}/clusters/{cluster}/ backups/_a-zA-Z0-9*` The final segment of the name must be between 1 and 50 characters in length. The backup is stored in the cluster identified by the prefix of the backup name of the form `projects/{project}/instances/{instance}/clusters/{cluster}`. | | | `object` | Encryption information for a given resource. If this resource is protected with customer managed encryption, the in-use Cloud Key Management Service (Cloud KMS) key version is specified along with its status. | | | `string` | Output only. `end_time` is the time that the backup was finished. The row data in the backup will be no newer than this timestamp. | -| | `string` | Required. The expiration time of the backup, with microseconds granularity that must be at least 6 hours and at most 90 days from the time the request is received. Once the `expire_time` has passed, Cloud Bigtable will delete the backup and free the resources used by the backup. | +| | `string` | Required. The expiration time of the backup. When creating a backup or updating its `expire_time`, the value must be greater than the backup creation time by: - At least 6 hours - At most 90 days Once the `expire_time` has passed, Cloud Bigtable will delete the backup. | | | `string` | Output only. Size of the backup in bytes. | | | `string` | Output only. Name of the backup from which this backup was copied. If a backup is not created by copying a backup, this field will be empty. Values are of the form: projects//instances//clusters//backups/ | -| | `string` | Required. Immutable. Name of the table from which this backup was created. This needs to be in the same instance as the backup. Values are of the form `projects/{project}/instances/{instance}/tables/{source_table}`. | +| | `string` | Required. Immutable. Name of the table from which this backup was created. This needs to be in the same instance as the backup. Values are of the form `projects/{project}/instances/{instance}/tables/{source_table}`. | | | `string` | Output only. `start_time` is the time that the backup was started (i.e. approximately the time the CreateBackup request is received). The row data in this backup will be no older than this timestamp. | | | `string` | Output only. The current state of the backup. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -47,5 +50,134 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Starts creating a new Cloud Bigtable Backup. The returned backup long-running operation can be used to track creation of the backup. The metadata field type is CreateBackupMetadata. The response field type is Backup, if successful. Cancelling the returned operation will stop the creation and delete the backup. | | | `DELETE` | | Deletes a pending or completed Cloud Bigtable backup. | | | `UPDATE` | | Updates a pending or completed Cloud Bigtable Backup. | -| | `EXEC` | | Lists Cloud Bigtable backups. Returns both completed and pending backups. | | | `EXEC` | | Copy a Cloud Bigtable backup to a new backup in the destination cluster located in the destination instance and project. | + +## `SELECT` examples + +Lists Cloud Bigtable backups. Returns both completed and pending backups. + +```sql +SELECT +name, +encryptionInfo, +endTime, +expireTime, +sizeBytes, +sourceBackup, +sourceTable, +startTime, +state +FROM google.bigtableadmin.backups +WHERE clustersId = '{{ clustersId }}' +AND instancesId = '{{ instancesId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new backups resource. + + + + +```sql +/*+ create */ +INSERT INTO google.bigtableadmin.backups ( +clustersId, +instancesId, +projectsId, +name, +sourceTable, +sourceBackup, +expireTime, +startTime, +endTime, +sizeBytes, +state, +encryptionInfo +) +SELECT +'{{ clustersId }}', +'{{ instancesId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ sourceTable }}', +'{{ sourceBackup }}', +'{{ expireTime }}', +'{{ startTime }}', +'{{ endTime }}', +'{{ sizeBytes }}', +'{{ state }}', +'{{ encryptionInfo }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: sourceTable + value: '{{ sourceTable }}' + - name: sourceBackup + value: '{{ sourceBackup }}' + - name: expireTime + value: '{{ expireTime }}' + - name: startTime + value: '{{ startTime }}' + - name: endTime + value: '{{ endTime }}' + - name: sizeBytes + value: '{{ sizeBytes }}' + - name: state + value: '{{ state }}' + - name: encryptionInfo + value: '{{ encryptionInfo }}' + +``` + + + +## `UPDATE` example + +Updates a backup only if the necessary resources are available. + +```sql +UPDATE google.bigtableadmin.backups +SET +name = '{{ name }}', +sourceTable = '{{ sourceTable }}', +sourceBackup = '{{ sourceBackup }}', +expireTime = '{{ expireTime }}', +startTime = '{{ startTime }}', +endTime = '{{ endTime }}', +sizeBytes = '{{ sizeBytes }}', +state = '{{ state }}', +encryptionInfo = '{{ encryptionInfo }}' +WHERE +backupsId = '{{ backupsId }}' +AND clustersId = '{{ clustersId }}' +AND instancesId = '{{ instancesId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified backup resource. + +```sql +DELETE FROM google.bigtableadmin.backups +WHERE backupsId = '{{ backupsId }}' +AND clustersId = '{{ clustersId }}' +AND instancesId = '{{ instancesId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/bigtableadmin/backups_iam_policies/index.md b/docs/google-docs/providers/google/bigtableadmin/backups_iam_policies/index.md index 9f93223d5a..8ff5a1246d 100644 --- a/docs/google-docs/providers/google/bigtableadmin/backups_iam_policies/index.md +++ b/docs/google-docs/providers/google/bigtableadmin/backups_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: backups_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - backups_iam_policies - bigtableadmin - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an backups_iam_policy resource or lists backups_iam_policies in a region ## Overview
@@ -30,13 +32,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a Bigtable resource. Returns an empty policy if the resource exists but does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a Bigtable resource. Returns an empty policy if the resource exists but does not have a policy set. | | | `EXEC` | | Sets the access control policy on a Bigtable resource. Replaces any existing policy. | | | `EXEC` | | Returns permissions that the caller has on the specified Bigtable resource. | + +## `SELECT` examples + +Gets the access control policy for a Bigtable resource. Returns an empty policy if the resource exists but does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.bigtableadmin.backups_iam_policies +WHERE backupsId = '{{ backupsId }}' +AND clustersId = '{{ clustersId }}' +AND instancesId = '{{ instancesId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/bigtableadmin/clusters/index.md b/docs/google-docs/providers/google/bigtableadmin/clusters/index.md index 548dec5997..f56ef2fa9b 100644 --- a/docs/google-docs/providers/google/bigtableadmin/clusters/index.md +++ b/docs/google-docs/providers/google/bigtableadmin/clusters/index.md @@ -1,3 +1,4 @@ + --- title: clusters hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - clusters - bigtableadmin - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an cluster resource or lists clusters in a region ## Overview
@@ -30,13 +32,14 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The unique name of the cluster. Values are of the form `projects/{project}/instances/{instance}/clusters/a-z*`. | +| | `string` | The unique name of the cluster. Values are of the form `projects/{project}/instances/{instance}/clusters/a-z*`. | | | `object` | Configuration for a cluster. | | | `string` | Immutable. The type of storage used by this cluster to serve its parent instance's tables, unless explicitly overridden. | | | `object` | Cloud Key Management Service (Cloud KMS) settings for a CMEK-protected cluster. | -| | `string` | Immutable. The location where this cluster's nodes and storage reside. For best performance, clients should be located as close as possible to this cluster. Currently only zones are supported, so values should be of the form `projects/{project}/locations/{zone}`. | +| | `string` | Immutable. The location where this cluster's nodes and storage reside. For best performance, clients should be located as close as possible to this cluster. Currently only zones are supported, so values should be of the form `projects/{project}/locations/{zone}`. | | | `integer` | The number of nodes in the cluster. If no value is set, Cloud Bigtable automatically allocates nodes based on your data footprint and optimized for 50% storage utilization. | | | `string` | Output only. The current state of the cluster. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -44,6 +47,98 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists information about clusters in an instance. | | | `INSERT` | | Creates a cluster within an instance. Note that exactly one of Cluster.serve_nodes and Cluster.cluster_config.cluster_autoscaling_config can be set. If serve_nodes is set to non-zero, then the cluster is manually scaled. If cluster_config.cluster_autoscaling_config is non-empty, then autoscaling is enabled. | | | `DELETE` | | Deletes a cluster from an instance. | -| | `UPDATE` | | Updates a cluster within an instance. Note that UpdateCluster does not support updating cluster_config.cluster_autoscaling_config. In order to update it, you must use PartialUpdateCluster. | -| | `EXEC` | | Lists information about clusters in an instance. | | | `EXEC` | | Partially updates a cluster within a project. This method is the preferred way to update a Cluster. To enable and update autoscaling, set cluster_config.cluster_autoscaling_config. When autoscaling is enabled, serve_nodes is treated as an OUTPUT_ONLY field, meaning that updates to it are ignored. Note that an update cannot simultaneously set serve_nodes to non-zero and cluster_config.cluster_autoscaling_config to non-empty, and also specify both in the update_mask. To disable autoscaling, clear cluster_config.cluster_autoscaling_config, and explicitly set a serve_node count via the update_mask. | +| | `EXEC` | | Updates a cluster within an instance. Note that UpdateCluster does not support updating cluster_config.cluster_autoscaling_config. In order to update it, you must use PartialUpdateCluster. | + +## `SELECT` examples + +Lists information about clusters in an instance. + +```sql +SELECT +name, +clusterConfig, +defaultStorageType, +encryptionConfig, +location, +serveNodes, +state +FROM google.bigtableadmin.clusters +WHERE instancesId = '{{ instancesId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new clusters resource. + + + + +```sql +/*+ create */ +INSERT INTO google.bigtableadmin.clusters ( +instancesId, +projectsId, +name, +location, +state, +serveNodes, +clusterConfig, +defaultStorageType, +encryptionConfig +) +SELECT +'{{ instancesId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ location }}', +'{{ state }}', +'{{ serveNodes }}', +'{{ clusterConfig }}', +'{{ defaultStorageType }}', +'{{ encryptionConfig }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: location + value: '{{ location }}' + - name: state + value: '{{ state }}' + - name: serveNodes + value: '{{ serveNodes }}' + - name: clusterConfig + value: '{{ clusterConfig }}' + - name: defaultStorageType + value: '{{ defaultStorageType }}' + - name: encryptionConfig + value: '{{ encryptionConfig }}' + +``` + + + +## `DELETE` example + +Deletes the specified cluster resource. + +```sql +DELETE FROM google.bigtableadmin.clusters +WHERE clustersId = '{{ clustersId }}' +AND instancesId = '{{ instancesId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/bigtableadmin/hot_tablets/index.md b/docs/google-docs/providers/google/bigtableadmin/hot_tablets/index.md index 674ad07704..cb86807b53 100644 --- a/docs/google-docs/providers/google/bigtableadmin/hot_tablets/index.md +++ b/docs/google-docs/providers/google/bigtableadmin/hot_tablets/index.md @@ -1,3 +1,4 @@ + --- title: hot_tablets hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - hot_tablets - bigtableadmin - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an hot_tablet resource or lists hot_tablets in a region ## Overview
@@ -30,15 +32,34 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The unique name of the hot tablet. Values are of the form `projects/{project}/instances/{instance}/clusters/{cluster}/hotTablets/[a-zA-Z0-9_-]*`. | +| | `string` | The unique name of the hot tablet. Values are of the form `projects/{project}/instances/{instance}/clusters/{cluster}/hotTablets/[a-zA-Z0-9_-]*`. | | | `string` | Tablet End Key (inclusive). | | | `string` | Output only. The end time of the hot tablet. | | | `number` | Output only. The average CPU usage spent by a node on this tablet over the start_time to end_time time range. The percentage is the amount of CPU used by the node to serve the tablet, from 0% (tablet was not interacted with) to 100% (the node spent all cycles serving the hot tablet). | | | `string` | Tablet Start Key (inclusive). | | | `string` | Output only. The start time of the hot tablet. | -| | `string` | Name of the table that contains the tablet. Values are of the form `projects/{project}/instances/{instance}/tables/_a-zA-Z0-9*`. | +| | `string` | Name of the table that contains the tablet. Values are of the form `projects/{project}/instances/{instance}/tables/_a-zA-Z0-9*`. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists hot tablets in a cluster, within the time range provided. Hot tablets are ordered based on CPU usage. | + +## `SELECT` examples + +Lists hot tablets in a cluster, within the time range provided. Hot tablets are ordered based on CPU usage. + +```sql +SELECT +name, +endKey, +endTime, +nodeCpuUsagePercent, +startKey, +startTime, +tableName +FROM google.bigtableadmin.hot_tablets +WHERE clustersId = '{{ clustersId }}' +AND instancesId = '{{ instancesId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/bigtableadmin/index.md b/docs/google-docs/providers/google/bigtableadmin/index.md index a76cb5c619..22a21d681d 100644 --- a/docs/google-docs/providers/google/bigtableadmin/index.md +++ b/docs/google-docs/providers/google/bigtableadmin/index.md @@ -9,34 +9,23 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Administer your Cloud Bigtable tables and instances. - +The bigtableadmin service documentation. + :::info Service Summary
total resources: 13
-total selectable resources: 13
-total methods: 68
::: -## Overview -
- - - - - -
Namegoogle.bigtableadmin
TypeService
TitleCloud Bigtable Admin API
DescriptionAdminister your Cloud Bigtable tables and instances.
Idbigtableadmin:v24.06.00236
- ## Resources
@@ -46,7 +35,7 @@ Administer your Cloud Bigtable tables and instances. backups
backups_iam_policies
clusters
-hot_tablets
+hot_tablets
instances
@@ -54,6 +43,6 @@ Administer your Cloud Bigtable tables and instances. locations
operations
tables
-tables_iam_policies
-
+tables_iam_policies
+ \ No newline at end of file diff --git a/docs/google-docs/providers/google/bigtableadmin/instances/index.md b/docs/google-docs/providers/google/bigtableadmin/instances/index.md index 3ede5e0515..c48419f31e 100644 --- a/docs/google-docs/providers/google/bigtableadmin/instances/index.md +++ b/docs/google-docs/providers/google/bigtableadmin/instances/index.md @@ -1,3 +1,4 @@ + --- title: instances hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - instances - bigtableadmin - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an instance resource or lists instances in a region ## Overview @@ -30,14 +32,15 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The unique name of the instance. Values are of the form `projects/{project}/instances/a-z+[a-z0-9]`. | +| | `string` | The unique name of the instance. Values are of the form `projects/{project}/instances/a-z+[a-z0-9]`. | | | `string` | Output only. A commit timestamp representing when this Instance was created. For instances created before this field was added (August 2021), this value is `seconds: 0, nanos: 1`. | | | `string` | Required. The descriptive name for this instance as it appears in UIs. Can be changed at any time, but should be kept globally unique to avoid confusion. | -| | `object` | Labels are a flexible and lightweight mechanism for organizing cloud resources into groups that reflect a customer's organizational needs and deployment strategies. They can be used to filter resources and aggregate metrics. * Label keys must be between 1 and 63 characters long and must conform to the regular expression: `\p{Ll}\p{Lo}{0,62}`. * Label values must be between 0 and 63 characters long and must conform to the regular expression: `[\p{Ll}\p{Lo}\p{N}_-]{0,63}`. * No more than 64 labels can be associated with a given resource. * Keys and values must both be under 128 bytes. | +| | `object` | Labels are a flexible and lightweight mechanism for organizing cloud resources into groups that reflect a customer's organizational needs and deployment strategies. They can be used to filter resources and aggregate metrics. * Label keys must be between 1 and 63 characters long and must conform to the regular expression: `\p{Ll}\p{Lo}{0,62}`. * Label values must be between 0 and 63 characters long and must conform to the regular expression: `[\p{Ll}\p{Lo}\p{N}_-]{0,63}`. * No more than 64 labels can be associated with a given resource. * Keys and values must both be under 128 bytes. | | | `boolean` | Output only. Reserved for future use. | | | `boolean` | Output only. Reserved for future use. | | | `string` | Output only. The current state of the instance. | | | `string` | The type of the instance. Defaults to `PRODUCTION`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -45,6 +48,83 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists information about instances in a project. | | | `INSERT` | | Create an instance within a project. Note that exactly one of Cluster.serve_nodes and Cluster.cluster_config.cluster_autoscaling_config can be set. If serve_nodes is set to non-zero, then the cluster is manually scaled. If cluster_config.cluster_autoscaling_config is non-empty, then autoscaling is enabled. | | | `DELETE` | | Delete an instance from a project. | -| | `UPDATE` | | Updates an instance within a project. This method updates only the display name and type for an Instance. To update other Instance properties, such as labels, use PartialUpdateInstance. | -| | `EXEC` | | Lists information about instances in a project. | | | `EXEC` | | Partially updates an instance within a project. This method can modify all fields of an Instance and is the preferred way to update an Instance. | +| | `EXEC` | | Updates an instance within a project. This method updates only the display name and type for an Instance. To update other Instance properties, such as labels, use PartialUpdateInstance. | + +## `SELECT` examples + +Lists information about instances in a project. + +```sql +SELECT +name, +createTime, +displayName, +labels, +satisfiesPzi, +satisfiesPzs, +state, +type +FROM google.bigtableadmin.instances +WHERE projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new instances resource. + + + + +```sql +/*+ create */ +INSERT INTO google.bigtableadmin.instances ( +projectsId, +parent, +instanceId, +instance, +clusters +) +SELECT +'{{ projectsId }}', +'{{ parent }}', +'{{ instanceId }}', +'{{ instance }}', +'{{ clusters }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: parent + value: '{{ parent }}' + - name: instanceId + value: '{{ instanceId }}' + - name: instance + value: '{{ instance }}' + - name: clusters + value: '{{ clusters }}' + +``` + + + +## `DELETE` example + +Deletes the specified instance resource. + +```sql +DELETE FROM google.bigtableadmin.instances +WHERE instancesId = '{{ instancesId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/bigtableadmin/instances_iam_policies/index.md b/docs/google-docs/providers/google/bigtableadmin/instances_iam_policies/index.md index a11dad4611..a960cb8c6b 100644 --- a/docs/google-docs/providers/google/bigtableadmin/instances_iam_policies/index.md +++ b/docs/google-docs/providers/google/bigtableadmin/instances_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: instances_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - instances_iam_policies - bigtableadmin - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an instances_iam_policy resource or lists instances_iam_policies in a region ## Overview
@@ -30,13 +32,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for an instance resource. Returns an empty policy if an instance exists but does not have a policy set. | -| | `EXEC` | | Gets the access control policy for an instance resource. Returns an empty policy if an instance exists but does not have a policy set. | | | `EXEC` | | Sets the access control policy on an instance resource. Replaces any existing policy. | | | `EXEC` | | Returns permissions that the caller has on the specified instance resource. | + +## `SELECT` examples + +Gets the access control policy for an instance resource. Returns an empty policy if an instance exists but does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.bigtableadmin.instances_iam_policies +WHERE instancesId = '{{ instancesId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/bigtableadmin/locations/index.md b/docs/google-docs/providers/google/bigtableadmin/locations/index.md index 073ed375ba..4b933c33df 100644 --- a/docs/google-docs/providers/google/bigtableadmin/locations/index.md +++ b/docs/google-docs/providers/google/bigtableadmin/locations/index.md @@ -1,3 +1,4 @@ + --- title: locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - locations - bigtableadmin - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an location resource or lists locations in a region ## Overview
@@ -32,11 +34,26 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` | | | `string` | The friendly name for this location, typically a nearby city name. For example, "Tokyo". | -| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | +| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | | | `string` | The canonical id for this location. For example: `"us-east1"`. | | | `object` | Service-specific metadata. For example the available capacity at the given location. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists information about the supported locations for this service. | + +## `SELECT` examples + +Lists information about the supported locations for this service. + +```sql +SELECT +name, +displayName, +labels, +locationId, +metadata +FROM google.bigtableadmin.locations +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/bigtableadmin/operations/index.md b/docs/google-docs/providers/google/bigtableadmin/operations/index.md index 2f8088343a..82a30fd4c0 100644 --- a/docs/google-docs/providers/google/bigtableadmin/operations/index.md +++ b/docs/google-docs/providers/google/bigtableadmin/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - bigtableadmin - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview
@@ -30,14 +32,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.bigtableadmin.operations +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/bigtableadmin/tables/index.md b/docs/google-docs/providers/google/bigtableadmin/tables/index.md index 7bd531e504..f201e41ad2 100644 --- a/docs/google-docs/providers/google/bigtableadmin/tables/index.md +++ b/docs/google-docs/providers/google/bigtableadmin/tables/index.md @@ -1,3 +1,4 @@ + --- title: tables hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - tables - bigtableadmin - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an table resource or lists tables in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The unique name of the table. Values are of the form `projects/{project}/instances/{instance}/tables/_a-zA-Z0-9*`. Views: `NAME_ONLY`, `SCHEMA_VIEW`, `REPLICATION_VIEW`, `STATS_VIEW`, `FULL` | +| | `string` | The unique name of the table. Values are of the form `projects/{project}/instances/{instance}/tables/_a-zA-Z0-9*`. Views: `NAME_ONLY`, `SCHEMA_VIEW`, `REPLICATION_VIEW`, `STATS_VIEW`, `FULL` | | | `object` | Defines an automated backup policy for a table | | | `object` | Change stream configuration. | | | `object` | Output only. Map from cluster ID to per-cluster table state. If it could not be determined whether or not the table has data in a particular cluster (for example, if its zone is unavailable), then there will be an entry for the cluster with UNKNOWN `replication_status`. Views: `REPLICATION_VIEW`, `ENCRYPTION_VIEW`, `FULL` | @@ -39,6 +41,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Immutable. The granularity (i.e. `MILLIS`) at which timestamps are stored in this table. Timestamps not matching the granularity will be rejected. If unspecified at creation time, the value will be set to `MILLIS`. Views: `SCHEMA_VIEW`, `FULL`. | | | `object` | Information about a table restore. | | | `object` | Approximate statistics related to a table. These statistics are calculated infrequently, while simultaneously, data in the table can change rapidly. Thus the values reported here (e.g. row count) are very likely out-of date, even the instant they are received in this API. Thus, only treat these values as approximate. IMPORTANT: Everything below is approximate, unless otherwise specified. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -47,10 +50,110 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new table in the specified instance. The table can be created with a full set of initial column families, specified in the request. | | | `DELETE` | | Permanently deletes a specified table and all of its data. | | | `UPDATE` | | Updates a specified table. | -| | `EXEC` | | Lists all tables served from a specified instance. | | | `EXEC` | | Checks replication consistency based on a consistency token, that is, if replication has caught up based on the conditions specified in the token and the check request. | | | `EXEC` | | Permanently drop/delete a row range from a specified table. The request can specify whether to delete all rows in a table, or only those that match a particular prefix. Note that row key prefixes used here are treated as service data. For more information about how service data is handled, see the [Google Cloud Privacy Notice](https://cloud.google.com/terms/cloud-privacy-notice). | | | `EXEC` | | Generates a consistency token for a Table, which can be used in CheckConsistency to check whether mutations to the table that finished before this call started have been replicated. The tokens will be available for 90 days. | | | `EXEC` | | Performs a series of column family modifications on the specified table. Either all or none of the modifications will occur before this method returns, but data requests received prior to that point may see a table where only some modifications have taken effect. | | | `EXEC` | | Create a new table by restoring from a completed backup. The returned table long-running operation can be used to track the progress of the operation, and to cancel it. The metadata field type is RestoreTableMetadata. The response type is Table, if successful. | | | `EXEC` | | Restores a specified table which was accidentally deleted. | + +## `SELECT` examples + +Lists all tables served from a specified instance. + +```sql +SELECT +name, +automatedBackupPolicy, +changeStreamConfig, +clusterStates, +columnFamilies, +deletionProtection, +granularity, +restoreInfo, +stats +FROM google.bigtableadmin.tables +WHERE instancesId = '{{ instancesId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new tables resource. + + + + +```sql +/*+ create */ +INSERT INTO google.bigtableadmin.tables ( +instancesId, +projectsId, +tableId, +table, +initialSplits +) +SELECT +'{{ instancesId }}', +'{{ projectsId }}', +'{{ tableId }}', +'{{ table }}', +'{{ initialSplits }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: tableId + value: '{{ tableId }}' + - name: table + value: '{{ table }}' + - name: initialSplits + value: '{{ initialSplits }}' + +``` + + + +## `UPDATE` example + +Updates a table only if the necessary resources are available. + +```sql +UPDATE google.bigtableadmin.tables +SET +name = '{{ name }}', +clusterStates = '{{ clusterStates }}', +columnFamilies = '{{ columnFamilies }}', +granularity = '{{ granularity }}', +restoreInfo = '{{ restoreInfo }}', +changeStreamConfig = '{{ changeStreamConfig }}', +deletionProtection = true|false, +stats = '{{ stats }}', +automatedBackupPolicy = '{{ automatedBackupPolicy }}' +WHERE +instancesId = '{{ instancesId }}' +AND projectsId = '{{ projectsId }}' +AND tablesId = '{{ tablesId }}'; +``` + +## `DELETE` example + +Deletes the specified table resource. + +```sql +DELETE FROM google.bigtableadmin.tables +WHERE instancesId = '{{ instancesId }}' +AND projectsId = '{{ projectsId }}' +AND tablesId = '{{ tablesId }}'; +``` diff --git a/docs/google-docs/providers/google/bigtableadmin/tables_iam_policies/index.md b/docs/google-docs/providers/google/bigtableadmin/tables_iam_policies/index.md index ffea5dca5e..479a8272f9 100644 --- a/docs/google-docs/providers/google/bigtableadmin/tables_iam_policies/index.md +++ b/docs/google-docs/providers/google/bigtableadmin/tables_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: tables_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - tables_iam_policies - bigtableadmin - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an tables_iam_policy resource or lists tables_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a Bigtable resource. Returns an empty policy if the resource exists but does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a Bigtable resource. Returns an empty policy if the resource exists but does not have a policy set. | | | `EXEC` | | Sets the access control policy on a Bigtable resource. Replaces any existing policy. | | | `EXEC` | | Returns permissions that the caller has on the specified Bigtable resource. | + +## `SELECT` examples + +Gets the access control policy for a Bigtable resource. Returns an empty policy if the resource exists but does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.bigtableadmin.tables_iam_policies +WHERE instancesId = '{{ instancesId }}' +AND projectsId = '{{ projectsId }}' +AND tablesId = '{{ tablesId }}'; +``` diff --git a/docs/google-docs/providers/google/billingbudgets/budgets/index.md b/docs/google-docs/providers/google/billingbudgets/budgets/index.md index 22baa3f8c4..7cb53fddcc 100644 --- a/docs/google-docs/providers/google/billingbudgets/budgets/index.md +++ b/docs/google-docs/providers/google/billingbudgets/budgets/index.md @@ -1,3 +1,4 @@ + --- title: budgets hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - budgets - billingbudgets - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an budget resource or lists budgets in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. Resource name of the budget. The resource name implies the scope of a budget. Values are of the form `billingAccounts/{billingAccountId}/budgets/{budgetId}`. | +| | `string` | Output only. Resource name of the budget. The resource name implies the scope of a budget. Values are of the form `billingAccounts/{billingAccountId}/budgets/{budgetId}`. | | | `object` | The budgeted amount for each usage period. | | | `object` | A filter for a budget, limiting the scope of the cost to calculate. | | | `string` | User data for display name in UI. The name must be less than or equal to 60 characters. | @@ -38,6 +40,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | NotificationsRule defines notifications that are sent based on budget spend and thresholds. | | | `string` | | | | `array` | Optional. Rules that trigger alerts (notifications of thresholds being crossed) when spend exceeds the specified percentages of the budget. Optional for `pubsubTopic` notifications. Required if using email notifications. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -46,4 +49,117 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new budget. See [Quotas and limits](https://cloud.google.com/billing/quotas) for more information on the limits of the number of budgets you can create. | | | `DELETE` | | Deletes a budget. Returns successfully if already deleted. | | | `UPDATE` | | Updates a budget and returns the updated budget. WARNING: There are some fields exposed on the Google Cloud Console that aren't available on this API. Budget fields that are not exposed in this API will not be changed by this method. | -| | `EXEC` | | Returns a list of budgets for a billing account. WARNING: There are some fields exposed on the Google Cloud Console that aren't available on this API. When reading from the API, you will not see these fields in the return value, though they may have been set in the Cloud Console. | + +## `SELECT` examples + +Returns a list of budgets for a billing account. WARNING: There are some fields exposed on the Google Cloud Console that aren't available on this API. When reading from the API, you will not see these fields in the return value, though they may have been set in the Cloud Console. + +```sql +SELECT +name, +amount, +budgetFilter, +displayName, +etag, +notificationsRule, +ownershipScope, +thresholdRules +FROM google.billingbudgets.budgets +WHERE billingAccountsId = '{{ billingAccountsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new budgets resource. + + + + +```sql +/*+ create */ +INSERT INTO google.billingbudgets.budgets ( +billingAccountsId, +ownershipScope, +thresholdRules, +notificationsRule, +name, +displayName, +budgetFilter, +amount, +etag +) +SELECT +'{{ billingAccountsId }}', +'{{ ownershipScope }}', +'{{ thresholdRules }}', +'{{ notificationsRule }}', +'{{ name }}', +'{{ displayName }}', +'{{ budgetFilter }}', +'{{ amount }}', +'{{ etag }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: ownershipScope + value: '{{ ownershipScope }}' + - name: thresholdRules + value: '{{ thresholdRules }}' + - name: notificationsRule + value: '{{ notificationsRule }}' + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: budgetFilter + value: '{{ budgetFilter }}' + - name: amount + value: '{{ amount }}' + - name: etag + value: '{{ etag }}' + +``` + + + +## `UPDATE` example + +Updates a budget only if the necessary resources are available. + +```sql +UPDATE google.billingbudgets.budgets +SET +ownershipScope = '{{ ownershipScope }}', +thresholdRules = '{{ thresholdRules }}', +notificationsRule = '{{ notificationsRule }}', +name = '{{ name }}', +displayName = '{{ displayName }}', +budgetFilter = '{{ budgetFilter }}', +amount = '{{ amount }}', +etag = '{{ etag }}' +WHERE +billingAccountsId = '{{ billingAccountsId }}' +AND budgetsId = '{{ budgetsId }}'; +``` + +## `DELETE` example + +Deletes the specified budget resource. + +```sql +DELETE FROM google.billingbudgets.budgets +WHERE billingAccountsId = '{{ billingAccountsId }}' +AND budgetsId = '{{ budgetsId }}'; +``` diff --git a/docs/google-docs/providers/google/billingbudgets/index.md b/docs/google-docs/providers/google/billingbudgets/index.md index 87be11f1df..625d525377 100644 --- a/docs/google-docs/providers/google/billingbudgets/index.md +++ b/docs/google-docs/providers/google/billingbudgets/index.md @@ -9,39 +9,29 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -The Cloud Billing Budget API stores Cloud Billing budgets, which define a budget plan and the rules to execute as spend is tracked against that plan. - +The billingbudgets service documentation. + :::info Service Summary
total resources: 1
-total selectable resources: 1
-total methods: 6
::: -## Overview -
- - - - - -
Namegoogle.billingbudgets
TypeService
TitleCloud Billing Budget API
DescriptionThe Cloud Billing Budget API stores Cloud Billing budgets, which define a budget plan and the rules to execute as spend is tracked against that plan.
Idbillingbudgets:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/binaryauthorization/attestors/index.md b/docs/google-docs/providers/google/binaryauthorization/attestors/index.md index fbabde1ffc..91eba42c18 100644 --- a/docs/google-docs/providers/google/binaryauthorization/attestors/index.md +++ b/docs/google-docs/providers/google/binaryauthorization/attestors/index.md @@ -1,3 +1,4 @@ + --- title: attestors hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - attestors - binaryauthorization - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an attestor resource or lists attestors in a region ## Overview @@ -35,6 +37,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Optional. A checksum, returned by the server, that can be sent on update requests to ensure the attestor has an up-to-date value before attempting to update it. See https://google.aip.dev/154. | | | `string` | Output only. Time when the attestor was last updated. | | | `object` | An user owned Grafeas note references a Grafeas Attestation.Authority Note created by the user. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -42,6 +45,84 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists attestors. Returns `INVALID_ARGUMENT` if the project does not exist. | | | `INSERT` | | Creates an attestor, and returns a copy of the new attestor. Returns `NOT_FOUND` if the project does not exist, `INVALID_ARGUMENT` if the request is malformed, `ALREADY_EXISTS` if the attestor already exists. | | | `DELETE` | | Deletes an attestor. Returns `NOT_FOUND` if the attestor does not exist. | -| | `UPDATE` | | Updates an attestor. Returns `NOT_FOUND` if the attestor does not exist. | -| | `EXEC` | | Lists attestors. Returns `INVALID_ARGUMENT` if the project does not exist. | +| | `EXEC` | | Updates an attestor. Returns `NOT_FOUND` if the attestor does not exist. | | | `EXEC` | | Returns whether the given `Attestation` for the given image URI was signed by the given `Attestor` | + +## `SELECT` examples + +Lists attestors. Returns `INVALID_ARGUMENT` if the project does not exist. + +```sql +SELECT +name, +description, +etag, +updateTime, +userOwnedGrafeasNote +FROM google.binaryauthorization.attestors +WHERE projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new attestors resource. + + + + +```sql +/*+ create */ +INSERT INTO google.binaryauthorization.attestors ( +projectsId, +name, +description, +userOwnedGrafeasNote, +updateTime, +etag +) +SELECT +'{{ projectsId }}', +'{{ name }}', +'{{ description }}', +'{{ userOwnedGrafeasNote }}', +'{{ updateTime }}', +'{{ etag }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: userOwnedGrafeasNote + value: '{{ userOwnedGrafeasNote }}' + - name: updateTime + value: '{{ updateTime }}' + - name: etag + value: '{{ etag }}' + +``` + + + +## `DELETE` example + +Deletes the specified attestor resource. + +```sql +DELETE FROM google.binaryauthorization.attestors +WHERE attestorsId = '{{ attestorsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/binaryauthorization/attestors_iam_policies/index.md b/docs/google-docs/providers/google/binaryauthorization/attestors_iam_policies/index.md index aeedba0893..a9c6902f0b 100644 --- a/docs/google-docs/providers/google/binaryauthorization/attestors_iam_policies/index.md +++ b/docs/google-docs/providers/google/binaryauthorization/attestors_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: attestors_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - attestors_iam_policies - binaryauthorization - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an attestors_iam_policy resource or lists attestors_iam_policies in a region ## Overview
@@ -30,13 +32,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.binaryauthorization.attestors_iam_policies +WHERE attestorsId = '{{ attestorsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/binaryauthorization/index.md b/docs/google-docs/providers/google/binaryauthorization/index.md index f7894abd02..6515270a6a 100644 --- a/docs/google-docs/providers/google/binaryauthorization/index.md +++ b/docs/google-docs/providers/google/binaryauthorization/index.md @@ -9,44 +9,33 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -The management interface for Binary Authorization, a service that provides policy-based deployment validation and control for images deployed to Google Kubernetes Engine (GKE), Anthos Service Mesh, Anthos Clusters, and Cloud Run. - +The binaryauthorization service documentation. + :::info Service Summary
total resources: 6
-total selectable resources: 6
-total methods: 25
::: -## Overview -
- - - - - -
Namegoogle.binaryauthorization
TypeService
TitleBinary Authorization API
DescriptionThe management interface for Binary Authorization, a service that provides policy-based deployment validation and control for images deployed to Google Kubernetes Engine (GKE), Anthos Service Mesh, Anthos Clusters, and Cloud Run.
Idbinaryauthorization:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/binaryauthorization/policies/index.md b/docs/google-docs/providers/google/binaryauthorization/policies/index.md index 673b61e4fb..93518761ad 100644 --- a/docs/google-docs/providers/google/binaryauthorization/policies/index.md +++ b/docs/google-docs/providers/google/binaryauthorization/policies/index.md @@ -1,3 +1,4 @@ + --- title: policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - policies - binaryauthorization - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an policy resource or lists policies in a region ## Overview @@ -32,8 +34,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Output only. The relative resource name of the Binary Authorization platform policy, in the form of `projects/*/platforms/*/policies/*`. | | | `string` | Optional. A description comment about the policy. | +| | `string` | Optional. Used to prevent updating the policy when another request has updated it since it was retrieved. | | | `object` | A Binary Authorization policy for a GKE cluster. This is one type of policy that can occur as a `PlatformPolicy`. | | | `string` | Output only. Time when the policy was last updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -41,6 +45,88 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists platform policies owned by a project in the specified platform. Returns `INVALID_ARGUMENT` if the project or the platform doesn't exist. | | | `INSERT` | | Creates a platform policy, and returns a copy of it. Returns `NOT_FOUND` if the project or platform doesn't exist, `INVALID_ARGUMENT` if the request is malformed, `ALREADY_EXISTS` if the policy already exists, and `INVALID_ARGUMENT` if the policy contains a platform-specific policy that does not match the platform value specified in the URL. | | | `DELETE` | | Deletes a platform policy. Returns `NOT_FOUND` if the policy doesn't exist. | -| | `EXEC` | | Lists platform policies owned by a project in the specified platform. Returns `INVALID_ARGUMENT` if the project or the platform doesn't exist. | | | `EXEC` | | Evaluates a Kubernetes object versus a GKE platform policy. Returns `NOT_FOUND` if the policy doesn't exist, `INVALID_ARGUMENT` if the policy or request is malformed and `PERMISSION_DENIED` if the client does not have sufficient permissions. | | | `EXEC` | | Replaces a platform policy. Returns `NOT_FOUND` if the policy doesn't exist. | + +## `SELECT` examples + +Lists platform policies owned by a project in the specified platform. Returns `INVALID_ARGUMENT` if the project or the platform doesn't exist. + +```sql +SELECT +name, +description, +etag, +gkePolicy, +updateTime +FROM google.binaryauthorization.policies +WHERE platformsId = '{{ platformsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new policies resource. + + + + +```sql +/*+ create */ +INSERT INTO google.binaryauthorization.policies ( +platformsId, +projectsId, +name, +description, +gkePolicy, +updateTime, +etag +) +SELECT +'{{ platformsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ description }}', +'{{ gkePolicy }}', +'{{ updateTime }}', +'{{ etag }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: gkePolicy + value: '{{ gkePolicy }}' + - name: updateTime + value: '{{ updateTime }}' + - name: etag + value: '{{ etag }}' + +``` + + + +## `DELETE` example + +Deletes the specified policy resource. + +```sql +DELETE FROM google.binaryauthorization.policies +WHERE platformsId = '{{ platformsId }}' +AND policiesId = '{{ policiesId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/binaryauthorization/policy/index.md b/docs/google-docs/providers/google/binaryauthorization/policy/index.md index 0d862c2695..4c63336dd6 100644 --- a/docs/google-docs/providers/google/binaryauthorization/policy/index.md +++ b/docs/google-docs/providers/google/binaryauthorization/policy/index.md @@ -1,3 +1,4 @@ + --- title: policy hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - policy - binaryauthorization - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an policy resource or lists policy in a region ## Overview
@@ -41,8 +43,30 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Optional. Per-kubernetes-namespace admission rules. K8s namespace spec format: `[a-z.-]+`, e.g. `some-namespace` | | | `object` | Optional. Per-kubernetes-service-account admission rules. Service account spec format: `namespace:serviceaccount`. e.g. `test-ns:default` | | | `string` | Output only. Time when the policy was last updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | A policy specifies the attestors that must attest to a container image, before the project is allowed to deploy that image. There is at most one policy per project. All image admission requests are permitted if a project has no policy. Gets the policy for this project. Returns a default policy if the project does not have one. | | | `EXEC` | | Creates or updates a project's policy, and returns a copy of the new policy. A policy is always updated as a whole, to avoid race conditions with concurrent policy enforcement (or management!) requests. Returns `NOT_FOUND` if the project does not exist, `INVALID_ARGUMENT` if the request is malformed. | + +## `SELECT` examples + +A policy specifies the attestors that must attest to a container image, before the project is allowed to deploy that image. There is at most one policy per project. All image admission requests are permitted if a project has no policy. Gets the policy for this project. Returns a default policy if the project does not have one. + +```sql +SELECT +name, +description, +admissionWhitelistPatterns, +clusterAdmissionRules, +defaultAdmissionRule, +etag, +globalPolicyEvaluationMode, +istioServiceIdentityAdmissionRules, +kubernetesNamespaceAdmissionRules, +kubernetesServiceAccountAdmissionRules, +updateTime +FROM google.binaryauthorization.policy +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/binaryauthorization/policy_iam_policies/index.md b/docs/google-docs/providers/google/binaryauthorization/policy_iam_policies/index.md index 794ea28e34..a367c26582 100644 --- a/docs/google-docs/providers/google/binaryauthorization/policy_iam_policies/index.md +++ b/docs/google-docs/providers/google/binaryauthorization/policy_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: policy_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - policy_iam_policies - binaryauthorization - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an policy_iam_policy resource or lists policy_iam_policies in a region ## Overview
@@ -30,13 +32,26 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.binaryauthorization.policy_iam_policies +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/binaryauthorization/systempolicy_policy/index.md b/docs/google-docs/providers/google/binaryauthorization/systempolicy_policy/index.md index c64477ee73..490cc02db7 100644 --- a/docs/google-docs/providers/google/binaryauthorization/systempolicy_policy/index.md +++ b/docs/google-docs/providers/google/binaryauthorization/systempolicy_policy/index.md @@ -1,3 +1,4 @@ + --- title: systempolicy_policy hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - systempolicy_policy - binaryauthorization - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an systempolicy_policy resource or lists systempolicy_policy in a region ## Overview
@@ -41,7 +43,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Optional. Per-kubernetes-namespace admission rules. K8s namespace spec format: `[a-z.-]+`, e.g. `some-namespace` | | | `object` | Optional. Per-kubernetes-service-account admission rules. Service account spec format: `namespace:serviceaccount`. e.g. `test-ns:default` | | | `string` | Output only. Time when the policy was last updated. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets the current system policy in the specified location. | + +## `SELECT` examples + +Gets the current system policy in the specified location. + +```sql +SELECT +name, +description, +admissionWhitelistPatterns, +clusterAdmissionRules, +defaultAdmissionRule, +etag, +globalPolicyEvaluationMode, +istioServiceIdentityAdmissionRules, +kubernetesNamespaceAdmissionRules, +kubernetesServiceAccountAdmissionRules, +updateTime +FROM google.binaryauthorization.systempolicy_policy +WHERE locationsId = '{{ locationsId }}'; +``` diff --git a/docs/google-docs/providers/google/blockchainnodeengine/blockchain_nodes/index.md b/docs/google-docs/providers/google/blockchainnodeengine/blockchain_nodes/index.md index 73d30af991..f0cd0885b8 100644 --- a/docs/google-docs/providers/google/blockchainnodeengine/blockchain_nodes/index.md +++ b/docs/google-docs/providers/google/blockchainnodeengine/blockchain_nodes/index.md @@ -1,3 +1,4 @@ + --- title: blockchain_nodes hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - blockchain_nodes - blockchainnodeengine - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an blockchain_node resource or lists blockchain_nodes in a region ## Overview
@@ -39,6 +41,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `boolean` | Optional. When true, the node is only accessible via Private Service Connect; no public endpoints are exposed. Otherwise, the node is only accessible via public endpoints. Warning: Private Service Connect enabled nodes may require a manual migration effort to remain compatible with future versions of the product. If this feature is enabled, you will be notified of these changes along with any required action to avoid disruption. See https://cloud.google.com/vpc/docs/private-service-connect. | | | `string` | Output only. A status representing the state of the node. | | | `string` | Output only. The timestamp at which the blockchain node was last updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -47,4 +50,128 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new blockchain node in a given project and location. | | | `DELETE` | | Deletes a single blockchain node. | | | `UPDATE` | | Updates the parameters of a single blockchain node. | -| | `EXEC` | | Lists blockchain nodes in a given project and location. | + +## `SELECT` examples + +Lists blockchain nodes in a given project and location. + +```sql +SELECT +name, +blockchainType, +connectionInfo, +createTime, +ethereumDetails, +labels, +privateServiceConnectEnabled, +state, +updateTime +FROM google.blockchainnodeengine.blockchain_nodes +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new blockchain_nodes resource. + + + + +```sql +/*+ create */ +INSERT INTO google.blockchainnodeengine.blockchain_nodes ( +locationsId, +projectsId, +ethereumDetails, +name, +createTime, +updateTime, +labels, +blockchainType, +connectionInfo, +state, +privateServiceConnectEnabled +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ ethereumDetails }}', +'{{ name }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ labels }}', +'{{ blockchainType }}', +'{{ connectionInfo }}', +'{{ state }}', +true|false +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: ethereumDetails + value: '{{ ethereumDetails }}' + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: labels + value: '{{ labels }}' + - name: blockchainType + value: '{{ blockchainType }}' + - name: connectionInfo + value: '{{ connectionInfo }}' + - name: state + value: '{{ state }}' + - name: privateServiceConnectEnabled + value: '{{ privateServiceConnectEnabled }}' + +``` + + + +## `UPDATE` example + +Updates a blockchain_node only if the necessary resources are available. + +```sql +UPDATE google.blockchainnodeengine.blockchain_nodes +SET +ethereumDetails = '{{ ethereumDetails }}', +name = '{{ name }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +labels = '{{ labels }}', +blockchainType = '{{ blockchainType }}', +connectionInfo = '{{ connectionInfo }}', +state = '{{ state }}', +privateServiceConnectEnabled = true|false +WHERE +blockchainNodesId = '{{ blockchainNodesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified blockchain_node resource. + +```sql +DELETE FROM google.blockchainnodeengine.blockchain_nodes +WHERE blockchainNodesId = '{{ blockchainNodesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/blockchainnodeengine/index.md b/docs/google-docs/providers/google/blockchainnodeengine/index.md index 7ac753bc35..7812239852 100644 --- a/docs/google-docs/providers/google/blockchainnodeengine/index.md +++ b/docs/google-docs/providers/google/blockchainnodeengine/index.md @@ -9,41 +9,30 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- - - +The blockchainnodeengine service documentation. + :::info Service Summary
total resources: 3
-total selectable resources: 3
-total methods: 14
::: -## Overview -
- - - - - -
Namegoogle.blockchainnodeengine
TypeService
TitleBlockchain Node Engine API
Description
Idblockchainnodeengine:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/blockchainnodeengine/locations/index.md b/docs/google-docs/providers/google/blockchainnodeengine/locations/index.md index 7e32e8280c..265caab315 100644 --- a/docs/google-docs/providers/google/blockchainnodeengine/locations/index.md +++ b/docs/google-docs/providers/google/blockchainnodeengine/locations/index.md @@ -1,3 +1,4 @@ + --- title: locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - locations - blockchainnodeengine - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an location resource or lists locations in a region ## Overview @@ -32,12 +34,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` | | | `string` | The friendly name for this location, typically a nearby city name. For example, "Tokyo". | -| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | +| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | | | `string` | The canonical id for this location. For example: `"us-east1"`. | | | `object` | Service-specific metadata. For example the available capacity at the given location. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about a location. | | | `SELECT` | | Lists information about the supported locations for this service. | -| | `EXEC` | | Lists information about the supported locations for this service. | + +## `SELECT` examples + +Lists information about the supported locations for this service. + +```sql +SELECT +name, +displayName, +labels, +locationId, +metadata +FROM google.blockchainnodeengine.locations +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/blockchainnodeengine/operations/index.md b/docs/google-docs/providers/google/blockchainnodeengine/operations/index.md index fa80cddf24..83c8a64209 100644 --- a/docs/google-docs/providers/google/blockchainnodeengine/operations/index.md +++ b/docs/google-docs/providers/google/blockchainnodeengine/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - blockchainnodeengine - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview
@@ -30,16 +32,43 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.blockchainnodeengine.operations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified operation resource. + +```sql +DELETE FROM google.blockchainnodeengine.operations +WHERE locationsId = '{{ locationsId }}' +AND operationsId = '{{ operationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/certificatemanager/certificate_issuance_configs/index.md b/docs/google-docs/providers/google/certificatemanager/certificate_issuance_configs/index.md index b3b4792d83..78a34b27e7 100644 --- a/docs/google-docs/providers/google/certificatemanager/certificate_issuance_configs/index.md +++ b/docs/google-docs/providers/google/certificatemanager/certificate_issuance_configs/index.md @@ -1,3 +1,4 @@ + --- title: certificate_issuance_configs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - certificate_issuance_configs - certificatemanager - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an certificate_issuance_config resource or lists certificate_issuance_configs in a region ## Overview
@@ -30,15 +32,16 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | A user-defined name of the certificate issuance config. CertificateIssuanceConfig names must be unique globally and match pattern `projects/*/locations/*/certificateIssuanceConfigs/*`. | -| | `string` | One or more paragraphs of text description of a CertificateIssuanceConfig. | +| | `string` | Identifier. A user-defined name of the certificate issuance config. CertificateIssuanceConfig names must be unique globally and match pattern `projects/*/locations/*/certificateIssuanceConfigs/*`. | +| | `string` | Optional. One or more paragraphs of text description of a CertificateIssuanceConfig. | | | `object` | The CA that issues the workload certificate. It includes CA address, type, authentication to CA service, etc. | | | `string` | Output only. The creation timestamp of a CertificateIssuanceConfig. | | | `string` | Required. The key algorithm to use when generating the private key. | -| | `object` | Set of labels associated with a CertificateIssuanceConfig. | +| | `object` | Optional. Set of labels associated with a CertificateIssuanceConfig. | | | `string` | Required. Workload certificate lifetime requested. | | | `integer` | Required. Specifies the percentage of elapsed time of the certificate lifetime to wait before renewing the certificate. Must be a number between 1-99, inclusive. | | | `string` | Output only. The last update timestamp of a CertificateIssuanceConfig. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -46,4 +49,129 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists CertificateIssuanceConfigs in a given project and location. | | | `INSERT` | | Creates a new CertificateIssuanceConfig in a given project and location. | | | `DELETE` | | Deletes a single CertificateIssuanceConfig. | -| | `EXEC` | | Lists CertificateIssuanceConfigs in a given project and location. | +| | `UPDATE` | | Updates a CertificateIssuanceConfig. | + +## `SELECT` examples + +Lists CertificateIssuanceConfigs in a given project and location. + +```sql +SELECT +name, +description, +certificateAuthorityConfig, +createTime, +keyAlgorithm, +labels, +lifetime, +rotationWindowPercentage, +updateTime +FROM google.certificatemanager.certificate_issuance_configs +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new certificate_issuance_configs resource. + + + + +```sql +/*+ create */ +INSERT INTO google.certificatemanager.certificate_issuance_configs ( +locationsId, +projectsId, +name, +createTime, +updateTime, +labels, +description, +certificateAuthorityConfig, +lifetime, +rotationWindowPercentage, +keyAlgorithm +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ labels }}', +'{{ description }}', +'{{ certificateAuthorityConfig }}', +'{{ lifetime }}', +'{{ rotationWindowPercentage }}', +'{{ keyAlgorithm }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: labels + value: '{{ labels }}' + - name: description + value: '{{ description }}' + - name: certificateAuthorityConfig + value: '{{ certificateAuthorityConfig }}' + - name: lifetime + value: '{{ lifetime }}' + - name: rotationWindowPercentage + value: '{{ rotationWindowPercentage }}' + - name: keyAlgorithm + value: '{{ keyAlgorithm }}' + +``` + + + +## `UPDATE` example + +Updates a certificate_issuance_config only if the necessary resources are available. + +```sql +UPDATE google.certificatemanager.certificate_issuance_configs +SET +name = '{{ name }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +labels = '{{ labels }}', +description = '{{ description }}', +certificateAuthorityConfig = '{{ certificateAuthorityConfig }}', +lifetime = '{{ lifetime }}', +rotationWindowPercentage = '{{ rotationWindowPercentage }}', +keyAlgorithm = '{{ keyAlgorithm }}' +WHERE +certificateIssuanceConfigsId = '{{ certificateIssuanceConfigsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified certificate_issuance_config resource. + +```sql +DELETE FROM google.certificatemanager.certificate_issuance_configs +WHERE certificateIssuanceConfigsId = '{{ certificateIssuanceConfigsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/certificatemanager/certificate_map_entries/index.md b/docs/google-docs/providers/google/certificatemanager/certificate_map_entries/index.md index b982b594aa..fd8d6138f8 100644 --- a/docs/google-docs/providers/google/certificatemanager/certificate_map_entries/index.md +++ b/docs/google-docs/providers/google/certificatemanager/certificate_map_entries/index.md @@ -1,3 +1,4 @@ + --- title: certificate_map_entries hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - certificate_map_entries - certificatemanager - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an certificate_map_entry resource or lists certificate_map_entries in a region ## Overview
@@ -30,15 +32,16 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | A user-defined name of the Certificate Map Entry. Certificate Map Entry names must be unique globally and match pattern `projects/*/locations/*/certificateMaps/*/certificateMapEntries/*`. | -| | `string` | One or more paragraphs of text description of a certificate map entry. | -| | `array` | A set of Certificates defines for the given `hostname`. There can be defined up to four certificates in each Certificate Map Entry. Each certificate must match pattern `projects/*/locations/*/certificates/*`. | +| | `string` | Identifier. A user-defined name of the Certificate Map Entry. Certificate Map Entry names must be unique globally and match pattern `projects/*/locations/*/certificateMaps/*/certificateMapEntries/*`. | +| | `string` | Optional. One or more paragraphs of text description of a certificate map entry. | +| | `array` | Optional. A set of Certificates defines for the given `hostname`. There can be defined up to four certificates in each Certificate Map Entry. Each certificate must match pattern `projects/*/locations/*/certificates/*`. | | | `string` | Output only. The creation timestamp of a Certificate Map Entry. | | | `string` | A Hostname (FQDN, e.g. `example.com`) or a wildcard hostname expression (`*.example.com`) for a set of hostnames with common suffix. Used as Server Name Indication (SNI) for selecting a proper certificate. | -| | `object` | Set of labels associated with a Certificate Map Entry. | +| | `object` | Optional. Set of labels associated with a Certificate Map Entry. | | | `string` | A predefined matcher for particular cases, other than SNI selection. | | | `string` | Output only. A serving state of this Certificate Map Entry. | | | `string` | Output only. The update timestamp of a Certificate Map Entry. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -47,4 +50,133 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new CertificateMapEntry in a given project and location. | | | `DELETE` | | Deletes a single CertificateMapEntry. | | | `UPDATE` | | Updates a CertificateMapEntry. | -| | `EXEC` | | Lists CertificateMapEntries in a given project and location. | + +## `SELECT` examples + +Lists CertificateMapEntries in a given project and location. + +```sql +SELECT +name, +description, +certificates, +createTime, +hostname, +labels, +matcher, +state, +updateTime +FROM google.certificatemanager.certificate_map_entries +WHERE certificateMapsId = '{{ certificateMapsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new certificate_map_entries resource. + + + + +```sql +/*+ create */ +INSERT INTO google.certificatemanager.certificate_map_entries ( +certificateMapsId, +locationsId, +projectsId, +name, +description, +createTime, +updateTime, +labels, +hostname, +matcher, +certificates, +state +) +SELECT +'{{ certificateMapsId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ description }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ labels }}', +'{{ hostname }}', +'{{ matcher }}', +'{{ certificates }}', +'{{ state }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: labels + value: '{{ labels }}' + - name: hostname + value: '{{ hostname }}' + - name: matcher + value: '{{ matcher }}' + - name: certificates + value: '{{ certificates }}' + - name: state + value: '{{ state }}' + +``` + + + +## `UPDATE` example + +Updates a certificate_map_entry only if the necessary resources are available. + +```sql +UPDATE google.certificatemanager.certificate_map_entries +SET +name = '{{ name }}', +description = '{{ description }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +labels = '{{ labels }}', +hostname = '{{ hostname }}', +matcher = '{{ matcher }}', +certificates = '{{ certificates }}', +state = '{{ state }}' +WHERE +certificateMapEntriesId = '{{ certificateMapEntriesId }}' +AND certificateMapsId = '{{ certificateMapsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified certificate_map_entry resource. + +```sql +DELETE FROM google.certificatemanager.certificate_map_entries +WHERE certificateMapEntriesId = '{{ certificateMapEntriesId }}' +AND certificateMapsId = '{{ certificateMapsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/certificatemanager/certificate_maps/index.md b/docs/google-docs/providers/google/certificatemanager/certificate_maps/index.md index a45480fd48..92eda435b3 100644 --- a/docs/google-docs/providers/google/certificatemanager/certificate_maps/index.md +++ b/docs/google-docs/providers/google/certificatemanager/certificate_maps/index.md @@ -1,3 +1,4 @@ + --- title: certificate_maps hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - certificate_maps - certificatemanager - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an certificate_map resource or lists certificate_maps in a region ## Overview
@@ -30,12 +32,13 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | A user-defined name of the Certificate Map. Certificate Map names must be unique globally and match pattern `projects/*/locations/*/certificateMaps/*`. | -| | `string` | One or more paragraphs of text description of a certificate map. | +| | `string` | Identifier. A user-defined name of the Certificate Map. Certificate Map names must be unique globally and match pattern `projects/*/locations/*/certificateMaps/*`. | +| | `string` | Optional. One or more paragraphs of text description of a certificate map. | | | `string` | Output only. The creation timestamp of a Certificate Map. | | | `array` | Output only. A list of GCLB targets that use this Certificate Map. A Target Proxy is only present on this list if it's attached to a Forwarding Rule. | -| | `object` | Set of labels associated with a Certificate Map. | +| | `object` | Optional. Set of labels associated with a Certificate Map. | | | `string` | Output only. The update timestamp of a Certificate Map. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -44,4 +47,110 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new CertificateMap in a given project and location. | | | `DELETE` | | Deletes a single CertificateMap. A Certificate Map can't be deleted if it contains Certificate Map Entries. Remove all the entries from the map before calling this method. | | | `UPDATE` | | Updates a CertificateMap. | -| | `EXEC` | | Lists CertificateMaps in a given project and location. | + +## `SELECT` examples + +Lists CertificateMaps in a given project and location. + +```sql +SELECT +name, +description, +createTime, +gclbTargets, +labels, +updateTime +FROM google.certificatemanager.certificate_maps +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new certificate_maps resource. + + + + +```sql +/*+ create */ +INSERT INTO google.certificatemanager.certificate_maps ( +locationsId, +projectsId, +name, +description, +createTime, +updateTime, +labels, +gclbTargets +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ description }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ labels }}', +'{{ gclbTargets }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: labels + value: '{{ labels }}' + - name: gclbTargets + value: '{{ gclbTargets }}' + +``` + + + +## `UPDATE` example + +Updates a certificate_map only if the necessary resources are available. + +```sql +UPDATE google.certificatemanager.certificate_maps +SET +name = '{{ name }}', +description = '{{ description }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +labels = '{{ labels }}', +gclbTargets = '{{ gclbTargets }}' +WHERE +certificateMapsId = '{{ certificateMapsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified certificate_map resource. + +```sql +DELETE FROM google.certificatemanager.certificate_maps +WHERE certificateMapsId = '{{ certificateMapsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/certificatemanager/certificates/index.md b/docs/google-docs/providers/google/certificatemanager/certificates/index.md index 2e764d6903..e9d046e01d 100644 --- a/docs/google-docs/providers/google/certificatemanager/certificates/index.md +++ b/docs/google-docs/providers/google/certificatemanager/certificates/index.md @@ -1,3 +1,4 @@ + --- title: certificates hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - certificates - certificatemanager - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an certificate resource or lists certificates in a region ## Overview
@@ -30,17 +32,18 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | A user-defined name of the certificate. Certificate names must be unique globally and match pattern `projects/*/locations/*/certificates/*`. | -| | `string` | One or more paragraphs of text description of a certificate. | +| | `string` | Identifier. A user-defined name of the certificate. Certificate names must be unique globally and match pattern `projects/*/locations/*/certificates/*`. | +| | `string` | Optional. One or more paragraphs of text description of a certificate. | | | `string` | Output only. The creation timestamp of a Certificate. | | | `string` | Output only. The expiry timestamp of a Certificate. | -| | `object` | Set of labels associated with a Certificate. | +| | `object` | Optional. Set of labels associated with a Certificate. | | | `object` | Configuration and state of a Managed Certificate. Certificate Manager provisions and renews Managed Certificates automatically, for as long as it's authorized to do so. | | | `string` | Output only. The PEM-encoded certificate chain. | | | `array` | Output only. The list of Subject Alternative Names of dnsName type defined in the certificate (see RFC 5280 4.2.1.6). Managed certificates that haven't been provisioned yet have this field populated with a value of the managed.domains field. | -| | `string` | Immutable. The scope of the certificate. | +| | `string` | Optional. Immutable. The scope of the certificate. | | | `object` | Certificate data for a SelfManaged Certificate. SelfManaged Certificates are uploaded by the user. Updating such certificates before they expire remains the user's responsibility. | | | `string` | Output only. The last update timestamp of a Certificate. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -49,4 +52,140 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new Certificate in a given project and location. | | | `DELETE` | | Deletes a single Certificate. | | | `UPDATE` | | Updates a Certificate. | -| | `EXEC` | | Lists Certificates in a given project and location. | + +## `SELECT` examples + +Lists Certificates in a given project and location. + +```sql +SELECT +name, +description, +createTime, +expireTime, +labels, +managed, +pemCertificate, +sanDnsnames, +scope, +selfManaged, +updateTime +FROM google.certificatemanager.certificates +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new certificates resource. + + + + +```sql +/*+ create */ +INSERT INTO google.certificatemanager.certificates ( +locationsId, +projectsId, +name, +description, +createTime, +updateTime, +labels, +selfManaged, +managed, +sanDnsnames, +pemCertificate, +expireTime, +scope +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ description }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ labels }}', +'{{ selfManaged }}', +'{{ managed }}', +'{{ sanDnsnames }}', +'{{ pemCertificate }}', +'{{ expireTime }}', +'{{ scope }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: labels + value: '{{ labels }}' + - name: selfManaged + value: '{{ selfManaged }}' + - name: managed + value: '{{ managed }}' + - name: sanDnsnames + value: '{{ sanDnsnames }}' + - name: pemCertificate + value: '{{ pemCertificate }}' + - name: expireTime + value: '{{ expireTime }}' + - name: scope + value: '{{ scope }}' + +``` + + + +## `UPDATE` example + +Updates a certificate only if the necessary resources are available. + +```sql +UPDATE google.certificatemanager.certificates +SET +name = '{{ name }}', +description = '{{ description }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +labels = '{{ labels }}', +selfManaged = '{{ selfManaged }}', +managed = '{{ managed }}', +sanDnsnames = '{{ sanDnsnames }}', +pemCertificate = '{{ pemCertificate }}', +expireTime = '{{ expireTime }}', +scope = '{{ scope }}' +WHERE +certificatesId = '{{ certificatesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified certificate resource. + +```sql +DELETE FROM google.certificatemanager.certificates +WHERE certificatesId = '{{ certificatesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/certificatemanager/dns_authorizations/index.md b/docs/google-docs/providers/google/certificatemanager/dns_authorizations/index.md index 9acb092207..3653a10d4b 100644 --- a/docs/google-docs/providers/google/certificatemanager/dns_authorizations/index.md +++ b/docs/google-docs/providers/google/certificatemanager/dns_authorizations/index.md @@ -1,3 +1,4 @@ + --- title: dns_authorizations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - dns_authorizations - certificatemanager - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an dns_authorization resource or lists dns_authorizations in a region ## Overview
@@ -30,14 +32,15 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | A user-defined name of the dns authorization. DnsAuthorization names must be unique globally and match pattern `projects/*/locations/*/dnsAuthorizations/*`. | -| | `string` | One or more paragraphs of text description of a DnsAuthorization. | +| | `string` | Identifier. A user-defined name of the dns authorization. DnsAuthorization names must be unique globally and match pattern `projects/*/locations/*/dnsAuthorizations/*`. | +| | `string` | Optional. One or more paragraphs of text description of a DnsAuthorization. | | | `string` | Output only. The creation timestamp of a DnsAuthorization. | | | `object` | The structure describing the DNS Resource Record that needs to be added to DNS configuration for the authorization to be usable by certificate. | | | `string` | Required. Immutable. A domain that is being authorized. A DnsAuthorization resource covers a single domain and its wildcard, e.g. authorization for `example.com` can be used to issue certificates for `example.com` and `*.example.com`. | -| | `object` | Set of labels associated with a DnsAuthorization. | -| | `string` | Immutable. Type of DnsAuthorization. If unset during resource creation the following default will be used: - in location global: FIXED_RECORD. | +| | `object` | Optional. Set of labels associated with a DnsAuthorization. | +| | `string` | Optional. Immutable. Type of DnsAuthorization. If unset during resource creation the following default will be used: - in location `global`: FIXED_RECORD, - in other locations: PER_PROJECT_RECORD. | | | `string` | Output only. The last update timestamp of a DnsAuthorization. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -46,4 +49,122 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new DnsAuthorization in a given project and location. | | | `DELETE` | | Deletes a single DnsAuthorization. | | | `UPDATE` | | Updates a DnsAuthorization. | -| | `EXEC` | | Lists DnsAuthorizations in a given project and location. | + +## `SELECT` examples + +Lists DnsAuthorizations in a given project and location. + +```sql +SELECT +name, +description, +createTime, +dnsResourceRecord, +domain, +labels, +type, +updateTime +FROM google.certificatemanager.dns_authorizations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new dns_authorizations resource. + + + + +```sql +/*+ create */ +INSERT INTO google.certificatemanager.dns_authorizations ( +locationsId, +projectsId, +name, +createTime, +updateTime, +labels, +description, +domain, +dnsResourceRecord, +type +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ labels }}', +'{{ description }}', +'{{ domain }}', +'{{ dnsResourceRecord }}', +'{{ type }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: labels + value: '{{ labels }}' + - name: description + value: '{{ description }}' + - name: domain + value: '{{ domain }}' + - name: dnsResourceRecord + value: '{{ dnsResourceRecord }}' + - name: type + value: '{{ type }}' + +``` + + + +## `UPDATE` example + +Updates a dns_authorization only if the necessary resources are available. + +```sql +UPDATE google.certificatemanager.dns_authorizations +SET +name = '{{ name }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +labels = '{{ labels }}', +description = '{{ description }}', +domain = '{{ domain }}', +dnsResourceRecord = '{{ dnsResourceRecord }}', +type = '{{ type }}' +WHERE +dnsAuthorizationsId = '{{ dnsAuthorizationsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified dns_authorization resource. + +```sql +DELETE FROM google.certificatemanager.dns_authorizations +WHERE dnsAuthorizationsId = '{{ dnsAuthorizationsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/certificatemanager/index.md b/docs/google-docs/providers/google/certificatemanager/index.md index 784503c475..f8a9e87337 100644 --- a/docs/google-docs/providers/google/certificatemanager/index.md +++ b/docs/google-docs/providers/google/certificatemanager/index.md @@ -9,46 +9,35 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- - - +The certificatemanager service documentation. + :::info Service Summary
total resources: 8
-total selectable resources: 8
-total methods: 43
::: -## Overview -
- - - - - -
Namegoogle.certificatemanager
TypeService
TitleCertificate Manager API
Description
Idcertificatemanager:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/certificatemanager/locations/index.md b/docs/google-docs/providers/google/certificatemanager/locations/index.md index 54e3e25e1f..3a494ac1c5 100644 --- a/docs/google-docs/providers/google/certificatemanager/locations/index.md +++ b/docs/google-docs/providers/google/certificatemanager/locations/index.md @@ -1,3 +1,4 @@ + --- title: locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - locations - certificatemanager - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an location resource or lists locations in a region ## Overview @@ -32,12 +34,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` | | | `string` | The friendly name for this location, typically a nearby city name. For example, "Tokyo". | -| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | +| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | | | `string` | The canonical id for this location. For example: `"us-east1"`. | | | `object` | Service-specific metadata. For example the available capacity at the given location. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about a location. | | | `SELECT` | | Lists information about the supported locations for this service. | -| | `EXEC` | | Lists information about the supported locations for this service. | + +## `SELECT` examples + +Lists information about the supported locations for this service. + +```sql +SELECT +name, +displayName, +labels, +locationId, +metadata +FROM google.certificatemanager.locations +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/certificatemanager/operations/index.md b/docs/google-docs/providers/google/certificatemanager/operations/index.md index 04dae1227f..70985bcd48 100644 --- a/docs/google-docs/providers/google/certificatemanager/operations/index.md +++ b/docs/google-docs/providers/google/certificatemanager/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - certificatemanager - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview
@@ -30,16 +32,43 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.certificatemanager.operations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified operation resource. + +```sql +DELETE FROM google.certificatemanager.operations +WHERE locationsId = '{{ locationsId }}' +AND operationsId = '{{ operationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/certificatemanager/trust_configs/index.md b/docs/google-docs/providers/google/certificatemanager/trust_configs/index.md index a525dadfa3..9a58b9ebae 100644 --- a/docs/google-docs/providers/google/certificatemanager/trust_configs/index.md +++ b/docs/google-docs/providers/google/certificatemanager/trust_configs/index.md @@ -1,3 +1,4 @@ + --- title: trust_configs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - trust_configs - certificatemanager - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an trust_config resource or lists trust_configs in a region ## Overview
@@ -30,14 +32,15 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | A user-defined name of the trust config. TrustConfig names must be unique globally and match pattern `projects/*/locations/*/trustConfigs/*`. | -| | `string` | One or more paragraphs of text description of a TrustConfig. | +| | `string` | Identifier. A user-defined name of the trust config. TrustConfig names must be unique globally and match pattern `projects/*/locations/*/trustConfigs/*`. | +| | `string` | Optional. One or more paragraphs of text description of a TrustConfig. | | | `array` | Optional. A certificate matching an allowlisted certificate is always considered valid as long as the certificate is parseable, proof of private key possession is established, and constraints on the certificate's SAN field are met. | | | `string` | Output only. The creation timestamp of a TrustConfig. | | | `string` | This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. | -| | `object` | Set of labels associated with a TrustConfig. | -| | `array` | Set of trust stores to perform validation against. This field is supported when TrustConfig is configured with Load Balancers, currently not supported for SPIFFE certificate validation. Only one TrustStore specified is currently allowed. | +| | `object` | Optional. Set of labels associated with a TrustConfig. | +| | `array` | Optional. Set of trust stores to perform validation against. This field is supported when TrustConfig is configured with Load Balancers, currently not supported for SPIFFE certificate validation. Only one TrustStore specified is currently allowed. | | | `string` | Output only. The last update timestamp of a TrustConfig. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -46,4 +49,122 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new TrustConfig in a given project and location. | | | `DELETE` | | Deletes a single TrustConfig. | | | `UPDATE` | | Updates a TrustConfig. | -| | `EXEC` | | Lists TrustConfigs in a given project and location. | + +## `SELECT` examples + +Lists TrustConfigs in a given project and location. + +```sql +SELECT +name, +description, +allowlistedCertificates, +createTime, +etag, +labels, +trustStores, +updateTime +FROM google.certificatemanager.trust_configs +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new trust_configs resource. + + + + +```sql +/*+ create */ +INSERT INTO google.certificatemanager.trust_configs ( +locationsId, +projectsId, +name, +createTime, +updateTime, +labels, +description, +etag, +trustStores, +allowlistedCertificates +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ labels }}', +'{{ description }}', +'{{ etag }}', +'{{ trustStores }}', +'{{ allowlistedCertificates }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: labels + value: '{{ labels }}' + - name: description + value: '{{ description }}' + - name: etag + value: '{{ etag }}' + - name: trustStores + value: '{{ trustStores }}' + - name: allowlistedCertificates + value: '{{ allowlistedCertificates }}' + +``` + + + +## `UPDATE` example + +Updates a trust_config only if the necessary resources are available. + +```sql +UPDATE google.certificatemanager.trust_configs +SET +name = '{{ name }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +labels = '{{ labels }}', +description = '{{ description }}', +etag = '{{ etag }}', +trustStores = '{{ trustStores }}', +allowlistedCertificates = '{{ allowlistedCertificates }}' +WHERE +locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND trustConfigsId = '{{ trustConfigsId }}'; +``` + +## `DELETE` example + +Deletes the specified trust_config resource. + +```sql +DELETE FROM google.certificatemanager.trust_configs +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND trustConfigsId = '{{ trustConfigsId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudasset/assets/index.md b/docs/google-docs/providers/google/cloudasset/assets/index.md index 3b2685de3c..378cf2658a 100644 --- a/docs/google-docs/providers/google/cloudasset/assets/index.md +++ b/docs/google-docs/providers/google/cloudasset/assets/index.md @@ -1,3 +1,4 @@ + --- title: assets hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - assets - cloudasset - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an asset resource or lists assets in a region ## Overview
@@ -35,7 +37,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | `AccessPolicy` is a container for `AccessLevels` (which define the necessary attributes to use Google Cloud services) and `ServicePerimeters` (which define regions of services able to freely pass data within a perimeter). An access policy is globally visible within an organization, and the restrictions it specifies apply to all projects within an organization. | | | `array` | The ancestry path of an asset in Google Cloud [resource hierarchy](https://cloud.google.com/resource-manager/docs/cloud-platform-resource-hierarchy), represented as a list of relative resource names. An ancestry path starts with the closest ancestor in the hierarchy and ends at root. If the asset is a project, folder, or organization, the ancestry path starts from the asset itself. Example: `["projects/123456789", "folders/5432", "organizations/1234"]` | | | `string` | The type of the asset. Example: `compute.googleapis.com/Disk` See [Supported asset types](https://cloud.google.com/asset-inventory/docs/supported-asset-types) for more information. | -| | `object` | An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). | +| | `object` | An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). | | | `array` | A representation of an [organization policy](https://cloud.google.com/resource-manager/docs/organization-policy/overview#organization_policy). There can be more than one organization policy with different constraints set on a given resource. | | | `object` | This API resource represents the available inventory data for a Compute Engine virtual machine (VM) instance at a given point in time. You can use this API resource to determine the inventory data of your VM. For more information, see [Information provided by OS inventory management](https://cloud.google.com/compute/docs/instances/os-inventory-management#data-collected). | | | `object` | An asset identifier in Google Cloud which contains its name, type and ancestors. An asset can be any resource in the Google Cloud [resource hierarchy](https://cloud.google.com/resource-manager/docs/cloud-platform-resource-hierarchy), a resource outside the Google Cloud resource hierarchy (such as Google Kubernetes Engine clusters and objects), or a policy (e.g. IAM policy). See [Supported asset types](https://cloud.google.com/asset-inventory/docs/supported-asset-types) for more information. | @@ -43,8 +45,32 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | A representation of a Google Cloud resource. | | | `object` | `ServicePerimeter` describes a set of Google Cloud resources which can freely import and export data amongst themselves, but not export outside of the `ServicePerimeter`. If a request with a source within this `ServicePerimeter` has a target outside of the `ServicePerimeter`, the request will be blocked. Otherwise the request is allowed. There are two types of Service Perimeter - Regular and Bridge. Regular Service Perimeters cannot overlap, a single Google Cloud project or VPC network can only belong to a single regular Service Perimeter. Service Perimeter Bridges can contain only Google Cloud projects as members, a single Google Cloud project may belong to multiple Service Perimeter Bridges. | | | `string` | The last update timestamp of an asset. update_time is updated when create/update/delete operation is performed. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists assets with time and resource types and returns paged results in response. | + +## `SELECT` examples + +Lists assets with time and resource types and returns paged results in response. + +```sql +SELECT +name, +accessLevel, +accessPolicy, +ancestors, +assetType, +iamPolicy, +orgPolicy, +osInventory, +relatedAsset, +relatedAssets, +resource, +servicePerimeter, +updateTime +FROM google.cloudasset.assets +WHERE parent = '{{ parent }}' +AND parentType = '{{ parentType }}'; +``` diff --git a/docs/google-docs/providers/google/cloudasset/cloudasset/index.md b/docs/google-docs/providers/google/cloudasset/cloudasset/index.md index 21a83413f9..fa11b0d7e5 100644 --- a/docs/google-docs/providers/google/cloudasset/cloudasset/index.md +++ b/docs/google-docs/providers/google/cloudasset/cloudasset/index.md @@ -1,3 +1,4 @@ + --- title: cloudasset hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - cloudasset - cloudasset - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an cloudasset resource or lists cloudasset in a region ## Overview
@@ -28,7 +30,9 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| diff --git a/docs/google-docs/providers/google/cloudasset/cloudasset_assets_history/index.md b/docs/google-docs/providers/google/cloudasset/cloudasset_assets_history/index.md index 9670bb651f..82aa5d0d47 100644 --- a/docs/google-docs/providers/google/cloudasset/cloudasset_assets_history/index.md +++ b/docs/google-docs/providers/google/cloudasset/cloudasset_assets_history/index.md @@ -1,3 +1,4 @@ + --- title: cloudasset_assets_history hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - cloudasset_assets_history - cloudasset - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an cloudasset_assets_history resource or lists cloudasset_assets_history in a region ## Overview @@ -28,8 +30,23 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `array` | A list of assets with valid time windows. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Batch gets the update history of assets that overlap a time window. For IAM_POLICY content, this API outputs history when the asset and its attached IAM POLICY both exist. This can create gaps in the output history. Otherwise, this API outputs history with asset in both non-delete or deleted status. If a specified asset does not exist, this API returns an INVALID_ARGUMENT error. | + +## `SELECT` examples + +Batch gets the update history of assets that overlap a time window. For IAM_POLICY content, this API outputs history when the asset and its attached IAM POLICY both exist. This can create gaps in the output history. Otherwise, this API outputs history with asset in both non-delete or deleted status. If a specified asset does not exist, this API returns an INVALID_ARGUMENT error. + +```sql +SELECT +assets +FROM google.cloudasset.cloudasset_assets_history +WHERE parent = '{{ parent }}' +AND parentType = '{{ parentType }}'; +``` diff --git a/docs/google-docs/providers/google/cloudasset/cloudasset_iam_policies/index.md b/docs/google-docs/providers/google/cloudasset/cloudasset_iam_policies/index.md index d1591cc002..24f3b54704 100644 --- a/docs/google-docs/providers/google/cloudasset/cloudasset_iam_policies/index.md +++ b/docs/google-docs/providers/google/cloudasset/cloudasset_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: cloudasset_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - cloudasset_iam_policies - cloudasset - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an cloudasset_iam_policy resource or lists cloudasset_iam_policies in a region ## Overview @@ -28,8 +30,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Analyzes IAM policies asynchronously to answer which identities have what accesses on which resources, and writes the analysis results to a Google Cloud Storage or a BigQuery destination. For Cloud Storage destination, the output format is the JSON format that represents a AnalyzeIamPolicyResponse. This method implements the google.longrunning.Operation, which allows you to track the operation status. We recommend intervals of at least 2 seconds with exponential backoff retry to poll the operation result. The metadata contains the metadata for the long-running operation. | diff --git a/docs/google-docs/providers/google/cloudasset/effective_iam_policies/index.md b/docs/google-docs/providers/google/cloudasset/effective_iam_policies/index.md index 683c364cb0..8623ac76e8 100644 --- a/docs/google-docs/providers/google/cloudasset/effective_iam_policies/index.md +++ b/docs/google-docs/providers/google/cloudasset/effective_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: effective_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - effective_iam_policies - cloudasset - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an effective_iam_policy resource or lists effective_iam_policies in a region ## Overview @@ -28,8 +30,22 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `array` | The effective policies for a batch of resources. Note that the results order is the same as the order of BatchGetEffectiveIamPoliciesRequest.names. When a resource does not have any effective IAM policies, its corresponding policy_result will contain empty EffectiveIamPolicy.policies. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets effective IAM policies for a batch of resources. | + +## `SELECT` examples + +Gets effective IAM policies for a batch of resources. + +```sql +SELECT +policyResults +FROM google.cloudasset.effective_iam_policies +WHERE scope = '{{ scope }}'; +``` diff --git a/docs/google-docs/providers/google/cloudasset/feeds/index.md b/docs/google-docs/providers/google/cloudasset/feeds/index.md index 5f76e7e1b8..29b45ca967 100644 --- a/docs/google-docs/providers/google/cloudasset/feeds/index.md +++ b/docs/google-docs/providers/google/cloudasset/feeds/index.md @@ -1,3 +1,4 @@ + --- title: feeds hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - feeds - cloudasset - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an feed resource or lists feeds in a region ## Overview @@ -28,8 +30,68 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `array` | A list of feeds. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Lists all asset feeds in a parent project/folder/organization. | | | `INSERT` | | Creates a feed in a parent project/folder/organization to listen to its asset updates. | + +## `SELECT` examples + +Lists all asset feeds in a parent project/folder/organization. + +```sql +SELECT +feeds +FROM google.cloudasset.feeds +WHERE parent = '{{ parent }}' +AND parentType = '{{ parentType }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new feeds resource. + + + + +```sql +/*+ create */ +INSERT INTO google.cloudasset.feeds ( +parent, +parentType, +feedId, +feed +) +SELECT +'{{ parent }}', +'{{ parentType }}', +'{{ feedId }}', +'{{ feed }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: feedId + value: '{{ feedId }}' + - name: feed + value: '{{ feed }}' + +``` + + diff --git a/docs/google-docs/providers/google/cloudasset/index.md b/docs/google-docs/providers/google/cloudasset/index.md index 88e13d2821..21d5ee90ef 100644 --- a/docs/google-docs/providers/google/cloudasset/index.md +++ b/docs/google-docs/providers/google/cloudasset/index.md @@ -9,45 +9,34 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -The Cloud Asset API manages the history and inventory of Google Cloud resources. - +The cloudasset service documentation. + :::info Service Summary
total resources: 7
-total selectable resources: 3
-total methods: 16
::: -## Overview - - - - - - -
Namegoogle.cloudasset
TypeService
TitleCloud Asset API
DescriptionThe Cloud Asset API manages the history and inventory of Google Cloud resources.
Idcloudasset:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/cloudasset/saved_queries/index.md b/docs/google-docs/providers/google/cloudasset/saved_queries/index.md index 901c64b22a..f9f5f61407 100644 --- a/docs/google-docs/providers/google/cloudasset/saved_queries/index.md +++ b/docs/google-docs/providers/google/cloudasset/saved_queries/index.md @@ -1,3 +1,4 @@ + --- title: saved_queries hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - saved_queries - cloudasset - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an saved_query resource or lists saved_queries in a region ## Overview @@ -38,6 +40,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Labels applied on the resource. This value should not contain more than 10 entries. The key and value of each entry must be non-empty and fewer than 64 characters. | | | `string` | Output only. The last update time of this saved query. | | | `string` | Output only. The account's email address who has updated this saved query most recently. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -46,4 +49,117 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a saved query in a parent project/folder/organization. | | | `DELETE` | | Deletes a saved query. | | | `UPDATE` | | Updates a saved query. | -| | `EXEC` | | Lists all saved queries in a parent project/folder/organization. | + +## `SELECT` examples + +Gets details about a saved query. + +```sql +SELECT +name, +description, +content, +createTime, +creator, +labels, +lastUpdateTime, +lastUpdater +FROM google.cloudasset.saved_queries +WHERE name = '{{ name }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new saved_queries resource. + + + + +```sql +/*+ create */ +INSERT INTO google.cloudasset.saved_queries ( +parent, +parentType, +name, +description, +createTime, +creator, +lastUpdateTime, +lastUpdater, +labels, +content +) +SELECT +'{{ parent }}', +'{{ parentType }}', +'{{ name }}', +'{{ description }}', +'{{ createTime }}', +'{{ creator }}', +'{{ lastUpdateTime }}', +'{{ lastUpdater }}', +'{{ labels }}', +'{{ content }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: createTime + value: '{{ createTime }}' + - name: creator + value: '{{ creator }}' + - name: lastUpdateTime + value: '{{ lastUpdateTime }}' + - name: lastUpdater + value: '{{ lastUpdater }}' + - name: labels + value: '{{ labels }}' + - name: content + value: '{{ content }}' + +``` + + + +## `UPDATE` example + +Updates a saved_query only if the necessary resources are available. + +```sql +UPDATE google.cloudasset.saved_queries +SET +name = '{{ name }}', +description = '{{ description }}', +createTime = '{{ createTime }}', +creator = '{{ creator }}', +lastUpdateTime = '{{ lastUpdateTime }}', +lastUpdater = '{{ lastUpdater }}', +labels = '{{ labels }}', +content = '{{ content }}' +WHERE +name = '{{ name }}'; +``` + +## `DELETE` example + +Deletes the specified saved_query resource. + +```sql +DELETE FROM google.cloudasset.saved_queries +WHERE name = '{{ name }}'; +``` diff --git a/docs/google-docs/providers/google/cloudbilling/billing_accounts/index.md b/docs/google-docs/providers/google/cloudbilling/billing_accounts/index.md index fc8fccadf3..66f919a849 100644 --- a/docs/google-docs/providers/google/cloudbilling/billing_accounts/index.md +++ b/docs/google-docs/providers/google/cloudbilling/billing_accounts/index.md @@ -1,3 +1,4 @@ + --- title: billing_accounts hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - billing_accounts - cloudbilling - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an billing_account resource or lists billing_accounts in a region ## Overview
@@ -30,11 +32,12 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. The resource name of the billing account. The resource name has the form `billingAccounts/{billing_account_id}`. For example, `billingAccounts/012345-567890-ABCDEF` would be the resource name for billing account `012345-567890-ABCDEF`. | +| | `string` | Output only. The resource name of the billing account. The resource name has the form `billingAccounts/{billing_account_id}`. For example, `billingAccounts/012345-567890-ABCDEF` would be the resource name for billing account `012345-567890-ABCDEF`. | | | `string` | The display name given to the billing account, such as `My Billing Account`. This name is displayed in the Google Cloud Console. | | | `string` | If this account is a [subaccount](https://cloud.google.com/billing/docs/concepts), then this will be the resource name of the parent billing account that it is being resold through. Otherwise this will be empty. | | | `boolean` | Output only. True if the billing account is open, and will therefore be charged for any usage on associated projects. False if the billing account is closed, and therefore projects associated with it are unable to use paid services. | -| | `string` | Output only. The billing account's parent resource identifier. Use the `MoveBillingAccount` method to update the account's parent resource if it is a organization. Format: - `organizations/{organization_id}`, for example, `organizations/12345678` - `billingAccounts/{billing_account_id}`, for example, `billingAccounts/012345-567890-ABCDEF` | +| | `string` | Output only. The billing account's parent resource identifier. Use the `MoveBillingAccount` method to update the account's parent resource if it is a organization. Format: - `organizations/{organization_id}`, for example, `organizations/12345678` - `billingAccounts/{billing_account_id}`, for example, `billingAccounts/012345-567890-ABCDEF` | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -42,5 +45,89 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists the billing accounts that the current authenticated user has permission to [view](https://cloud.google.com/billing/docs/how-to/billing-access). | | | `INSERT` | | This method creates [billing subaccounts](https://cloud.google.com/billing/docs/concepts#subaccounts). Google Cloud resellers should use the Channel Services APIs, [accounts.customers.create](https://cloud.google.com/channel/docs/reference/rest/v1/accounts.customers/create) and [accounts.customers.entitlements.create](https://cloud.google.com/channel/docs/reference/rest/v1/accounts.customers.entitlements/create). When creating a subaccount, the current authenticated user must have the `billing.accounts.update` IAM permission on the parent account, which is typically given to billing account [administrators](https://cloud.google.com/billing/docs/how-to/billing-access). This method will return an error if the parent account has not been provisioned for subaccounts. | | | `UPDATE` | | Updates a billing account's fields. Currently the only field that can be edited is `display_name`. The current authenticated user must have the `billing.accounts.update` IAM permission, which is typically given to the [administrator](https://cloud.google.com/billing/docs/how-to/billing-access) of the billing account. | -| | `EXEC` | | Lists the billing accounts that the current authenticated user has permission to [view](https://cloud.google.com/billing/docs/how-to/billing-access). | | | `EXEC` | | Changes which parent organization a billing account belongs to. | + +## `SELECT` examples + +Lists the billing accounts that the current authenticated user has permission to [view](https://cloud.google.com/billing/docs/how-to/billing-access). + +```sql +SELECT +name, +displayName, +masterBillingAccount, +open, +parent +FROM google.cloudbilling.billing_accounts +WHERE organizationsId = '{{ organizationsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new billing_accounts resource. + + + + +```sql +/*+ create */ +INSERT INTO google.cloudbilling.billing_accounts ( +organizationsId, +name, +open, +displayName, +masterBillingAccount, +parent +) +SELECT +'{{ organizationsId }}', +'{{ name }}', +true|false, +'{{ displayName }}', +'{{ masterBillingAccount }}', +'{{ parent }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: open + value: '{{ open }}' + - name: displayName + value: '{{ displayName }}' + - name: masterBillingAccount + value: '{{ masterBillingAccount }}' + - name: parent + value: '{{ parent }}' + +``` + + + +## `UPDATE` example + +Updates a billing_account only if the necessary resources are available. + +```sql +UPDATE google.cloudbilling.billing_accounts +SET +name = '{{ name }}', +open = true|false, +displayName = '{{ displayName }}', +masterBillingAccount = '{{ masterBillingAccount }}', +parent = '{{ parent }}' +WHERE +billingAccountsId = '{{ billingAccountsId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudbilling/billing_accounts_iam_policies/index.md b/docs/google-docs/providers/google/cloudbilling/billing_accounts_iam_policies/index.md index 049ca8f16b..cdb3ca65d8 100644 --- a/docs/google-docs/providers/google/cloudbilling/billing_accounts_iam_policies/index.md +++ b/docs/google-docs/providers/google/cloudbilling/billing_accounts_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: billing_accounts_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - billing_accounts_iam_policies - cloudbilling - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an billing_accounts_iam_policy resource or lists billing_accounts_iam_policies in a region ## Overview
@@ -30,13 +32,26 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a billing account. The caller must have the `billing.accounts.getIamPolicy` permission on the account, which is often given to billing account [viewers](https://cloud.google.com/billing/docs/how-to/billing-access). | -| | `EXEC` | | Gets the access control policy for a billing account. The caller must have the `billing.accounts.getIamPolicy` permission on the account, which is often given to billing account [viewers](https://cloud.google.com/billing/docs/how-to/billing-access). | | | `EXEC` | | Sets the access control policy for a billing account. Replaces any existing policy. The caller must have the `billing.accounts.setIamPolicy` permission on the account, which is often given to billing account [administrators](https://cloud.google.com/billing/docs/how-to/billing-access). | | | `EXEC` | | Tests the access control policy for a billing account. This method takes the resource and a set of permissions as input and returns the subset of the input permissions that the caller is allowed for that resource. | + +## `SELECT` examples + +Gets the access control policy for a billing account. The caller must have the `billing.accounts.getIamPolicy` permission on the account, which is often given to billing account [viewers](https://cloud.google.com/billing/docs/how-to/billing-access). + +```sql +SELECT +condition, +members, +role +FROM google.cloudbilling.billing_accounts_iam_policies +WHERE billingAccountsId = '{{ billingAccountsId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudbilling/billing_info/index.md b/docs/google-docs/providers/google/cloudbilling/billing_info/index.md index 17e388cdde..f5bdd0e4ca 100644 --- a/docs/google-docs/providers/google/cloudbilling/billing_info/index.md +++ b/docs/google-docs/providers/google/cloudbilling/billing_info/index.md @@ -1,3 +1,4 @@ + --- title: billing_info hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - billing_info - cloudbilling - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an billing_info resource or lists billing_info in a region ## Overview
@@ -30,12 +32,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. The resource name for the `ProjectBillingInfo`; has the form `projects/{project_id}/billingInfo`. For example, the resource name for the billing information for project `tokyo-rain-123` would be `projects/tokyo-rain-123/billingInfo`. | +| | `string` | Output only. The resource name for the `ProjectBillingInfo`; has the form `projects/{project_id}/billingInfo`. For example, the resource name for the billing information for project `tokyo-rain-123` would be `projects/tokyo-rain-123/billingInfo`. | | | `string` | The resource name of the billing account associated with the project, if any. For example, `billingAccounts/012345-567890-ABCDEF`. | | | `boolean` | Output only. True if the project is associated with an open billing account, to which usage on the project is charged. False if the project is associated with a closed billing account, or no billing account at all, and therefore cannot use paid services. | | | `string` | Output only. The ID of the project that this `ProjectBillingInfo` represents, such as `tokyo-rain-123`. This is a convenience field so that you don't need to parse the `name` field to obtain a project ID. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the billing information for a project. The current authenticated user must have the `resourcemanager.projects.get` permission for the project, which can be granted by assigning the [Project Viewer](https://cloud.google.com/iam/docs/understanding-roles#predefined_roles) role. | | | `EXEC` | | Sets or updates the billing account associated with a project. You specify the new billing account by setting the `billing_account_name` in the `ProjectBillingInfo` resource to the resource name of a billing account. Associating a project with an open billing account enables billing on the project and allows charges for resource usage. If the project already had a billing account, this method changes the billing account used for resource usage charges. *Note:* Incurred charges that have not yet been reported in the transaction history of the Google Cloud Console might be billed to the new billing account, even if the charge occurred before the new billing account was assigned to the project. The current authenticated user must have ownership privileges for both the [project](https://cloud.google.com/docs/permissions-overview#h.bgs0oxofvnoo ) and the [billing account](https://cloud.google.com/billing/docs/how-to/billing-access). You can disable billing on the project by setting the `billing_account_name` field to empty. This action disassociates the current billing account from the project. Any billable activity of your in-use services will stop, and your application could stop functioning as expected. Any unbilled charges to date will be billed to the previously associated account. The current authenticated user must be either an owner of the project or an owner of the billing account for the project. Note that associating a project with a *closed* billing account will have much the same effect as disabling billing on the project: any paid resources used by the project will be shut down. Thus, unless you wish to disable billing, you should always call this method with the name of an *open* billing account. | + +## `SELECT` examples + +Gets the billing information for a project. The current authenticated user must have the `resourcemanager.projects.get` permission for the project, which can be granted by assigning the [Project Viewer](https://cloud.google.com/iam/docs/understanding-roles#predefined_roles) role. + +```sql +SELECT +name, +billingAccountName, +billingEnabled, +projectId +FROM google.cloudbilling.billing_info +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudbilling/index.md b/docs/google-docs/providers/google/cloudbilling/index.md index 3a8c4218d8..4e624fe229 100644 --- a/docs/google-docs/providers/google/cloudbilling/index.md +++ b/docs/google-docs/providers/google/cloudbilling/index.md @@ -9,45 +9,34 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Allows developers to manage billing for their Google Cloud Platform projects programmatically. - +The cloudbilling service documentation. + :::info Service Summary
total resources: 7
-total selectable resources: 7
-total methods: 21
::: -## Overview -
- - - - - -
Namegoogle.cloudbilling
TypeService
TitleCloud Billing API
DescriptionAllows developers to manage billing for their Google Cloud Platform projects programmatically.
Idcloudbilling:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/cloudbilling/projects/index.md b/docs/google-docs/providers/google/cloudbilling/projects/index.md index c8a5f8c398..4defaae653 100644 --- a/docs/google-docs/providers/google/cloudbilling/projects/index.md +++ b/docs/google-docs/providers/google/cloudbilling/projects/index.md @@ -1,3 +1,4 @@ + --- title: projects hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - projects - cloudbilling - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an project resource or lists projects in a region ## Overview @@ -30,12 +32,26 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. The resource name for the `ProjectBillingInfo`; has the form `projects/{project_id}/billingInfo`. For example, the resource name for the billing information for project `tokyo-rain-123` would be `projects/tokyo-rain-123/billingInfo`. | +| | `string` | Output only. The resource name for the `ProjectBillingInfo`; has the form `projects/{project_id}/billingInfo`. For example, the resource name for the billing information for project `tokyo-rain-123` would be `projects/tokyo-rain-123/billingInfo`. | | | `string` | The resource name of the billing account associated with the project, if any. For example, `billingAccounts/012345-567890-ABCDEF`. | | | `boolean` | Output only. True if the project is associated with an open billing account, to which usage on the project is charged. False if the project is associated with a closed billing account, or no billing account at all, and therefore cannot use paid services. | | | `string` | Output only. The ID of the project that this `ProjectBillingInfo` represents, such as `tokyo-rain-123`. This is a convenience field so that you don't need to parse the `name` field to obtain a project ID. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists the projects associated with a billing account. The current authenticated user must have the `billing.resourceAssociations.list` IAM permission, which is often given to billing account [viewers](https://cloud.google.com/billing/docs/how-to/billing-access). | + +## `SELECT` examples + +Lists the projects associated with a billing account. The current authenticated user must have the `billing.resourceAssociations.list` IAM permission, which is often given to billing account [viewers](https://cloud.google.com/billing/docs/how-to/billing-access). + +```sql +SELECT +name, +billingAccountName, +billingEnabled, +projectId +FROM google.cloudbilling.projects +WHERE billingAccountsId = '{{ billingAccountsId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudbilling/services/index.md b/docs/google-docs/providers/google/cloudbilling/services/index.md index 8a27187363..15c1998fd2 100644 --- a/docs/google-docs/providers/google/cloudbilling/services/index.md +++ b/docs/google-docs/providers/google/cloudbilling/services/index.md @@ -1,3 +1,4 @@ + --- title: services hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - services - cloudbilling - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an service resource or lists services in a region ## Overview
@@ -34,8 +36,22 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The business under which the service is offered. Ex. "businessEntities/GCP", "businessEntities/Maps" | | | `string` | A human readable display name for this service. | | | `string` | The identifier for the service. Example: "6F81-5844-456A" | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists all public cloud services. | + +## `SELECT` examples + +Lists all public cloud services. + +```sql +SELECT +name, +businessEntityName, +displayName, +serviceId +FROM google.cloudbilling.services +WHERE = '{{ }}'; +``` diff --git a/docs/google-docs/providers/google/cloudbilling/skus/index.md b/docs/google-docs/providers/google/cloudbilling/skus/index.md index 8ea8f91cbd..09347a79e1 100644 --- a/docs/google-docs/providers/google/cloudbilling/skus/index.md +++ b/docs/google-docs/providers/google/cloudbilling/skus/index.md @@ -1,3 +1,4 @@ + --- title: skus hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - skus - cloudbilling - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an skus resource or lists skus in a region ## Overview
@@ -38,8 +40,26 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Identifies the service provider. This is 'Google' for first party services in Google Cloud Platform. | | | `array` | List of service regions this SKU is offered at. Example: "asia-east1" Service regions can be found at https://cloud.google.com/about/locations/ | | | `string` | The identifier for the SKU. Example: "D041-B8A1-6E0B" | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists all publicly available SKUs for a given cloud service. | + +## `SELECT` examples + +Lists all publicly available SKUs for a given cloud service. + +```sql +SELECT +name, +description, +category, +geoTaxonomy, +pricingInfo, +serviceProviderName, +serviceRegions, +skuId +FROM google.cloudbilling.skus +WHERE servicesId = '{{ servicesId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudbilling/sub_accounts/index.md b/docs/google-docs/providers/google/cloudbilling/sub_accounts/index.md index a4f379224e..bb8eea1a97 100644 --- a/docs/google-docs/providers/google/cloudbilling/sub_accounts/index.md +++ b/docs/google-docs/providers/google/cloudbilling/sub_accounts/index.md @@ -1,3 +1,4 @@ + --- title: sub_accounts hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - sub_accounts - cloudbilling - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an sub_account resource or lists sub_accounts in a region ## Overview
@@ -30,14 +32,83 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. The resource name of the billing account. The resource name has the form `billingAccounts/{billing_account_id}`. For example, `billingAccounts/012345-567890-ABCDEF` would be the resource name for billing account `012345-567890-ABCDEF`. | +| | `string` | Output only. The resource name of the billing account. The resource name has the form `billingAccounts/{billing_account_id}`. For example, `billingAccounts/012345-567890-ABCDEF` would be the resource name for billing account `012345-567890-ABCDEF`. | | | `string` | The display name given to the billing account, such as `My Billing Account`. This name is displayed in the Google Cloud Console. | | | `string` | If this account is a [subaccount](https://cloud.google.com/billing/docs/concepts), then this will be the resource name of the parent billing account that it is being resold through. Otherwise this will be empty. | | | `boolean` | Output only. True if the billing account is open, and will therefore be charged for any usage on associated projects. False if the billing account is closed, and therefore projects associated with it are unable to use paid services. | -| | `string` | Output only. The billing account's parent resource identifier. Use the `MoveBillingAccount` method to update the account's parent resource if it is a organization. Format: - `organizations/{organization_id}`, for example, `organizations/12345678` - `billingAccounts/{billing_account_id}`, for example, `billingAccounts/012345-567890-ABCDEF` | +| | `string` | Output only. The billing account's parent resource identifier. Use the `MoveBillingAccount` method to update the account's parent resource if it is a organization. Format: - `organizations/{organization_id}`, for example, `organizations/12345678` - `billingAccounts/{billing_account_id}`, for example, `billingAccounts/012345-567890-ABCDEF` | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Lists the billing accounts that the current authenticated user has permission to [view](https://cloud.google.com/billing/docs/how-to/billing-access). | | | `INSERT` | | This method creates [billing subaccounts](https://cloud.google.com/billing/docs/concepts#subaccounts). Google Cloud resellers should use the Channel Services APIs, [accounts.customers.create](https://cloud.google.com/channel/docs/reference/rest/v1/accounts.customers/create) and [accounts.customers.entitlements.create](https://cloud.google.com/channel/docs/reference/rest/v1/accounts.customers.entitlements/create). When creating a subaccount, the current authenticated user must have the `billing.accounts.update` IAM permission on the parent account, which is typically given to billing account [administrators](https://cloud.google.com/billing/docs/how-to/billing-access). This method will return an error if the parent account has not been provisioned for subaccounts. | -| | `EXEC` | | Lists the billing accounts that the current authenticated user has permission to [view](https://cloud.google.com/billing/docs/how-to/billing-access). | + +## `SELECT` examples + +Lists the billing accounts that the current authenticated user has permission to [view](https://cloud.google.com/billing/docs/how-to/billing-access). + +```sql +SELECT +name, +displayName, +masterBillingAccount, +open, +parent +FROM google.cloudbilling.sub_accounts +WHERE billingAccountsId = '{{ billingAccountsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new sub_accounts resource. + + + + +```sql +/*+ create */ +INSERT INTO google.cloudbilling.sub_accounts ( +billingAccountsId, +name, +open, +displayName, +masterBillingAccount, +parent +) +SELECT +'{{ billingAccountsId }}', +'{{ name }}', +true|false, +'{{ displayName }}', +'{{ masterBillingAccount }}', +'{{ parent }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: open + value: '{{ open }}' + - name: displayName + value: '{{ displayName }}' + - name: masterBillingAccount + value: '{{ masterBillingAccount }}' + - name: parent + value: '{{ parent }}' + +``` + + diff --git a/docs/google-docs/providers/google/cloudbuild/connections/index.md b/docs/google-docs/providers/google/cloudbuild/connections/index.md index a5915451b2..5beb8b0626 100644 --- a/docs/google-docs/providers/google/cloudbuild/connections/index.md +++ b/docs/google-docs/providers/google/cloudbuild/connections/index.md @@ -1,3 +1,4 @@ + --- title: connections hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - connections - cloudbuild - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an connection resource or lists connections in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Immutable. The resource name of the connection, in the format `projects/{project}/locations/{location}/connections/{connection_id}`. | +| | `string` | Immutable. The resource name of the connection, in the format `projects/{project}/locations/{location}/connections/{connection_id}`. | | | `object` | Optional. Allows clients to store small amounts of arbitrary data. | | | `object` | Configuration for connections to Bitbucket Cloud. | | | `object` | Configuration for connections to Bitbucket Data Center. | @@ -43,6 +45,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Describes stage and necessary actions to be taken by the user to complete the installation. Used for GitHub and GitHub Enterprise based connections. | | | `boolean` | Output only. Set to true when the connection is being set up or updated in the background. | | | `string` | Output only. Server assigned timestamp for when the connection was updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -51,5 +54,153 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a Connection. | | | `DELETE` | | Deletes a single connection. | | | `UPDATE` | | Updates a single connection. | -| | `EXEC` | | Lists Connections in a given project and location. | | | `EXEC` | | ProcessWebhook is called by the external SCM for notifying of events. | + +## `SELECT` examples + +Lists Connections in a given project and location. + +```sql +SELECT +name, +annotations, +bitbucketCloudConfig, +bitbucketDataCenterConfig, +createTime, +disabled, +etag, +githubConfig, +githubEnterpriseConfig, +gitlabConfig, +installationState, +reconciling, +updateTime +FROM google.cloudbuild.connections +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new connections resource. + + + + +```sql +/*+ create */ +INSERT INTO google.cloudbuild.connections ( +locationsId, +projectsId, +updateTime, +githubConfig, +etag, +bitbucketDataCenterConfig, +gitlabConfig, +annotations, +name, +reconciling, +githubEnterpriseConfig, +bitbucketCloudConfig, +createTime, +installationState, +disabled +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ updateTime }}', +'{{ githubConfig }}', +'{{ etag }}', +'{{ bitbucketDataCenterConfig }}', +'{{ gitlabConfig }}', +'{{ annotations }}', +'{{ name }}', +true|false, +'{{ githubEnterpriseConfig }}', +'{{ bitbucketCloudConfig }}', +'{{ createTime }}', +'{{ installationState }}', +true|false +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: updateTime + value: '{{ updateTime }}' + - name: githubConfig + value: '{{ githubConfig }}' + - name: etag + value: '{{ etag }}' + - name: bitbucketDataCenterConfig + value: '{{ bitbucketDataCenterConfig }}' + - name: gitlabConfig + value: '{{ gitlabConfig }}' + - name: annotations + value: '{{ annotations }}' + - name: name + value: '{{ name }}' + - name: reconciling + value: '{{ reconciling }}' + - name: githubEnterpriseConfig + value: '{{ githubEnterpriseConfig }}' + - name: bitbucketCloudConfig + value: '{{ bitbucketCloudConfig }}' + - name: createTime + value: '{{ createTime }}' + - name: installationState + value: '{{ installationState }}' + - name: disabled + value: '{{ disabled }}' + +``` + + + +## `UPDATE` example + +Updates a connection only if the necessary resources are available. + +```sql +UPDATE google.cloudbuild.connections +SET +updateTime = '{{ updateTime }}', +githubConfig = '{{ githubConfig }}', +etag = '{{ etag }}', +bitbucketDataCenterConfig = '{{ bitbucketDataCenterConfig }}', +gitlabConfig = '{{ gitlabConfig }}', +annotations = '{{ annotations }}', +name = '{{ name }}', +reconciling = true|false, +githubEnterpriseConfig = '{{ githubEnterpriseConfig }}', +bitbucketCloudConfig = '{{ bitbucketCloudConfig }}', +createTime = '{{ createTime }}', +installationState = '{{ installationState }}', +disabled = true|false +WHERE +connectionsId = '{{ connectionsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified connection resource. + +```sql +DELETE FROM google.cloudbuild.connections +WHERE connectionsId = '{{ connectionsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudbuild/connections_iam_policies/index.md b/docs/google-docs/providers/google/cloudbuild/connections_iam_policies/index.md index f8541a922c..9887b5f6bc 100644 --- a/docs/google-docs/providers/google/cloudbuild/connections_iam_policies/index.md +++ b/docs/google-docs/providers/google/cloudbuild/connections_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: connections_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - connections_iam_policies - cloudbuild - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an connections_iam_policy resource or lists connections_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.cloudbuild.connections_iam_policies +WHERE connectionsId = '{{ connectionsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudbuild/connections_linkable_repositories/index.md b/docs/google-docs/providers/google/cloudbuild/connections_linkable_repositories/index.md index f5f83867ae..4627e81eae 100644 --- a/docs/google-docs/providers/google/cloudbuild/connections_linkable_repositories/index.md +++ b/docs/google-docs/providers/google/cloudbuild/connections_linkable_repositories/index.md @@ -1,3 +1,4 @@ + --- title: connections_linkable_repositories hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - connections_linkable_repositories - cloudbuild - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an connections_linkable_repository resource or lists connections_linkable_repositories in a region ## Overview
@@ -28,8 +30,26 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | A token identifying a page of results the server should return. | +| | `array` | repositories ready to be created. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | FetchLinkableRepositories get repositories from SCM that are accessible and could be added to the connection. | + +## `SELECT` examples + +FetchLinkableRepositories get repositories from SCM that are accessible and could be added to the connection. + +```sql +SELECT +nextPageToken, +repositories +FROM google.cloudbuild.connections_linkable_repositories +WHERE connectionsId = '{{ connectionsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudbuild/index.md b/docs/google-docs/providers/google/cloudbuild/index.md index f4e0adbce9..3696f76426 100644 --- a/docs/google-docs/providers/google/cloudbuild/index.md +++ b/docs/google-docs/providers/google/cloudbuild/index.md @@ -9,45 +9,34 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Creates and manages builds on Google Cloud Platform. - +The cloudbuild service documentation. + :::info Service Summary
total resources: 7
-total selectable resources: 5
-total methods: 26
::: -## Overview - - - - - - -
Namegoogle.cloudbuild
TypeService
TitleCloud Build API
DescriptionCreates and manages builds on Google Cloud Platform.
Idcloudbuild:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/cloudbuild/locations/index.md b/docs/google-docs/providers/google/cloudbuild/locations/index.md index 843bae1505..67a5692ff2 100644 --- a/docs/google-docs/providers/google/cloudbuild/locations/index.md +++ b/docs/google-docs/providers/google/cloudbuild/locations/index.md @@ -1,3 +1,4 @@ + --- title: locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - locations - cloudbuild - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an location resource or lists locations in a region ## Overview @@ -32,12 +34,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` | | | `string` | The friendly name for this location, typically a nearby city name. For example, "Tokyo". | -| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | +| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | | | `string` | The canonical id for this location. For example: `"us-east1"`. | | | `object` | Service-specific metadata. For example the available capacity at the given location. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about a location. | | | `SELECT` | | Lists information about the supported locations for this service. | -| | `EXEC` | | Lists information about the supported locations for this service. | + +## `SELECT` examples + +Lists information about the supported locations for this service. + +```sql +SELECT +name, +displayName, +labels, +locationId, +metadata +FROM google.cloudbuild.locations +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudbuild/operations/index.md b/docs/google-docs/providers/google/cloudbuild/operations/index.md index a8a3fc8601..1ffeb1fe36 100644 --- a/docs/google-docs/providers/google/cloudbuild/operations/index.md +++ b/docs/google-docs/providers/google/cloudbuild/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - cloudbuild - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview
@@ -30,13 +32,31 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | + +## `SELECT` examples + +Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.cloudbuild.operations +WHERE locationsId = '{{ locationsId }}' +AND operationsId = '{{ operationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudbuild/repositories/index.md b/docs/google-docs/providers/google/cloudbuild/repositories/index.md index 5bbe581719..eaafa91ac3 100644 --- a/docs/google-docs/providers/google/cloudbuild/repositories/index.md +++ b/docs/google-docs/providers/google/cloudbuild/repositories/index.md @@ -1,3 +1,4 @@ + --- title: repositories hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - repositories - cloudbuild - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an repository resource or lists repositories in a region ## Overview
@@ -37,14 +39,87 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Required. Git Clone HTTPS URI. | | | `string` | Output only. Server assigned timestamp for when the connection was updated. | | | `string` | Output only. External ID of the webhook created for the repository. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets details of a single repository. | | | `SELECT` | | Lists Repositories in a given connection. | +| | `INSERT` | | Creates multiple repositories inside a connection. | | | `INSERT` | | Creates a Repository. | | | `DELETE` | | Deletes a single repository. | -| | `EXEC` | | Lists Repositories in a given connection. | | | `EXEC` | | Fetches read token of a given repository. | | | `EXEC` | | Fetches read/write token of a given repository. | -| | `EXEC` | | Creates multiple repositories inside a connection. | + +## `SELECT` examples + +Lists Repositories in a given connection. + +```sql +SELECT +name, +annotations, +createTime, +etag, +remoteUri, +updateTime, +webhookId +FROM google.cloudbuild.repositories +WHERE connectionsId = '{{ connectionsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new repositories resource. + + + + +```sql +/*+ create */ +INSERT INTO google.cloudbuild.repositories ( +connectionsId, +locationsId, +projectsId, +requests +) +SELECT +'{{ connectionsId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ requests }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: requests + value: '{{ requests }}' + +``` + + + +## `DELETE` example + +Deletes the specified repository resource. + +```sql +DELETE FROM google.cloudbuild.repositories +WHERE connectionsId = '{{ connectionsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND repositoriesId = '{{ repositoriesId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudbuild/repositories_git_refs/index.md b/docs/google-docs/providers/google/cloudbuild/repositories_git_refs/index.md index 306701bfd1..8633c25fce 100644 --- a/docs/google-docs/providers/google/cloudbuild/repositories_git_refs/index.md +++ b/docs/google-docs/providers/google/cloudbuild/repositories_git_refs/index.md @@ -1,3 +1,4 @@ + --- title: repositories_git_refs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - repositories_git_refs - cloudbuild - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an repositories_git_ref resource or lists repositories_git_refs in a region ## Overview
@@ -28,8 +30,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | A token identifying a page of results the server should return. | +| | `array` | Name of the refs fetched. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Fetch the list of branches or tags for a given repository. | + +## `SELECT` examples + +Fetch the list of branches or tags for a given repository. + +```sql +SELECT +nextPageToken, +refNames +FROM google.cloudbuild.repositories_git_refs +WHERE connectionsId = '{{ connectionsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND repositoriesId = '{{ repositoriesId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudcommerceprocurement/accounts/index.md b/docs/google-docs/providers/google/cloudcommerceprocurement/accounts/index.md index 9e6b1e6301..88d6d47299 100644 --- a/docs/google-docs/providers/google/cloudcommerceprocurement/accounts/index.md +++ b/docs/google-docs/providers/google/cloudcommerceprocurement/accounts/index.md @@ -1,3 +1,4 @@ + --- title: accounts hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - accounts - cloudcommerceprocurement - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an account resource or lists accounts in a region ## Overview @@ -30,19 +32,36 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. The resource name of the account. Account names have the form `accounts/{account_id}`. | +| | `string` | Output only. The resource name of the account. Account names have the form `accounts/{account_id}`. | | | `array` | Output only. The approvals for this account. These approvals are used to track actions that are permitted or have been completed by a customer within the context of the provider. This might include a sign up flow or a provisioning step, for example, that the provider can admit to having happened. | | | `string` | Output only. The creation timestamp. | | | `object` | Output only. The custom properties that were collected from the user to create this account. | | | `string` | Output only. The identifier of the service provider that this account was created against. Each service provider is assigned a unique provider value when they onboard with Cloud Commerce platform. | | | `string` | Output only. The state of the account. This is used to decide whether the customer is in good standing with the provider and is able to make purchases. An account might not be able to make a purchase if the billing account is suspended, for example. | | | `string` | Output only. The last update timestamp. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets a requested Account resource. | | | `SELECT` | | Lists Accounts that the provider has access to. | -| | `EXEC` | | Lists Accounts that the provider has access to. | | | `EXEC` | | Grants an approval on an Account. | | | `EXEC` | | Rejects an approval on an Account. | | | `EXEC` | | Resets an Account and cancels all associated Entitlements. Partner can only reset accounts they own rather than customer accounts. | + +## `SELECT` examples + +Lists Accounts that the provider has access to. + +```sql +SELECT +name, +approvals, +createTime, +inputProperties, +provider, +state, +updateTime +FROM google.cloudcommerceprocurement.accounts +WHERE providersId = '{{ providersId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudcommerceprocurement/entitlements/index.md b/docs/google-docs/providers/google/cloudcommerceprocurement/entitlements/index.md index da7dd756a8..37c4a34f92 100644 --- a/docs/google-docs/providers/google/cloudcommerceprocurement/entitlements/index.md +++ b/docs/google-docs/providers/google/cloudcommerceprocurement/entitlements/index.md @@ -1,3 +1,4 @@ + --- title: entitlements hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - entitlements - cloudcommerceprocurement - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an entitlement resource or lists entitlements in a region ## Overview
@@ -30,20 +32,20 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. The resource name of the entitlement. Entitlement names have the form `providers/{provider_id}/entitlements/{entitlement_id}`. | +| | `string` | Output only. The resource name of the entitlement. Entitlement names have the form `providers/{provider_id}/entitlements/{entitlement_id}`. | | | `string` | Output only. The resource name of the account that this entitlement is based on, if any. | -| | `string` | Output only. The reason the entitlement was cancelled. If this entitlement was not cancelled, this field will be empty. Possible values include "unknown", "expired", "user-cancelled", "account-closed", "billing-disabled" (if the customer has manually disabled billing to their resources), "user-aborted", and "migrated" (if the entitlement has migrated across products). | +| | `string` | Output only. The reason the entitlement was cancelled. If this entitlement wasn't cancelled, this field is empty. Possible values include "unknown", "expired", "user-cancelled", "account-closed", "billing-disabled" (if the customer has manually disabled billing to their resources), "user-aborted", and "migrated" (if the entitlement has migrated across products). Values of this field are subject to change, and we recommend that you don't build your technical integration to rely on these fields. | | | `array` | Output only. The resources using this entitlement, if applicable. | | | `string` | Output only. The creation timestamp. | | | `array` | Output only. The entitlement benefit IDs associated with the purchase. | | | `object` | Output only. The custom properties that were collected from the user to create this entitlement. | | | `string` | Provider-supplied message that is displayed to the end user. Currently this is used to communicate progress and ETA for provisioning. This field can be updated only when a user is waiting for an action from the provider, i.e. entitlement state is EntitlementState.ENTITLEMENT_ACTIVATION_REQUESTED or EntitlementState.ENTITLEMENT_PENDING_PLAN_CHANGE_APPROVAL. This field is cleared automatically when the entitlement state changes. | -| | `string` | Output only. The end time of the new offer. If the offer was created with a term instead of a specified end date, this field is empty. This field will be populated even if the entitlement is not active yet. If there is no upcoming offer, the field will be empty. | -| | `string` | Output only. The timestamp when the new offer will become effective. This field will be populated even if the entitlement is not active yet. If there is no upcoming offer, the field will be empty. | -| | `string` | Output only. The name of the offer the entitlement is switching to upon a pending plan change. Only exists if the pending plan change is moving to an offer. This field is not populated for entitlements which are not active yet. Format: 'projects/{project}/services/{service}/privateOffers/{offer-id}' OR 'projects/{project}/services/{service}/standardOffers/{offer-id}', depending on whether the offer is private or public. The {service} in the name is the listing service of the offer. It could be either the product service that the offer is referencing, or a generic private offer parent service. We recommend that you don't build your integration to rely on the meaning of this {service} part. | -| | `string` | Output only. The offer duration of the new offer in ISO 8601 duration format. This field is not populated for entitlements which are not active yet, only for pending offer changes. If the offer was created with a specified end date instead of a duration, this field is empty. | +| | `string` | Output only. The end time of the new offer. If the offer was created with a term instead of a specified end date, this field is empty. This field is populated even if the entitlement isn't active yet. If there's no upcoming offer, the field is be empty. | +| | `string` | Output only. The timestamp when the new offer becomes effective. This field is populated even if the entitlement isn't active yet. If there's no upcoming offer, the field is empty. | +| | `string` | Output only. The name of the offer the entitlement is switching to upon a pending plan change. Only exists if the pending plan change is moving to an offer. This field isn't populated for entitlements which aren't active yet. Format: 'projects/{project}/services/{service}/privateOffers/{offer-id}' OR 'projects/{project}/services/{service}/standardOffers/{offer-id}', depending on whether the offer is private or public. The {service} in the name is the listing service of the offer. It could be either the product service that the offer is referencing, or a generic private offer parent service. We recommend that you don't build your integration to rely on the meaning of this {service} part. | +| | `string` | Output only. The duration of the new offer, in ISO 8601 duration format. This field isn't populated for entitlements which aren't active yet, only for pending offer changes. If the offer was created with a specified end date instead of a duration, this field is empty. | | | `string` | Output only. The identifier of the pending new plan. Required if the product has plans and the entitlement has a pending plan change. | -| | `string` | Output only. The name of the offer that was procured. Field is empty if order was not made using an offer. Format: 'projects/{project}/services/{service}/privateOffers/{offer-id}' OR 'projects/{project}/services/{service}/standardOffers/{offer-id}', depending on whether the offer is private or public. The {service} in the name is the listing service of the offer. It could be either the product service that the offer is referencing, or a generic private offer parent service. We recommend that you don't build your integration to rely on the meaning of this {service} part. | +| | `string` | Output only. The name of the offer that was procured. Field is empty if order was not made using an offer. Format: 'projects/{project}/services/{service}/privateOffers/{offer-id}' OR 'projects/{project}/services/{service}/standardOffers/{offer-id}', depending on whether the offer is private or public. The {service} in the name is the listing service of the offer. It could be either the product service that the offer is referencing, or a generic private offer parent service. We recommend that you don't build your integration to rely on the meaning of this {service} part. | | | `string` | Output only. The offer duration of the current offer in ISO 8601 duration format. Field is empty if entitlement was not made using an offer. If the offer was created with a specified end date instead of a duration, this field is empty. | | | `string` | Output only. End time for the Offer association corresponding to this entitlement. The field is only populated if the entitlement is currently associated with an Offer. | | | `string` | Output only. The order ID of this entitlement, without any `orders/` resource name prefix. | @@ -56,15 +58,89 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. End time for the subscription corresponding to this entitlement. | | | `string` | Output only. The last update timestamp. | | | `string` | Output only. The consumerId to use when reporting usage through the Service Control API. See the consumerId field at [Reporting Metrics](https://cloud.google.com/service-control/reporting-metrics) for more details. This field is present only if the product has usage-based billing configured. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets a requested Entitlement resource. | | | `SELECT` | | Lists Entitlements for which the provider has read access. | | | `UPDATE` | | Updates an existing Entitlement. | -| | `EXEC` | | Lists Entitlements for which the provider has read access. | | | `EXEC` | | Approves an entitlement that is in the EntitlementState.ENTITLEMENT_ACTIVATION_REQUESTED state. This method is invoked by the provider to approve the creation of the entitlement resource. | | | `EXEC` | | Approves an entitlement plan change that is in the EntitlementState.ENTITLEMENT_PENDING_PLAN_CHANGE_APPROVAL state. This method is invoked by the provider to approve the plan change on the entitlement resource. | | | `EXEC` | | Rejects an entitlement that is in the EntitlementState.ENTITLEMENT_ACTIVATION_REQUESTED state. This method is invoked by the provider to reject the creation of the entitlement resource. | | | `EXEC` | | Rejects an entitlement plan change that is in the EntitlementState.ENTITLEMENT_PENDING_PLAN_CHANGE_APPROVAL state. This method is invoked by the provider to reject the plan change on the entitlement resource. | | | `EXEC` | | Requests suspension of an active Entitlement. This is not yet supported. | + +## `SELECT` examples + +Lists Entitlements for which the provider has read access. + +```sql +SELECT +name, +account, +cancellationReason, +consumers, +createTime, +entitlementBenefitIds, +inputProperties, +messageToUser, +newOfferEndTime, +newOfferStartTime, +newPendingOffer, +newPendingOfferDuration, +newPendingPlan, +offer, +offerDuration, +offerEndTime, +orderId, +plan, +product, +productExternalName, +provider, +quoteExternalName, +state, +subscriptionEndTime, +updateTime, +usageReportingId +FROM google.cloudcommerceprocurement.entitlements +WHERE providersId = '{{ providersId }}'; +``` + +## `UPDATE` example + +Updates a entitlement only if the necessary resources are available. + +```sql +UPDATE google.cloudcommerceprocurement.entitlements +SET +provider = '{{ provider }}', +offer = '{{ offer }}', +orderId = '{{ orderId }}', +inputProperties = '{{ inputProperties }}', +subscriptionEndTime = '{{ subscriptionEndTime }}', +newPendingOffer = '{{ newPendingOffer }}', +product = '{{ product }}', +messageToUser = '{{ messageToUser }}', +offerDuration = '{{ offerDuration }}', +createTime = '{{ createTime }}', +offerEndTime = '{{ offerEndTime }}', +consumers = '{{ consumers }}', +plan = '{{ plan }}', +entitlementBenefitIds = '{{ entitlementBenefitIds }}', +account = '{{ account }}', +usageReportingId = '{{ usageReportingId }}', +cancellationReason = '{{ cancellationReason }}', +newOfferEndTime = '{{ newOfferEndTime }}', +productExternalName = '{{ productExternalName }}', +state = '{{ state }}', +newPendingOfferDuration = '{{ newPendingOfferDuration }}', +quoteExternalName = '{{ quoteExternalName }}', +newOfferStartTime = '{{ newOfferStartTime }}', +name = '{{ name }}', +newPendingPlan = '{{ newPendingPlan }}', +updateTime = '{{ updateTime }}' +WHERE +entitlementsId = '{{ entitlementsId }}' +AND providersId = '{{ providersId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudcommerceprocurement/index.md b/docs/google-docs/providers/google/cloudcommerceprocurement/index.md index de966deae9..97d61c0127 100644 --- a/docs/google-docs/providers/google/cloudcommerceprocurement/index.md +++ b/docs/google-docs/providers/google/cloudcommerceprocurement/index.md @@ -9,40 +9,29 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Partner API for the Cloud Commerce Procurement Service. - +The cloudcommerceprocurement service documentation. + :::info Service Summary
total resources: 2
-total selectable resources: 2
-total methods: 15
::: -## Overview -
- - - - - -
Namegoogle.cloudcommerceprocurement
TypeService
TitleCloud Commerce Partner Procurement API
DescriptionPartner API for the Cloud Commerce Procurement Service.
Idcloudcommerceprocurement:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/cloudcontrolspartner/access_approval_requests/index.md b/docs/google-docs/providers/google/cloudcontrolspartner/access_approval_requests/index.md index 18486b220d..009d89c308 100644 --- a/docs/google-docs/providers/google/cloudcontrolspartner/access_approval_requests/index.md +++ b/docs/google-docs/providers/google/cloudcontrolspartner/access_approval_requests/index.md @@ -1,3 +1,4 @@ + --- title: access_approval_requests hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - access_approval_requests - cloudcontrolspartner - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an access_approval_request resource or lists access_approval_requests in a region ## Overview @@ -30,12 +32,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Identifier. Format: `organizations/{organization}/locations/{location}/customers/{customer}/workloads/{workload}/accessApprovalRequests/{access_approval_request}` | +| | `string` | Identifier. Format: `organizations/{organization}/locations/{location}/customers/{customer}/workloads/{workload}/accessApprovalRequests/{access_approval_request}` | | | `string` | The time at which approval was requested. | | | `string` | The requested expiration for the approval. If the request is approved, access will be granted from the time of approval until the expiration time. | | | `object` | Reason for the access. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Deprecated: Only returns access approval requests directly associated with an assured workload folder. | + +## `SELECT` examples + +Deprecated: Only returns access approval requests directly associated with an assured workload folder. + +```sql +SELECT +name, +requestTime, +requestedExpirationTime, +requestedReason +FROM google.cloudcontrolspartner.access_approval_requests +WHERE customersId = '{{ customersId }}' +AND locationsId = '{{ locationsId }}' +AND organizationsId = '{{ organizationsId }}' +AND workloadsId = '{{ workloadsId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudcontrolspartner/customers/index.md b/docs/google-docs/providers/google/cloudcontrolspartner/customers/index.md index 70a5a7ba3a..4747f9a803 100644 --- a/docs/google-docs/providers/google/cloudcontrolspartner/customers/index.md +++ b/docs/google-docs/providers/google/cloudcontrolspartner/customers/index.md @@ -1,3 +1,4 @@ + --- title: customers hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - customers - cloudcontrolspartner - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an customer resource or lists customers in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Identifier. Format: `organizations/{organization}/locations/{location}/customers/{customer}` | +| | `string` | Identifier. Format: `organizations/{organization}/locations/{location}/customers/{customer}` | | | `object` | Container for customer onboarding steps | -| | `string` | The customer organization's display name. E.g. "google.com". | -| | `boolean` | Indicates whether a customer is fully onboarded | +| | `string` | Required. Display name for the customer | +| | `boolean` | Output only. Indicates whether a customer is fully onboarded | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets details of a single customer | | | `SELECT` | | Lists customers of a partner identified by its Google Cloud organization ID | -| | `EXEC` | | Lists customers of a partner identified by its Google Cloud organization ID | + +## `SELECT` examples + +Lists customers of a partner identified by its Google Cloud organization ID + +```sql +SELECT +name, +customerOnboardingState, +displayName, +isOnboarded +FROM google.cloudcontrolspartner.customers +WHERE locationsId = '{{ locationsId }}' +AND organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudcontrolspartner/index.md b/docs/google-docs/providers/google/cloudcontrolspartner/index.md index 7091b2745b..1d50cab06d 100644 --- a/docs/google-docs/providers/google/cloudcontrolspartner/index.md +++ b/docs/google-docs/providers/google/cloudcontrolspartner/index.md @@ -9,45 +9,34 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Provides insights about your customers and their Assured Workloads based on your Sovereign Controls by Partners offering. - +The cloudcontrolspartner service documentation. + :::info Service Summary
total resources: 7
-total selectable resources: 7
-total methods: 14
::: -## Overview -
- - - - - -
Namegoogle.cloudcontrolspartner
TypeService
TitleCloud Controls Partner API
DescriptionProvides insights about your customers and their Assured Workloads based on your Sovereign Controls by Partners offering.
Idcloudcontrolspartner:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/cloudcontrolspartner/partner/index.md b/docs/google-docs/providers/google/cloudcontrolspartner/partner/index.md index 8577f60af5..ab3d426f67 100644 --- a/docs/google-docs/providers/google/cloudcontrolspartner/partner/index.md +++ b/docs/google-docs/providers/google/cloudcontrolspartner/partner/index.md @@ -1,3 +1,4 @@ + --- title: partner hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - partner - cloudcontrolspartner - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an partner resource or lists partner in a region ## Overview @@ -30,14 +32,33 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Identifier. The resource name of the partner. Format: `organizations/{organization}/locations/{location}/partner` Example: "organizations/123456/locations/us-central1/partner" | +| | `string` | Identifier. The resource name of the partner. Format: `organizations/{organization}/locations/{location}/partner` Example: "organizations/123456/locations/us-central1/partner" | | | `string` | Output only. Time the resource was created | | | `array` | List of Google Cloud supported EKM partners supported by the partner | | | `array` | List of Google Cloud regions that the partner sells services to customers. Valid Google Cloud regions found here: https://cloud.google.com/compute/docs/regions-zones | | | `string` | Google Cloud project ID in the partner's Google Cloud organization for receiving enhanced Logs for Partners. | | | `array` | List of SKUs the partner is offering | | | `string` | Output only. The last time the resource was updated | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Get details of a Partner. | + +## `SELECT` examples + +Get details of a Partner. + +```sql +SELECT +name, +createTime, +ekmSolutions, +operatedCloudRegions, +partnerProjectId, +skus, +updateTime +FROM google.cloudcontrolspartner.partner +WHERE locationsId = '{{ locationsId }}' +AND organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudcontrolspartner/violations/index.md b/docs/google-docs/providers/google/cloudcontrolspartner/violations/index.md index c98bbc0697..7083a73054 100644 --- a/docs/google-docs/providers/google/cloudcontrolspartner/violations/index.md +++ b/docs/google-docs/providers/google/cloudcontrolspartner/violations/index.md @@ -1,3 +1,4 @@ + --- title: violations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - violations - cloudcontrolspartner - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an violation resource or lists violations in a region ## Overview
@@ -30,19 +32,42 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Identifier. Format: `organizations/{organization}/locations/{location}/customers/{customer}/workloads/{workload}/violations/{violation}` | +| | `string` | Identifier. Format: `organizations/{organization}/locations/{location}/customers/{customer}/workloads/{workload}/violations/{violation}` | | | `string` | Output only. Description for the Violation. e.g. OrgPolicy gcp.resourceLocations has non compliant value. | | | `string` | Output only. Time of the event which triggered the Violation. | | | `string` | Output only. Category under which this violation is mapped. e.g. Location, Service Usage, Access, Encryption, etc. | | | `string` | The folder_id of the violation | -| | `string` | Output only. Immutable. Name of the OrgPolicy which was modified with non-compliant change and resulted this violation. Format: `projects/{project_number}/policies/{constraint_name}` `folders/{folder_id}/policies/{constraint_name}` `organizations/{organization_id}/policies/{constraint_name}` | +| | `string` | Output only. Immutable. Name of the OrgPolicy which was modified with non-compliant change and resulted this violation. Format: `projects/{project_number}/policies/{constraint_name}` `folders/{folder_id}/policies/{constraint_name}` `organizations/{organization_id}/policies/{constraint_name}` | | | `object` | Represents remediation guidance to resolve compliance violation for AssuredWorkload | | | `string` | Output only. Time of the event which fixed the Violation. If the violation is ACTIVE this will be empty. | | | `string` | Output only. State of the violation | | | `string` | Output only. The last time when the Violation record was updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets details of a single Violation. | -| | `SELECT` | | Lists Violations for a workload Callers may also choose to read across multiple Customers or for a single customer as per [AIP-159](https://google.aip.dev/159) by using '-' (the hyphen or dash character) as a wildcard character instead of {customer} & {workload}. Format: `organizations/{organization}/locations/{location}/customers/{customer}/workloads/{workload}` | -| | `EXEC` | | Lists Violations for a workload Callers may also choose to read across multiple Customers or for a single customer as per [AIP-159](https://google.aip.dev/159) by using '-' (the hyphen or dash character) as a wildcard character instead of {customer} & {workload}. Format: `organizations/{organization}/locations/{location}/customers/{customer}/workloads/{workload}` | +| | `SELECT` | | Lists Violations for a workload Callers may also choose to read across multiple Customers or for a single customer as per [AIP-159](https://google.aip.dev/159) by using '-' (the hyphen or dash character) as a wildcard character instead of {customer} & {workload}. Format: `organizations/{organization}/locations/{location}/customers/{customer}/workloads/{workload}` | + +## `SELECT` examples + +Lists Violations for a workload Callers may also choose to read across multiple Customers or for a single customer as per [AIP-159](https://google.aip.dev/159) by using '-' (the hyphen or dash character) as a wildcard character instead of {customer} & {workload}. Format: `organizations/{organization}/locations/{location}/customers/{customer}/workloads/{workload}` + +```sql +SELECT +name, +description, +beginTime, +category, +folderId, +nonCompliantOrgPolicy, +remediation, +resolveTime, +state, +updateTime +FROM google.cloudcontrolspartner.violations +WHERE customersId = '{{ customersId }}' +AND locationsId = '{{ locationsId }}' +AND organizationsId = '{{ organizationsId }}' +AND workloadsId = '{{ workloadsId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudcontrolspartner/workloads/index.md b/docs/google-docs/providers/google/cloudcontrolspartner/workloads/index.md index 669932628b..b5fea43175 100644 --- a/docs/google-docs/providers/google/cloudcontrolspartner/workloads/index.md +++ b/docs/google-docs/providers/google/cloudcontrolspartner/workloads/index.md @@ -1,3 +1,4 @@ + --- title: workloads hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - workloads - cloudcontrolspartner - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an workload resource or lists workloads in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Identifier. Format: `organizations/{organization}/locations/{location}/customers/{customer}/workloads/{workload}` | +| | `string` | Identifier. Format: `organizations/{organization}/locations/{location}/customers/{customer}/workloads/{workload}` | | | `string` | Output only. Time the resource was created. | | | `string` | Output only. The name of container folder of the assured workload | | | `string` | Output only. Folder id this workload is associated with | @@ -39,9 +41,30 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The Google Cloud location of the workload | | | `string` | Partner associated with this workload. | | | `object` | Container for workload onboarding steps. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets details of a single workload | | | `SELECT` | | Lists customer workloads for a given customer org id | -| | `EXEC` | | Lists customer workloads for a given customer org id | + +## `SELECT` examples + +Lists customer workloads for a given customer org id + +```sql +SELECT +name, +createTime, +folder, +folderId, +isOnboarded, +keyManagementProjectId, +location, +partner, +workloadOnboardingState +FROM google.cloudcontrolspartner.workloads +WHERE customersId = '{{ customersId }}' +AND locationsId = '{{ locationsId }}' +AND organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudcontrolspartner/workloads_ekm_connections/index.md b/docs/google-docs/providers/google/cloudcontrolspartner/workloads_ekm_connections/index.md index 7e8460dcb0..2225d9d4bc 100644 --- a/docs/google-docs/providers/google/cloudcontrolspartner/workloads_ekm_connections/index.md +++ b/docs/google-docs/providers/google/cloudcontrolspartner/workloads_ekm_connections/index.md @@ -1,3 +1,4 @@ + --- title: workloads_ekm_connections hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - workloads_ekm_connections - cloudcontrolspartner - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an workloads_ekm_connection resource or lists workloads_ekm_connections in a region ## Overview
@@ -30,9 +32,25 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Identifier. Format: `organizations/{organization}/locations/{location}/customers/{customer}/workloads/{workload}/ekmConnections` | +| | `string` | Identifier. Format: `organizations/{organization}/locations/{location}/customers/{customer}/workloads/{workload}/ekmConnections` | | | `array` | The EKM connections associated with the workload | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets the EKM connections associated with a workload | + +## `SELECT` examples + +Gets the EKM connections associated with a workload + +```sql +SELECT +name, +ekmConnections +FROM google.cloudcontrolspartner.workloads_ekm_connections +WHERE customersId = '{{ customersId }}' +AND locationsId = '{{ locationsId }}' +AND organizationsId = '{{ organizationsId }}' +AND workloadsId = '{{ workloadsId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudcontrolspartner/workloads_partner_permissions/index.md b/docs/google-docs/providers/google/cloudcontrolspartner/workloads_partner_permissions/index.md index 62fbe9edc2..5dcbb43141 100644 --- a/docs/google-docs/providers/google/cloudcontrolspartner/workloads_partner_permissions/index.md +++ b/docs/google-docs/providers/google/cloudcontrolspartner/workloads_partner_permissions/index.md @@ -1,3 +1,4 @@ + --- title: workloads_partner_permissions hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - workloads_partner_permissions - cloudcontrolspartner - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an workloads_partner_permission resource or lists workloads_partner_permissions in a region ## Overview
@@ -30,9 +32,25 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Identifier. Format: `organizations/{organization}/locations/{location}/customers/{customer}/workloads/{workload}/partnerPermissions` | +| | `string` | Identifier. Format: `organizations/{organization}/locations/{location}/customers/{customer}/workloads/{workload}/partnerPermissions` | | | `array` | The partner permissions granted for the workload | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets the partner permissions granted for a workload | + +## `SELECT` examples + +Gets the partner permissions granted for a workload + +```sql +SELECT +name, +partnerPermissions +FROM google.cloudcontrolspartner.workloads_partner_permissions +WHERE customersId = '{{ customersId }}' +AND locationsId = '{{ locationsId }}' +AND organizationsId = '{{ organizationsId }}' +AND workloadsId = '{{ workloadsId }}'; +``` diff --git a/docs/google-docs/providers/google/clouddeploy/automation_runs/index.md b/docs/google-docs/providers/google/clouddeploy/automation_runs/index.md index 149bb94752..60a6760145 100644 --- a/docs/google-docs/providers/google/clouddeploy/automation_runs/index.md +++ b/docs/google-docs/providers/google/clouddeploy/automation_runs/index.md @@ -1,3 +1,4 @@ + --- title: automation_runs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - automation_runs - clouddeploy - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an automation_run resource or lists automation_runs in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. Name of the `AutomationRun`. Format is `projects/{project}/locations/{location}/deliveryPipelines/{delivery_pipeline}/automationRuns/{automation_run}`. | +| | `string` | Output only. Name of the `AutomationRun`. Format is `projects/{project}/locations/{location}/deliveryPipelines/{delivery_pipeline}/automationRuns/{automation_run}`. | | | `object` | Contains the information of an automated advance-rollout operation. | | | `string` | Output only. The ID of the automation that initiated the operation. | | | `object` | An `Automation` resource in the Cloud Deploy API. An `Automation` enables the automation of manually driven actions for a Delivery Pipeline, which includes Release promotion among Targets, Rollout repair and Rollout deployment strategy advancement. The intention of Automation is to reduce manual intervention in the continuous delivery process. | @@ -46,10 +48,38 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The ID of the target that represents the promotion stage that initiates the `AutomationRun`. The value of this field is the last segment of a target name. | | | `string` | Output only. Time at which the automationRun was updated. | | | `string` | Output only. Earliest time the `AutomationRun` will attempt to resume. Wait-time is configured by `wait` in automation rule. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets details of a single AutomationRun. | | | `SELECT` | | Lists AutomationRuns in a given project and location. | -| | `EXEC` | | Lists AutomationRuns in a given project and location. | | | `EXEC` | | Cancels an AutomationRun. The `state` of the `AutomationRun` after cancelling is `CANCELLED`. `CancelAutomationRun` can be called on AutomationRun in the state `IN_PROGRESS` and `PENDING`; AutomationRun in a different state returns an `FAILED_PRECONDITION` error. | + +## `SELECT` examples + +Lists AutomationRuns in a given project and location. + +```sql +SELECT +name, +advanceRolloutOperation, +automationId, +automationSnapshot, +createTime, +etag, +expireTime, +promoteReleaseOperation, +repairRolloutOperation, +ruleId, +serviceAccount, +state, +stateDescription, +targetId, +updateTime, +waitUntilTime +FROM google.clouddeploy.automation_runs +WHERE deliveryPipelinesId = '{{ deliveryPipelinesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/clouddeploy/automations/index.md b/docs/google-docs/providers/google/clouddeploy/automations/index.md index b54f4cb503..46331b93c9 100644 --- a/docs/google-docs/providers/google/clouddeploy/automations/index.md +++ b/docs/google-docs/providers/google/clouddeploy/automations/index.md @@ -1,3 +1,4 @@ + --- title: automations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - automations - clouddeploy - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an automation resource or lists automations in a region ## Overview
@@ -30,18 +32,19 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. Name of the `Automation`. Format is `projects/{project}/locations/{location}/deliveryPipelines/{delivery_pipeline}/automations/{automation}`. | +| | `string` | Output only. Name of the `Automation`. Format is `projects/{project}/locations/{location}/deliveryPipelines/{delivery_pipeline}/automations/{automation}`. | | | `string` | Optional. Description of the `Automation`. Max length is 255 characters. | | | `object` | Optional. User annotations. These attributes can only be set and used by the user, and not by Cloud Deploy. Annotations must meet the following constraints: * Annotations are key/value pairs. * Valid annotation keys have two segments: an optional prefix and name, separated by a slash (`/`). * The name segment is required and must be 63 characters or less, beginning and ending with an alphanumeric character (`[a-z0-9A-Z]`) with dashes (`-`), underscores (`_`), dots (`.`), and alphanumerics between. * The prefix is optional. If specified, the prefix must be a DNS subdomain: a series of DNS labels separated by dots(`.`), not longer than 253 characters in total, followed by a slash (`/`). See https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#syntax-and-character-set for more details. | | | `string` | Output only. Time at which the automation was created. | | | `string` | Optional. The weak etag of the `Automation` resource. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. | -| | `object` | Optional. Labels are attributes that can be set and used by both the user and by Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be <= 63 characters. | +| | `object` | Optional. Labels are attributes that can be set and used by both the user and by Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be <= 63 characters. | | | `array` | Required. List of Automation rules associated with the Automation resource. Must have at least one rule and limited to 250 rules per Delivery Pipeline. Note: the order of the rules here is not the same as the order of execution. | | | `object` | AutomationResourceSelector contains the information to select the resources to which an Automation is going to be applied. | | | `string` | Required. Email address of the user-managed IAM service account that creates Cloud Deploy release and rollout resources. | | | `boolean` | Optional. When Suspended, automation is deactivated from execution. | | | `string` | Output only. Unique identifier of the `Automation`. | | | `string` | Output only. Time at which the automation was updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -50,4 +53,151 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new Automation in a given project and location. | | | `DELETE` | | Deletes a single Automation resource. | | | `UPDATE` | | Updates the parameters of a single Automation resource. | -| | `EXEC` | | Lists Automations in a given project and location. | + +## `SELECT` examples + +Lists Automations in a given project and location. + +```sql +SELECT +name, +description, +annotations, +createTime, +etag, +labels, +rules, +selector, +serviceAccount, +suspended, +uid, +updateTime +FROM google.clouddeploy.automations +WHERE deliveryPipelinesId = '{{ deliveryPipelinesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new automations resource. + + + + +```sql +/*+ create */ +INSERT INTO google.clouddeploy.automations ( +deliveryPipelinesId, +locationsId, +projectsId, +name, +uid, +description, +createTime, +updateTime, +annotations, +labels, +etag, +suspended, +serviceAccount, +selector, +rules +) +SELECT +'{{ deliveryPipelinesId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ uid }}', +'{{ description }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ annotations }}', +'{{ labels }}', +'{{ etag }}', +true|false, +'{{ serviceAccount }}', +'{{ selector }}', +'{{ rules }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: uid + value: '{{ uid }}' + - name: description + value: '{{ description }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: annotations + value: '{{ annotations }}' + - name: labels + value: '{{ labels }}' + - name: etag + value: '{{ etag }}' + - name: suspended + value: '{{ suspended }}' + - name: serviceAccount + value: '{{ serviceAccount }}' + - name: selector + value: '{{ selector }}' + - name: rules + value: '{{ rules }}' + +``` + + + +## `UPDATE` example + +Updates a automation only if the necessary resources are available. + +```sql +UPDATE google.clouddeploy.automations +SET +name = '{{ name }}', +uid = '{{ uid }}', +description = '{{ description }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +annotations = '{{ annotations }}', +labels = '{{ labels }}', +etag = '{{ etag }}', +suspended = true|false, +serviceAccount = '{{ serviceAccount }}', +selector = '{{ selector }}', +rules = '{{ rules }}' +WHERE +automationsId = '{{ automationsId }}' +AND deliveryPipelinesId = '{{ deliveryPipelinesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified automation resource. + +```sql +DELETE FROM google.clouddeploy.automations +WHERE automationsId = '{{ automationsId }}' +AND deliveryPipelinesId = '{{ deliveryPipelinesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/clouddeploy/config/index.md b/docs/google-docs/providers/google/clouddeploy/config/index.md index a15138eb5b..0bf1fd182d 100644 --- a/docs/google-docs/providers/google/clouddeploy/config/index.md +++ b/docs/google-docs/providers/google/clouddeploy/config/index.md @@ -1,3 +1,4 @@ + --- title: config hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - config - clouddeploy - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an config resource or lists config in a region ## Overview
@@ -33,7 +35,22 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Name of the configuration. | | | `string` | Default Skaffold version that is assigned when a Release is created without specifying a Skaffold version. | | | `array` | All supported versions of Skaffold. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets the configuration for a location. | + +## `SELECT` examples + +Gets the configuration for a location. + +```sql +SELECT +name, +defaultSkaffoldVersion, +supportedVersions +FROM google.clouddeploy.config +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/clouddeploy/custom_target_types/index.md b/docs/google-docs/providers/google/clouddeploy/custom_target_types/index.md index 69eb97505b..623129e139 100644 --- a/docs/google-docs/providers/google/clouddeploy/custom_target_types/index.md +++ b/docs/google-docs/providers/google/clouddeploy/custom_target_types/index.md @@ -1,3 +1,4 @@ + --- title: custom_target_types hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - custom_target_types - clouddeploy - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an custom_target_type resource or lists custom_target_types in a region ## Overview
@@ -30,16 +32,17 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Optional. Name of the `CustomTargetType`. Format is `projects/{project}/locations/{location}/customTargetTypes/{customTargetType}`. The `customTargetType` component must match `[a-z]([a-z0-9-]{0,61}[a-z0-9])?` | +| | `string` | Optional. Name of the `CustomTargetType`. Format is `projects/{project}/locations/{location}/customTargetTypes/{customTargetType}`. The `customTargetType` component must match `[a-z]([a-z0-9-]{0,61}[a-z0-9])?` | | | `string` | Optional. Description of the `CustomTargetType`. Max length is 255 characters. | | | `object` | Optional. User annotations. These attributes can only be set and used by the user, and not by Cloud Deploy. See https://google.aip.dev/128#annotations for more details such as format and size limitations. | | | `string` | Output only. Time at which the `CustomTargetType` was created. | | | `object` | CustomTargetSkaffoldActions represents the `CustomTargetType` configuration using Skaffold custom actions. | | | `string` | Output only. Resource id of the `CustomTargetType`. | | | `string` | Optional. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. | -| | `object` | Optional. Labels are attributes that can be set and used by both the user and by Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be <= 128 bytes. | +| | `object` | Optional. Labels are attributes that can be set and used by both the user and by Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be <= 128 bytes. | | | `string` | Output only. Unique identifier of the `CustomTargetType`. | | | `string` | Output only. Most recent time at which the `CustomTargetType` was updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -48,4 +51,134 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new CustomTargetType in a given project and location. | | | `DELETE` | | Deletes a single CustomTargetType. | | | `UPDATE` | | Updates a single CustomTargetType. | -| | `EXEC` | | Lists CustomTargetTypes in a given project and location. | + +## `SELECT` examples + +Lists CustomTargetTypes in a given project and location. + +```sql +SELECT +name, +description, +annotations, +createTime, +customActions, +customTargetTypeId, +etag, +labels, +uid, +updateTime +FROM google.clouddeploy.custom_target_types +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new custom_target_types resource. + + + + +```sql +/*+ create */ +INSERT INTO google.clouddeploy.custom_target_types ( +locationsId, +projectsId, +name, +customTargetTypeId, +uid, +description, +annotations, +labels, +createTime, +updateTime, +etag, +customActions +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ customTargetTypeId }}', +'{{ uid }}', +'{{ description }}', +'{{ annotations }}', +'{{ labels }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ etag }}', +'{{ customActions }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: customTargetTypeId + value: '{{ customTargetTypeId }}' + - name: uid + value: '{{ uid }}' + - name: description + value: '{{ description }}' + - name: annotations + value: '{{ annotations }}' + - name: labels + value: '{{ labels }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: etag + value: '{{ etag }}' + - name: customActions + value: '{{ customActions }}' + +``` + + + +## `UPDATE` example + +Updates a custom_target_type only if the necessary resources are available. + +```sql +UPDATE google.clouddeploy.custom_target_types +SET +name = '{{ name }}', +customTargetTypeId = '{{ customTargetTypeId }}', +uid = '{{ uid }}', +description = '{{ description }}', +annotations = '{{ annotations }}', +labels = '{{ labels }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +etag = '{{ etag }}', +customActions = '{{ customActions }}' +WHERE +customTargetTypesId = '{{ customTargetTypesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified custom_target_type resource. + +```sql +DELETE FROM google.clouddeploy.custom_target_types +WHERE customTargetTypesId = '{{ customTargetTypesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/clouddeploy/custom_target_types_iam_policies/index.md b/docs/google-docs/providers/google/clouddeploy/custom_target_types_iam_policies/index.md index 15026124b5..2eb7757c1a 100644 --- a/docs/google-docs/providers/google/clouddeploy/custom_target_types_iam_policies/index.md +++ b/docs/google-docs/providers/google/clouddeploy/custom_target_types_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: custom_target_types_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - custom_target_types_iam_policies - clouddeploy - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an custom_target_types_iam_policy resource or lists custom_target_types_iam_policies in a region ## Overview
@@ -30,12 +32,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.clouddeploy.custom_target_types_iam_policies +WHERE customTargetTypesId = '{{ customTargetTypesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/clouddeploy/delivery_pipelines/index.md b/docs/google-docs/providers/google/clouddeploy/delivery_pipelines/index.md index ee3e36583f..fdac872677 100644 --- a/docs/google-docs/providers/google/clouddeploy/delivery_pipelines/index.md +++ b/docs/google-docs/providers/google/clouddeploy/delivery_pipelines/index.md @@ -1,3 +1,4 @@ + --- title: delivery_pipelines hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - delivery_pipelines - clouddeploy - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an delivery_pipeline resource or lists delivery_pipelines in a region ## Overview
@@ -30,17 +32,18 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Optional. Name of the `DeliveryPipeline`. Format is `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}`. The `deliveryPipeline` component must match `[a-z]([a-z0-9-]{0,61}[a-z0-9])?` | +| | `string` | Optional. Name of the `DeliveryPipeline`. Format is `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}`. The `deliveryPipeline` component must match `[a-z]([a-z0-9-]{0,61}[a-z0-9])?` | | | `string` | Description of the `DeliveryPipeline`. Max length is 255 characters. | | | `object` | User annotations. These attributes can only be set and used by the user, and not by Cloud Deploy. | | | `object` | PipelineCondition contains all conditions relevant to a Delivery Pipeline. | | | `string` | Output only. Time at which the pipeline was created. | | | `string` | This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. | -| | `object` | Labels are attributes that can be set and used by both the user and by Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be <= 128 bytes. | +| | `object` | Labels are attributes that can be set and used by both the user and by Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be <= 128 bytes. | | | `object` | SerialPipeline defines a sequential set of stages for a `DeliveryPipeline`. | | | `boolean` | When suspended, no new releases or rollouts can be created, but in-progress ones will complete. | | | `string` | Output only. Unique identifier of the `DeliveryPipeline`. | | | `string` | Output only. Most recent time at which the pipeline was updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -49,5 +52,141 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new DeliveryPipeline in a given project and location. | | | `DELETE` | | Deletes a single DeliveryPipeline. | | | `UPDATE` | | Updates the parameters of a single DeliveryPipeline. | -| | `EXEC` | | Lists DeliveryPipelines in a given project and location. | | | `EXEC` | | Creates a `Rollout` to roll back the specified target. | + +## `SELECT` examples + +Lists DeliveryPipelines in a given project and location. + +```sql +SELECT +name, +description, +annotations, +condition, +createTime, +etag, +labels, +serialPipeline, +suspended, +uid, +updateTime +FROM google.clouddeploy.delivery_pipelines +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new delivery_pipelines resource. + + + + +```sql +/*+ create */ +INSERT INTO google.clouddeploy.delivery_pipelines ( +locationsId, +projectsId, +name, +uid, +description, +annotations, +labels, +createTime, +updateTime, +serialPipeline, +condition, +etag, +suspended +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ uid }}', +'{{ description }}', +'{{ annotations }}', +'{{ labels }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ serialPipeline }}', +'{{ condition }}', +'{{ etag }}', +true|false +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: uid + value: '{{ uid }}' + - name: description + value: '{{ description }}' + - name: annotations + value: '{{ annotations }}' + - name: labels + value: '{{ labels }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: serialPipeline + value: '{{ serialPipeline }}' + - name: condition + value: '{{ condition }}' + - name: etag + value: '{{ etag }}' + - name: suspended + value: '{{ suspended }}' + +``` + + + +## `UPDATE` example + +Updates a delivery_pipeline only if the necessary resources are available. + +```sql +UPDATE google.clouddeploy.delivery_pipelines +SET +name = '{{ name }}', +uid = '{{ uid }}', +description = '{{ description }}', +annotations = '{{ annotations }}', +labels = '{{ labels }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +serialPipeline = '{{ serialPipeline }}', +condition = '{{ condition }}', +etag = '{{ etag }}', +suspended = true|false +WHERE +deliveryPipelinesId = '{{ deliveryPipelinesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified delivery_pipeline resource. + +```sql +DELETE FROM google.clouddeploy.delivery_pipelines +WHERE deliveryPipelinesId = '{{ deliveryPipelinesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/clouddeploy/delivery_pipelines_iam_policies/index.md b/docs/google-docs/providers/google/clouddeploy/delivery_pipelines_iam_policies/index.md index b4a7fd1900..bb2096ef9a 100644 --- a/docs/google-docs/providers/google/clouddeploy/delivery_pipelines_iam_policies/index.md +++ b/docs/google-docs/providers/google/clouddeploy/delivery_pipelines_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: delivery_pipelines_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - delivery_pipelines_iam_policies - clouddeploy - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an delivery_pipelines_iam_policy resource or lists delivery_pipelines_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.clouddeploy.delivery_pipelines_iam_policies +WHERE deliveryPipelinesId = '{{ deliveryPipelinesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/clouddeploy/index.md b/docs/google-docs/providers/google/clouddeploy/index.md index bd04cf2677..eecf0976ca 100644 --- a/docs/google-docs/providers/google/clouddeploy/index.md +++ b/docs/google-docs/providers/google/clouddeploy/index.md @@ -9,34 +9,23 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- - - +The clouddeploy service documentation. + :::info Service Summary
total resources: 14
-total selectable resources: 14
-total methods: 67
::: -## Overview -
- - - - - -
Namegoogle.clouddeploy
TypeService
TitleCloud Deploy API
Description
Idclouddeploy:v24.06.00236
- ## Resources
@@ -46,7 +35,7 @@ image: /img/providers/google/stackql-google-provider-featured-image.png custom_target_types
custom_target_types_iam_policies
delivery_pipelines
-delivery_pipelines_iam_policies
+delivery_pipelines_iam_policies
job_runs
@@ -55,6 +44,6 @@ image: /img/providers/google/stackql-google-provider-featured-image.png releases
rollouts
targets
-targets_iam_policies
-
+targets_iam_policies
+ \ No newline at end of file diff --git a/docs/google-docs/providers/google/clouddeploy/job_runs/index.md b/docs/google-docs/providers/google/clouddeploy/job_runs/index.md index 92b8db42ee..bacc0a72f1 100644 --- a/docs/google-docs/providers/google/clouddeploy/job_runs/index.md +++ b/docs/google-docs/providers/google/clouddeploy/job_runs/index.md @@ -1,3 +1,4 @@ + --- title: job_runs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - job_runs - clouddeploy - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an job_run resource or lists job_runs in a region ## Overview @@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Optional. Name of the `JobRun`. Format is `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{releases}/rollouts/{rollouts}/jobRuns/{uuid}`. | +| | `string` | Optional. Name of the `JobRun`. Format is `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{releases}/rollouts/{rollouts}/jobRuns/{uuid}`. | | | `object` | AdvanceChildRolloutJobRun contains information specific to a advanceChildRollout `JobRun`. | | | `object` | CreateChildRolloutJobRun contains information specific to a createChildRollout `JobRun`. | | | `string` | Output only. Time at which the `JobRun` was created. | @@ -45,10 +47,39 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The current state of the `JobRun`. | | | `string` | Output only. Unique identifier of the `JobRun`. | | | `object` | VerifyJobRun contains information specific to a verify `JobRun`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets details of a single JobRun. | | | `SELECT` | | Lists JobRuns in a given project and location. | -| | `EXEC` | | Lists JobRuns in a given project and location. | | | `EXEC` | | Terminates a Job Run in a given project and location. | + +## `SELECT` examples + +Lists JobRuns in a given project and location. + +```sql +SELECT +name, +advanceChildRolloutJobRun, +createChildRolloutJobRun, +createTime, +deployJobRun, +endTime, +etag, +jobId, +phaseId, +postdeployJobRun, +predeployJobRun, +startTime, +state, +uid, +verifyJobRun +FROM google.clouddeploy.job_runs +WHERE deliveryPipelinesId = '{{ deliveryPipelinesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND releasesId = '{{ releasesId }}' +AND rolloutsId = '{{ rolloutsId }}'; +``` diff --git a/docs/google-docs/providers/google/clouddeploy/locations/index.md b/docs/google-docs/providers/google/clouddeploy/locations/index.md index bc071b6f8a..a29e5b560b 100644 --- a/docs/google-docs/providers/google/clouddeploy/locations/index.md +++ b/docs/google-docs/providers/google/clouddeploy/locations/index.md @@ -1,3 +1,4 @@ + --- title: locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - locations - clouddeploy - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an location resource or lists locations in a region ## Overview
@@ -32,12 +34,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` | | | `string` | The friendly name for this location, typically a nearby city name. For example, "Tokyo". | -| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | +| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | | | `string` | The canonical id for this location. For example: `"us-east1"`. | | | `object` | Service-specific metadata. For example the available capacity at the given location. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about a location. | | | `SELECT` | | Lists information about the supported locations for this service. | -| | `EXEC` | | Lists information about the supported locations for this service. | + +## `SELECT` examples + +Lists information about the supported locations for this service. + +```sql +SELECT +name, +displayName, +labels, +locationId, +metadata +FROM google.clouddeploy.locations +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/clouddeploy/operations/index.md b/docs/google-docs/providers/google/clouddeploy/operations/index.md index 30a565ce1f..51a60ee7cc 100644 --- a/docs/google-docs/providers/google/clouddeploy/operations/index.md +++ b/docs/google-docs/providers/google/clouddeploy/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - clouddeploy - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview
@@ -30,16 +32,43 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.clouddeploy.operations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified operation resource. + +```sql +DELETE FROM google.clouddeploy.operations +WHERE locationsId = '{{ locationsId }}' +AND operationsId = '{{ operationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/clouddeploy/releases/index.md b/docs/google-docs/providers/google/clouddeploy/releases/index.md index 3e6031817c..43e9530f2c 100644 --- a/docs/google-docs/providers/google/clouddeploy/releases/index.md +++ b/docs/google-docs/providers/google/clouddeploy/releases/index.md @@ -1,3 +1,4 @@ + --- title: releases hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - releases - clouddeploy - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an release resource or lists releases in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Optional. Name of the `Release`. Format is `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{release}`. The `release` component must match `[a-z]([a-z0-9-]{0,61}[a-z0-9])?` | +| | `string` | Optional. Name of the `Release`. Format is `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{release}`. The `release` component must match `[a-z]([a-z0-9-]{0,61}[a-z0-9])?` | | | `string` | Description of the `Release`. Max length is 255 characters. | | | `boolean` | Output only. Indicates whether this is an abandoned release. | | | `object` | User annotations. These attributes can only be set and used by the user, and not by Cloud Deploy. See https://google.aip.dev/128#annotations for more details such as format and size limitations. | @@ -41,7 +43,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | A `DeliveryPipeline` resource in the Cloud Deploy API. A `DeliveryPipeline` defines a pipeline through which a Skaffold configuration can progress. | | | `object` | Optional. The deploy parameters to use for all targets in this release. | | | `string` | This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. | -| | `object` | Labels are attributes that can be set and used by both the user and by Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be <= 128 bytes. | +| | `object` | Labels are attributes that can be set and used by both the user and by Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be <= 128 bytes. | | | `string` | Output only. Time at which the render completed. | | | `string` | Output only. Time at which the render began. | | | `string` | Output only. Current state of the render operation. | @@ -52,11 +54,171 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Output only. Map from target ID to details of the render operation for that target. | | | `array` | Output only. Snapshot of the targets taken at release creation time. | | | `string` | Output only. Unique identifier of the `Release`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets details of a single Release. | | | `SELECT` | | Lists Releases in a given project and location. | | | `INSERT` | | Creates a new Release in a given project and location. | -| | `EXEC` | | Lists Releases in a given project and location. | | | `EXEC` | | Abandons a Release in the Delivery Pipeline. | + +## `SELECT` examples + +Lists Releases in a given project and location. + +```sql +SELECT +name, +description, +abandoned, +annotations, +buildArtifacts, +condition, +createTime, +customTargetTypeSnapshots, +deliveryPipelineSnapshot, +deployParameters, +etag, +labels, +renderEndTime, +renderStartTime, +renderState, +skaffoldConfigPath, +skaffoldConfigUri, +skaffoldVersion, +targetArtifacts, +targetRenders, +targetSnapshots, +uid +FROM google.clouddeploy.releases +WHERE deliveryPipelinesId = '{{ deliveryPipelinesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new releases resource. + + + + +```sql +/*+ create */ +INSERT INTO google.clouddeploy.releases ( +deliveryPipelinesId, +locationsId, +projectsId, +name, +uid, +description, +annotations, +labels, +abandoned, +createTime, +renderStartTime, +renderEndTime, +skaffoldConfigUri, +skaffoldConfigPath, +buildArtifacts, +deliveryPipelineSnapshot, +targetSnapshots, +customTargetTypeSnapshots, +renderState, +etag, +skaffoldVersion, +targetArtifacts, +targetRenders, +condition, +deployParameters +) +SELECT +'{{ deliveryPipelinesId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ uid }}', +'{{ description }}', +'{{ annotations }}', +'{{ labels }}', +true|false, +'{{ createTime }}', +'{{ renderStartTime }}', +'{{ renderEndTime }}', +'{{ skaffoldConfigUri }}', +'{{ skaffoldConfigPath }}', +'{{ buildArtifacts }}', +'{{ deliveryPipelineSnapshot }}', +'{{ targetSnapshots }}', +'{{ customTargetTypeSnapshots }}', +'{{ renderState }}', +'{{ etag }}', +'{{ skaffoldVersion }}', +'{{ targetArtifacts }}', +'{{ targetRenders }}', +'{{ condition }}', +'{{ deployParameters }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: uid + value: '{{ uid }}' + - name: description + value: '{{ description }}' + - name: annotations + value: '{{ annotations }}' + - name: labels + value: '{{ labels }}' + - name: abandoned + value: '{{ abandoned }}' + - name: createTime + value: '{{ createTime }}' + - name: renderStartTime + value: '{{ renderStartTime }}' + - name: renderEndTime + value: '{{ renderEndTime }}' + - name: skaffoldConfigUri + value: '{{ skaffoldConfigUri }}' + - name: skaffoldConfigPath + value: '{{ skaffoldConfigPath }}' + - name: buildArtifacts + value: '{{ buildArtifacts }}' + - name: deliveryPipelineSnapshot + value: '{{ deliveryPipelineSnapshot }}' + - name: targetSnapshots + value: '{{ targetSnapshots }}' + - name: customTargetTypeSnapshots + value: '{{ customTargetTypeSnapshots }}' + - name: renderState + value: '{{ renderState }}' + - name: etag + value: '{{ etag }}' + - name: skaffoldVersion + value: '{{ skaffoldVersion }}' + - name: targetArtifacts + value: '{{ targetArtifacts }}' + - name: targetRenders + value: '{{ targetRenders }}' + - name: condition + value: '{{ condition }}' + - name: deployParameters + value: '{{ deployParameters }}' + +``` + + diff --git a/docs/google-docs/providers/google/clouddeploy/rollouts/index.md b/docs/google-docs/providers/google/clouddeploy/rollouts/index.md index 923d1a7f99..e60e1d4edd 100644 --- a/docs/google-docs/providers/google/clouddeploy/rollouts/index.md +++ b/docs/google-docs/providers/google/clouddeploy/rollouts/index.md @@ -1,3 +1,4 @@ + --- title: rollouts hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - rollouts - clouddeploy - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an rollout resource or lists rollouts in a region ## Overview
@@ -30,21 +32,21 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Optional. Name of the `Rollout`. Format is `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{release}/rollouts/{rollout}`. The `rollout` component must match `[a-z]([a-z0-9-]{0,61}[a-z0-9])?` | +| | `string` | Optional. Name of the `Rollout`. Format is `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{release}/rollouts/{rollout}`. The `rollout` component must match `[a-z]([a-z0-9-]{0,61}[a-z0-9])?` | | | `string` | Description of the `Rollout` for user purposes. Max length is 255 characters. | | | `object` | User annotations. These attributes can only be set and used by the user, and not by Cloud Deploy. See https://google.aip.dev/128#annotations for more details such as format and size limitations. | | | `string` | Output only. Approval state of the `Rollout`. | | | `string` | Output only. Time at which the `Rollout` was approved. | -| | `string` | Output only. Name of the `ControllerRollout`. Format is `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{release}/rollouts/{rollout}`. | +| | `string` | Output only. Name of the `ControllerRollout`. Format is `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{release}/rollouts/{rollout}`. | | | `string` | Output only. Time at which the `Rollout` was created. | | | `string` | Output only. Time at which the `Rollout` finished deploying. | | | `string` | Output only. The reason this rollout failed. This will always be unspecified while the rollout is in progress. | | | `string` | Output only. Time at which the `Rollout` started deploying. | -| | `string` | Output only. The resource name of the Cloud Build `Build` object that is used to deploy the Rollout. Format is `projects/{project}/locations/{location}/builds/{build}`. | +| | `string` | Output only. The resource name of the Cloud Build `Build` object that is used to deploy the Rollout. Format is `projects/{project}/locations/{location}/builds/{build}`. | | | `string` | Output only. Time at which the `Rollout` was enqueued. | | | `string` | This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. | | | `string` | Output only. Additional information about the rollout failure, if available. | -| | `object` | Labels are attributes that can be set and used by both the user and by Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be <= 128 bytes. | +| | `object` | Labels are attributes that can be set and used by both the user and by Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be <= 128 bytes. | | | `object` | Metadata includes information associated with a `Rollout`. | | | `array` | Output only. The phases that represent the workflows of this `Rollout`. | | | `string` | Output only. Name of the `Rollout` that is rolled back by this `Rollout`. Empty if this `Rollout` wasn't created as a rollback. | @@ -52,15 +54,178 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Current state of the `Rollout`. | | | `string` | Required. The ID of Target to which this `Rollout` is deploying. | | | `string` | Output only. Unique identifier of the `Rollout`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets details of a single Rollout. | | | `SELECT` | | Lists Rollouts in a given project and location. | | | `INSERT` | | Creates a new Rollout in a given project and location. | -| | `EXEC` | | Lists Rollouts in a given project and location. | | | `EXEC` | | Advances a Rollout in a given project and location. | | | `EXEC` | | Approves a Rollout. | | | `EXEC` | | Cancels a Rollout in a given project and location. | | | `EXEC` | | Ignores the specified Job in a Rollout. | | | `EXEC` | | Retries the specified Job in a Rollout. | + +## `SELECT` examples + +Lists Rollouts in a given project and location. + +```sql +SELECT +name, +description, +annotations, +approvalState, +approveTime, +controllerRollout, +createTime, +deployEndTime, +deployFailureCause, +deployStartTime, +deployingBuild, +enqueueTime, +etag, +failureReason, +labels, +metadata, +phases, +rollbackOfRollout, +rolledBackByRollouts, +state, +targetId, +uid +FROM google.clouddeploy.rollouts +WHERE deliveryPipelinesId = '{{ deliveryPipelinesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND releasesId = '{{ releasesId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new rollouts resource. + + + + +```sql +/*+ create */ +INSERT INTO google.clouddeploy.rollouts ( +deliveryPipelinesId, +locationsId, +projectsId, +releasesId, +name, +uid, +description, +annotations, +labels, +createTime, +approveTime, +enqueueTime, +deployStartTime, +deployEndTime, +targetId, +approvalState, +state, +failureReason, +deployingBuild, +etag, +deployFailureCause, +phases, +metadata, +controllerRollout, +rollbackOfRollout, +rolledBackByRollouts +) +SELECT +'{{ deliveryPipelinesId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ releasesId }}', +'{{ name }}', +'{{ uid }}', +'{{ description }}', +'{{ annotations }}', +'{{ labels }}', +'{{ createTime }}', +'{{ approveTime }}', +'{{ enqueueTime }}', +'{{ deployStartTime }}', +'{{ deployEndTime }}', +'{{ targetId }}', +'{{ approvalState }}', +'{{ state }}', +'{{ failureReason }}', +'{{ deployingBuild }}', +'{{ etag }}', +'{{ deployFailureCause }}', +'{{ phases }}', +'{{ metadata }}', +'{{ controllerRollout }}', +'{{ rollbackOfRollout }}', +'{{ rolledBackByRollouts }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: uid + value: '{{ uid }}' + - name: description + value: '{{ description }}' + - name: annotations + value: '{{ annotations }}' + - name: labels + value: '{{ labels }}' + - name: createTime + value: '{{ createTime }}' + - name: approveTime + value: '{{ approveTime }}' + - name: enqueueTime + value: '{{ enqueueTime }}' + - name: deployStartTime + value: '{{ deployStartTime }}' + - name: deployEndTime + value: '{{ deployEndTime }}' + - name: targetId + value: '{{ targetId }}' + - name: approvalState + value: '{{ approvalState }}' + - name: state + value: '{{ state }}' + - name: failureReason + value: '{{ failureReason }}' + - name: deployingBuild + value: '{{ deployingBuild }}' + - name: etag + value: '{{ etag }}' + - name: deployFailureCause + value: '{{ deployFailureCause }}' + - name: phases + value: '{{ phases }}' + - name: metadata + value: '{{ metadata }}' + - name: controllerRollout + value: '{{ controllerRollout }}' + - name: rollbackOfRollout + value: '{{ rollbackOfRollout }}' + - name: rolledBackByRollouts + value: '{{ rolledBackByRollouts }}' + +``` + + diff --git a/docs/google-docs/providers/google/clouddeploy/targets/index.md b/docs/google-docs/providers/google/clouddeploy/targets/index.md index 633566c2b4..1d88818c60 100644 --- a/docs/google-docs/providers/google/clouddeploy/targets/index.md +++ b/docs/google-docs/providers/google/clouddeploy/targets/index.md @@ -1,3 +1,4 @@ + --- title: targets hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - targets - clouddeploy - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an target resource or lists targets in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Optional. Name of the `Target`. Format is `projects/{project}/locations/{location}/targets/{target}`. The `target` component must match `[a-z]([a-z0-9-]{0,61}[a-z0-9])?` | +| | `string` | Optional. Name of the `Target`. Format is `projects/{project}/locations/{location}/targets/{target}`. The `target` component must match `[a-z]([a-z0-9-]{0,61}[a-z0-9])?` | | | `string` | Optional. Description of the `Target`. Max length is 255 characters. | | | `object` | Optional. User annotations. These attributes can only be set and used by the user, and not by Cloud Deploy. See https://google.aip.dev/128#annotations for more details such as format and size limitations. | | | `object` | Information specifying an Anthos Cluster. | @@ -40,13 +42,14 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Optional. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. | | | `array` | Configurations for all execution that relates to this `Target`. Each `ExecutionEnvironmentUsage` value may only be used in a single configuration; using the same value multiple times is an error. When one or more configurations are specified, they must include the `RENDER` and `DEPLOY` `ExecutionEnvironmentUsage` values. When no configurations are specified, execution will use the default specified in `DefaultPool`. | | | `object` | Information specifying a GKE Cluster. | -| | `object` | Optional. Labels are attributes that can be set and used by both the user and by Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be <= 128 bytes. | +| | `object` | Optional. Labels are attributes that can be set and used by both the user and by Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be <= 128 bytes. | | | `object` | Information specifying a multiTarget. | | | `boolean` | Optional. Whether or not the `Target` requires approval. | | | `object` | Information specifying where to deploy a Cloud Run Service. | | | `string` | Output only. Resource id of the `Target`. | | | `string` | Output only. Unique identifier of the `Target`. | | | `string` | Output only. Most recent time at which the `Target` was updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -55,4 +58,176 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new Target in a given project and location. | | | `DELETE` | | Deletes a single Target. | | | `UPDATE` | | Updates the parameters of a single Target. | -| | `EXEC` | | Lists Targets in a given project and location. | + +## `SELECT` examples + +Lists Targets in a given project and location. + +```sql +SELECT +name, +description, +annotations, +anthosCluster, +createTime, +customTarget, +deployParameters, +etag, +executionConfigs, +gke, +labels, +multiTarget, +requireApproval, +run, +targetId, +uid, +updateTime +FROM google.clouddeploy.targets +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new targets resource. + + + + +```sql +/*+ create */ +INSERT INTO google.clouddeploy.targets ( +locationsId, +projectsId, +name, +targetId, +uid, +description, +annotations, +labels, +requireApproval, +createTime, +updateTime, +gke, +anthosCluster, +run, +multiTarget, +customTarget, +etag, +executionConfigs, +deployParameters +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ targetId }}', +'{{ uid }}', +'{{ description }}', +'{{ annotations }}', +'{{ labels }}', +true|false, +'{{ createTime }}', +'{{ updateTime }}', +'{{ gke }}', +'{{ anthosCluster }}', +'{{ run }}', +'{{ multiTarget }}', +'{{ customTarget }}', +'{{ etag }}', +'{{ executionConfigs }}', +'{{ deployParameters }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: targetId + value: '{{ targetId }}' + - name: uid + value: '{{ uid }}' + - name: description + value: '{{ description }}' + - name: annotations + value: '{{ annotations }}' + - name: labels + value: '{{ labels }}' + - name: requireApproval + value: '{{ requireApproval }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: gke + value: '{{ gke }}' + - name: anthosCluster + value: '{{ anthosCluster }}' + - name: run + value: '{{ run }}' + - name: multiTarget + value: '{{ multiTarget }}' + - name: customTarget + value: '{{ customTarget }}' + - name: etag + value: '{{ etag }}' + - name: executionConfigs + value: '{{ executionConfigs }}' + - name: deployParameters + value: '{{ deployParameters }}' + +``` + + + +## `UPDATE` example + +Updates a target only if the necessary resources are available. + +```sql +UPDATE google.clouddeploy.targets +SET +name = '{{ name }}', +targetId = '{{ targetId }}', +uid = '{{ uid }}', +description = '{{ description }}', +annotations = '{{ annotations }}', +labels = '{{ labels }}', +requireApproval = true|false, +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +gke = '{{ gke }}', +anthosCluster = '{{ anthosCluster }}', +run = '{{ run }}', +multiTarget = '{{ multiTarget }}', +customTarget = '{{ customTarget }}', +etag = '{{ etag }}', +executionConfigs = '{{ executionConfigs }}', +deployParameters = '{{ deployParameters }}' +WHERE +locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND targetsId = '{{ targetsId }}'; +``` + +## `DELETE` example + +Deletes the specified target resource. + +```sql +DELETE FROM google.clouddeploy.targets +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND targetsId = '{{ targetsId }}'; +``` diff --git a/docs/google-docs/providers/google/clouddeploy/targets_iam_policies/index.md b/docs/google-docs/providers/google/clouddeploy/targets_iam_policies/index.md index beacc6114e..8c20784a9b 100644 --- a/docs/google-docs/providers/google/clouddeploy/targets_iam_policies/index.md +++ b/docs/google-docs/providers/google/clouddeploy/targets_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: targets_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - targets_iam_policies - clouddeploy - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an targets_iam_policy resource or lists targets_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.clouddeploy.targets_iam_policies +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND targetsId = '{{ targetsId }}'; +``` diff --git a/docs/google-docs/providers/google/clouderrorreporting/events/index.md b/docs/google-docs/providers/google/clouderrorreporting/events/index.md index 7ba510d255..fbc6c39df8 100644 --- a/docs/google-docs/providers/google/clouderrorreporting/events/index.md +++ b/docs/google-docs/providers/google/clouderrorreporting/events/index.md @@ -1,3 +1,4 @@ + --- title: events hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - events - clouderrorreporting - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an event resource or lists events in a region ## Overview
@@ -34,10 +36,35 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Time when the event occurred as provided in the error report. If the report did not contain a timestamp, the time the error was received by the Error Reporting system is used. | | | `string` | The stack trace that was reported or logged by the service. | | | `object` | Describes a running service that sends errors. Its version changes over time and multiple versions can run in parallel. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| -| | `SELECT` | | Lists the specified events. | -| | `DELETE` | | Deletes all error events of a given project. | -| | `EXEC` | | Lists the specified events. | -| | `EXEC` | | Report an individual error event and record the event to a log. This endpoint accepts **either** an OAuth token, **or** an [API key](https://support.google.com/cloud/answer/6158862) for authentication. To use an API key, append it to the URL as the value of a `key` parameter. For example: `POST https://clouderrorreporting.googleapis.com/v1beta1/{projectName}/events:report?key=123ABC456` **Note:** [Error Reporting] (https://cloud.google.com/error-reporting) is a global service built on Cloud Logging and can analyze log entries when all of the following are true: * The log entries are stored in a log bucket in the `global` location. * Customer-managed encryption keys (CMEK) are disabled on the log bucket. * The log bucket satisfies one of the following: * The log bucket is stored in the same project where the logs originated. * The logs were routed to a project, and then that project stored those logs in a log bucket that it owns. | +| | `SELECT` | | Lists the specified events. | +| | `DELETE` | | Deletes all error events of a given project. | +| | `EXEC` | | Report an individual error event and record the event to a log. This endpoint accepts **either** an OAuth token, **or** an [API key](https://support.google.com/cloud/answer/6158862) for authentication. To use an API key, append it to the URL as the value of a `key` parameter. For example: `POST https://clouderrorreporting.googleapis.com/v1beta1/{projectName}/events:report?key=123ABC456` **Note:** [Error Reporting] (https://cloud.google.com/error-reporting) is a service built on Cloud Logging and can analyze log entries when all of the following are true: * Customer-managed encryption keys (CMEK) are disabled on the log bucket. * The log bucket satisfies one of the following: * The log bucket is stored in the same project where the logs originated. * The logs were routed to a project, and then that project stored those logs in a log bucket that it owns. | + +## `SELECT` examples + +Lists the specified events. + +```sql +SELECT +context, +eventTime, +message, +serviceContext +FROM google.clouderrorreporting.events +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified event resource. + +```sql +DELETE FROM google.clouderrorreporting.events +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/clouderrorreporting/group_stats/index.md b/docs/google-docs/providers/google/clouderrorreporting/group_stats/index.md index 25d8b83e21..0bf58f99fe 100644 --- a/docs/google-docs/providers/google/clouderrorreporting/group_stats/index.md +++ b/docs/google-docs/providers/google/clouderrorreporting/group_stats/index.md @@ -1,3 +1,4 @@ + --- title: group_stats hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - group_stats - clouderrorreporting - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an group_stat resource or lists group_stats in a region ## Overview
@@ -39,8 +41,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `integer` | The total number of services with a non-zero error count for the given filter criteria. | | | `object` | An error event which is returned by the Error Reporting system. | | | `array` | Approximate number of occurrences over time. Timed counts returned by ListGroups are guaranteed to be: - Inside the requested time interval - Non-overlapping, and - Ordered by ascending time. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists the specified groups. | + +## `SELECT` examples + +Lists the specified groups. + +```sql +SELECT +affectedServices, +affectedUsersCount, +count, +firstSeenTime, +group, +lastSeenTime, +numAffectedServices, +representative, +timedCounts +FROM google.clouderrorreporting.group_stats +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/clouderrorreporting/groups/index.md b/docs/google-docs/providers/google/clouderrorreporting/groups/index.md index 19a0418fc5..da8c1b7939 100644 --- a/docs/google-docs/providers/google/clouderrorreporting/groups/index.md +++ b/docs/google-docs/providers/google/clouderrorreporting/groups/index.md @@ -1,3 +1,4 @@ + --- title: groups hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - groups - clouderrorreporting - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an group resource or lists groups in a region ## Overview
@@ -30,12 +32,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The group resource name. Written as `projects/{projectID}/groups/{group_id}`. Example: `projects/my-project-123/groups/my-group` In the group resource name, the `group_id` is a unique identifier for a particular error group. The identifier is derived from key parts of the error-log content and is treated as Service Data. For information about how Service Data is handled, see [Google Cloud Privacy Notice](https://cloud.google.com/terms/cloud-privacy-notice). | +| | `string` | The group resource name. Written as `projects/{projectID}/groups/{group_id}` or `projects/{projectID}/locations/{location}/groups/{group_id}` Examples: `projects/my-project-123/groups/my-group`, `projects/my-project-123/locations/us-central1/groups/my-group` In the group resource name, the `group_id` is a unique identifier for a particular error group. The identifier is derived from key parts of the error-log content and is treated as Service Data. For information about how Service Data is handled, see [Google Cloud Privacy Notice](https://cloud.google.com/terms/cloud-privacy-notice). For a list of supported locations, see [Supported Regions](https://cloud.google.com/logging/docs/region-support). `global` is the default when unspecified. | | | `string` | An opaque identifier of the group. This field is assigned by the Error Reporting system and always populated. In the group resource name, the `group_id` is a unique identifier for a particular error group. The identifier is derived from key parts of the error-log content and is treated as Service Data. For information about how Service Data is handled, see [Google Cloud Privacy Notice](https://cloud.google.com/terms/cloud-privacy-notice). | | | `string` | Error group's resolution status. An unspecified resolution status will be interpreted as OPEN | | | `array` | Associated tracking issues. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| -| | `SELECT` | | Get the specified group. | -| | `UPDATE` | | Replace the data for the specified group. Fails if the group does not exist. | +| | `SELECT` | | Get the specified group. | +| | `EXEC` | | Replace the data for the specified group. Fails if the group does not exist. | + +## `SELECT` examples + +Get the specified group. + +```sql +SELECT +name, +groupId, +resolutionStatus, +trackingIssues +FROM google.clouderrorreporting.groups +WHERE groupsId = '{{ groupsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/clouderrorreporting/index.md b/docs/google-docs/providers/google/clouderrorreporting/index.md index d9e4a7d4f7..330c961958 100644 --- a/docs/google-docs/providers/google/clouderrorreporting/index.md +++ b/docs/google-docs/providers/google/clouderrorreporting/index.md @@ -9,41 +9,30 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Groups and counts similar errors from cloud services and applications, reports new errors, and provides access to error groups and their associated errors. - +The clouderrorreporting service documentation. + :::info Service Summary
total resources: 3
-total selectable resources: 3
-total methods: 8
::: -## Overview -
- - - - - -
Namegoogle.clouderrorreporting
TypeService
TitleError Reporting API
DescriptionGroups and counts similar errors from cloud services and applications, reports new errors, and provides access to error groups and their associated errors.
Idclouderrorreporting:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/cloudfunctions/functions/index.md b/docs/google-docs/providers/google/cloudfunctions/functions/index.md index 87ea5ccc3d..68b80ea28f 100644 --- a/docs/google-docs/providers/google/cloudfunctions/functions/index.md +++ b/docs/google-docs/providers/google/cloudfunctions/functions/index.md @@ -1,3 +1,4 @@ + --- title: functions hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - functions - cloudfunctions - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an function resource or lists functions in a region ## Overview @@ -36,7 +38,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The create timestamp of a Cloud Function. This is only applicable to 2nd Gen functions. | | | `string` | Describe whether the function is 1st Gen or 2nd Gen. | | | `object` | Describes EventTrigger, used to request events to be sent from another service. | -| | `string` | [Preview] Resource name of a KMS crypto key (managed by the user) used to encrypt/decrypt function resources. It must match the pattern `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`. | +| | `string` | Resource name of a KMS crypto key (managed by the user) used to encrypt/decrypt function resources. It must match the pattern `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`. | | | `object` | Labels associated with this Cloud Function. | | | `boolean` | Output only. Reserved for future use. | | | `object` | Describes the Service being deployed. Currently Supported : Cloud Run (fully managed). | @@ -45,6 +47,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The last update timestamp of a Cloud Function. | | | `object` | Information related to: * A function's eligibility for 1st Gen to 2nd Gen migration * Current state of migration for function undergoing migration. | | | `string` | Output only. The deployed url for the function. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -53,7 +56,6 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new function. If a function with the given name already exists in the specified project, the long running operation will return `ALREADY_EXISTS` error. | | | `DELETE` | | Deletes a function with the given name from the specified project. If the given function is used by some trigger, the trigger will be updated to remove this function. | | | `UPDATE` | | Updates existing function. | -| | `EXEC` | | Returns a list of functions that belong to the requested project. | | | `EXEC` | | Aborts generation upgrade process for a function with the given name from the specified project. Deletes all 2nd Gen copy related configuration and resources which were created during the upgrade process. | | | `EXEC` | | Finalizes the upgrade after which function upgrade can not be rolled back. This is the last step of the multi step process to upgrade 1st Gen functions to 2nd Gen. Deletes all original 1st Gen related configuration and resources. | | | `EXEC` | | Returns a signed URL for downloading deployed function source code. The URL is only valid for a limited period and should be used within 30 minutes of generation. For more information about the signed URL usage see: https://cloud.google.com/storage/docs/access-control/signed-urls | @@ -61,3 +63,164 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `EXEC` | | Changes the traffic target of a function from the original 1st Gen function to the 2nd Gen copy. This is the second step of the multi step process to upgrade 1st Gen functions to 2nd Gen. After this operation, all new traffic will be served by 2nd Gen copy. | | | `EXEC` | | Reverts the traffic target of a function from the 2nd Gen copy to the original 1st Gen function. After this operation, all new traffic would be served by the 1st Gen. | | | `EXEC` | | Creates a 2nd Gen copy of the function configuration based on the 1st Gen function with the given name. This is the first step of the multi step process to upgrade 1st Gen functions to 2nd Gen. Only 2nd Gen configuration is setup as part of this request and traffic continues to be served by 1st Gen. | + +## `SELECT` examples + +Returns a list of functions that belong to the requested project. + +```sql +SELECT +name, +description, +buildConfig, +createTime, +environment, +eventTrigger, +kmsKeyName, +labels, +satisfiesPzs, +serviceConfig, +state, +stateMessages, +updateTime, +upgradeInfo, +url +FROM google.cloudfunctions.functions +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new functions resource. + + + + +```sql +/*+ create */ +INSERT INTO google.cloudfunctions.functions ( +locationsId, +projectsId, +name, +description, +buildConfig, +serviceConfig, +eventTrigger, +state, +updateTime, +labels, +stateMessages, +environment, +upgradeInfo, +url, +kmsKeyName, +satisfiesPzs, +createTime +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ description }}', +'{{ buildConfig }}', +'{{ serviceConfig }}', +'{{ eventTrigger }}', +'{{ state }}', +'{{ updateTime }}', +'{{ labels }}', +'{{ stateMessages }}', +'{{ environment }}', +'{{ upgradeInfo }}', +'{{ url }}', +'{{ kmsKeyName }}', +true|false, +'{{ createTime }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: buildConfig + value: '{{ buildConfig }}' + - name: serviceConfig + value: '{{ serviceConfig }}' + - name: eventTrigger + value: '{{ eventTrigger }}' + - name: state + value: '{{ state }}' + - name: updateTime + value: '{{ updateTime }}' + - name: labels + value: '{{ labels }}' + - name: stateMessages + value: '{{ stateMessages }}' + - name: environment + value: '{{ environment }}' + - name: upgradeInfo + value: '{{ upgradeInfo }}' + - name: url + value: '{{ url }}' + - name: kmsKeyName + value: '{{ kmsKeyName }}' + - name: satisfiesPzs + value: '{{ satisfiesPzs }}' + - name: createTime + value: '{{ createTime }}' + +``` + + + +## `UPDATE` example + +Updates a function only if the necessary resources are available. + +```sql +UPDATE google.cloudfunctions.functions +SET +name = '{{ name }}', +description = '{{ description }}', +buildConfig = '{{ buildConfig }}', +serviceConfig = '{{ serviceConfig }}', +eventTrigger = '{{ eventTrigger }}', +state = '{{ state }}', +updateTime = '{{ updateTime }}', +labels = '{{ labels }}', +stateMessages = '{{ stateMessages }}', +environment = '{{ environment }}', +upgradeInfo = '{{ upgradeInfo }}', +url = '{{ url }}', +kmsKeyName = '{{ kmsKeyName }}', +satisfiesPzs = true|false, +createTime = '{{ createTime }}' +WHERE +functionsId = '{{ functionsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified function resource. + +```sql +DELETE FROM google.cloudfunctions.functions +WHERE functionsId = '{{ functionsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudfunctions/functions_iam_policies/index.md b/docs/google-docs/providers/google/cloudfunctions/functions_iam_policies/index.md index 2d8cf4cf33..a870cb22fd 100644 --- a/docs/google-docs/providers/google/cloudfunctions/functions_iam_policies/index.md +++ b/docs/google-docs/providers/google/cloudfunctions/functions_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: functions_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - functions_iam_policies - cloudfunctions - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an functions_iam_policy resource or lists functions_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.cloudfunctions.functions_iam_policies +WHERE functionsId = '{{ functionsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudfunctions/index.md b/docs/google-docs/providers/google/cloudfunctions/index.md index 1349d9c026..1fff943154 100644 --- a/docs/google-docs/providers/google/cloudfunctions/index.md +++ b/docs/google-docs/providers/google/cloudfunctions/index.md @@ -9,43 +9,32 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Manages lightweight user-provided functions executed in response to events. - +The cloudfunctions service documentation. + :::info Service Summary
total resources: 5
-total selectable resources: 5
-total methods: 23
::: -## Overview -
- - - - - -
Namegoogle.cloudfunctions
TypeService
TitleCloud Functions API
DescriptionManages lightweight user-provided functions executed in response to events.
Idcloudfunctions:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/cloudfunctions/locations/index.md b/docs/google-docs/providers/google/cloudfunctions/locations/index.md index 8c174e86a1..bc736ef126 100644 --- a/docs/google-docs/providers/google/cloudfunctions/locations/index.md +++ b/docs/google-docs/providers/google/cloudfunctions/locations/index.md @@ -1,3 +1,4 @@ + --- title: locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - locations - cloudfunctions - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an location resource or lists locations in a region ## Overview @@ -32,11 +34,26 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` | | | `string` | The friendly name for this location, typically a nearby city name. For example, "Tokyo". | -| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | +| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | | | `string` | The canonical id for this location. For example: `"us-east1"`. | | | `object` | Service-specific metadata. For example the available capacity at the given location. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists information about the supported locations for this service. | + +## `SELECT` examples + +Lists information about the supported locations for this service. + +```sql +SELECT +name, +displayName, +labels, +locationId, +metadata +FROM google.cloudfunctions.locations +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudfunctions/operations/index.md b/docs/google-docs/providers/google/cloudfunctions/operations/index.md index b0bdf82de6..b903fe5249 100644 --- a/docs/google-docs/providers/google/cloudfunctions/operations/index.md +++ b/docs/google-docs/providers/google/cloudfunctions/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - cloudfunctions - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview
@@ -30,14 +32,30 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.cloudfunctions.operations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudfunctions/runtimes/index.md b/docs/google-docs/providers/google/cloudfunctions/runtimes/index.md index ef86bc95a6..1df647318b 100644 --- a/docs/google-docs/providers/google/cloudfunctions/runtimes/index.md +++ b/docs/google-docs/providers/google/cloudfunctions/runtimes/index.md @@ -1,3 +1,4 @@ + --- title: runtimes hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - runtimes - cloudfunctions - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an runtime resource or lists runtimes in a region ## Overview
@@ -28,7 +30,23 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `array` | The runtimes that match the request. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Returns a list of runtimes that are supported for the requested project. | + +## `SELECT` examples + +Returns a list of runtimes that are supported for the requested project. + +```sql +SELECT +runtimes +FROM google.cloudfunctions.runtimes +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudidentity/client_states/index.md b/docs/google-docs/providers/google/cloudidentity/client_states/index.md index 1b319f6fdc..f88e786aee 100644 --- a/docs/google-docs/providers/google/cloudidentity/client_states/index.md +++ b/docs/google-docs/providers/google/cloudidentity/client_states/index.md @@ -1,3 +1,4 @@ + --- title: client_states hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - client_states - cloudidentity - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an client_state resource or lists client_states in a region ## Overview @@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the ClientState in format: `devices/{device}/deviceUsers/{device_user}/clientState/{partner}`, where partner corresponds to the partner storing the data. For partners belonging to the "BeyondCorp Alliance", this is the partner ID specified to you by Google. For all other callers, this is a string of the form: `{customer}-suffix`, where `customer` is your customer ID. The *suffix* is any string the caller specifies. This string will be displayed verbatim in the administration console. This suffix is used in setting up Custom Access Levels in Context-Aware Access. Your organization's customer ID can be obtained from the URL: `GET https://www.googleapis.com/admin/directory/v1/customers/my_customer` The `id` field in the response contains the customer ID starting with the letter 'C'. The customer ID to be used in this API is the string after the letter 'C' (not including 'C') | +| | `string` | Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the ClientState in format: `devices/{device}/deviceUsers/{device_user}/clientState/{partner}`, where partner corresponds to the partner storing the data. For partners belonging to the "BeyondCorp Alliance", this is the partner ID specified to you by Google. For all other callers, this is a string of the form: `{customer}-suffix`, where `customer` is your customer ID. The *suffix* is any string the caller specifies. This string will be displayed verbatim in the administration console. This suffix is used in setting up Custom Access Levels in Context-Aware Access. Your organization's customer ID can be obtained from the URL: `GET https://www.googleapis.com/admin/directory/v1/customers/my_customer` The `id` field in the response contains the customer ID starting with the letter 'C'. The customer ID to be used in this API is the string after the letter 'C' (not including 'C') | | | `array` | The caller can specify asset tags for this resource | | | `string` | The compliance state of the resource as specified by the API client. | | | `string` | Output only. The time the client state data was created. | @@ -42,10 +44,58 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The management state of the resource as specified by the API client. | | | `string` | Output only. The owner of the ClientState | | | `string` | A descriptive cause of the health score. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the client state for the device user | | | `SELECT` | | Lists the client states for the given search query. | | | `UPDATE` | | Updates the client state for the device user **Note**: This method is available only to customers who have one of the following SKUs: Enterprise Standard, Enterprise Plus, Enterprise for Education, and Cloud Identity Premium | -| | `EXEC` | | Lists the client states for the given search query. | + +## `SELECT` examples + +Lists the client states for the given search query. + +```sql +SELECT +name, +assetTags, +complianceState, +createTime, +customId, +etag, +healthScore, +keyValuePairs, +lastUpdateTime, +managed, +ownerType, +scoreReason +FROM google.cloudidentity.client_states +WHERE deviceUsersId = '{{ deviceUsersId }}' +AND devicesId = '{{ devicesId }}'; +``` + +## `UPDATE` example + +Updates a client_state only if the necessary resources are available. + +```sql +UPDATE google.cloudidentity.client_states +SET +name = '{{ name }}', +createTime = '{{ createTime }}', +lastUpdateTime = '{{ lastUpdateTime }}', +etag = '{{ etag }}', +customId = '{{ customId }}', +assetTags = '{{ assetTags }}', +healthScore = '{{ healthScore }}', +scoreReason = '{{ scoreReason }}', +managed = '{{ managed }}', +complianceState = '{{ complianceState }}', +keyValuePairs = '{{ keyValuePairs }}', +ownerType = '{{ ownerType }}' +WHERE +clientStatesId = '{{ clientStatesId }}' +AND deviceUsersId = '{{ deviceUsersId }}' +AND devicesId = '{{ devicesId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudidentity/device_users/index.md b/docs/google-docs/providers/google/cloudidentity/device_users/index.md index 74883e8015..0217f1eb63 100644 --- a/docs/google-docs/providers/google/cloudidentity/device_users/index.md +++ b/docs/google-docs/providers/google/cloudidentity/device_users/index.md @@ -1,3 +1,4 @@ + --- title: device_users hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - device_users - cloudidentity - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an device_user resource or lists device_users in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the DeviceUser in format: `devices/{device}/deviceUsers/{device_user}`, where `device_user` uniquely identifies a user's use of a device. | +| | `string` | Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the DeviceUser in format: `devices/{device}/deviceUsers/{device_user}`, where `device_user` uniquely identifies a user's use of a device. | | | `string` | Compromised State of the DeviceUser object | | | `string` | When the user first signed in to the device | | | `string` | Output only. Most recent time when user registered with this service. | @@ -40,15 +42,45 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Password state of the DeviceUser object | | | `string` | Output only. User agent on the device for this specific user | | | `string` | Email address of the user registered on the device. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Retrieves the specified DeviceUser | | | `SELECT` | | Lists/Searches DeviceUsers. | | | `DELETE` | | Deletes the specified DeviceUser. This also revokes the user's access to device data. | -| | `EXEC` | | Lists/Searches DeviceUsers. | | | `EXEC` | | Approves device to access user data. | | | `EXEC` | | Blocks device from accessing user data | | | `EXEC` | | Cancels an unfinished user account wipe. This operation can be used to cancel device wipe in the gap between the wipe operation returning success and the device being wiped. | | | `EXEC` | | Looks up resource names of the DeviceUsers associated with the caller's credentials, as well as the properties provided in the request. This method must be called with end-user credentials with the scope: https://www.googleapis.com/auth/cloud-identity.devices.lookup If multiple properties are provided, only DeviceUsers having all of these properties are considered as matches - i.e. the query behaves like an AND. Different platforms require different amounts of information from the caller to ensure that the DeviceUser is uniquely identified. - iOS: No properties need to be passed, the caller's credentials are sufficient to identify the corresponding DeviceUser. - Android: Specifying the 'android_id' field is required. - Desktop: Specifying the 'raw_resource_id' field is required. | | | `EXEC` | | Wipes the user's account on a device. Other data on the device that is not associated with the user's work account is not affected. For example, if a Gmail app is installed on a device that is used for personal and work purposes, and the user is logged in to the Gmail app with their personal account as well as their work account, wiping the "deviceUser" by their work administrator will not affect their personal account within Gmail or other apps such as Photos. | + +## `SELECT` examples + +Lists/Searches DeviceUsers. + +```sql +SELECT +name, +compromisedState, +createTime, +firstSyncTime, +languageCode, +lastSyncTime, +managementState, +passwordState, +userAgent, +userEmail +FROM google.cloudidentity.device_users +WHERE devicesId = '{{ devicesId }}'; +``` + +## `DELETE` example + +Deletes the specified device_user resource. + +```sql +DELETE FROM google.cloudidentity.device_users +WHERE deviceUsersId = '{{ deviceUsersId }}' +AND devicesId = '{{ devicesId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudidentity/devices/index.md b/docs/google-docs/providers/google/cloudidentity/devices/index.md index 0fa20c94c3..bd22d723c1 100644 --- a/docs/google-docs/providers/google/cloudidentity/devices/index.md +++ b/docs/google-docs/providers/google/cloudidentity/devices/index.md @@ -1,3 +1,4 @@ + --- title: devices hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - devices - cloudidentity - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an device resource or lists devices in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device}`, where device is the unique id assigned to the Device. | +| | `string` | Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device}`, where device is the unique id assigned to the Device. | | | `object` | Resource representing the Android specific attributes of a Device. | | | `string` | Asset tag of the device. | | | `string` | Output only. Baseband version of the device. | @@ -55,20 +57,233 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Model name of device. Example: Pixel 3. | | | `string` | Output only. Mobile or network operator of device, if available. | | | `string` | Output only. OS version of the device. Example: Android 8.1.0. | -| | `array` | Output only. Domain name for Google accounts on device. Type for other accounts on device. On Android, will only be populated if \|ownership_privilege\| is \|PROFILE_OWNER\| or \|DEVICE_OWNER\|. Does not include the account signed in to the device policy app if that account's domain has only one account. Examples: "com.example", "xyz.com". | +| | `array` | Output only. Domain name for Google accounts on device. Type for other accounts on device. On Android, will only be populated if |ownership_privilege| is |PROFILE_OWNER| or |DEVICE_OWNER|. Does not include the account signed in to the device policy app if that account's domain has only one account. Examples: "com.example", "xyz.com". | | | `string` | Output only. Whether the device is owned by the company or an individual | | | `string` | Output only. OS release version. Example: 6.0. | | | `string` | Output only. OS security patch update time on device. | | | `string` | Serial Number of device. Example: HT82V1A01076. | | | `string` | Output only. Unified device id of the device. | | | `array` | WiFi MAC addresses of device. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Retrieves the specified device. | -| | `SELECT` | | Lists/Searches devices. | -| | `INSERT` | | Creates a device. Only company-owned device may be created. **Note**: This method is available only to customers who have one of the following SKUs: Enterprise Standard, Enterprise Plus, Enterprise for Education, and Cloud Identity Premium | +| | `SELECT` | | Lists/Searches devices. | +| | `INSERT` | | Creates a device. Only company-owned device may be created. **Note**: This method is available only to customers who have one of the following SKUs: Enterprise Standard, Enterprise Plus, Enterprise for Education, and Cloud Identity Premium | | | `DELETE` | | Deletes the specified device. | -| | `EXEC` | | Lists/Searches devices. | | | `EXEC` | | Cancels an unfinished device wipe. This operation can be used to cancel device wipe in the gap between the wipe operation returning success and the device being wiped. This operation is possible when the device is in a "pending wipe" state. The device enters the "pending wipe" state when a wipe device command is issued, but has not yet been sent to the device. The cancel wipe will fail if the wipe command has already been issued to the device. | | | `EXEC` | | Wipes all data on the specified device. | + +## `SELECT` examples + +Lists/Searches devices. + +```sql +SELECT +name, +androidSpecificAttributes, +assetTag, +basebandVersion, +bootloaderVersion, +brand, +buildNumber, +compromisedState, +createTime, +deviceId, +deviceType, +enabledDeveloperOptions, +enabledUsbDebugging, +encryptionState, +endpointVerificationSpecificAttributes, +hostname, +imei, +kernelVersion, +lastSyncTime, +managementState, +manufacturer, +meid, +model, +networkOperator, +osVersion, +otherAccounts, +ownerType, +releaseVersion, +securityPatchTime, +serialNumber, +unifiedDeviceId, +wifiMacAddresses +FROM google.cloudidentity.devices +WHERE = '{{ }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new devices resource. + + + + +```sql +/*+ create */ +INSERT INTO google.cloudidentity.devices ( +, +name, +createTime, +lastSyncTime, +ownerType, +model, +osVersion, +deviceType, +serialNumber, +assetTag, +imei, +meid, +wifiMacAddresses, +networkOperator, +manufacturer, +releaseVersion, +brand, +buildNumber, +kernelVersion, +basebandVersion, +enabledDeveloperOptions, +otherAccounts, +enabledUsbDebugging, +securityPatchTime, +bootloaderVersion, +encryptionState, +androidSpecificAttributes, +managementState, +compromisedState, +deviceId, +unifiedDeviceId, +endpointVerificationSpecificAttributes, +hostname +) +SELECT +'{{ }}', +'{{ name }}', +'{{ createTime }}', +'{{ lastSyncTime }}', +'{{ ownerType }}', +'{{ model }}', +'{{ osVersion }}', +'{{ deviceType }}', +'{{ serialNumber }}', +'{{ assetTag }}', +'{{ imei }}', +'{{ meid }}', +'{{ wifiMacAddresses }}', +'{{ networkOperator }}', +'{{ manufacturer }}', +'{{ releaseVersion }}', +'{{ brand }}', +'{{ buildNumber }}', +'{{ kernelVersion }}', +'{{ basebandVersion }}', +true|false, +'{{ otherAccounts }}', +true|false, +'{{ securityPatchTime }}', +'{{ bootloaderVersion }}', +'{{ encryptionState }}', +'{{ androidSpecificAttributes }}', +'{{ managementState }}', +'{{ compromisedState }}', +'{{ deviceId }}', +'{{ unifiedDeviceId }}', +'{{ endpointVerificationSpecificAttributes }}', +'{{ hostname }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: lastSyncTime + value: '{{ lastSyncTime }}' + - name: ownerType + value: '{{ ownerType }}' + - name: model + value: '{{ model }}' + - name: osVersion + value: '{{ osVersion }}' + - name: deviceType + value: '{{ deviceType }}' + - name: serialNumber + value: '{{ serialNumber }}' + - name: assetTag + value: '{{ assetTag }}' + - name: imei + value: '{{ imei }}' + - name: meid + value: '{{ meid }}' + - name: wifiMacAddresses + value: '{{ wifiMacAddresses }}' + - name: networkOperator + value: '{{ networkOperator }}' + - name: manufacturer + value: '{{ manufacturer }}' + - name: releaseVersion + value: '{{ releaseVersion }}' + - name: brand + value: '{{ brand }}' + - name: buildNumber + value: '{{ buildNumber }}' + - name: kernelVersion + value: '{{ kernelVersion }}' + - name: basebandVersion + value: '{{ basebandVersion }}' + - name: enabledDeveloperOptions + value: '{{ enabledDeveloperOptions }}' + - name: otherAccounts + value: '{{ otherAccounts }}' + - name: enabledUsbDebugging + value: '{{ enabledUsbDebugging }}' + - name: securityPatchTime + value: '{{ securityPatchTime }}' + - name: bootloaderVersion + value: '{{ bootloaderVersion }}' + - name: encryptionState + value: '{{ encryptionState }}' + - name: androidSpecificAttributes + value: '{{ androidSpecificAttributes }}' + - name: managementState + value: '{{ managementState }}' + - name: compromisedState + value: '{{ compromisedState }}' + - name: deviceId + value: '{{ deviceId }}' + - name: unifiedDeviceId + value: '{{ unifiedDeviceId }}' + - name: endpointVerificationSpecificAttributes + value: '{{ endpointVerificationSpecificAttributes }}' + - name: hostname + value: '{{ hostname }}' + +``` + + + +## `DELETE` example + +Deletes the specified device resource. + +```sql +DELETE FROM google.cloudidentity.devices +WHERE devicesId = '{{ devicesId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudidentity/groups/index.md b/docs/google-docs/providers/google/cloudidentity/groups/index.md index a5c39a5d8e..3095f3018e 100644 --- a/docs/google-docs/providers/google/cloudidentity/groups/index.md +++ b/docs/google-docs/providers/google/cloudidentity/groups/index.md @@ -1,3 +1,4 @@ + --- title: groups hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - groups - cloudidentity - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an group resource or lists groups in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. The [resource name](https://cloud.google.com/apis/design/resource_names) of the `Group`. Shall be of the form `groups/{group}`. | +| | `string` | Output only. The [resource name](https://cloud.google.com/apis/design/resource_names) of the `Group`. Shall be of the form `groups/{group}`. | | | `string` | An extended description to help users determine the purpose of a `Group`. Must not be longer than 4,096 characters. | | | `array` | Output only. Additional group keys associated with the Group. | | | `string` | Output only. The time when the `Group` was created. | @@ -38,16 +40,140 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Dynamic group metadata like queries and status. | | | `object` | A unique identifier for an entity in the Cloud Identity Groups API. An entity can represent either a group with an optional `namespace` or a user without a `namespace`. The combination of `id` and `namespace` must be unique; however, the same `id` can be used with different `namespace`s. | | | `object` | Required. One or more label entries that apply to the Group. Currently supported labels contain a key with an empty value. Google Groups are the default type of group and have a label with a key of `cloudidentity.googleapis.com/groups.discussion_forum` and an empty value. Existing Google Groups can have an additional label with a key of `cloudidentity.googleapis.com/groups.security` and an empty value added to them. **This is an immutable change and the security label cannot be removed once added.** Dynamic groups have a label with a key of `cloudidentity.googleapis.com/groups.dynamic`. Identity-mapped groups for Cloud Search have a label with a key of `system/groups/external` and an empty value. | -| | `string` | Required. Immutable. The resource name of the entity under which this `Group` resides in the Cloud Identity resource hierarchy. Must be of the form `identitysources/{identity_source}` for external [identity-mapped groups](https://support.google.com/a/answer/9039510) or `customers/{customer_id}` for Google Groups. The `customer_id` must begin with "C" (for example, 'C046psxkn'). [Find your customer ID.] (https://support.google.com/cloudidentity/answer/10070793) | +| | `string` | Required. Immutable. The resource name of the entity under which this `Group` resides in the Cloud Identity resource hierarchy. Must be of the form `identitysources/{identity_source}` for external [identity-mapped groups](https://support.google.com/a/answer/9039510) or `customers/{customer_id}` for Google Groups. The `customer_id` must begin with "C" (for example, 'C046psxkn'). [Find your customer ID.] (https://support.google.com/cloudidentity/answer/10070793) | | | `string` | Output only. The time when the `Group` was last updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Retrieves a `Group`. | -| | `SELECT` | | Lists the `Group` resources under a customer or namespace. | -| | `INSERT` | | Creates a Group. | +| | `SELECT` | | Lists the `Group` resources under a customer or namespace. | +| | `INSERT` | | Creates a Group. | | | `DELETE` | | Deletes a `Group`. | | | `UPDATE` | | Updates a `Group`. | -| | `EXEC` | | Lists the `Group` resources under a customer or namespace. | -| | `EXEC` | | Looks up the [resource name](https://cloud.google.com/apis/design/resource_names) of a `Group` by its `EntityKey`. | -| | `EXEC` | | Searches for `Group` resources matching a specified query. | +| | `EXEC` | | Looks up the [resource name](https://cloud.google.com/apis/design/resource_names) of a `Group` by its `EntityKey`. | +| | `EXEC` | | Searches for `Group` resources matching a specified query. | + +## `SELECT` examples + +Lists the `Group` resources under a customer or namespace. + +```sql +SELECT +name, +description, +additionalGroupKeys, +createTime, +displayName, +dynamicGroupMetadata, +groupKey, +labels, +parent, +updateTime +FROM google.cloudidentity.groups +WHERE = '{{ }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new groups resource. + + + + +```sql +/*+ create */ +INSERT INTO google.cloudidentity.groups ( +, +name, +groupKey, +additionalGroupKeys, +parent, +displayName, +description, +createTime, +updateTime, +labels, +dynamicGroupMetadata +) +SELECT +'{{ }}', +'{{ name }}', +'{{ groupKey }}', +'{{ additionalGroupKeys }}', +'{{ parent }}', +'{{ displayName }}', +'{{ description }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ labels }}', +'{{ dynamicGroupMetadata }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: groupKey + value: '{{ groupKey }}' + - name: additionalGroupKeys + value: '{{ additionalGroupKeys }}' + - name: parent + value: '{{ parent }}' + - name: displayName + value: '{{ displayName }}' + - name: description + value: '{{ description }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: labels + value: '{{ labels }}' + - name: dynamicGroupMetadata + value: '{{ dynamicGroupMetadata }}' + +``` + + + +## `UPDATE` example + +Updates a group only if the necessary resources are available. + +```sql +UPDATE google.cloudidentity.groups +SET +name = '{{ name }}', +groupKey = '{{ groupKey }}', +additionalGroupKeys = '{{ additionalGroupKeys }}', +parent = '{{ parent }}', +displayName = '{{ displayName }}', +description = '{{ description }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +labels = '{{ labels }}', +dynamicGroupMetadata = '{{ dynamicGroupMetadata }}' +WHERE +groupsId = '{{ groupsId }}'; +``` + +## `DELETE` example + +Deletes the specified group resource. + +```sql +DELETE FROM google.cloudidentity.groups +WHERE groupsId = '{{ groupsId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudidentity/groups_security_settings/index.md b/docs/google-docs/providers/google/cloudidentity/groups_security_settings/index.md index cba5c75e7f..94d2895d71 100644 --- a/docs/google-docs/providers/google/cloudidentity/groups_security_settings/index.md +++ b/docs/google-docs/providers/google/cloudidentity/groups_security_settings/index.md @@ -1,3 +1,4 @@ + --- title: groups_security_settings hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - groups_security_settings - cloudidentity - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an groups_security_setting resource or lists groups_security_settings in a region ## Overview
@@ -30,10 +32,36 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. The resource name of the security settings. Shall be of the form `groups/{group_id}/securitySettings`. | +| | `string` | Output only. The resource name of the security settings. Shall be of the form `groups/{group_id}/securitySettings`. | | | `object` | The definition of MemberRestriction | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Get Security Settings | -| | `EXEC` | | Update Security Settings | +| | `UPDATE` | | Update Security Settings | + +## `SELECT` examples + +Get Security Settings + +```sql +SELECT +name, +memberRestriction +FROM google.cloudidentity.groups_security_settings +WHERE groupsId = '{{ groupsId }}'; +``` + +## `UPDATE` example + +Updates a groups_security_setting only if the necessary resources are available. + +```sql +UPDATE google.cloudidentity.groups_security_settings +SET +name = '{{ name }}', +memberRestriction = '{{ memberRestriction }}' +WHERE +groupsId = '{{ groupsId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudidentity/idp_credentials/index.md b/docs/google-docs/providers/google/cloudidentity/idp_credentials/index.md index 79fe1b07d1..f7219d0752 100644 --- a/docs/google-docs/providers/google/cloudidentity/idp_credentials/index.md +++ b/docs/google-docs/providers/google/cloudidentity/idp_credentials/index.md @@ -1,3 +1,4 @@ + --- title: idp_credentials hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - idp_credentials - cloudidentity - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an idp_credential resource or lists idp_credentials in a region ## Overview
@@ -34,11 +36,73 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Information of a DSA public key. | | | `object` | Information of a RSA public key. | | | `string` | Output only. Time when the `IdpCredential` was last updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets an IdpCredential. | | | `SELECT` | | Returns a list of IdpCredentials in an InboundSamlSsoProfile. | +| | `INSERT` | | Adds an IdpCredential. Up to 2 credentials are allowed. When the target customer has enabled [Multi-party approval for sensitive actions](https://support.google.com/a/answer/13790448), the `Operation` in the response will have `"done": false`, it will not have a response, and the metadata will have `"state": "awaiting-multi-party-approval"`. | | | `DELETE` | | Deletes an IdpCredential. | -| | `EXEC` | | Returns a list of IdpCredentials in an InboundSamlSsoProfile. | -| | `EXEC` | | Adds an IdpCredential. Up to 2 credentials are allowed. | + +## `SELECT` examples + +Returns a list of IdpCredentials in an InboundSamlSsoProfile. + +```sql +SELECT +name, +dsaKeyInfo, +rsaKeyInfo, +updateTime +FROM google.cloudidentity.idp_credentials +WHERE inboundSamlSsoProfilesId = '{{ inboundSamlSsoProfilesId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new idp_credentials resource. + + + + +```sql +/*+ create */ +INSERT INTO google.cloudidentity.idp_credentials ( +inboundSamlSsoProfilesId, +pemData +) +SELECT +'{{ inboundSamlSsoProfilesId }}', +'{{ pemData }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: pemData + value: '{{ pemData }}' + +``` + + + +## `DELETE` example + +Deletes the specified idp_credential resource. + +```sql +DELETE FROM google.cloudidentity.idp_credentials +WHERE idpCredentialsId = '{{ idpCredentialsId }}' +AND inboundSamlSsoProfilesId = '{{ inboundSamlSsoProfilesId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudidentity/inbound_saml_sso_profiles/index.md b/docs/google-docs/providers/google/cloudidentity/inbound_saml_sso_profiles/index.md index f60b91273f..37a4639129 100644 --- a/docs/google-docs/providers/google/cloudidentity/inbound_saml_sso_profiles/index.md +++ b/docs/google-docs/providers/google/cloudidentity/inbound_saml_sso_profiles/index.md @@ -1,3 +1,4 @@ + --- title: inbound_saml_sso_profiles hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - inbound_saml_sso_profiles - cloudidentity - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an inbound_saml_sso_profile resource or lists inbound_saml_sso_profiles in a region ## Overview
@@ -35,12 +37,106 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Human-readable name of the SAML SSO profile. | | | `object` | SAML IDP (identity provider) configuration. | | | `object` | SAML SP (service provider) configuration. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets an InboundSamlSsoProfile. | -| | `SELECT` | | Lists InboundSamlSsoProfiles for a customer. | -| | `INSERT` | | Creates an InboundSamlSsoProfile for a customer. | +| | `SELECT` | | Lists InboundSamlSsoProfiles for a customer. | +| | `INSERT` | | Creates an InboundSamlSsoProfile for a customer. When the target customer has enabled [Multi-party approval for sensitive actions](https://support.google.com/a/answer/13790448), the `Operation` in the response will have `"done": false`, it will not have a response, and the metadata will have `"state": "awaiting-multi-party-approval"`. | | | `DELETE` | | Deletes an InboundSamlSsoProfile. | -| | `UPDATE` | | Updates an InboundSamlSsoProfile. | -| | `EXEC` | | Lists InboundSamlSsoProfiles for a customer. | +| | `UPDATE` | | Updates an InboundSamlSsoProfile. When the target customer has enabled [Multi-party approval for sensitive actions](https://support.google.com/a/answer/13790448), the `Operation` in the response will have `"done": false`, it will not have a response, and the metadata will have `"state": "awaiting-multi-party-approval"`. | + +## `SELECT` examples + +Lists InboundSamlSsoProfiles for a customer. + +```sql +SELECT +name, +customer, +displayName, +idpConfig, +spConfig +FROM google.cloudidentity.inbound_saml_sso_profiles +WHERE = '{{ }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new inbound_saml_sso_profiles resource. + + + + +```sql +/*+ create */ +INSERT INTO google.cloudidentity.inbound_saml_sso_profiles ( +, +name, +customer, +displayName, +idpConfig, +spConfig +) +SELECT +'{{ }}', +'{{ name }}', +'{{ customer }}', +'{{ displayName }}', +'{{ idpConfig }}', +'{{ spConfig }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: customer + value: '{{ customer }}' + - name: displayName + value: '{{ displayName }}' + - name: idpConfig + value: '{{ idpConfig }}' + - name: spConfig + value: '{{ spConfig }}' + +``` + + + +## `UPDATE` example + +Updates a inbound_saml_sso_profile only if the necessary resources are available. + +```sql +UPDATE google.cloudidentity.inbound_saml_sso_profiles +SET +name = '{{ name }}', +customer = '{{ customer }}', +displayName = '{{ displayName }}', +idpConfig = '{{ idpConfig }}', +spConfig = '{{ spConfig }}' +WHERE +inboundSamlSsoProfilesId = '{{ inboundSamlSsoProfilesId }}'; +``` + +## `DELETE` example + +Deletes the specified inbound_saml_sso_profile resource. + +```sql +DELETE FROM google.cloudidentity.inbound_saml_sso_profiles +WHERE inboundSamlSsoProfilesId = '{{ inboundSamlSsoProfilesId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudidentity/inbound_sso_assignments/index.md b/docs/google-docs/providers/google/cloudidentity/inbound_sso_assignments/index.md index dbfaf4ee78..9e42ccebe9 100644 --- a/docs/google-docs/providers/google/cloudidentity/inbound_sso_assignments/index.md +++ b/docs/google-docs/providers/google/cloudidentity/inbound_sso_assignments/index.md @@ -1,3 +1,4 @@ + --- title: inbound_sso_assignments hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - inbound_sso_assignments - cloudidentity - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an inbound_sso_assignment resource or lists inbound_sso_assignments in a region ## Overview
@@ -36,14 +38,126 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Details that are applicable when `sso_mode` == `SAML_SSO`. | | | `object` | Controls sign-in behavior. | | | `string` | Inbound SSO behavior. | -| | `string` | Immutable. Must be of the form `groups/{group}`. | -| | `string` | Immutable. Must be of the form `orgUnits/{org_unit}`. | +| | `string` | Immutable. Must be of the form `groups/{group}`. | +| | `string` | Immutable. Must be of the form `orgUnits/{org_unit}`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets an InboundSsoAssignment. | -| | `SELECT` | | Lists the InboundSsoAssignments for a `Customer`. | -| | `INSERT` | | Creates an InboundSsoAssignment for users and devices in a `Customer` under a given `Group` or `OrgUnit`. | +| | `SELECT` | | Lists the InboundSsoAssignments for a `Customer`. | +| | `INSERT` | | Creates an InboundSsoAssignment for users and devices in a `Customer` under a given `Group` or `OrgUnit`. | | | `DELETE` | | Deletes an InboundSsoAssignment. To disable SSO, Create (or Update) an assignment that has `sso_mode` == `SSO_OFF`. | -| | `UPDATE` | | Updates an InboundSsoAssignment. The body of this request is the `inbound_sso_assignment` field and the `update_mask` is relative to that. For example: a PATCH to `/v1/inboundSsoAssignments/0abcdefg1234567&update_mask=rank` with a body of `{ "rank": 1 }` moves that (presumably group-targeted) SSO assignment to the highest priority and shifts any other group-targeted assignments down in priority. | -| | `EXEC` | | Lists the InboundSsoAssignments for a `Customer`. | +| | `UPDATE` | | Updates an InboundSsoAssignment. The body of this request is the `inbound_sso_assignment` field and the `update_mask` is relative to that. For example: a PATCH to `/v1/inboundSsoAssignments/0abcdefg1234567&update_mask=rank` with a body of `{ "rank": 1 }` moves that (presumably group-targeted) SSO assignment to the highest priority and shifts any other group-targeted assignments down in priority. | + +## `SELECT` examples + +Lists the InboundSsoAssignments for a `Customer`. + +```sql +SELECT +name, +customer, +rank, +samlSsoInfo, +signInBehavior, +ssoMode, +targetGroup, +targetOrgUnit +FROM google.cloudidentity.inbound_sso_assignments +WHERE = '{{ }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new inbound_sso_assignments resource. + + + + +```sql +/*+ create */ +INSERT INTO google.cloudidentity.inbound_sso_assignments ( +, +targetGroup, +targetOrgUnit, +name, +customer, +rank, +ssoMode, +samlSsoInfo, +signInBehavior +) +SELECT +'{{ }}', +'{{ targetGroup }}', +'{{ targetOrgUnit }}', +'{{ name }}', +'{{ customer }}', +'{{ rank }}', +'{{ ssoMode }}', +'{{ samlSsoInfo }}', +'{{ signInBehavior }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: targetGroup + value: '{{ targetGroup }}' + - name: targetOrgUnit + value: '{{ targetOrgUnit }}' + - name: name + value: '{{ name }}' + - name: customer + value: '{{ customer }}' + - name: rank + value: '{{ rank }}' + - name: ssoMode + value: '{{ ssoMode }}' + - name: samlSsoInfo + value: '{{ samlSsoInfo }}' + - name: signInBehavior + value: '{{ signInBehavior }}' + +``` + + + +## `UPDATE` example + +Updates a inbound_sso_assignment only if the necessary resources are available. + +```sql +UPDATE google.cloudidentity.inbound_sso_assignments +SET +targetGroup = '{{ targetGroup }}', +targetOrgUnit = '{{ targetOrgUnit }}', +name = '{{ name }}', +customer = '{{ customer }}', +rank = '{{ rank }}', +ssoMode = '{{ ssoMode }}', +samlSsoInfo = '{{ samlSsoInfo }}', +signInBehavior = '{{ signInBehavior }}' +WHERE +inboundSsoAssignmentsId = '{{ inboundSsoAssignmentsId }}'; +``` + +## `DELETE` example + +Deletes the specified inbound_sso_assignment resource. + +```sql +DELETE FROM google.cloudidentity.inbound_sso_assignments +WHERE inboundSsoAssignmentsId = '{{ inboundSsoAssignmentsId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudidentity/index.md b/docs/google-docs/providers/google/cloudidentity/index.md index c90ed35aba..01a8115309 100644 --- a/docs/google-docs/providers/google/cloudidentity/index.md +++ b/docs/google-docs/providers/google/cloudidentity/index.md @@ -9,34 +9,23 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -API for provisioning and managing identity resources. - +The cloudidentity service documentation. + :::info Service Summary
total resources: 11
-total selectable resources: 11
-total methods: 65
::: -## Overview -
- - - - - -
Namegoogle.cloudidentity
TypeService
TitleCloud Identity API
DescriptionAPI for provisioning and managing identity resources.
Idcloudidentity:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/cloudidentity/memberships/index.md b/docs/google-docs/providers/google/cloudidentity/memberships/index.md index c319a50ce8..0fd45e7603 100644 --- a/docs/google-docs/providers/google/cloudidentity/memberships/index.md +++ b/docs/google-docs/providers/google/cloudidentity/memberships/index.md @@ -1,3 +1,4 @@ + --- title: memberships hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - memberships - cloudidentity - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an membership resource or lists memberships in a region ## Overview @@ -30,13 +32,14 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. The [resource name](https://cloud.google.com/apis/design/resource_names) of the `Membership`. Shall be of the form `groups/{group}/memberships/{membership}`. | +| | `string` | Output only. The [resource name](https://cloud.google.com/apis/design/resource_names) of the `Membership`. Shall be of the form `groups/{group}/memberships/{membership}`. | | | `string` | Output only. The time when the `Membership` was created. | | | `string` | Output only. Delivery setting associated with the membership. | | | `object` | A unique identifier for an entity in the Cloud Identity Groups API. An entity can represent either a group with an optional `namespace` or a user without a `namespace`. The combination of `id` and `namespace` must be unique; however, the same `id` can be used with different `namespace`s. | | | `array` | The `MembershipRole`s that apply to the `Membership`. If unspecified, defaults to a single `MembershipRole` with `name` `MEMBER`. Must not contain duplicate `MembershipRole`s with the same `name`. | | | `string` | Output only. The type of the membership. | | | `string` | Output only. The time when the `Membership` was last updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -44,10 +47,98 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists the `Membership`s within a `Group`. | | | `INSERT` | | Creates a `Membership`. | | | `DELETE` | | Deletes a `Membership`. | -| | `EXEC` | | Lists the `Membership`s within a `Group`. | | | `EXEC` | | Check a potential member for membership in a group. **Note:** This feature is only available to Google Workspace Enterprise Standard, Enterprise Plus, and Enterprise for Education; and Cloud Identity Premium accounts. If the account of the member is not one of these, a 403 (PERMISSION_DENIED) HTTP status code will be returned. A member has membership to a group as long as there is a single viewable transitive membership between the group and the member. The actor must have view permissions to at least one transitive membership between the member and group. | | | `EXEC` | | Looks up the [resource name](https://cloud.google.com/apis/design/resource_names) of a `Membership` by its `EntityKey`. | | | `EXEC` | | Modifies the `MembershipRole`s of a `Membership`. | | | `EXEC` | | Searches direct groups of a member. | | | `EXEC` | | Search transitive groups of a member. **Note:** This feature is only available to Google Workspace Enterprise Standard, Enterprise Plus, and Enterprise for Education; and Cloud Identity Premium accounts. If the account of the member is not one of these, a 403 (PERMISSION_DENIED) HTTP status code will be returned. A transitive group is any group that has a direct or indirect membership to the member. Actor must have view permissions all transitive groups. | | | `EXEC` | | Search transitive memberships of a group. **Note:** This feature is only available to Google Workspace Enterprise Standard, Enterprise Plus, and Enterprise for Education; and Cloud Identity Premium accounts. If the account of the group is not one of these, a 403 (PERMISSION_DENIED) HTTP status code will be returned. A transitive membership is any direct or indirect membership of a group. Actor must have view permissions to all transitive memberships. | + +## `SELECT` examples + +Lists the `Membership`s within a `Group`. + +```sql +SELECT +name, +createTime, +deliverySetting, +preferredMemberKey, +roles, +type, +updateTime +FROM google.cloudidentity.memberships +WHERE groupsId = '{{ groupsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new memberships resource. + + + + +```sql +/*+ create */ +INSERT INTO google.cloudidentity.memberships ( +groupsId, +name, +preferredMemberKey, +createTime, +updateTime, +roles, +type, +deliverySetting +) +SELECT +'{{ groupsId }}', +'{{ name }}', +'{{ preferredMemberKey }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ roles }}', +'{{ type }}', +'{{ deliverySetting }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: preferredMemberKey + value: '{{ preferredMemberKey }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: roles + value: '{{ roles }}' + - name: type + value: '{{ type }}' + - name: deliverySetting + value: '{{ deliverySetting }}' + +``` + + + +## `DELETE` example + +Deletes the specified membership resource. + +```sql +DELETE FROM google.cloudidentity.memberships +WHERE groupsId = '{{ groupsId }}' +AND membershipsId = '{{ membershipsId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudidentity/memberships_membership_graph/index.md b/docs/google-docs/providers/google/cloudidentity/memberships_membership_graph/index.md index 9d36947b2c..3f1e4f3c91 100644 --- a/docs/google-docs/providers/google/cloudidentity/memberships_membership_graph/index.md +++ b/docs/google-docs/providers/google/cloudidentity/memberships_membership_graph/index.md @@ -1,3 +1,4 @@ + --- title: memberships_membership_graph hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - memberships_membership_graph - cloudidentity - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an memberships_membership_graph resource or lists memberships_membership_graph in a region ## Overview
@@ -30,12 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Get a membership graph of just a member or both a member and a group. **Note:** This feature is only available to Google Workspace Enterprise Standard, Enterprise Plus, and Enterprise for Education; and Cloud Identity Premium accounts. If the account of the member is not one of these, a 403 (PERMISSION_DENIED) HTTP status code will be returned. Given a member, the response will contain all membership paths from the member. Given both a group and a member, the response will contain all membership paths between the group and the member. | + +## `SELECT` examples + +Get a membership graph of just a member or both a member and a group. **Note:** This feature is only available to Google Workspace Enterprise Standard, Enterprise Plus, and Enterprise for Education; and Cloud Identity Premium accounts. If the account of the member is not one of these, a 403 (PERMISSION_DENIED) HTTP status code will be returned. Given a member, the response will contain all membership paths from the member. Given both a group and a member, the response will contain all membership paths between the group and the member. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.cloudidentity.memberships_membership_graph +WHERE groupsId = '{{ groupsId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudidentity/userinvitations/index.md b/docs/google-docs/providers/google/cloudidentity/userinvitations/index.md index 67011e8d91..3b9089c70c 100644 --- a/docs/google-docs/providers/google/cloudidentity/userinvitations/index.md +++ b/docs/google-docs/providers/google/cloudidentity/userinvitations/index.md @@ -1,3 +1,4 @@ + --- title: userinvitations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - userinvitations - cloudidentity - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an userinvitation resource or lists userinvitations in a region ## Overview
@@ -30,16 +32,30 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Shall be of the form `customers/{customer}/userinvitations/{user_email_address}`. | +| | `string` | Shall be of the form `customers/{customer}/userinvitations/{user_email_address}`. | | | `string` | Number of invitation emails sent to the user. | | | `string` | State of the `UserInvitation`. | | | `string` | Time when the `UserInvitation` was last updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Retrieves a UserInvitation resource. **Note:** New consumer accounts with the customer's verified domain created within the previous 48 hours will not appear in the result. This delay also applies to newly-verified domains. | | | `SELECT` | | Retrieves a list of UserInvitation resources. **Note:** New consumer accounts with the customer's verified domain created within the previous 48 hours will not appear in the result. This delay also applies to newly-verified domains. | -| | `EXEC` | | Retrieves a list of UserInvitation resources. **Note:** New consumer accounts with the customer's verified domain created within the previous 48 hours will not appear in the result. This delay also applies to newly-verified domains. | | | `EXEC` | | Cancels a UserInvitation that was already sent. | | | `EXEC` | | Verifies whether a user account is eligible to receive a UserInvitation (is an unmanaged account). Eligibility is based on the following criteria: * the email address is a consumer account and it's the primary email address of the account, and * the domain of the email address matches an existing verified Google Workspace or Cloud Identity domain If both conditions are met, the user is eligible. **Note:** This method is not supported for Workspace Essentials customers. | | | `EXEC` | | Sends a UserInvitation to email. If the `UserInvitation` does not exist for this request and it is a valid request, the request creates a `UserInvitation`. **Note:** The `get` and `list` methods have a 48-hour delay where newly-created consumer accounts will not appear in the results. You can still send a `UserInvitation` to those accounts if you know the unmanaged email address and IsInvitableUser==True. | + +## `SELECT` examples + +Retrieves a list of UserInvitation resources. **Note:** New consumer accounts with the customer's verified domain created within the previous 48 hours will not appear in the result. This delay also applies to newly-verified domains. + +```sql +SELECT +name, +mailsSentCount, +state, +updateTime +FROM google.cloudidentity.userinvitations +WHERE customersId = '{{ customersId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudkms/autokey_config/index.md b/docs/google-docs/providers/google/cloudkms/autokey_config/index.md index 4b46bf01d1..535638777f 100644 --- a/docs/google-docs/providers/google/cloudkms/autokey_config/index.md +++ b/docs/google-docs/providers/google/cloudkms/autokey_config/index.md @@ -1,3 +1,4 @@ + --- title: autokey_config hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - autokey_config - cloudkms - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an autokey_config resource or lists autokey_config in a region ## Overview
@@ -30,10 +32,39 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Identifier. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig`. | -| | `string` | Optional. Name of the key project, e.g. `projects/{PROJECT_ID}` or `projects/{PROJECT_NUMBER}`, where Cloud KMS Autokey will provision a new CryptoKey when a KeyHandle is created. On UpdateAutokeyConfig, the caller will require `cloudkms.cryptoKeys.setIamPolicy` permission on this key project. Once configured, for Cloud KMS Autokey to function properly, this key project must have the Cloud KMS API activated and the Cloud KMS Service Agent for this key project must be granted the `cloudkms.admin` role (or pertinent permissions). A request with an empty key project field will clear the configuration. | +| | `string` | Identifier. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig`. | +| | `string` | Optional. Name of the key project, e.g. `projects/{PROJECT_ID}` or `projects/{PROJECT_NUMBER}`, where Cloud KMS Autokey will provision a new CryptoKey when a KeyHandle is created. On UpdateAutokeyConfig, the caller will require `cloudkms.cryptoKeys.setIamPolicy` permission on this key project. Once configured, for Cloud KMS Autokey to function properly, this key project must have the Cloud KMS API activated and the Cloud KMS Service Agent for this key project must be granted the `cloudkms.admin` role (or pertinent permissions). A request with an empty key project field will clear the configuration. | +| | `string` | Output only. The state for the AutokeyConfig. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Returns the AutokeyConfig for a folder. | -| | `EXEC` | | Updates the AutokeyConfig for a folder. The caller must have both `cloudkms.autokeyConfigs.update` permission on the parent folder and `cloudkms.cryptoKeys.setIamPolicy` permission on the provided key project. A KeyHandle creation in the folder's descendant projects will use this configuration to determine where to create the resulting CryptoKey. | +| | `UPDATE` | | Updates the AutokeyConfig for a folder. The caller must have both `cloudkms.autokeyConfigs.update` permission on the parent folder and `cloudkms.cryptoKeys.setIamPolicy` permission on the provided key project. A KeyHandle creation in the folder's descendant projects will use this configuration to determine where to create the resulting CryptoKey. | + +## `SELECT` examples + +Returns the AutokeyConfig for a folder. + +```sql +SELECT +name, +keyProject, +state +FROM google.cloudkms.autokey_config +WHERE foldersId = '{{ foldersId }}'; +``` + +## `UPDATE` example + +Updates a autokey_config only if the necessary resources are available. + +```sql +UPDATE google.cloudkms.autokey_config +SET +name = '{{ name }}', +keyProject = '{{ keyProject }}', +state = '{{ state }}' +WHERE +foldersId = '{{ foldersId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudkms/crypto_key_versions/index.md b/docs/google-docs/providers/google/cloudkms/crypto_key_versions/index.md index 82f7691a6b..510094798c 100644 --- a/docs/google-docs/providers/google/cloudkms/crypto_key_versions/index.md +++ b/docs/google-docs/providers/google/cloudkms/crypto_key_versions/index.md @@ -1,3 +1,4 @@ + --- title: crypto_key_versions hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - crypto_key_versions - cloudkms - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an crypto_key_version resource or lists crypto_key_versions in a region ## Overview
@@ -46,20 +48,197 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The ProtectionLevel describing how crypto operations are performed with this CryptoKeyVersion. | | | `boolean` | Output only. Whether or not this key version is eligible for reimport, by being specified as a target in ImportCryptoKeyVersionRequest.crypto_key_version. | | | `string` | The current state of the CryptoKeyVersion. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Returns metadata for a given CryptoKeyVersion. | | | `SELECT` | | Lists CryptoKeyVersions. | | | `INSERT` | | Create a new CryptoKeyVersion in a CryptoKey. The server will assign the next sequential id. If unset, state will be set to ENABLED. | +| | `DELETE` | | Schedule a CryptoKeyVersion for destruction. Upon calling this method, CryptoKeyVersion.state will be set to DESTROY_SCHEDULED, and destroy_time will be set to the time destroy_scheduled_duration in the future. At that time, the state will automatically change to DESTROYED, and the key material will be irrevocably destroyed. Before the destroy_time is reached, RestoreCryptoKeyVersion may be called to reverse the process. | | | `UPDATE` | | Update a CryptoKeyVersion's metadata. state may be changed between ENABLED and DISABLED using this method. See DestroyCryptoKeyVersion and RestoreCryptoKeyVersion to move between other states. | -| | `EXEC` | | Lists CryptoKeyVersions. | | | `EXEC` | | Decrypts data that was encrypted with a public key retrieved from GetPublicKey corresponding to a CryptoKeyVersion with CryptoKey.purpose ASYMMETRIC_DECRYPT. | | | `EXEC` | | Signs data using a CryptoKeyVersion with CryptoKey.purpose ASYMMETRIC_SIGN, producing a signature that can be verified with the public key retrieved from GetPublicKey. | -| | `EXEC` | | Schedule a CryptoKeyVersion for destruction. Upon calling this method, CryptoKeyVersion.state will be set to DESTROY_SCHEDULED, and destroy_time will be set to the time destroy_scheduled_duration in the future. At that time, the state will automatically change to DESTROYED, and the key material will be irrevocably destroyed. Before the destroy_time is reached, RestoreCryptoKeyVersion may be called to reverse the process. | | | `EXEC` | | Import wrapped key material into a CryptoKeyVersion. All requests must specify a CryptoKey. If a CryptoKeyVersion is additionally specified in the request, key material will be reimported into that version. Otherwise, a new version will be created, and will be assigned the next sequential id within the CryptoKey. | | | `EXEC` | | Signs data using a CryptoKeyVersion with CryptoKey.purpose MAC, producing a tag that can be verified by another source with the same key. | | | `EXEC` | | Verifies MAC tag using a CryptoKeyVersion with CryptoKey.purpose MAC, and returns a response that indicates whether or not the verification was successful. | | | `EXEC` | | Decrypts data that was originally encrypted using a raw cryptographic mechanism. The CryptoKey.purpose must be RAW_ENCRYPT_DECRYPT. | | | `EXEC` | | Encrypts data using portable cryptographic primitives. Most users should choose Encrypt and Decrypt rather than their raw counterparts. The CryptoKey.purpose must be RAW_ENCRYPT_DECRYPT. | | | `EXEC` | | Restore a CryptoKeyVersion in the DESTROY_SCHEDULED state. Upon restoration of the CryptoKeyVersion, state will be set to DISABLED, and destroy_time will be cleared. | + +## `SELECT` examples + +Lists CryptoKeyVersions. + +```sql +SELECT +name, +algorithm, +attestation, +createTime, +destroyEventTime, +destroyTime, +externalDestructionFailureReason, +externalProtectionLevelOptions, +generateTime, +generationFailureReason, +importFailureReason, +importJob, +importTime, +protectionLevel, +reimportEligible, +state +FROM google.cloudkms.crypto_key_versions +WHERE cryptoKeysId = '{{ cryptoKeysId }}' +AND keyRingsId = '{{ keyRingsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new crypto_key_versions resource. + + + + +```sql +/*+ create */ +INSERT INTO google.cloudkms.crypto_key_versions ( +cryptoKeysId, +keyRingsId, +locationsId, +projectsId, +name, +state, +protectionLevel, +algorithm, +attestation, +createTime, +generateTime, +destroyTime, +destroyEventTime, +importJob, +importTime, +importFailureReason, +generationFailureReason, +externalDestructionFailureReason, +externalProtectionLevelOptions, +reimportEligible +) +SELECT +'{{ cryptoKeysId }}', +'{{ keyRingsId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ state }}', +'{{ protectionLevel }}', +'{{ algorithm }}', +'{{ attestation }}', +'{{ createTime }}', +'{{ generateTime }}', +'{{ destroyTime }}', +'{{ destroyEventTime }}', +'{{ importJob }}', +'{{ importTime }}', +'{{ importFailureReason }}', +'{{ generationFailureReason }}', +'{{ externalDestructionFailureReason }}', +'{{ externalProtectionLevelOptions }}', +true|false +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: state + value: '{{ state }}' + - name: protectionLevel + value: '{{ protectionLevel }}' + - name: algorithm + value: '{{ algorithm }}' + - name: attestation + value: '{{ attestation }}' + - name: createTime + value: '{{ createTime }}' + - name: generateTime + value: '{{ generateTime }}' + - name: destroyTime + value: '{{ destroyTime }}' + - name: destroyEventTime + value: '{{ destroyEventTime }}' + - name: importJob + value: '{{ importJob }}' + - name: importTime + value: '{{ importTime }}' + - name: importFailureReason + value: '{{ importFailureReason }}' + - name: generationFailureReason + value: '{{ generationFailureReason }}' + - name: externalDestructionFailureReason + value: '{{ externalDestructionFailureReason }}' + - name: externalProtectionLevelOptions + value: '{{ externalProtectionLevelOptions }}' + - name: reimportEligible + value: '{{ reimportEligible }}' + +``` + + + +## `UPDATE` example + +Updates a crypto_key_version only if the necessary resources are available. + +```sql +UPDATE google.cloudkms.crypto_key_versions +SET +name = '{{ name }}', +state = '{{ state }}', +protectionLevel = '{{ protectionLevel }}', +algorithm = '{{ algorithm }}', +attestation = '{{ attestation }}', +createTime = '{{ createTime }}', +generateTime = '{{ generateTime }}', +destroyTime = '{{ destroyTime }}', +destroyEventTime = '{{ destroyEventTime }}', +importJob = '{{ importJob }}', +importTime = '{{ importTime }}', +importFailureReason = '{{ importFailureReason }}', +generationFailureReason = '{{ generationFailureReason }}', +externalDestructionFailureReason = '{{ externalDestructionFailureReason }}', +externalProtectionLevelOptions = '{{ externalProtectionLevelOptions }}', +reimportEligible = true|false +WHERE +cryptoKeyVersionsId = '{{ cryptoKeyVersionsId }}' +AND cryptoKeysId = '{{ cryptoKeysId }}' +AND keyRingsId = '{{ keyRingsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified crypto_key_version resource. + +```sql +DELETE FROM google.cloudkms.crypto_key_versions +WHERE cryptoKeyVersionsId = '{{ cryptoKeyVersionsId }}' +AND cryptoKeysId = '{{ cryptoKeysId }}' +AND keyRingsId = '{{ keyRingsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudkms/crypto_key_versions_public_key/index.md b/docs/google-docs/providers/google/cloudkms/crypto_key_versions_public_key/index.md index e92d244947..7831aed8e6 100644 --- a/docs/google-docs/providers/google/cloudkms/crypto_key_versions_public_key/index.md +++ b/docs/google-docs/providers/google/cloudkms/crypto_key_versions_public_key/index.md @@ -1,3 +1,4 @@ + --- title: crypto_key_versions_public_key hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - crypto_key_versions_public_key - cloudkms - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an crypto_key_versions_public_key resource or lists crypto_key_versions_public_key in a region ## Overview
@@ -35,7 +37,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The public key, encoded in PEM format. For more information, see the [RFC 7468](https://tools.ietf.org/html/rfc7468) sections for [General Considerations](https://tools.ietf.org/html/rfc7468#section-2) and [Textual Encoding of Subject Public Key Info] (https://tools.ietf.org/html/rfc7468#section-13). | | | `string` | Integrity verification field. A CRC32C checksum of the returned PublicKey.pem. An integrity check of PublicKey.pem can be performed by computing the CRC32C checksum of PublicKey.pem and comparing your results to this field. Discard the response in case of non-matching checksum values, and perform a limited number of retries. A persistent mismatch may indicate an issue in your computation of the CRC32C checksum. Note: This field is defined as int64 for reasons of compatibility across different languages. However, it is a non-negative integer, which will never exceed 2^32-1, and can be safely downconverted to uint32 in languages that support this type. NOTE: This field is in Beta. | | | `string` | The ProtectionLevel of the CryptoKeyVersion public key. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Returns the public key for the given CryptoKeyVersion. The CryptoKey.purpose must be ASYMMETRIC_SIGN or ASYMMETRIC_DECRYPT. | + +## `SELECT` examples + +Returns the public key for the given CryptoKeyVersion. The CryptoKey.purpose must be ASYMMETRIC_SIGN or ASYMMETRIC_DECRYPT. + +```sql +SELECT +name, +algorithm, +pem, +pemCrc32c, +protectionLevel +FROM google.cloudkms.crypto_key_versions_public_key +WHERE cryptoKeyVersionsId = '{{ cryptoKeyVersionsId }}' +AND cryptoKeysId = '{{ cryptoKeysId }}' +AND keyRingsId = '{{ keyRingsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudkms/crypto_keys/index.md b/docs/google-docs/providers/google/cloudkms/crypto_keys/index.md index 46666f0339..0649b59b07 100644 --- a/docs/google-docs/providers/google/cloudkms/crypto_keys/index.md +++ b/docs/google-docs/providers/google/cloudkms/crypto_keys/index.md @@ -1,3 +1,4 @@ + --- title: crypto_keys hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - crypto_keys - cloudkms - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an crypto_key resource or lists crypto_keys in a region ## Overview
@@ -33,14 +35,16 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The resource name for this CryptoKey in the format `projects/*/locations/*/keyRings/*/cryptoKeys/*`. | | | `string` | Output only. The time at which this CryptoKey was created. | | | `string` | Immutable. The resource name of the backend environment where the key material for all CryptoKeyVersions associated with this CryptoKey reside and where all related cryptographic operations are performed. Only applicable if CryptoKeyVersions have a ProtectionLevel of EXTERNAL_VPC, with the resource name in the format `projects/*/locations/*/ekmConnections/*`. Note, this list is non-exhaustive and may apply to additional ProtectionLevels in the future. | -| | `string` | Immutable. The period of time that versions of this key spend in the DESTROY_SCHEDULED state before transitioning to DESTROYED. If not specified at creation time, the default duration is 24 hours. | +| | `string` | Immutable. The period of time that versions of this key spend in the DESTROY_SCHEDULED state before transitioning to DESTROYED. If not specified at creation time, the default duration is 30 days. | | | `boolean` | Immutable. Whether this key may contain imported versions only. | +| | `object` | A KeyAccessJustificationsPolicy specifies zero or more allowed AccessReason values for encrypt, decrypt, and sign operations on a CryptoKey. | | | `object` | Labels with user-defined metadata. For more information, see [Labeling Keys](https://cloud.google.com/kms/docs/labeling-keys). | | | `string` | At next_rotation_time, the Key Management Service will automatically: 1. Create a new version of this CryptoKey. 2. Mark the new version as primary. Key rotations performed manually via CreateCryptoKeyVersion and UpdateCryptoKeyPrimaryVersion do not affect next_rotation_time. Keys with purpose ENCRYPT_DECRYPT support automatic rotation. For other keys, this field must be omitted. | | | `object` | A CryptoKeyVersion represents an individual cryptographic key, and the associated key material. An ENABLED version can be used for cryptographic operations. For security reasons, the raw cryptographic key material represented by a CryptoKeyVersion can never be viewed or exported. It can only be used to encrypt, decrypt, or sign data when an authorized user or application invokes Cloud KMS. | | | `string` | Immutable. The immutable purpose of this CryptoKey. | | | `string` | next_rotation_time will be advanced by this period when the service automatically rotates a key. Must be at least 24 hours and at most 876,000 hours. If rotation_period is set, next_rotation_time must also be set. Keys with purpose ENCRYPT_DECRYPT support automatic rotation. For other keys, this field must be omitted. | | | `object` | A CryptoKeyVersionTemplate specifies the properties to use when creating a new CryptoKeyVersion, either manually with CreateCryptoKeyVersion or automatically as a result of auto-rotation. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -48,6 +52,141 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists CryptoKeys. | | | `INSERT` | | Create a new CryptoKey within a KeyRing. CryptoKey.purpose and CryptoKey.version_template.algorithm are required. | | | `UPDATE` | | Update a CryptoKey. | -| | `EXEC` | | Lists CryptoKeys. | | | `EXEC` | | Decrypts data that was protected by Encrypt. The CryptoKey.purpose must be ENCRYPT_DECRYPT. | | | `EXEC` | | Encrypts data, so that it can only be recovered by a call to Decrypt. The CryptoKey.purpose must be ENCRYPT_DECRYPT. | + +## `SELECT` examples + +Lists CryptoKeys. + +```sql +SELECT +name, +createTime, +cryptoKeyBackend, +destroyScheduledDuration, +importOnly, +keyAccessJustificationsPolicy, +labels, +nextRotationTime, +primary, +purpose, +rotationPeriod, +versionTemplate +FROM google.cloudkms.crypto_keys +WHERE keyRingsId = '{{ keyRingsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new crypto_keys resource. + + + + +```sql +/*+ create */ +INSERT INTO google.cloudkms.crypto_keys ( +keyRingsId, +locationsId, +projectsId, +name, +primary, +purpose, +createTime, +nextRotationTime, +rotationPeriod, +versionTemplate, +labels, +importOnly, +destroyScheduledDuration, +cryptoKeyBackend, +keyAccessJustificationsPolicy +) +SELECT +'{{ keyRingsId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ primary }}', +'{{ purpose }}', +'{{ createTime }}', +'{{ nextRotationTime }}', +'{{ rotationPeriod }}', +'{{ versionTemplate }}', +'{{ labels }}', +true|false, +'{{ destroyScheduledDuration }}', +'{{ cryptoKeyBackend }}', +'{{ keyAccessJustificationsPolicy }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: primary + value: '{{ primary }}' + - name: purpose + value: '{{ purpose }}' + - name: createTime + value: '{{ createTime }}' + - name: nextRotationTime + value: '{{ nextRotationTime }}' + - name: rotationPeriod + value: '{{ rotationPeriod }}' + - name: versionTemplate + value: '{{ versionTemplate }}' + - name: labels + value: '{{ labels }}' + - name: importOnly + value: '{{ importOnly }}' + - name: destroyScheduledDuration + value: '{{ destroyScheduledDuration }}' + - name: cryptoKeyBackend + value: '{{ cryptoKeyBackend }}' + - name: keyAccessJustificationsPolicy + value: '{{ keyAccessJustificationsPolicy }}' + +``` + + + +## `UPDATE` example + +Updates a crypto_key only if the necessary resources are available. + +```sql +UPDATE google.cloudkms.crypto_keys +SET +name = '{{ name }}', +primary = '{{ primary }}', +purpose = '{{ purpose }}', +createTime = '{{ createTime }}', +nextRotationTime = '{{ nextRotationTime }}', +rotationPeriod = '{{ rotationPeriod }}', +versionTemplate = '{{ versionTemplate }}', +labels = '{{ labels }}', +importOnly = true|false, +destroyScheduledDuration = '{{ destroyScheduledDuration }}', +cryptoKeyBackend = '{{ cryptoKeyBackend }}', +keyAccessJustificationsPolicy = '{{ keyAccessJustificationsPolicy }}' +WHERE +cryptoKeysId = '{{ cryptoKeysId }}' +AND keyRingsId = '{{ keyRingsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudkms/crypto_keys_iam_policies/index.md b/docs/google-docs/providers/google/cloudkms/crypto_keys_iam_policies/index.md index bedbce15e5..12b42e09f2 100644 --- a/docs/google-docs/providers/google/cloudkms/crypto_keys_iam_policies/index.md +++ b/docs/google-docs/providers/google/cloudkms/crypto_keys_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: crypto_keys_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - crypto_keys_iam_policies - cloudkms - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an crypto_keys_iam_policy resource or lists crypto_keys_iam_policies in a region ## Overview
@@ -30,13 +32,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.cloudkms.crypto_keys_iam_policies +WHERE cryptoKeysId = '{{ cryptoKeysId }}' +AND keyRingsId = '{{ keyRingsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudkms/crypto_keys_primary_version/index.md b/docs/google-docs/providers/google/cloudkms/crypto_keys_primary_version/index.md index 0bb7b0b87b..f5cfe25c3d 100644 --- a/docs/google-docs/providers/google/cloudkms/crypto_keys_primary_version/index.md +++ b/docs/google-docs/providers/google/cloudkms/crypto_keys_primary_version/index.md @@ -1,3 +1,4 @@ + --- title: crypto_keys_primary_version hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - crypto_keys_primary_version - cloudkms - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an crypto_keys_primary_version resource or lists crypto_keys_primary_version in a region ## Overview
@@ -28,8 +30,25 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `UPDATE` | | Update the version of a CryptoKey that will be used in Encrypt. Returns an error if called on a key whose purpose is not ENCRYPT_DECRYPT. | + +## `UPDATE` example + +Updates a crypto_keys_primary_version only if the necessary resources are available. + +```sql +UPDATE google.cloudkms.crypto_keys_primary_version +SET +cryptoKeyVersionId = '{{ cryptoKeyVersionId }}' +WHERE +cryptoKeysId = '{{ cryptoKeysId }}' +AND keyRingsId = '{{ keyRingsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudkms/ekm_config/index.md b/docs/google-docs/providers/google/cloudkms/ekm_config/index.md index 45d0a20a01..75b21c4a8d 100644 --- a/docs/google-docs/providers/google/cloudkms/ekm_config/index.md +++ b/docs/google-docs/providers/google/cloudkms/ekm_config/index.md @@ -1,3 +1,4 @@ + --- title: ekm_config hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - ekm_config - cloudkms - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an ekm_config resource or lists ekm_config in a region ## Overview @@ -32,8 +34,36 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Output only. The resource name for the EkmConfig in the format `projects/*/locations/*/ekmConfig`. | | | `string` | Optional. Resource name of the default EkmConnection. Setting this field to the empty string removes the default. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Returns the EkmConfig singleton resource for a given project and location. | -| | `EXEC` | | Updates the EkmConfig singleton resource for a given project and location. | +| | `UPDATE` | | Updates the EkmConfig singleton resource for a given project and location. | + +## `SELECT` examples + +Returns the EkmConfig singleton resource for a given project and location. + +```sql +SELECT +name, +defaultEkmConnection +FROM google.cloudkms.ekm_config +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `UPDATE` example + +Updates a ekm_config only if the necessary resources are available. + +```sql +UPDATE google.cloudkms.ekm_config +SET +name = '{{ name }}', +defaultEkmConnection = '{{ defaultEkmConnection }}' +WHERE +locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudkms/ekm_config_iam_policies/index.md b/docs/google-docs/providers/google/cloudkms/ekm_config_iam_policies/index.md index f0cbf957c6..db207a24f1 100644 --- a/docs/google-docs/providers/google/cloudkms/ekm_config_iam_policies/index.md +++ b/docs/google-docs/providers/google/cloudkms/ekm_config_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: ekm_config_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - ekm_config_iam_policies - cloudkms - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an ekm_config_iam_policy resource or lists ekm_config_iam_policies in a region ## Overview
@@ -30,13 +32,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.cloudkms.ekm_config_iam_policies +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudkms/ekm_connections/index.md b/docs/google-docs/providers/google/cloudkms/ekm_connections/index.md index b14cbba93d..f1a32f0007 100644 --- a/docs/google-docs/providers/google/cloudkms/ekm_connections/index.md +++ b/docs/google-docs/providers/google/cloudkms/ekm_connections/index.md @@ -1,3 +1,4 @@ + --- title: ekm_connections hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - ekm_connections - cloudkms - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an ekm_connection resource or lists ekm_connections in a region ## Overview
@@ -35,7 +37,8 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Optional. Identifies the EKM Crypto Space that this EkmConnection maps to. Note: This field is required if KeyManagementMode is CLOUD_KMS. | | | `string` | Optional. Etag of the currently stored EkmConnection. | | | `string` | Optional. Describes who can perform control plane operations on the EKM. If unset, this defaults to MANUAL. | -| | `array` | A list of ServiceResolvers where the EKM can be reached. There should be one ServiceResolver per EKM replica. Currently, only a single ServiceResolver is supported. | +| | `array` | Optional. A list of ServiceResolvers where the EKM can be reached. There should be one ServiceResolver per EKM replica. Currently, only a single ServiceResolver is supported. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -43,5 +46,100 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists EkmConnections. | | | `INSERT` | | Creates a new EkmConnection in a given Project and Location. | | | `UPDATE` | | Updates an EkmConnection's metadata. | -| | `EXEC` | | Lists EkmConnections. | | | `EXEC` | | Verifies that Cloud KMS can successfully connect to the external key manager specified by an EkmConnection. If there is an error connecting to the EKM, this method returns a FAILED_PRECONDITION status containing structured information as described at https://cloud.google.com/kms/docs/reference/ekm_errors. | + +## `SELECT` examples + +Lists EkmConnections. + +```sql +SELECT +name, +createTime, +cryptoSpacePath, +etag, +keyManagementMode, +serviceResolvers +FROM google.cloudkms.ekm_connections +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new ekm_connections resource. + + + + +```sql +/*+ create */ +INSERT INTO google.cloudkms.ekm_connections ( +locationsId, +projectsId, +name, +createTime, +serviceResolvers, +etag, +keyManagementMode, +cryptoSpacePath +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ createTime }}', +'{{ serviceResolvers }}', +'{{ etag }}', +'{{ keyManagementMode }}', +'{{ cryptoSpacePath }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: serviceResolvers + value: '{{ serviceResolvers }}' + - name: etag + value: '{{ etag }}' + - name: keyManagementMode + value: '{{ keyManagementMode }}' + - name: cryptoSpacePath + value: '{{ cryptoSpacePath }}' + +``` + + + +## `UPDATE` example + +Updates a ekm_connection only if the necessary resources are available. + +```sql +UPDATE google.cloudkms.ekm_connections +SET +name = '{{ name }}', +createTime = '{{ createTime }}', +serviceResolvers = '{{ serviceResolvers }}', +etag = '{{ etag }}', +keyManagementMode = '{{ keyManagementMode }}', +cryptoSpacePath = '{{ cryptoSpacePath }}' +WHERE +ekmConnectionsId = '{{ ekmConnectionsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudkms/ekm_connections_iam_policies/index.md b/docs/google-docs/providers/google/cloudkms/ekm_connections_iam_policies/index.md index 6edbe3efc7..8304f310fd 100644 --- a/docs/google-docs/providers/google/cloudkms/ekm_connections_iam_policies/index.md +++ b/docs/google-docs/providers/google/cloudkms/ekm_connections_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: ekm_connections_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - ekm_connections_iam_policies - cloudkms - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an ekm_connections_iam_policy resource or lists ekm_connections_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.cloudkms.ekm_connections_iam_policies +WHERE ekmConnectionsId = '{{ ekmConnectionsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudkms/import_jobs/index.md b/docs/google-docs/providers/google/cloudkms/import_jobs/index.md index dd7f9e390d..7eee9ef326 100644 --- a/docs/google-docs/providers/google/cloudkms/import_jobs/index.md +++ b/docs/google-docs/providers/google/cloudkms/import_jobs/index.md @@ -1,3 +1,4 @@ + --- title: import_jobs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - import_jobs - cloudkms - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an import_job resource or lists import_jobs in a region ## Overview
@@ -40,10 +42,110 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Required. Immutable. The protection level of the ImportJob. This must match the protection_level of the version_template on the CryptoKey you attempt to import into. | | | `object` | The public key component of the wrapping key. For details of the type of key this public key corresponds to, see the ImportMethod. | | | `string` | Output only. The current state of the ImportJob, indicating if it can be used. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Returns metadata for a given ImportJob. | | | `SELECT` | | Lists ImportJobs. | | | `INSERT` | | Create a new ImportJob within a KeyRing. ImportJob.import_method is required. | -| | `EXEC` | | Lists ImportJobs. | + +## `SELECT` examples + +Lists ImportJobs. + +```sql +SELECT +name, +attestation, +createTime, +expireEventTime, +expireTime, +generateTime, +importMethod, +protectionLevel, +publicKey, +state +FROM google.cloudkms.import_jobs +WHERE keyRingsId = '{{ keyRingsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new import_jobs resource. + + + + +```sql +/*+ create */ +INSERT INTO google.cloudkms.import_jobs ( +keyRingsId, +locationsId, +projectsId, +name, +importMethod, +protectionLevel, +createTime, +generateTime, +expireTime, +expireEventTime, +state, +publicKey, +attestation +) +SELECT +'{{ keyRingsId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ importMethod }}', +'{{ protectionLevel }}', +'{{ createTime }}', +'{{ generateTime }}', +'{{ expireTime }}', +'{{ expireEventTime }}', +'{{ state }}', +'{{ publicKey }}', +'{{ attestation }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: importMethod + value: '{{ importMethod }}' + - name: protectionLevel + value: '{{ protectionLevel }}' + - name: createTime + value: '{{ createTime }}' + - name: generateTime + value: '{{ generateTime }}' + - name: expireTime + value: '{{ expireTime }}' + - name: expireEventTime + value: '{{ expireEventTime }}' + - name: state + value: '{{ state }}' + - name: publicKey + value: '{{ publicKey }}' + - name: attestation + value: '{{ attestation }}' + +``` + + diff --git a/docs/google-docs/providers/google/cloudkms/import_jobs_iam_policies/index.md b/docs/google-docs/providers/google/cloudkms/import_jobs_iam_policies/index.md index 426ad74547..007b4206d7 100644 --- a/docs/google-docs/providers/google/cloudkms/import_jobs_iam_policies/index.md +++ b/docs/google-docs/providers/google/cloudkms/import_jobs_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: import_jobs_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - import_jobs_iam_policies - cloudkms - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an import_jobs_iam_policy resource or lists import_jobs_iam_policies in a region ## Overview
@@ -30,13 +32,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.cloudkms.import_jobs_iam_policies +WHERE importJobsId = '{{ importJobsId }}' +AND keyRingsId = '{{ keyRingsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudkms/index.md b/docs/google-docs/providers/google/cloudkms/index.md index b0891d760b..bc5e6167b6 100644 --- a/docs/google-docs/providers/google/cloudkms/index.md +++ b/docs/google-docs/providers/google/cloudkms/index.md @@ -9,34 +9,23 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Manages keys and performs cryptographic operations in a central cloud service, for direct use by other cloud resources and applications. - +The cloudkms service documentation. + :::info Service Summary
total resources: 18
-total selectable resources: 16
-total methods: 70
::: -## Overview -
- - - - - -
Namegoogle.cloudkms
TypeService
TitleCloud Key Management Service (KMS) API
DescriptionManages keys and performs cryptographic operations in a central cloud service, for direct use by other cloud resources and applications.
Idcloudkms:v24.06.00236
- ## Resources
@@ -48,7 +37,7 @@ Manages keys and performs cryptographic operations in a central cloud service, f crypto_keys_primary_version
ekm_config
ekm_config_iam_policies
-ekm_connections
+ekm_connections
ekm_connections_iam_policies
@@ -59,6 +48,6 @@ Manages keys and performs cryptographic operations in a central cloud service, f key_rings_iam_policies
locations
operations
-projects
-
+projects
+ \ No newline at end of file diff --git a/docs/google-docs/providers/google/cloudkms/key_handles/index.md b/docs/google-docs/providers/google/cloudkms/key_handles/index.md index bb4ff814a8..180c534e19 100644 --- a/docs/google-docs/providers/google/cloudkms/key_handles/index.md +++ b/docs/google-docs/providers/google/cloudkms/key_handles/index.md @@ -1,3 +1,4 @@ + --- title: key_handles hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - key_handles - cloudkms - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an key_handle resource or lists key_handles in a region ## Overview @@ -30,12 +32,75 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Identifier. Name of the KeyHandle resource, e.g. `projects/{PROJECT_ID}/locations/{LOCATION}/keyHandles/{KEY_HANDLE_ID}`. | +| | `string` | Identifier. Name of the KeyHandle resource, e.g. `projects/{PROJECT_ID}/locations/{LOCATION}/keyHandles/{KEY_HANDLE_ID}`. | | | `string` | Output only. Name of a CryptoKey that has been provisioned for Customer Managed Encryption Key (CMEK) use in the KeyHandle project and location for the requested resource type. The CryptoKey project will reflect the value configured in the AutokeyConfig on the resource project's ancestor folder at the time of the KeyHandle creation. If more than one ancestor folder has a configured AutokeyConfig, the nearest of these configurations is used. | -| | `string` | Required. Indicates the resource type that the resulting CryptoKey is meant to protect, e.g. `{SERVICE}.googleapis.com/{TYPE}`. See documentation for supported resource types. | +| | `string` | Required. Indicates the resource type that the resulting CryptoKey is meant to protect, e.g. `{SERVICE}.googleapis.com/{TYPE}`. See documentation for supported resource types. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Returns the KeyHandle. | | | `SELECT` | | Lists KeyHandles. | | | `INSERT` | | Creates a new KeyHandle, triggering the provisioning of a new CryptoKey for CMEK use with the given resource type in the configured key project and the same location. GetOperation should be used to resolve the resulting long-running operation and get the resulting KeyHandle and CryptoKey. | + +## `SELECT` examples + +Lists KeyHandles. + +```sql +SELECT +name, +kmsKey, +resourceTypeSelector +FROM google.cloudkms.key_handles +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new key_handles resource. + + + + +```sql +/*+ create */ +INSERT INTO google.cloudkms.key_handles ( +locationsId, +projectsId, +name, +kmsKey, +resourceTypeSelector +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ kmsKey }}', +'{{ resourceTypeSelector }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: kmsKey + value: '{{ kmsKey }}' + - name: resourceTypeSelector + value: '{{ resourceTypeSelector }}' + +``` + + diff --git a/docs/google-docs/providers/google/cloudkms/key_rings/index.md b/docs/google-docs/providers/google/cloudkms/key_rings/index.md index be9971ce32..0426d16692 100644 --- a/docs/google-docs/providers/google/cloudkms/key_rings/index.md +++ b/docs/google-docs/providers/google/cloudkms/key_rings/index.md @@ -1,3 +1,4 @@ + --- title: key_rings hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - key_rings - cloudkms - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an key_ring resource or lists key_rings in a region ## Overview
@@ -32,10 +34,67 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Output only. The resource name for the KeyRing in the format `projects/*/locations/*/keyRings/*`. | | | `string` | Output only. The time at which this KeyRing was created. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Returns metadata for a given KeyRing. | | | `SELECT` | | Lists KeyRings. | | | `INSERT` | | Create a new KeyRing in a given Project and Location. | -| | `EXEC` | | Lists KeyRings. | + +## `SELECT` examples + +Lists KeyRings. + +```sql +SELECT +name, +createTime +FROM google.cloudkms.key_rings +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new key_rings resource. + + + + +```sql +/*+ create */ +INSERT INTO google.cloudkms.key_rings ( +locationsId, +projectsId, +name, +createTime +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ createTime }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + +``` + + diff --git a/docs/google-docs/providers/google/cloudkms/key_rings_iam_policies/index.md b/docs/google-docs/providers/google/cloudkms/key_rings_iam_policies/index.md index 3601fb3635..75ee9929b9 100644 --- a/docs/google-docs/providers/google/cloudkms/key_rings_iam_policies/index.md +++ b/docs/google-docs/providers/google/cloudkms/key_rings_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: key_rings_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - key_rings_iam_policies - cloudkms - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an key_rings_iam_policy resource or lists key_rings_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.cloudkms.key_rings_iam_policies +WHERE keyRingsId = '{{ keyRingsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudkms/locations/index.md b/docs/google-docs/providers/google/cloudkms/locations/index.md index 3bd4071ea9..319133f196 100644 --- a/docs/google-docs/providers/google/cloudkms/locations/index.md +++ b/docs/google-docs/providers/google/cloudkms/locations/index.md @@ -1,3 +1,4 @@ + --- title: locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - locations - cloudkms - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an location resource or lists locations in a region ## Overview
@@ -32,13 +34,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` | | | `string` | The friendly name for this location, typically a nearby city name. For example, "Tokyo". | -| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | +| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | | | `string` | The canonical id for this location. For example: `"us-east1"`. | | | `object` | Service-specific metadata. For example the available capacity at the given location. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about a location. | | | `SELECT` | | Lists information about the supported locations for this service. | -| | `EXEC` | | Lists information about the supported locations for this service. | | | `EXEC` | | Generate random bytes using the Cloud KMS randomness source in the provided location. | + +## `SELECT` examples + +Lists information about the supported locations for this service. + +```sql +SELECT +name, +displayName, +labels, +locationId, +metadata +FROM google.cloudkms.locations +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudkms/operations/index.md b/docs/google-docs/providers/google/cloudkms/operations/index.md index a5d67e79e5..3d0def615b 100644 --- a/docs/google-docs/providers/google/cloudkms/operations/index.md +++ b/docs/google-docs/providers/google/cloudkms/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - cloudkms - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview
@@ -30,12 +32,30 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | + +## `SELECT` examples + +Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.cloudkms.operations +WHERE locationsId = '{{ locationsId }}' +AND operationsId = '{{ operationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudkms/projects/index.md b/docs/google-docs/providers/google/cloudkms/projects/index.md index 8ba8d3905f..4cf969b2e8 100644 --- a/docs/google-docs/providers/google/cloudkms/projects/index.md +++ b/docs/google-docs/providers/google/cloudkms/projects/index.md @@ -1,3 +1,4 @@ + --- title: projects hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - projects - cloudkms - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an project resource or lists projects in a region ## Overview
@@ -28,8 +30,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Returns the effective Cloud KMS Autokey configuration for a given project. | diff --git a/docs/google-docs/providers/google/cloudprofiler/index.md b/docs/google-docs/providers/google/cloudprofiler/index.md index ae9e2947c5..0441536954 100644 --- a/docs/google-docs/providers/google/cloudprofiler/index.md +++ b/docs/google-docs/providers/google/cloudprofiler/index.md @@ -9,40 +9,29 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Manages continuous profiling information. - +The cloudprofiler service documentation. + :::info Service Summary
total resources: 2
-total selectable resources: 1
-total methods: 5
::: -## Overview - - - - - - -
Namegoogle.cloudprofiler
TypeService
TitleCloud Profiler API
DescriptionManages continuous profiling information.
Idcloudprofiler:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/cloudprofiler/profiles/index.md b/docs/google-docs/providers/google/cloudprofiler/profiles/index.md index 2751fb5a42..900c6688b6 100644 --- a/docs/google-docs/providers/google/cloudprofiler/profiles/index.md +++ b/docs/google-docs/providers/google/cloudprofiler/profiles/index.md @@ -1,3 +1,4 @@ + --- title: profiles hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - profiles - cloudprofiler - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an profile resource or lists profiles in a region ## Overview @@ -37,10 +39,88 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Input only. Profile bytes, as a gzip compressed serialized proto, the format is https://github.com/google/pprof/blob/master/proto/profile.proto. | | | `string` | Type of profile. For offline mode, this must be specified when creating the profile. For online mode it is assigned and returned by the server. | | | `string` | Output only. Start time for the profile. This output is only present in response from the ListProfiles method. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Lists profiles which have been collected so far and for which the caller has permission to view. | | | `INSERT` | | CreateProfile creates a new profile resource in the online mode. _Direct use of this API is discouraged, please use a [supported profiler agent](https://cloud.google.com/profiler/docs/about-profiler#profiling_agent) instead for profile collection._ The server ensures that the new profiles are created at a constant rate per deployment, so the creation request may hang for some time until the next profile session is available. The request may fail with ABORTED error if the creation is not available within ~1m, the response will indicate the duration of the backoff the client should take before attempting creating a profile again. The backoff duration is returned in google.rpc.RetryInfo extension on the response status. To a gRPC client, the extension will be return as a binary-serialized proto in the trailing metadata item named "google.rpc.retryinfo-bin". | | | `UPDATE` | | UpdateProfile updates the profile bytes and labels on the profile resource created in the online mode. Updating the bytes for profiles created in the offline mode is currently not supported: the profile content must be provided at the time of the profile creation. _Direct use of this API is discouraged, please use a [supported profiler agent](https://cloud.google.com/profiler/docs/about-profiler#profiling_agent) instead for profile collection._ | -| | `EXEC` | | Lists profiles which have been collected so far and for which the caller has permission to view. | + +## `SELECT` examples + +Lists profiles which have been collected so far and for which the caller has permission to view. + +```sql +SELECT +name, +deployment, +duration, +labels, +profileBytes, +profileType, +startTime +FROM google.cloudprofiler.profiles +WHERE projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new profiles resource. + + + + +```sql +/*+ create */ +INSERT INTO google.cloudprofiler.profiles ( +projectsId, +deployment, +profileType +) +SELECT +'{{ projectsId }}', +'{{ deployment }}', +'{{ profileType }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: deployment + value: '{{ deployment }}' + - name: profileType + value: '{{ profileType }}' + +``` + + + +## `UPDATE` example + +Updates a profile only if the necessary resources are available. + +```sql +UPDATE google.cloudprofiler.profiles +SET +name = '{{ name }}', +profileType = '{{ profileType }}', +deployment = '{{ deployment }}', +duration = '{{ duration }}', +profileBytes = '{{ profileBytes }}', +labels = '{{ labels }}', +startTime = '{{ startTime }}' +WHERE +profilesId = '{{ profilesId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudprofiler/profiles_offline/index.md b/docs/google-docs/providers/google/cloudprofiler/profiles_offline/index.md index dbf32a4da4..5cac786d16 100644 --- a/docs/google-docs/providers/google/cloudprofiler/profiles_offline/index.md +++ b/docs/google-docs/providers/google/cloudprofiler/profiles_offline/index.md @@ -1,3 +1,4 @@ + --- title: profiles_offline hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - profiles_offline - cloudprofiler - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an profiles_offline resource or lists profiles_offline in a region ## Overview
@@ -28,8 +30,72 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `INSERT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `INSERT` | | CreateOfflineProfile creates a new profile resource in the offline mode. The client provides the profile to create along with the profile bytes, the server records it. _Direct use of this API is discouraged, please use a [supported profiler agent](https://cloud.google.com/profiler/docs/about-profiler#profiling_agent) instead for profile collection._ | + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new profiles_offline resource. + + + + +```sql +/*+ create */ +INSERT INTO google.cloudprofiler.profiles_offline ( +projectsId, +name, +profileType, +deployment, +duration, +profileBytes, +labels, +startTime +) +SELECT +'{{ projectsId }}', +'{{ name }}', +'{{ profileType }}', +'{{ deployment }}', +'{{ duration }}', +'{{ profileBytes }}', +'{{ labels }}', +'{{ startTime }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: profileType + value: '{{ profileType }}' + - name: deployment + value: '{{ deployment }}' + - name: duration + value: '{{ duration }}' + - name: profileBytes + value: '{{ profileBytes }}' + - name: labels + value: '{{ labels }}' + - name: startTime + value: '{{ startTime }}' + +``` + + diff --git a/docs/google-docs/providers/google/cloudresourcemanager/effective_tags/index.md b/docs/google-docs/providers/google/cloudresourcemanager/effective_tags/index.md index a7525e1402..fba2b36098 100644 --- a/docs/google-docs/providers/google/cloudresourcemanager/effective_tags/index.md +++ b/docs/google-docs/providers/google/cloudresourcemanager/effective_tags/index.md @@ -1,3 +1,4 @@ + --- title: effective_tags hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - effective_tags - cloudresourcemanager - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an effective_tag resource or lists effective_tags in a region ## Overview @@ -31,13 +33,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | Name | Datatype | Description | |:-----|:---------|:------------| | | `boolean` | Indicates the inheritance status of a tag value attached to the given resource. If the tag value is inherited from one of the resource's ancestors, inherited will be true. If false, then the tag value is directly attached to the resource, inherited will be false. | -| | `string` | The namespaced name of the TagKey. Can be in the form `{organization_id}/{tag_key_short_name}` or `{project_id}/{tag_key_short_name}` or `{project_number}/{tag_key_short_name}`. | -| | `string` | The namespaced name of the TagValue. Can be in the form `{organization_id}/{tag_key_short_name}/{tag_value_short_name}` or `{project_id}/{tag_key_short_name}/{tag_value_short_name}` or `{project_number}/{tag_key_short_name}/{tag_value_short_name}`. | -| | `string` | The name of the TagKey, in the format `tagKeys/{id}`, such as `tagKeys/123`. | -| | `string` | The parent name of the tag key. Must be in the format `organizations/{organization_id}` or `projects/{project_number}` | +| | `string` | The namespaced name of the TagKey. Can be in the form `{organization_id}/{tag_key_short_name}` or `{project_id}/{tag_key_short_name}` or `{project_number}/{tag_key_short_name}`. | +| | `string` | The namespaced name of the TagValue. Can be in the form `{organization_id}/{tag_key_short_name}/{tag_value_short_name}` or `{project_id}/{tag_key_short_name}/{tag_value_short_name}` or `{project_number}/{tag_key_short_name}/{tag_value_short_name}`. | +| | `string` | The name of the TagKey, in the format `tagKeys/{id}`, such as `tagKeys/123`. | +| | `string` | The parent name of the tag key. Must be in the format `organizations/{organization_id}` or `projects/{project_number}` | | | `string` | Resource name for TagValue in the format `tagValues/456`. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Return a list of effective tags for the given Google Cloud resource, as specified in `parent`. | + +## `SELECT` examples + +Return a list of effective tags for the given Google Cloud resource, as specified in `parent`. + +```sql +SELECT +inherited, +namespacedTagKey, +namespacedTagValue, +tagKey, +tagKeyParentName, +tagValue +FROM google.cloudresourcemanager.effective_tags +WHERE = '{{ }}'; +``` diff --git a/docs/google-docs/providers/google/cloudresourcemanager/folders/index.md b/docs/google-docs/providers/google/cloudresourcemanager/folders/index.md index 7c6051b851..99807225ca 100644 --- a/docs/google-docs/providers/google/cloudresourcemanager/folders/index.md +++ b/docs/google-docs/providers/google/cloudresourcemanager/folders/index.md @@ -1,3 +1,4 @@ + --- title: folders hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - folders - cloudresourcemanager - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an folder resource or lists folders in a region ## Overview
@@ -30,24 +32,142 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. The resource name of the folder. Its format is `folders/{folder_id}`, for example: "folders/1234". | +| | `string` | Output only. The resource name of the folder. Its format is `folders/{folder_id}`, for example: "folders/1234". | | | `string` | Output only. Timestamp when the folder was created. | | | `string` | Output only. Timestamp when the folder was requested to be deleted. | -| | `string` | The folder's display name. A folder's display name must be unique amongst its siblings. For example, no two folders with the same parent can share the same display name. The display name must start and end with a letter or digit, may contain letters, digits, spaces, hyphens and underscores and can be no longer than 30 characters. This is captured by the regular expression: `[\p{L}\p{N}]([\p{L}\p{N}_- ]{0,28}[\p{L}\p{N}])?`. | +| | `string` | The folder's display name. A folder's display name must be unique amongst its siblings. For example, no two folders with the same parent can share the same display name. The display name must start and end with a letter or digit, may contain letters, digits, spaces, hyphens and underscores and can be no longer than 30 characters. This is captured by the regular expression: `[\p{L}\p{N}]([\p{L}\p{N}_- ]{0,28}[\p{L}\p{N}])?`. | | | `string` | Output only. A checksum computed by the server based on the current value of the folder resource. This may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. | | | `string` | Required. The folder's parent's resource name. Updates to the folder's parent must be performed using MoveFolder. | | | `string` | Output only. The lifecycle state of the folder. Updates to the state must be performed using DeleteFolder and UndeleteFolder. | | | `object` | Optional. Input only. Immutable. Tag keys/values directly bound to this folder. Each item in the map must be expressed as " : ". For example: "123/environment" : "production", "123/costCenter" : "marketing" Note: Currently this field is in Preview. | | | `string` | Output only. Timestamp when the folder was last modified. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| -| | `SELECT` | | Retrieves a folder identified by the supplied resource name. Valid folder resource names have the format `folders/{folder_id}` (for example, `folders/1234`). The caller must have `resourcemanager.folders.get` permission on the identified folder. | -| | `SELECT` | | Lists the folders that are direct descendants of supplied parent resource. `list()` provides a strongly consistent view of the folders underneath the specified parent resource. `list()` returns folders sorted based upon the (ascending) lexical ordering of their display_name. The caller must have `resourcemanager.folders.list` permission on the identified parent. | -| | `INSERT` | | Creates a folder in the resource hierarchy. Returns an `Operation` which can be used to track the progress of the folder creation workflow. Upon success, the `Operation.response` field will be populated with the created Folder. In order to succeed, the addition of this new folder must not violate the folder naming, height, or fanout constraints. + The folder's `display_name` must be distinct from all other folders that share its parent. + The addition of the folder must not cause the active folder hierarchy to exceed a height of 10. Note, the full active + deleted folder hierarchy is allowed to reach a height of 20; this provides additional headroom when moving folders that contain deleted folders. + The addition of the folder must not cause the total number of folders under its parent to exceed 300. If the operation fails due to a folder constraint violation, some errors may be returned by the `CreateFolder` request, with status code `FAILED_PRECONDITION` and an error description. Other folder constraint violations will be communicated in the `Operation`, with the specific `PreconditionFailure` returned in the details list in the `Operation.error` field. The caller must have `resourcemanager.folders.create` permission on the identified parent. | +| | `SELECT` | | Retrieves a folder identified by the supplied resource name. Valid folder resource names have the format `folders/{folder_id}` (for example, `folders/1234`). The caller must have `resourcemanager.folders.get` permission on the identified folder. | +| | `SELECT` | | Lists the folders that are direct descendants of supplied parent resource. `list()` provides a strongly consistent view of the folders underneath the specified parent resource. `list()` returns folders sorted based upon the (ascending) lexical ordering of their display_name. The caller must have `resourcemanager.folders.list` permission on the identified parent. | +| | `INSERT` | | Creates a folder in the resource hierarchy. Returns an `Operation` which can be used to track the progress of the folder creation workflow. Upon success, the `Operation.response` field will be populated with the created Folder. In order to succeed, the addition of this new folder must not violate the folder naming, height, or fanout constraints. + The folder's `display_name` must be distinct from all other folders that share its parent. + The addition of the folder must not cause the active folder hierarchy to exceed a height of 10. Note, the full active + deleted folder hierarchy is allowed to reach a height of 20; this provides additional headroom when moving folders that contain deleted folders. + The addition of the folder must not cause the total number of folders under its parent to exceed 300. If the operation fails due to a folder constraint violation, some errors may be returned by the `CreateFolder` request, with status code `FAILED_PRECONDITION` and an error description. Other folder constraint violations will be communicated in the `Operation`, with the specific `PreconditionFailure` returned in the details list in the `Operation.error` field. The caller must have `resourcemanager.folders.create` permission on the identified parent. | | | `DELETE` | | Requests deletion of a folder. The folder is moved into the DELETE_REQUESTED state immediately, and is deleted approximately 30 days later. This method may only be called on an empty folder, where a folder is empty if it doesn't contain any folders or projects in the ACTIVE state. If called on a folder in DELETE_REQUESTED state the operation will result in a no-op success. The caller must have `resourcemanager.folders.delete` permission on the identified folder. | -| | `UPDATE` | | Updates a folder, changing its `display_name`. Changes to the folder `display_name` will be rejected if they violate either the `display_name` formatting rules or the naming constraints described in the CreateFolder documentation. The folder's `display_name` must start and end with a letter or digit, may contain letters, digits, spaces, hyphens and underscores and can be between 3 and 30 characters. This is captured by the regular expression: `\p{L}\p{N}{1,28}[\p{L}\p{N}]`. The caller must have `resourcemanager.folders.update` permission on the identified folder. If the update fails due to the unique name constraint then a `PreconditionFailure` explaining this violation will be returned in the Status.details field. | -| | `EXEC` | | Lists the folders that are direct descendants of supplied parent resource. `list()` provides a strongly consistent view of the folders underneath the specified parent resource. `list()` returns folders sorted based upon the (ascending) lexical ordering of their display_name. The caller must have `resourcemanager.folders.list` permission on the identified parent. | +| | `UPDATE` | | Updates a folder, changing its `display_name`. Changes to the folder `display_name` will be rejected if they violate either the `display_name` formatting rules or the naming constraints described in the CreateFolder documentation. The folder's `display_name` must start and end with a letter or digit, may contain letters, digits, spaces, hyphens and underscores and can be between 3 and 30 characters. This is captured by the regular expression: `\p{L}\p{N}{1,28}[\p{L}\p{N}]`. The caller must have `resourcemanager.folders.update` permission on the identified folder. If the update fails due to the unique name constraint then a `PreconditionFailure` explaining this violation will be returned in the Status.details field. | | | `EXEC` | | Moves a folder under a new resource parent. Returns an `Operation` which can be used to track the progress of the folder move workflow. Upon success, the `Operation.response` field will be populated with the moved folder. Upon failure, a `FolderOperationError` categorizing the failure cause will be returned - if the failure occurs synchronously then the `FolderOperationError` will be returned in the `Status.details` field. If it occurs asynchronously, then the FolderOperation will be returned in the `Operation.error` field. In addition, the `Operation.metadata` field will be populated with a `FolderOperation` message as an aid to stateless clients. Folder moves will be rejected if they violate either the naming, height, or fanout constraints described in the CreateFolder documentation. The caller must have `resourcemanager.folders.move` permission on the folder's current and proposed new parent. | -| | `EXEC` | | Search for folders that match specific filter criteria. `search()` provides an eventually consistent view of the folders a user has access to which meet the specified filter criteria. This will only return folders on which the caller has the permission `resourcemanager.folders.get`. | +| | `EXEC` | | Search for folders that match specific filter criteria. `search()` provides an eventually consistent view of the folders a user has access to which meet the specified filter criteria. This will only return folders on which the caller has the permission `resourcemanager.folders.get`. | | | `EXEC` | | Cancels the deletion request for a folder. This method may be called on a folder in any state. If the folder is in the ACTIVE state the result will be a no-op success. In order to succeed, the folder's parent must be in the ACTIVE state. In addition, reintroducing the folder into the tree must not violate folder naming, height, and fanout constraints described in the CreateFolder documentation. The caller must have `resourcemanager.folders.undelete` permission on the identified folder. | + +## `SELECT` examples + +Lists the folders that are direct descendants of supplied parent resource. `list()` provides a strongly consistent view of the folders underneath the specified parent resource. `list()` returns folders sorted based upon the (ascending) lexical ordering of their display_name. The caller must have `resourcemanager.folders.list` permission on the identified parent. + +```sql +SELECT +name, +createTime, +deleteTime, +displayName, +etag, +parent, +state, +tags, +updateTime +FROM google.cloudresourcemanager.folders +WHERE = '{{ }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new folders resource. + + + + +```sql +/*+ create */ +INSERT INTO google.cloudresourcemanager.folders ( +, +name, +parent, +displayName, +state, +createTime, +updateTime, +deleteTime, +etag, +tags +) +SELECT +'{{ }}', +'{{ name }}', +'{{ parent }}', +'{{ displayName }}', +'{{ state }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ deleteTime }}', +'{{ etag }}', +'{{ tags }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: parent + value: '{{ parent }}' + - name: displayName + value: '{{ displayName }}' + - name: state + value: '{{ state }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: deleteTime + value: '{{ deleteTime }}' + - name: etag + value: '{{ etag }}' + - name: tags + value: '{{ tags }}' + +``` + + + +## `UPDATE` example + +Updates a folder only if the necessary resources are available. + +```sql +UPDATE google.cloudresourcemanager.folders +SET +name = '{{ name }}', +parent = '{{ parent }}', +displayName = '{{ displayName }}', +state = '{{ state }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +deleteTime = '{{ deleteTime }}', +etag = '{{ etag }}', +tags = '{{ tags }}' +WHERE +foldersId = '{{ foldersId }}'; +``` + +## `DELETE` example + +Deletes the specified folder resource. + +```sql +DELETE FROM google.cloudresourcemanager.folders +WHERE foldersId = '{{ foldersId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudresourcemanager/folders_iam_policies/index.md b/docs/google-docs/providers/google/cloudresourcemanager/folders_iam_policies/index.md index 44ad42f335..67f4ffbf86 100644 --- a/docs/google-docs/providers/google/cloudresourcemanager/folders_iam_policies/index.md +++ b/docs/google-docs/providers/google/cloudresourcemanager/folders_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: folders_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - folders_iam_policies - cloudresourcemanager - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an folders_iam_policy resource or lists folders_iam_policies in a region ## Overview
@@ -30,13 +32,26 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a folder. The returned policy may be empty if no such policy or resource exists. The `resource` field should be the folder's resource name, for example: "folders/1234". The caller must have `resourcemanager.folders.getIamPolicy` permission on the identified folder. | -| | `EXEC` | | Gets the access control policy for a folder. The returned policy may be empty if no such policy or resource exists. The `resource` field should be the folder's resource name, for example: "folders/1234". The caller must have `resourcemanager.folders.getIamPolicy` permission on the identified folder. | | | `EXEC` | | Sets the access control policy on a folder, replacing any existing policy. The `resource` field should be the folder's resource name, for example: "folders/1234". The caller must have `resourcemanager.folders.setIamPolicy` permission on the identified folder. | | | `EXEC` | | Returns permissions that a caller has on the specified folder. The `resource` field should be the folder's resource name, for example: "folders/1234". There are no permissions required for making this API call. | + +## `SELECT` examples + +Gets the access control policy for a folder. The returned policy may be empty if no such policy or resource exists. The `resource` field should be the folder's resource name, for example: "folders/1234". The caller must have `resourcemanager.folders.getIamPolicy` permission on the identified folder. + +```sql +SELECT +condition, +members, +role +FROM google.cloudresourcemanager.folders_iam_policies +WHERE foldersId = '{{ foldersId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudresourcemanager/index.md b/docs/google-docs/providers/google/cloudresourcemanager/index.md index 37816b1d9f..76b18fce0a 100644 --- a/docs/google-docs/providers/google/cloudresourcemanager/index.md +++ b/docs/google-docs/providers/google/cloudresourcemanager/index.md @@ -9,34 +9,23 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Creates, reads, and updates metadata for Google Cloud Platform resource containers. - +The cloudresourcemanager service documentation. + :::info Service Summary
total resources: 17
-total selectable resources: 17
-total methods: 70
::: -## Overview -
- - - - - -
Namegoogle.cloudresourcemanager
TypeService
TitleCloud Resource Manager API
DescriptionCreates, reads, and updates metadata for Google Cloud Platform resource containers.
Idcloudresourcemanager:v24.06.00236
- ## Resources
@@ -48,7 +37,7 @@ Creates, reads, and updates metadata for Google Cloud Platform resource containe organizations
organizations_iam_policies
projects
-projects_iam_policies
+projects_iam_policies
tag_bindings
@@ -58,6 +47,6 @@ Creates, reads, and updates metadata for Google Cloud Platform resource containe tag_keys_namespaced
tag_values
tag_values_iam_policies
-tag_values_namespaced
-
+tag_values_namespaced
+ \ No newline at end of file diff --git a/docs/google-docs/providers/google/cloudresourcemanager/liens/index.md b/docs/google-docs/providers/google/cloudresourcemanager/liens/index.md index c2dde8af65..d3920e3541 100644 --- a/docs/google-docs/providers/google/cloudresourcemanager/liens/index.md +++ b/docs/google-docs/providers/google/cloudresourcemanager/liens/index.md @@ -1,3 +1,4 @@ + --- title: liens hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - liens - cloudresourcemanager - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an lien resource or lists liens in a region ## Overview @@ -36,11 +38,94 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | A reference to the resource this Lien is attached to. The server will validate the parent against those for which Liens are supported. Example: `projects/1234` | | | `string` | Concise user-visible strings indicating why an action cannot be performed on a resource. Maximum length of 200 characters. Example: 'Holds production API key' | | | `array` | The types of operations which should be blocked as a result of this Lien. Each value should correspond to an IAM permission. The server will validate the permissions against those for which Liens are supported. An empty list is meaningless and will be rejected. Example: ['resourcemanager.projects.delete'] | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Retrieve a Lien by `name`. Callers of this method will require permission on the `parent` resource. For example, a Lien with a `parent` of `projects/1234` requires permission `resourcemanager.projects.get` | -| | `SELECT` | | List all Liens applied to the `parent` resource. Callers of this method will require permission on the `parent` resource. For example, a Lien with a `parent` of `projects/1234` requires permission `resourcemanager.projects.get`. | -| | `INSERT` | | Create a Lien which applies to the resource denoted by the `parent` field. Callers of this method will require permission on the `parent` resource. For example, applying to `projects/1234` requires permission `resourcemanager.projects.updateLiens`. NOTE: Some resources may limit the number of Liens which may be applied. | +| | `SELECT` | | List all Liens applied to the `parent` resource. Callers of this method will require permission on the `parent` resource. For example, a Lien with a `parent` of `projects/1234` requires permission `resourcemanager.projects.get`. | +| | `INSERT` | | Create a Lien which applies to the resource denoted by the `parent` field. Callers of this method will require permission on the `parent` resource. For example, applying to `projects/1234` requires permission `resourcemanager.projects.updateLiens`. NOTE: Some resources may limit the number of Liens which may be applied. | | | `DELETE` | | Delete a Lien by `name`. Callers of this method will require permission on the `parent` resource. For example, a Lien with a `parent` of `projects/1234` requires permission `resourcemanager.projects.updateLiens`. | -| | `EXEC` | | List all Liens applied to the `parent` resource. Callers of this method will require permission on the `parent` resource. For example, a Lien with a `parent` of `projects/1234` requires permission `resourcemanager.projects.get`. | + +## `SELECT` examples + +List all Liens applied to the `parent` resource. Callers of this method will require permission on the `parent` resource. For example, a Lien with a `parent` of `projects/1234` requires permission `resourcemanager.projects.get`. + +```sql +SELECT +name, +createTime, +origin, +parent, +reason, +restrictions +FROM google.cloudresourcemanager.liens +WHERE = '{{ }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new liens resource. + + + + +```sql +/*+ create */ +INSERT INTO google.cloudresourcemanager.liens ( +, +name, +parent, +restrictions, +reason, +origin, +createTime +) +SELECT +'{{ }}', +'{{ name }}', +'{{ parent }}', +'{{ restrictions }}', +'{{ reason }}', +'{{ origin }}', +'{{ createTime }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: parent + value: '{{ parent }}' + - name: restrictions + value: '{{ restrictions }}' + - name: reason + value: '{{ reason }}' + - name: origin + value: '{{ origin }}' + - name: createTime + value: '{{ createTime }}' + +``` + + + +## `DELETE` example + +Deletes the specified lien resource. + +```sql +DELETE FROM google.cloudresourcemanager.liens +WHERE liensId = '{{ liensId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudresourcemanager/operations/index.md b/docs/google-docs/providers/google/cloudresourcemanager/operations/index.md index ef739230c3..429483f88b 100644 --- a/docs/google-docs/providers/google/cloudresourcemanager/operations/index.md +++ b/docs/google-docs/providers/google/cloudresourcemanager/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - cloudresourcemanager - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview
@@ -30,12 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | + +## `SELECT` examples + +Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.cloudresourcemanager.operations +WHERE operationsId = '{{ operationsId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudresourcemanager/organizations/index.md b/docs/google-docs/providers/google/cloudresourcemanager/organizations/index.md index 52c8e3e390..b7ee0f6601 100644 --- a/docs/google-docs/providers/google/cloudresourcemanager/organizations/index.md +++ b/docs/google-docs/providers/google/cloudresourcemanager/organizations/index.md @@ -1,3 +1,4 @@ + --- title: organizations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - organizations - cloudresourcemanager - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an organization resource or lists organizations in a region ## Overview
@@ -38,8 +40,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. A checksum computed by the server based on the current value of the Organization resource. This may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. | | | `string` | Output only. The organization's current lifecycle state. | | | `string` | Output only. Timestamp when the Organization was last modified. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Fetches an organization resource identified by the specified resource name. | -| | `EXEC` | | Searches organization resources that are visible to the user and satisfy the specified filter. This method returns organizations in an unspecified order. New organizations do not necessarily appear at the end of the results, and may take a small amount of time to appear. Search will only return organizations on which the user has the permission `resourcemanager.organizations.get` or has super admin privileges. | +| | `EXEC` | | Searches organization resources that are visible to the user and satisfy the specified filter. This method returns organizations in an unspecified order. New organizations do not necessarily appear at the end of the results, and may take a small amount of time to appear. Search will only return organizations on which the user has the permission `resourcemanager.organizations.get` or has super admin privileges. | + +## `SELECT` examples + +Fetches an organization resource identified by the specified resource name. + +```sql +SELECT +name, +createTime, +deleteTime, +directoryCustomerId, +displayName, +etag, +state, +updateTime +FROM google.cloudresourcemanager.organizations +WHERE organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudresourcemanager/organizations_iam_policies/index.md b/docs/google-docs/providers/google/cloudresourcemanager/organizations_iam_policies/index.md index b410478377..687a3ef90c 100644 --- a/docs/google-docs/providers/google/cloudresourcemanager/organizations_iam_policies/index.md +++ b/docs/google-docs/providers/google/cloudresourcemanager/organizations_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: organizations_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - organizations_iam_policies - cloudresourcemanager - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an organizations_iam_policy resource or lists organizations_iam_policies in a region ## Overview
@@ -30,13 +32,26 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for an organization resource. The policy may be empty if no such policy or resource exists. The `resource` field should be the organization's resource name, for example: "organizations/123". Authorization requires the IAM permission `resourcemanager.organizations.getIamPolicy` on the specified organization. | -| | `EXEC` | | Gets the access control policy for an organization resource. The policy may be empty if no such policy or resource exists. The `resource` field should be the organization's resource name, for example: "organizations/123". Authorization requires the IAM permission `resourcemanager.organizations.getIamPolicy` on the specified organization. | | | `EXEC` | | Sets the access control policy on an organization resource. Replaces any existing policy. The `resource` field should be the organization's resource name, for example: "organizations/123". Authorization requires the IAM permission `resourcemanager.organizations.setIamPolicy` on the specified organization. | | | `EXEC` | | Returns the permissions that a caller has on the specified organization. The `resource` field should be the organization's resource name, for example: "organizations/123". There are no permissions required for making this API call. | + +## `SELECT` examples + +Gets the access control policy for an organization resource. The policy may be empty if no such policy or resource exists. The `resource` field should be the organization's resource name, for example: "organizations/123". Authorization requires the IAM permission `resourcemanager.organizations.getIamPolicy` on the specified organization. + +```sql +SELECT +condition, +members, +role +FROM google.cloudresourcemanager.organizations_iam_policies +WHERE organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudresourcemanager/projects/index.md b/docs/google-docs/providers/google/cloudresourcemanager/projects/index.md index 687d19cab9..def10392f9 100644 --- a/docs/google-docs/providers/google/cloudresourcemanager/projects/index.md +++ b/docs/google-docs/providers/google/cloudresourcemanager/projects/index.md @@ -1,3 +1,4 @@ + --- title: projects hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - projects - cloudresourcemanager - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an project resource or lists projects in a region ## Overview
@@ -41,15 +43,145 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The project lifecycle state. | | | `object` | Optional. Input only. Immutable. Tag keys/values directly bound to this project. Each item in the map must be expressed as " : ". For example: "123/environment" : "production", "123/costCenter" : "marketing" Note: Currently this field is in Preview. | | | `string` | Output only. The most recent time this resource was modified. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Retrieves the project identified by the specified `name` (for example, `projects/415104041262`). The caller must have `resourcemanager.projects.get` permission for this project. | -| | `SELECT` | | Lists projects that are direct children of the specified folder or organization resource. `list()` provides a strongly consistent view of the projects underneath the specified parent resource. `list()` returns projects sorted based upon the (ascending) lexical ordering of their `display_name`. The caller must have `resourcemanager.projects.list` permission on the identified parent. | -| | `INSERT` | | Request that a new project be created. The result is an `Operation` which can be used to track the creation process. This process usually takes a few seconds, but can sometimes take much longer. The tracking `Operation` is automatically deleted after a few hours, so there is no need to call `DeleteOperation`. | +| | `SELECT` | | Lists projects that are direct children of the specified folder or organization resource. `list()` provides a strongly consistent view of the projects underneath the specified parent resource. `list()` returns projects sorted based upon the (ascending) lexical ordering of their `display_name`. The caller must have `resourcemanager.projects.list` permission on the identified parent. | +| | `INSERT` | | Request that a new project be created. The result is an `Operation` which can be used to track the creation process. This process usually takes a few seconds, but can sometimes take much longer. The tracking `Operation` is automatically deleted after a few hours, so there is no need to call `DeleteOperation`. | | | `DELETE` | | Marks the project identified by the specified `name` (for example, `projects/415104041262`) for deletion. This method will only affect the project if it has a lifecycle state of ACTIVE. This method changes the Project's lifecycle state from ACTIVE to DELETE_REQUESTED. The deletion starts at an unspecified time, at which point the Project is no longer accessible. Until the deletion completes, you can check the lifecycle state checked by retrieving the project with GetProject, and the project remains visible to ListProjects. However, you cannot update the project. After the deletion completes, the project is not retrievable by the GetProject, ListProjects, and SearchProjects methods. This method behaves idempotently, such that deleting a `DELETE_REQUESTED` project will not cause an error, but also won't do anything. The caller must have `resourcemanager.projects.delete` permissions for this project. | | | `UPDATE` | | Updates the `display_name` and labels of the project identified by the specified `name` (for example, `projects/415104041262`). Deleting all labels requires an update mask for labels field. The caller must have `resourcemanager.projects.update` permission for this project. | -| | `EXEC` | | Lists projects that are direct children of the specified folder or organization resource. `list()` provides a strongly consistent view of the projects underneath the specified parent resource. `list()` returns projects sorted based upon the (ascending) lexical ordering of their `display_name`. The caller must have `resourcemanager.projects.list` permission on the identified parent. | | | `EXEC` | | Move a project to another place in your resource hierarchy, under a new resource parent. Returns an operation which can be used to track the process of the project move workflow. Upon success, the `Operation.response` field will be populated with the moved project. The caller must have `resourcemanager.projects.move` permission on the project, on the project's current and proposed new parent. If project has no current parent, or it currently does not have an associated organization resource, you will also need the `resourcemanager.projects.setIamPolicy` permission in the project. | -| | `EXEC` | | Search for projects that the caller has the `resourcemanager.projects.get` permission on, and also satisfy the specified query. This method returns projects in an unspecified order. This method is eventually consistent with project mutations; this means that a newly created project may not appear in the results or recent updates to an existing project may not be reflected in the results. To retrieve the latest state of a project, use the GetProject method. | +| | `EXEC` | | Search for projects that the caller has the `resourcemanager.projects.get` permission on, and also satisfy the specified query. This method returns projects in an unspecified order. This method is eventually consistent with project mutations; this means that a newly created project may not appear in the results or recent updates to an existing project may not be reflected in the results. To retrieve the latest state of a project, use the GetProject method. | | | `EXEC` | | Restores the project identified by the specified `name` (for example, `projects/415104041262`). You can only use this method for a project that has a lifecycle state of DELETE_REQUESTED. After deletion starts, the project cannot be restored. The caller must have `resourcemanager.projects.undelete` permission for this project. | + +## `SELECT` examples + +Lists projects that are direct children of the specified folder or organization resource. `list()` provides a strongly consistent view of the projects underneath the specified parent resource. `list()` returns projects sorted based upon the (ascending) lexical ordering of their `display_name`. The caller must have `resourcemanager.projects.list` permission on the identified parent. + +```sql +SELECT +name, +createTime, +deleteTime, +displayName, +etag, +labels, +parent, +projectId, +state, +tags, +updateTime +FROM google.cloudresourcemanager.projects +WHERE = '{{ }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new projects resource. + + + + +```sql +/*+ create */ +INSERT INTO google.cloudresourcemanager.projects ( +, +name, +parent, +projectId, +state, +displayName, +createTime, +updateTime, +deleteTime, +etag, +labels, +tags +) +SELECT +'{{ }}', +'{{ name }}', +'{{ parent }}', +'{{ projectId }}', +'{{ state }}', +'{{ displayName }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ deleteTime }}', +'{{ etag }}', +'{{ labels }}', +'{{ tags }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: parent + value: '{{ parent }}' + - name: projectId + value: '{{ projectId }}' + - name: state + value: '{{ state }}' + - name: displayName + value: '{{ displayName }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: deleteTime + value: '{{ deleteTime }}' + - name: etag + value: '{{ etag }}' + - name: labels + value: '{{ labels }}' + - name: tags + value: '{{ tags }}' + +``` + + + +## `UPDATE` example + +Updates a project only if the necessary resources are available. + +```sql +UPDATE google.cloudresourcemanager.projects +SET +name = '{{ name }}', +parent = '{{ parent }}', +projectId = '{{ projectId }}', +state = '{{ state }}', +displayName = '{{ displayName }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +deleteTime = '{{ deleteTime }}', +etag = '{{ etag }}', +labels = '{{ labels }}', +tags = '{{ tags }}' +WHERE +projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified project resource. + +```sql +DELETE FROM google.cloudresourcemanager.projects +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudresourcemanager/projects_iam_policies/index.md b/docs/google-docs/providers/google/cloudresourcemanager/projects_iam_policies/index.md index 349389f83d..87981f4fba 100644 --- a/docs/google-docs/providers/google/cloudresourcemanager/projects_iam_policies/index.md +++ b/docs/google-docs/providers/google/cloudresourcemanager/projects_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: projects_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - projects_iam_policies - cloudresourcemanager - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an projects_iam_policy resource or lists projects_iam_policies in a region ## Overview
@@ -30,13 +32,26 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| -| | `SELECT` | | Returns the IAM access control policy for the specified project, in the format `projects/{ProjectIdOrNumber}` e.g. projects/123. Permission is denied if the policy or the resource do not exist. | -| | `EXEC` | | Returns the IAM access control policy for the specified project, in the format `projects/{ProjectIdOrNumber}` e.g. projects/123. Permission is denied if the policy or the resource do not exist. | -| | `EXEC` | | Sets the IAM access control policy for the specified project, in the format `projects/{ProjectIdOrNumber}` e.g. projects/123. CAUTION: This method will replace the existing policy, and cannot be used to append additional IAM settings. Note: Removing service accounts from policies or changing their roles can render services completely inoperable. It is important to understand how the service account is being used before removing or updating its roles. The following constraints apply when using `setIamPolicy()`: + Project does not support `allUsers` and `allAuthenticatedUsers` as `members` in a `Binding` of a `Policy`. + The owner role can be granted to a `user`, `serviceAccount`, or a group that is part of an organization. For example, group@myownpersonaldomain.com could be added as an owner to a project in the myownpersonaldomain.com organization, but not the examplepetstore.com organization. + Service accounts can be made owners of a project directly without any restrictions. However, to be added as an owner, a user must be invited using the Cloud Platform console and must accept the invitation. + A user cannot be granted the owner role using `setIamPolicy()`. The user must be granted the owner role using the Cloud Platform Console and must explicitly accept the invitation. + Invitations to grant the owner role cannot be sent using `setIamPolicy()`; they must be sent only using the Cloud Platform Console. + If the project is not part of an organization, there must be at least one owner who has accepted the Terms of Service (ToS) agreement in the policy. Calling `setIamPolicy()` to remove the last ToS-accepted owner from the policy will fail. This restriction also applies to legacy projects that no longer have owners who have accepted the ToS. Edits to IAM policies will be rejected until the lack of a ToS-accepting owner is rectified. If the project is part of an organization, you can remove all owners, potentially making the organization inaccessible. | -| | `EXEC` | | Returns permissions that a caller has on the specified project, in the format `projects/{ProjectIdOrNumber}` e.g. projects/123.. | +| | `SELECT` | | Returns the IAM access control policy for the specified project, in the format `projects/{ProjectIdOrNumber}` e.g. projects/123. Permission is denied if the policy or the resource do not exist. | +| | `EXEC` | | Sets the IAM access control policy for the specified project, in the format `projects/{ProjectIdOrNumber}` e.g. projects/123. CAUTION: This method will replace the existing policy, and cannot be used to append additional IAM settings. Note: Removing service accounts from policies or changing their roles can render services completely inoperable. It is important to understand how the service account is being used before removing or updating its roles. The following constraints apply when using `setIamPolicy()`: + Project does not support `allUsers` and `allAuthenticatedUsers` as `members` in a `Binding` of a `Policy`. + The owner role can be granted to a `user`, `serviceAccount`, or a group that is part of an organization. For example, group@myownpersonaldomain.com could be added as an owner to a project in the myownpersonaldomain.com organization, but not the examplepetstore.com organization. + Service accounts can be made owners of a project directly without any restrictions. However, to be added as an owner, a user must be invited using the Cloud Platform console and must accept the invitation. + A user cannot be granted the owner role using `setIamPolicy()`. The user must be granted the owner role using the Cloud Platform Console and must explicitly accept the invitation. + Invitations to grant the owner role cannot be sent using `setIamPolicy()`; they must be sent only using the Cloud Platform Console. + If the project is not part of an organization, there must be at least one owner who has accepted the Terms of Service (ToS) agreement in the policy. Calling `setIamPolicy()` to remove the last ToS-accepted owner from the policy will fail. This restriction also applies to legacy projects that no longer have owners who have accepted the ToS. Edits to IAM policies will be rejected until the lack of a ToS-accepting owner is rectified. If the project is part of an organization, you can remove all owners, potentially making the organization inaccessible. | +| | `EXEC` | | Returns permissions that a caller has on the specified project, in the format `projects/{ProjectIdOrNumber}` e.g. projects/123.. | + +## `SELECT` examples + +Returns the IAM access control policy for the specified project, in the format `projects/{ProjectIdOrNumber}` e.g. projects/123. Permission is denied if the policy or the resource do not exist. + +```sql +SELECT +condition, +members, +role +FROM google.cloudresourcemanager.projects_iam_policies +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudresourcemanager/tag_bindings/index.md b/docs/google-docs/providers/google/cloudresourcemanager/tag_bindings/index.md index 89cb443e0a..826d58922e 100644 --- a/docs/google-docs/providers/google/cloudresourcemanager/tag_bindings/index.md +++ b/docs/google-docs/providers/google/cloudresourcemanager/tag_bindings/index.md @@ -1,3 +1,4 @@ + --- title: tag_bindings hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - tag_bindings - cloudresourcemanager - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an tag_binding resource or lists tag_bindings in a region ## Overview
@@ -30,14 +32,87 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. The name of the TagBinding. This is a String of the form: `tagBindings/{full-resource-name}/{tag-value-name}` (e.g. `tagBindings/%2F%2Fcloudresourcemanager.googleapis.com%2Fprojects%2F123/tagValues/456`). | +| | `string` | Output only. The name of the TagBinding. This is a String of the form: `tagBindings/{full-resource-name}/{tag-value-name}` (e.g. `tagBindings/%2F%2Fcloudresourcemanager.googleapis.com%2Fprojects%2F123/tagValues/456`). | | | `string` | The full resource name of the resource the TagValue is bound to. E.g. `//cloudresourcemanager.googleapis.com/projects/123` | | | `string` | The TagValue of the TagBinding. Must be of the form `tagValues/456`. | -| | `string` | The namespaced name for the TagValue of the TagBinding. Must be in the format `{parent_id}/{tag_key_short_name}/{short_name}`. For methods that support TagValue namespaced name, only one of tag_value_namespaced_name or tag_value may be filled. Requests with both fields will be rejected. | +| | `string` | The namespaced name for the TagValue of the TagBinding. Must be in the format `{parent_id}/{tag_key_short_name}/{short_name}`. For methods that support TagValue namespaced name, only one of tag_value_namespaced_name or tag_value may be filled. Requests with both fields will be rejected. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| -| | `SELECT` | | Lists the TagBindings for the given Google Cloud resource, as specified with `parent`. NOTE: The `parent` field is expected to be a full resource name: https://cloud.google.com/apis/design/resource_names#full_resource_name | -| | `INSERT` | | Creates a TagBinding between a TagValue and a Google Cloud resource. | +| | `SELECT` | | Lists the TagBindings for the given Google Cloud resource, as specified with `parent`. NOTE: The `parent` field is expected to be a full resource name: https://cloud.google.com/apis/design/resource_names#full_resource_name | +| | `INSERT` | | Creates a TagBinding between a TagValue and a Google Cloud resource. | | | `DELETE` | | Deletes a TagBinding. | -| | `EXEC` | | Lists the TagBindings for the given Google Cloud resource, as specified with `parent`. NOTE: The `parent` field is expected to be a full resource name: https://cloud.google.com/apis/design/resource_names#full_resource_name | + +## `SELECT` examples + +Lists the TagBindings for the given Google Cloud resource, as specified with `parent`. NOTE: The `parent` field is expected to be a full resource name: https://cloud.google.com/apis/design/resource_names#full_resource_name + +```sql +SELECT +name, +parent, +tagValue, +tagValueNamespacedName +FROM google.cloudresourcemanager.tag_bindings +WHERE = '{{ }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new tag_bindings resource. + + + + +```sql +/*+ create */ +INSERT INTO google.cloudresourcemanager.tag_bindings ( +, +name, +parent, +tagValue, +tagValueNamespacedName +) +SELECT +'{{ }}', +'{{ name }}', +'{{ parent }}', +'{{ tagValue }}', +'{{ tagValueNamespacedName }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: parent + value: '{{ parent }}' + - name: tagValue + value: '{{ tagValue }}' + - name: tagValueNamespacedName + value: '{{ tagValueNamespacedName }}' + +``` + + + +## `DELETE` example + +Deletes the specified tag_binding resource. + +```sql +DELETE FROM google.cloudresourcemanager.tag_bindings +WHERE tagBindingsId = '{{ tagBindingsId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudresourcemanager/tag_holds/index.md b/docs/google-docs/providers/google/cloudresourcemanager/tag_holds/index.md index 3c9a5f59e7..2975e0060a 100644 --- a/docs/google-docs/providers/google/cloudresourcemanager/tag_holds/index.md +++ b/docs/google-docs/providers/google/cloudresourcemanager/tag_holds/index.md @@ -1,3 +1,4 @@ + --- title: tag_holds hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - tag_holds - cloudresourcemanager - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an tag_hold resource or lists tag_holds in a region ## Overview
@@ -30,15 +32,94 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. The resource name of a TagHold. This is a String of the form: `tagValues/{tag-value-id}/tagHolds/{tag-hold-id}` (e.g. `tagValues/123/tagHolds/456`). This resource name is generated by the server. | +| | `string` | Output only. The resource name of a TagHold. This is a String of the form: `tagValues/{tag-value-id}/tagHolds/{tag-hold-id}` (e.g. `tagValues/123/tagHolds/456`). This resource name is generated by the server. | | | `string` | Output only. The time this TagHold was created. | | | `string` | Optional. A URL where an end user can learn more about removing this hold. E.g. `https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing` | | | `string` | Required. The name of the resource where the TagValue is being used. Must be less than 200 characters. E.g. `//compute.googleapis.com/compute/projects/myproject/regions/us-east-1/instanceGroupManagers/instance-group` | | | `string` | Optional. An optional string representing the origin of this request. This field should include human-understandable information to distinguish origins from each other. Must be less than 200 characters. E.g. `migs-35678234` | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Lists TagHolds under a TagValue. | | | `INSERT` | | Creates a TagHold. Returns ALREADY_EXISTS if a TagHold with the same resource and origin exists under the same TagValue. | | | `DELETE` | | Deletes a TagHold. | -| | `EXEC` | | Lists TagHolds under a TagValue. | + +## `SELECT` examples + +Lists TagHolds under a TagValue. + +```sql +SELECT +name, +createTime, +helpLink, +holder, +origin +FROM google.cloudresourcemanager.tag_holds +WHERE tagValuesId = '{{ tagValuesId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new tag_holds resource. + + + + +```sql +/*+ create */ +INSERT INTO google.cloudresourcemanager.tag_holds ( +tagValuesId, +name, +holder, +origin, +helpLink, +createTime +) +SELECT +'{{ tagValuesId }}', +'{{ name }}', +'{{ holder }}', +'{{ origin }}', +'{{ helpLink }}', +'{{ createTime }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: holder + value: '{{ holder }}' + - name: origin + value: '{{ origin }}' + - name: helpLink + value: '{{ helpLink }}' + - name: createTime + value: '{{ createTime }}' + +``` + + + +## `DELETE` example + +Deletes the specified tag_hold resource. + +```sql +DELETE FROM google.cloudresourcemanager.tag_holds +WHERE tagHoldsId = '{{ tagHoldsId }}' +AND tagValuesId = '{{ tagValuesId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudresourcemanager/tag_keys/index.md b/docs/google-docs/providers/google/cloudresourcemanager/tag_keys/index.md index afbac34d6e..72271228c2 100644 --- a/docs/google-docs/providers/google/cloudresourcemanager/tag_keys/index.md +++ b/docs/google-docs/providers/google/cloudresourcemanager/tag_keys/index.md @@ -1,3 +1,4 @@ + --- title: tag_keys hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - tag_keys - cloudresourcemanager - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an tag_key resource or lists tag_keys in a region ## Overview
@@ -30,22 +32,146 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Immutable. The resource name for a TagKey. Must be in the format `tagKeys/{tag_key_id}`, where `tag_key_id` is the generated numeric id for the TagKey. | +| | `string` | Immutable. The resource name for a TagKey. Must be in the format `tagKeys/{tag_key_id}`, where `tag_key_id` is the generated numeric id for the TagKey. | | | `string` | Optional. User-assigned description of the TagKey. Must not exceed 256 characters. Read-write. | | | `string` | Output only. Creation time. | | | `string` | Optional. Entity tag which users can pass to prevent race conditions. This field is always set in server responses. See UpdateTagKeyRequest for details. | | | `string` | Output only. Immutable. Namespaced name of the TagKey. | -| | `string` | Immutable. The resource name of the TagKey's parent. A TagKey can be parented by an Organization or a Project. For a TagKey parented by an Organization, its parent must be in the form `organizations/{org_id}`. For a TagKey parented by a Project, its parent can be in the form `projects/{project_id}` or `projects/{project_number}`. | +| | `string` | Immutable. The resource name of the TagKey's parent. A TagKey can be parented by an Organization or a Project. For a TagKey parented by an Organization, its parent must be in the form `organizations/{org_id}`. For a TagKey parented by a Project, its parent can be in the form `projects/{project_id}` or `projects/{project_number}`. | | | `string` | Optional. A purpose denotes that this Tag is intended for use in policies of a specific policy engine, and will involve that policy engine in management operations involving this Tag. A purpose does not grant a policy engine exclusive rights to the Tag, and it may be referenced by other policy engines. A purpose cannot be changed once set. | | | `object` | Optional. Purpose data corresponds to the policy system that the tag is intended for. See documentation for `Purpose` for formatting of this field. Purpose data cannot be changed once set. | | | `string` | Required. Immutable. The user friendly name for a TagKey. The short name should be unique for TagKeys within the same tag namespace. The short name must be 1-63 characters, beginning and ending with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and alphanumerics between. | | | `string` | Output only. Update time. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Retrieves a TagKey. This method will return `PERMISSION_DENIED` if the key does not exist or the user does not have permission to view it. | -| | `SELECT` | | Lists all TagKeys for a parent resource. | -| | `INSERT` | | Creates a new TagKey. If another request with the same parameters is sent while the original request is in process, the second request will receive an error. A maximum of 1000 TagKeys can exist under a parent at any given time. | +| | `SELECT` | | Lists all TagKeys for a parent resource. | +| | `INSERT` | | Creates a new TagKey. If another request with the same parameters is sent while the original request is in process, the second request will receive an error. A maximum of 1000 TagKeys can exist under a parent at any given time. | | | `DELETE` | | Deletes a TagKey. The TagKey cannot be deleted if it has any child TagValues. | | | `UPDATE` | | Updates the attributes of the TagKey resource. | -| | `EXEC` | | Lists all TagKeys for a parent resource. | + +## `SELECT` examples + +Lists all TagKeys for a parent resource. + +```sql +SELECT +name, +description, +createTime, +etag, +namespacedName, +parent, +purpose, +purposeData, +shortName, +updateTime +FROM google.cloudresourcemanager.tag_keys +WHERE = '{{ }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new tag_keys resource. + + + + +```sql +/*+ create */ +INSERT INTO google.cloudresourcemanager.tag_keys ( +, +name, +parent, +shortName, +namespacedName, +description, +createTime, +updateTime, +etag, +purpose, +purposeData +) +SELECT +'{{ }}', +'{{ name }}', +'{{ parent }}', +'{{ shortName }}', +'{{ namespacedName }}', +'{{ description }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ etag }}', +'{{ purpose }}', +'{{ purposeData }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: parent + value: '{{ parent }}' + - name: shortName + value: '{{ shortName }}' + - name: namespacedName + value: '{{ namespacedName }}' + - name: description + value: '{{ description }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: etag + value: '{{ etag }}' + - name: purpose + value: '{{ purpose }}' + - name: purposeData + value: '{{ purposeData }}' + +``` + + + +## `UPDATE` example + +Updates a tag_key only if the necessary resources are available. + +```sql +UPDATE google.cloudresourcemanager.tag_keys +SET +name = '{{ name }}', +parent = '{{ parent }}', +shortName = '{{ shortName }}', +namespacedName = '{{ namespacedName }}', +description = '{{ description }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +etag = '{{ etag }}', +purpose = '{{ purpose }}', +purposeData = '{{ purposeData }}' +WHERE +tagKeysId = '{{ tagKeysId }}'; +``` + +## `DELETE` example + +Deletes the specified tag_key resource. + +```sql +DELETE FROM google.cloudresourcemanager.tag_keys +WHERE tagKeysId = '{{ tagKeysId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudresourcemanager/tag_keys_iam_policies/index.md b/docs/google-docs/providers/google/cloudresourcemanager/tag_keys_iam_policies/index.md index 9191109dc8..70e51b4b57 100644 --- a/docs/google-docs/providers/google/cloudresourcemanager/tag_keys_iam_policies/index.md +++ b/docs/google-docs/providers/google/cloudresourcemanager/tag_keys_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: tag_keys_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - tag_keys_iam_policies - cloudresourcemanager - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an tag_keys_iam_policy resource or lists tag_keys_iam_policies in a region ## Overview
@@ -30,13 +32,26 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a TagKey. The returned policy may be empty if no such policy or resource exists. The `resource` field should be the TagKey's resource name. For example, "tagKeys/1234". The caller must have `cloudresourcemanager.googleapis.com/tagKeys.getIamPolicy` permission on the specified TagKey. | -| | `EXEC` | | Gets the access control policy for a TagKey. The returned policy may be empty if no such policy or resource exists. The `resource` field should be the TagKey's resource name. For example, "tagKeys/1234". The caller must have `cloudresourcemanager.googleapis.com/tagKeys.getIamPolicy` permission on the specified TagKey. | | | `EXEC` | | Sets the access control policy on a TagKey, replacing any existing policy. The `resource` field should be the TagKey's resource name. For example, "tagKeys/1234". The caller must have `resourcemanager.tagKeys.setIamPolicy` permission on the identified tagValue. | | | `EXEC` | | Returns permissions that a caller has on the specified TagKey. The `resource` field should be the TagKey's resource name. For example, "tagKeys/1234". There are no permissions required for making this API call. | + +## `SELECT` examples + +Gets the access control policy for a TagKey. The returned policy may be empty if no such policy or resource exists. The `resource` field should be the TagKey's resource name. For example, "tagKeys/1234". The caller must have `cloudresourcemanager.googleapis.com/tagKeys.getIamPolicy` permission on the specified TagKey. + +```sql +SELECT +condition, +members, +role +FROM google.cloudresourcemanager.tag_keys_iam_policies +WHERE tagKeysId = '{{ tagKeysId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudresourcemanager/tag_keys_namespaced/index.md b/docs/google-docs/providers/google/cloudresourcemanager/tag_keys_namespaced/index.md index 893746c586..b1de281a31 100644 --- a/docs/google-docs/providers/google/cloudresourcemanager/tag_keys_namespaced/index.md +++ b/docs/google-docs/providers/google/cloudresourcemanager/tag_keys_namespaced/index.md @@ -1,3 +1,4 @@ + --- title: tag_keys_namespaced hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - tag_keys_namespaced - cloudresourcemanager - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an tag_keys_namespaced resource or lists tag_keys_namespaced in a region ## Overview
@@ -30,17 +32,38 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Immutable. The resource name for a TagKey. Must be in the format `tagKeys/{tag_key_id}`, where `tag_key_id` is the generated numeric id for the TagKey. | +| | `string` | Immutable. The resource name for a TagKey. Must be in the format `tagKeys/{tag_key_id}`, where `tag_key_id` is the generated numeric id for the TagKey. | | | `string` | Optional. User-assigned description of the TagKey. Must not exceed 256 characters. Read-write. | | | `string` | Output only. Creation time. | | | `string` | Optional. Entity tag which users can pass to prevent race conditions. This field is always set in server responses. See UpdateTagKeyRequest for details. | | | `string` | Output only. Immutable. Namespaced name of the TagKey. | -| | `string` | Immutable. The resource name of the TagKey's parent. A TagKey can be parented by an Organization or a Project. For a TagKey parented by an Organization, its parent must be in the form `organizations/{org_id}`. For a TagKey parented by a Project, its parent can be in the form `projects/{project_id}` or `projects/{project_number}`. | +| | `string` | Immutable. The resource name of the TagKey's parent. A TagKey can be parented by an Organization or a Project. For a TagKey parented by an Organization, its parent must be in the form `organizations/{org_id}`. For a TagKey parented by a Project, its parent can be in the form `projects/{project_id}` or `projects/{project_number}`. | | | `string` | Optional. A purpose denotes that this Tag is intended for use in policies of a specific policy engine, and will involve that policy engine in management operations involving this Tag. A purpose does not grant a policy engine exclusive rights to the Tag, and it may be referenced by other policy engines. A purpose cannot be changed once set. | | | `object` | Optional. Purpose data corresponds to the policy system that the tag is intended for. See documentation for `Purpose` for formatting of this field. Purpose data cannot be changed once set. | | | `string` | Required. Immutable. The user friendly name for a TagKey. The short name should be unique for TagKeys within the same tag namespace. The short name must be 1-63 characters, beginning and ending with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and alphanumerics between. | | | `string` | Output only. Update time. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Retrieves a TagKey by its namespaced name. This method will return `PERMISSION_DENIED` if the key does not exist or the user does not have permission to view it. | + +## `SELECT` examples + +Retrieves a TagKey by its namespaced name. This method will return `PERMISSION_DENIED` if the key does not exist or the user does not have permission to view it. + +```sql +SELECT +name, +description, +createTime, +etag, +namespacedName, +parent, +purpose, +purposeData, +shortName, +updateTime +FROM google.cloudresourcemanager.tag_keys_namespaced +WHERE = '{{ }}'; +``` diff --git a/docs/google-docs/providers/google/cloudresourcemanager/tag_values/index.md b/docs/google-docs/providers/google/cloudresourcemanager/tag_values/index.md index e20bfb867b..575bbb2897 100644 --- a/docs/google-docs/providers/google/cloudresourcemanager/tag_values/index.md +++ b/docs/google-docs/providers/google/cloudresourcemanager/tag_values/index.md @@ -1,3 +1,4 @@ + --- title: tag_values hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - tag_values - cloudresourcemanager - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an tag_value resource or lists tag_values in a region ## Overview
@@ -34,16 +36,128 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Optional. User-assigned description of the TagValue. Must not exceed 256 characters. Read-write. | | | `string` | Output only. Creation time. | | | `string` | Optional. Entity tag which users can pass to prevent race conditions. This field is always set in server responses. See UpdateTagValueRequest for details. | -| | `string` | Output only. The namespaced name of the TagValue. Can be in the form `{organization_id}/{tag_key_short_name}/{tag_value_short_name}` or `{project_id}/{tag_key_short_name}/{tag_value_short_name}` or `{project_number}/{tag_key_short_name}/{tag_value_short_name}`. | -| | `string` | Immutable. The resource name of the new TagValue's parent TagKey. Must be of the form `tagKeys/{tag_key_id}`. | +| | `string` | Output only. The namespaced name of the TagValue. Can be in the form `{organization_id}/{tag_key_short_name}/{tag_value_short_name}` or `{project_id}/{tag_key_short_name}/{tag_value_short_name}` or `{project_number}/{tag_key_short_name}/{tag_value_short_name}`. | +| | `string` | Immutable. The resource name of the new TagValue's parent TagKey. Must be of the form `tagKeys/{tag_key_id}`. | | | `string` | Required. Immutable. User-assigned short name for TagValue. The short name should be unique for TagValues within the same parent TagKey. The short name must be 63 characters or less, beginning and ending with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and alphanumerics between. | | | `string` | Output only. Update time. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Retrieves a TagValue. This method will return `PERMISSION_DENIED` if the value does not exist or the user does not have permission to view it. | -| | `SELECT` | | Lists all TagValues for a specific TagKey. | -| | `INSERT` | | Creates a TagValue as a child of the specified TagKey. If a another request with the same parameters is sent while the original request is in process the second request will receive an error. A maximum of 1000 TagValues can exist under a TagKey at any given time. | +| | `SELECT` | | Lists all TagValues for a specific TagKey. | +| | `INSERT` | | Creates a TagValue as a child of the specified TagKey. If a another request with the same parameters is sent while the original request is in process the second request will receive an error. A maximum of 1000 TagValues can exist under a TagKey at any given time. | | | `DELETE` | | Deletes a TagValue. The TagValue cannot have any bindings when it is deleted. | | | `UPDATE` | | Updates the attributes of the TagValue resource. | -| | `EXEC` | | Lists all TagValues for a specific TagKey. | + +## `SELECT` examples + +Lists all TagValues for a specific TagKey. + +```sql +SELECT +name, +description, +createTime, +etag, +namespacedName, +parent, +shortName, +updateTime +FROM google.cloudresourcemanager.tag_values +WHERE = '{{ }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new tag_values resource. + + + + +```sql +/*+ create */ +INSERT INTO google.cloudresourcemanager.tag_values ( +, +name, +parent, +shortName, +namespacedName, +description, +createTime, +updateTime, +etag +) +SELECT +'{{ }}', +'{{ name }}', +'{{ parent }}', +'{{ shortName }}', +'{{ namespacedName }}', +'{{ description }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ etag }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: parent + value: '{{ parent }}' + - name: shortName + value: '{{ shortName }}' + - name: namespacedName + value: '{{ namespacedName }}' + - name: description + value: '{{ description }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: etag + value: '{{ etag }}' + +``` + + + +## `UPDATE` example + +Updates a tag_value only if the necessary resources are available. + +```sql +UPDATE google.cloudresourcemanager.tag_values +SET +name = '{{ name }}', +parent = '{{ parent }}', +shortName = '{{ shortName }}', +namespacedName = '{{ namespacedName }}', +description = '{{ description }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +etag = '{{ etag }}' +WHERE +tagValuesId = '{{ tagValuesId }}'; +``` + +## `DELETE` example + +Deletes the specified tag_value resource. + +```sql +DELETE FROM google.cloudresourcemanager.tag_values +WHERE tagValuesId = '{{ tagValuesId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudresourcemanager/tag_values_iam_policies/index.md b/docs/google-docs/providers/google/cloudresourcemanager/tag_values_iam_policies/index.md index 8fd6f35787..7238b4f45a 100644 --- a/docs/google-docs/providers/google/cloudresourcemanager/tag_values_iam_policies/index.md +++ b/docs/google-docs/providers/google/cloudresourcemanager/tag_values_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: tag_values_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - tag_values_iam_policies - cloudresourcemanager - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an tag_values_iam_policy resource or lists tag_values_iam_policies in a region ## Overview
@@ -30,13 +32,26 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a TagValue. The returned policy may be empty if no such policy or resource exists. The `resource` field should be the TagValue's resource name. For example: `tagValues/1234`. The caller must have the `cloudresourcemanager.googleapis.com/tagValues.getIamPolicy` permission on the identified TagValue to get the access control policy. | -| | `EXEC` | | Gets the access control policy for a TagValue. The returned policy may be empty if no such policy or resource exists. The `resource` field should be the TagValue's resource name. For example: `tagValues/1234`. The caller must have the `cloudresourcemanager.googleapis.com/tagValues.getIamPolicy` permission on the identified TagValue to get the access control policy. | | | `EXEC` | | Sets the access control policy on a TagValue, replacing any existing policy. The `resource` field should be the TagValue's resource name. For example: `tagValues/1234`. The caller must have `resourcemanager.tagValues.setIamPolicy` permission on the identified tagValue. | | | `EXEC` | | Returns permissions that a caller has on the specified TagValue. The `resource` field should be the TagValue's resource name. For example: `tagValues/1234`. There are no permissions required for making this API call. | + +## `SELECT` examples + +Gets the access control policy for a TagValue. The returned policy may be empty if no such policy or resource exists. The `resource` field should be the TagValue's resource name. For example: `tagValues/1234`. The caller must have the `cloudresourcemanager.googleapis.com/tagValues.getIamPolicy` permission on the identified TagValue to get the access control policy. + +```sql +SELECT +condition, +members, +role +FROM google.cloudresourcemanager.tag_values_iam_policies +WHERE tagValuesId = '{{ tagValuesId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudresourcemanager/tag_values_namespaced/index.md b/docs/google-docs/providers/google/cloudresourcemanager/tag_values_namespaced/index.md index 92b27f3ac9..93f2c2fe43 100644 --- a/docs/google-docs/providers/google/cloudresourcemanager/tag_values_namespaced/index.md +++ b/docs/google-docs/providers/google/cloudresourcemanager/tag_values_namespaced/index.md @@ -1,3 +1,4 @@ + --- title: tag_values_namespaced hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - tag_values_namespaced - cloudresourcemanager - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an tag_values_namespaced resource or lists tag_values_namespaced in a region ## Overview
@@ -34,11 +36,30 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Optional. User-assigned description of the TagValue. Must not exceed 256 characters. Read-write. | | | `string` | Output only. Creation time. | | | `string` | Optional. Entity tag which users can pass to prevent race conditions. This field is always set in server responses. See UpdateTagValueRequest for details. | -| | `string` | Output only. The namespaced name of the TagValue. Can be in the form `{organization_id}/{tag_key_short_name}/{tag_value_short_name}` or `{project_id}/{tag_key_short_name}/{tag_value_short_name}` or `{project_number}/{tag_key_short_name}/{tag_value_short_name}`. | -| | `string` | Immutable. The resource name of the new TagValue's parent TagKey. Must be of the form `tagKeys/{tag_key_id}`. | +| | `string` | Output only. The namespaced name of the TagValue. Can be in the form `{organization_id}/{tag_key_short_name}/{tag_value_short_name}` or `{project_id}/{tag_key_short_name}/{tag_value_short_name}` or `{project_number}/{tag_key_short_name}/{tag_value_short_name}`. | +| | `string` | Immutable. The resource name of the new TagValue's parent TagKey. Must be of the form `tagKeys/{tag_key_id}`. | | | `string` | Required. Immutable. User-assigned short name for TagValue. The short name should be unique for TagValues within the same parent TagKey. The short name must be 63 characters or less, beginning and ending with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and alphanumerics between. | | | `string` | Output only. Update time. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Retrieves a TagValue by its namespaced name. This method will return `PERMISSION_DENIED` if the value does not exist or the user does not have permission to view it. | + +## `SELECT` examples + +Retrieves a TagValue by its namespaced name. This method will return `PERMISSION_DENIED` if the value does not exist or the user does not have permission to view it. + +```sql +SELECT +name, +description, +createTime, +etag, +namespacedName, +parent, +shortName, +updateTime +FROM google.cloudresourcemanager.tag_values_namespaced +WHERE = '{{ }}'; +``` diff --git a/docs/google-docs/providers/google/cloudscheduler/index.md b/docs/google-docs/providers/google/cloudscheduler/index.md index 2217bcd527..68c8e666eb 100644 --- a/docs/google-docs/providers/google/cloudscheduler/index.md +++ b/docs/google-docs/providers/google/cloudscheduler/index.md @@ -9,40 +9,29 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Creates and manages jobs run on a regular recurring schedule. - +The cloudscheduler service documentation. + :::info Service Summary
total resources: 2
-total selectable resources: 2
-total methods: 12
::: -## Overview -
- - - - - -
Namegoogle.cloudscheduler
TypeService
TitleCloud Scheduler API
DescriptionCreates and manages jobs run on a regular recurring schedule.
Idcloudscheduler:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/cloudscheduler/jobs/index.md b/docs/google-docs/providers/google/cloudscheduler/jobs/index.md index 723aa6a951..b1751cb430 100644 --- a/docs/google-docs/providers/google/cloudscheduler/jobs/index.md +++ b/docs/google-docs/providers/google/cloudscheduler/jobs/index.md @@ -1,3 +1,4 @@ + --- title: jobs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - jobs - cloudscheduler - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an job resource or lists jobs in a region ## Overview @@ -38,12 +40,13 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The time the last job attempt started. | | | `object` | Pub/Sub target. The job will be delivered by publishing a message to the given Pub/Sub topic. | | | `object` | Settings that determine the retry behavior. By default, if a job does not complete successfully (meaning that an acknowledgement is not received from the handler, then it will be retried with exponential backoff according to the settings in RetryConfig. | -| | `string` | Required, except when used with UpdateJob. Describes the schedule on which the job will be executed. The schedule can be either of the following types: * [Crontab](https://en.wikipedia.org/wiki/Cron#Overview) * English-like [schedule](https://cloud.google.com/scheduler/docs/configuring/cron-job-schedules) As a general rule, execution `n + 1` of a job will not begin until execution `n` has finished. Cloud Scheduler will never allow two simultaneously outstanding executions. For example, this implies that if the `n+1`th execution is scheduled to run at 16:00 but the `n`th execution takes until 16:15, the `n+1`th execution will not start until `16:15`. A scheduled start time will be delayed if the previous execution has not ended when its scheduled time occurs. If retry_count > 0 and a job attempt fails, the job will be tried a total of retry_count times, with exponential backoff, until the next scheduled start time. If retry_count is 0, a job attempt will not be retried if it fails. Instead the Cloud Scheduler system will wait for the next scheduled execution time. Setting retry_count to 0 does not prevent failed jobs from running according to schedule after the failure. | +| | `string` | Required, except when used with UpdateJob. Describes the schedule on which the job will be executed. The schedule can be either of the following types: * [Crontab](https://en.wikipedia.org/wiki/Cron#Overview) * English-like [schedule](https://cloud.google.com/scheduler/docs/configuring/cron-job-schedules) As a general rule, execution `n + 1` of a job will not begin until execution `n` has finished. Cloud Scheduler will never allow two simultaneously outstanding executions. For example, this implies that if the `n+1`th execution is scheduled to run at 16:00 but the `n`th execution takes until 16:15, the `n+1`th execution will not start until `16:15`. A scheduled start time will be delayed if the previous execution has not ended when its scheduled time occurs. If retry_count > 0 and a job attempt fails, the job will be tried a total of retry_count times, with exponential backoff, until the next scheduled start time. If retry_count is 0, a job attempt will not be retried if it fails. Instead the Cloud Scheduler system will wait for the next scheduled execution time. Setting retry_count to 0 does not prevent failed jobs from running according to schedule after the failure. | | | `string` | Output only. The next time the job is scheduled. Note that this may be a retry of a previously failed attempt or the next execution time according to the schedule. | | | `string` | Output only. State of the job. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `string` | Specifies the time zone to be used in interpreting schedule. The value of this field must be a time zone name from the [tz database](http://en.wikipedia.org/wiki/Tz_database). Note that some time zones include a provision for daylight savings time. The rules for daylight saving time are determined by the chosen tz. For UTC use the string "utc". If a time zone is not specified, the default will be in UTC (also known as GMT). | | | `string` | Output only. The creation time of the job. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -52,7 +55,161 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a job. | | | `DELETE` | | Deletes a job. | | | `UPDATE` | | Updates a job. If successful, the updated Job is returned. If the job does not exist, `NOT_FOUND` is returned. If UpdateJob does not successfully return, it is possible for the job to be in an Job.State.UPDATE_FAILED state. A job in this state may not be executed. If this happens, retry the UpdateJob request until a successful response is received. | -| | `EXEC` | | Lists jobs. | | | `EXEC` | | Pauses a job. If a job is paused then the system will stop executing the job until it is re-enabled via ResumeJob. The state of the job is stored in state; if paused it will be set to Job.State.PAUSED. A job must be in Job.State.ENABLED to be paused. | | | `EXEC` | | Resume a job. This method reenables a job after it has been Job.State.PAUSED. The state of a job is stored in Job.state; after calling this method it will be set to Job.State.ENABLED. A job must be in Job.State.PAUSED to be resumed. | | | `EXEC` | | Forces a job to run now. When this method is called, Cloud Scheduler will dispatch the job, even if the job is already running. | + +## `SELECT` examples + +Lists jobs. + +```sql +SELECT +name, +description, +appEngineHttpTarget, +attemptDeadline, +httpTarget, +lastAttemptTime, +pubsubTarget, +retryConfig, +schedule, +scheduleTime, +state, +status, +timeZone, +userUpdateTime +FROM google.cloudscheduler.jobs +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new jobs resource. + + + + +```sql +/*+ create */ +INSERT INTO google.cloudscheduler.jobs ( +locationsId, +projectsId, +name, +description, +pubsubTarget, +appEngineHttpTarget, +httpTarget, +schedule, +timeZone, +userUpdateTime, +state, +status, +scheduleTime, +lastAttemptTime, +retryConfig, +attemptDeadline +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ description }}', +'{{ pubsubTarget }}', +'{{ appEngineHttpTarget }}', +'{{ httpTarget }}', +'{{ schedule }}', +'{{ timeZone }}', +'{{ userUpdateTime }}', +'{{ state }}', +'{{ status }}', +'{{ scheduleTime }}', +'{{ lastAttemptTime }}', +'{{ retryConfig }}', +'{{ attemptDeadline }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: pubsubTarget + value: '{{ pubsubTarget }}' + - name: appEngineHttpTarget + value: '{{ appEngineHttpTarget }}' + - name: httpTarget + value: '{{ httpTarget }}' + - name: schedule + value: '{{ schedule }}' + - name: timeZone + value: '{{ timeZone }}' + - name: userUpdateTime + value: '{{ userUpdateTime }}' + - name: state + value: '{{ state }}' + - name: status + value: '{{ status }}' + - name: scheduleTime + value: '{{ scheduleTime }}' + - name: lastAttemptTime + value: '{{ lastAttemptTime }}' + - name: retryConfig + value: '{{ retryConfig }}' + - name: attemptDeadline + value: '{{ attemptDeadline }}' + +``` + + + +## `UPDATE` example + +Updates a job only if the necessary resources are available. + +```sql +UPDATE google.cloudscheduler.jobs +SET +name = '{{ name }}', +description = '{{ description }}', +pubsubTarget = '{{ pubsubTarget }}', +appEngineHttpTarget = '{{ appEngineHttpTarget }}', +httpTarget = '{{ httpTarget }}', +schedule = '{{ schedule }}', +timeZone = '{{ timeZone }}', +userUpdateTime = '{{ userUpdateTime }}', +state = '{{ state }}', +status = '{{ status }}', +scheduleTime = '{{ scheduleTime }}', +lastAttemptTime = '{{ lastAttemptTime }}', +retryConfig = '{{ retryConfig }}', +attemptDeadline = '{{ attemptDeadline }}' +WHERE +jobsId = '{{ jobsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified job resource. + +```sql +DELETE FROM google.cloudscheduler.jobs +WHERE jobsId = '{{ jobsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudscheduler/locations/index.md b/docs/google-docs/providers/google/cloudscheduler/locations/index.md index bdea5bfbe2..ba018a9ec0 100644 --- a/docs/google-docs/providers/google/cloudscheduler/locations/index.md +++ b/docs/google-docs/providers/google/cloudscheduler/locations/index.md @@ -1,3 +1,4 @@ + --- title: locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - locations - cloudscheduler - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an location resource or lists locations in a region ## Overview
@@ -32,12 +34,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` | | | `string` | The friendly name for this location, typically a nearby city name. For example, "Tokyo". | -| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | +| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | | | `string` | The canonical id for this location. For example: `"us-east1"`. | | | `object` | Service-specific metadata. For example the available capacity at the given location. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about a location. | | | `SELECT` | | Lists information about the supported locations for this service. | -| | `EXEC` | | Lists information about the supported locations for this service. | + +## `SELECT` examples + +Lists information about the supported locations for this service. + +```sql +SELECT +name, +displayName, +labels, +locationId, +metadata +FROM google.cloudscheduler.locations +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudshell/environments/index.md b/docs/google-docs/providers/google/cloudshell/environments/index.md index b5391eb145..32dd294a8e 100644 --- a/docs/google-docs/providers/google/cloudshell/environments/index.md +++ b/docs/google-docs/providers/google/cloudshell/environments/index.md @@ -1,3 +1,4 @@ + --- title: environments hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - environments - cloudshell - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an environment resource or lists environments in a region ## Overview
@@ -31,7 +33,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | Name | Datatype | Description | |:-----|:---------|:------------| | | `string` | Output only. The environment's identifier, unique among the user's environments. | -| | `string` | Immutable. Full name of this resource, in the format `users/{owner_email}/environments/{environment_id}`. `{owner_email}` is the email address of the user to whom this environment belongs, and `{environment_id}` is the identifier of this environment. For example, `users/someone@example.com/environments/default`. | +| | `string` | Immutable. Full name of this resource, in the format `users/{owner_email}/environments/{environment_id}`. `{owner_email}` is the email address of the user to whom this environment belongs, and `{environment_id}` is the identifier of this environment. For example, `users/someone@example.com/environments/default`. | | | `string` | Required. Immutable. Full path to the Docker image used to run this environment, e.g. "gcr.io/dev-con/cloud-devshell:latest". | | | `array` | Output only. Public keys associated with the environment. Clients can connect to this environment via SSH only if they possess a private key corresponding to at least one of these public keys. Keys can be added to or removed from the environment using the AddPublicKey and RemovePublicKey methods. | | | `string` | Output only. Host to which clients can connect to initiate SSH sessions with the environment. | @@ -39,9 +41,30 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Username that clients should use when initiating SSH sessions with the environment. | | | `string` | Output only. Current execution state of this environment. | | | `string` | Output only. Host to which clients can connect to initiate HTTPS or WSS connections with the environment. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets an environment. Returns NOT_FOUND if the environment does not exist. | | | `EXEC` | | Sends OAuth credentials to a running environment on behalf of a user. When this completes, the environment will be authorized to run various Google Cloud command line tools without requiring the user to manually authenticate. | | | `EXEC` | | Starts an existing environment, allowing clients to connect to it. The returned operation will contain an instance of StartEnvironmentMetadata in its metadata field. Users can wait for the environment to start by polling this operation via GetOperation. Once the environment has finished starting and is ready to accept connections, the operation will contain a StartEnvironmentResponse in its response field. | + +## `SELECT` examples + +Gets an environment. Returns NOT_FOUND if the environment does not exist. + +```sql +SELECT +id, +name, +dockerImage, +publicKeys, +sshHost, +sshPort, +sshUsername, +state, +webHost +FROM google.cloudshell.environments +WHERE environmentsId = '{{ environmentsId }}' +AND usersId = '{{ usersId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudshell/environments_public_key/index.md b/docs/google-docs/providers/google/cloudshell/environments_public_key/index.md index c7e9880f71..4f3d3f10c8 100644 --- a/docs/google-docs/providers/google/cloudshell/environments_public_key/index.md +++ b/docs/google-docs/providers/google/cloudshell/environments_public_key/index.md @@ -1,3 +1,4 @@ + --- title: environments_public_key hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - environments_public_key - cloudshell - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an environments_public_key resource or lists environments_public_key in a region ## Overview
@@ -28,9 +30,61 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| -| | `EXEC` | | Adds a public SSH key to an environment, allowing clients with the corresponding private key to connect to that environment via SSH. If a key with the same content already exists, this will error with ALREADY_EXISTS. | -| | `EXEC` | | Removes a public SSH key from an environment. Clients will no longer be able to connect to the environment using the corresponding private key. If a key with the same content is not present, this will error with NOT_FOUND. | +| | `INSERT` | | Adds a public SSH key to an environment, allowing clients with the corresponding private key to connect to that environment via SSH. If a key with the same content already exists, this will error with ALREADY_EXISTS. | +| | `DELETE` | | Removes a public SSH key from an environment. Clients will no longer be able to connect to the environment using the corresponding private key. If a key with the same content is not present, this will error with NOT_FOUND. | + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new environments_public_key resource. + + + + +```sql +/*+ create */ +INSERT INTO google.cloudshell.environments_public_key ( +environmentsId, +usersId, +key +) +SELECT +'{{ environmentsId }}', +'{{ usersId }}', +'{{ key }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: key + value: '{{ key }}' + +``` + + + +## `DELETE` example + +Deletes the specified environments_public_key resource. + +```sql +DELETE FROM google.cloudshell.environments_public_key +WHERE environmentsId = '{{ environmentsId }}' +AND usersId = '{{ usersId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudshell/index.md b/docs/google-docs/providers/google/cloudshell/index.md index c9f4c69773..943ed9d9b7 100644 --- a/docs/google-docs/providers/google/cloudshell/index.md +++ b/docs/google-docs/providers/google/cloudshell/index.md @@ -9,41 +9,30 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Allows users to start, configure, and connect to interactive shell sessions running in the cloud. - +The cloudshell service documentation. + :::info Service Summary
total resources: 3
-total selectable resources: 2
-total methods: 10
::: -## Overview - - - - - - -
Namegoogle.cloudshell
TypeService
TitleCloud Shell API
DescriptionAllows users to start, configure, and connect to interactive shell sessions running in the cloud.
Idcloudshell:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/cloudshell/operations/index.md b/docs/google-docs/providers/google/cloudshell/operations/index.md index d366871777..0aae494d1b 100644 --- a/docs/google-docs/providers/google/cloudshell/operations/index.md +++ b/docs/google-docs/providers/google/cloudshell/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - cloudshell - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview @@ -30,16 +32,40 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | -| | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | +| | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.cloudshell.operations +WHERE = '{{ }}'; +``` + +## `DELETE` example + +Deletes the specified operation resource. + +```sql +DELETE FROM google.cloudshell.operations +WHERE operationsId = '{{ operationsId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudsupport/attachments/index.md b/docs/google-docs/providers/google/cloudsupport/attachments/index.md index 8d7c8983ba..caaa50c55c 100644 --- a/docs/google-docs/providers/google/cloudsupport/attachments/index.md +++ b/docs/google-docs/providers/google/cloudsupport/attachments/index.md @@ -1,3 +1,4 @@ + --- title: attachments hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - attachments - cloudsupport - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an attachment resource or lists attachments in a region ## Overview
@@ -36,8 +38,25 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The filename of the attachment (e.g. `"graph.jpg"`). | | | `string` | Output only. The MIME type of the attachment (e.g. text/plain). | | | `string` | Output only. The size of the attachment in bytes. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | List all the attachments associated with a support case. EXAMPLES: cURL: ```shell case="projects/some-project/cases/23598314" curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://cloudsupport.googleapis.com/v2/$case/attachments" ``` Python: ```python import googleapiclient.discovery api_version = "v2" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = ( supportApiService.cases() .attachments() .list(parent="projects/some-project/cases/43595344") ) print(request.execute()) ``` | + +## `SELECT` examples + +List all the attachments associated with a support case. EXAMPLES: cURL: ```shell case="projects/some-project/cases/23598314" curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://cloudsupport.googleapis.com/v2/$case/attachments" ``` Python: ```python import googleapiclient.discovery api_version = "v2" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = ( supportApiService.cases() .attachments() .list(parent="projects/some-project/cases/43595344") ) print(request.execute()) ``` + +```sql +SELECT +name, +createTime, +creator, +filename, +mimeType, +sizeBytes +FROM google.cloudsupport.attachments +WHERE parent = '{{ parent }}' +AND parentType = '{{ parentType }}'; +``` diff --git a/docs/google-docs/providers/google/cloudsupport/case_classifications/index.md b/docs/google-docs/providers/google/cloudsupport/case_classifications/index.md index 9ebbd61161..ae50f471e3 100644 --- a/docs/google-docs/providers/google/cloudsupport/case_classifications/index.md +++ b/docs/google-docs/providers/google/cloudsupport/case_classifications/index.md @@ -1,3 +1,4 @@ + --- title: case_classifications hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - case_classifications - cloudsupport - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an case_classification resource or lists case_classifications in a region ## Overview
@@ -28,8 +30,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Retrieve valid classifications to use when creating a support case. Classifications are hierarchical. Each classification is a string containing all levels of the hierarchy separated by `" > "`. For example, `"Technical Issue > Compute > Compute Engine"`. Classification IDs returned by this endpoint are valid for at least six months. When a classification is deactivated, this endpoint immediately stops returning it. After six months, `case.create` requests using the classification will fail. EXAMPLES: cURL: ```shell curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ 'https://cloudsupport.googleapis.com/v2/caseClassifications:search?query=display_name:"*Compute%20Engine*"' ``` Python: ```python import googleapiclient.discovery supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version="v2", discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version=v2", ) request = supportApiService.caseClassifications().search( query='display_name:"*Compute Engine*"' ) print(request.execute()) ``` | diff --git a/docs/google-docs/providers/google/cloudsupport/cases/index.md b/docs/google-docs/providers/google/cloudsupport/cases/index.md index 44b05731ab..923c7dca1a 100644 --- a/docs/google-docs/providers/google/cloudsupport/cases/index.md +++ b/docs/google-docs/providers/google/cloudsupport/cases/index.md @@ -1,3 +1,4 @@ + --- title: cases hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - cases - cloudsupport - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an case resource or lists cases in a region ## Overview @@ -45,11 +47,159 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `boolean` | Whether this case was created for internal API testing and should not be acted on by the support team. | | | `string` | The timezone of the user who created the support case. It should be in a format IANA recognizes: https://www.iana.org/time-zones. There is no additional validation done by the API. | | | `string` | Output only. The time this case was last updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| -| | `SELECT` | | Retrieve all cases under a parent, but not its children. For example, listing cases under an organization only returns the cases that are directly parented by that organization. To retrieve cases under an organization and its projects, use `cases.search`. EXAMPLES: cURL: ```shell parent="projects/some-project" curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://cloudsupport.googleapis.com/v2/$parent/cases" ``` Python: ```python import googleapiclient.discovery api_version = "v2" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = supportApiService.cases().list(parent="projects/some-project") print(request.execute()) ``` | -| | `INSERT` | | Create a new case and associate it with a parent. It must have the following fields set: `display_name`, `description`, `classification`, and `priority`. If you're just testing the API and don't want to route your case to an agent, set `testCase=true`. EXAMPLES: cURL: ```shell parent="projects/some-project" curl \ --request POST \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ --header 'Content-Type: application/json' \ --data '{ "display_name": "Test case created by me.", "description": "a random test case, feel free to close", "classification": { "id": "100IK2AKCLHMGRJ9CDGMOCGP8DM6UTB4BT262T31BT1M2T31DHNMENPO6KS36CPJ786L2TBFEHGN6NPI64R3CDHN8880G08I1H3MURR7DHII0GRCDTQM8" }, "time_zone": "-07:00", "subscriber_email_addresses": [ "foo@domain.com", "bar@domain.com" ], "testCase": true, "priority": "P3" }' \ "https://cloudsupport.googleapis.com/v2/$parent/cases" ``` Python: ```python import googleapiclient.discovery api_version = "v2" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = supportApiService.cases().create( parent="projects/some-project", body={ "displayName": "A Test Case", "description": "This is a test case.", "testCase": True, "priority": "P2", "classification": { "id": "100IK2AKCLHMGRJ9CDGMOCGP8DM6UTB4BT262T31BT1M2T31DHNMENPO6KS36CPJ786L2TBFEHGN6NPI64R3CDHN8880G08I1H3MURR7DHII0GRCDTQM8" }, }, ) print(request.execute()) ``` | -| | `UPDATE` | | Update a case. Only some fields can be updated. EXAMPLES: cURL: ```shell case="projects/some-project/cases/43595344" curl \ --request PATCH \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ --header "Content-Type: application/json" \ --data '{ "priority": "P1" }' \ "https://cloudsupport.googleapis.com/v2/$case?updateMask=priority" ``` Python: ```python import googleapiclient.discovery api_version = "v2" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = supportApiService.cases().patch( name="projects/some-project/cases/43112854", body={ "displayName": "This is Now a New Title", "priority": "P2", }, ) print(request.execute()) ``` | -| | `EXEC` | | Retrieve all cases under a parent, but not its children. For example, listing cases under an organization only returns the cases that are directly parented by that organization. To retrieve cases under an organization and its projects, use `cases.search`. EXAMPLES: cURL: ```shell parent="projects/some-project" curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://cloudsupport.googleapis.com/v2/$parent/cases" ``` Python: ```python import googleapiclient.discovery api_version = "v2" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = supportApiService.cases().list(parent="projects/some-project") print(request.execute()) ``` | -| | `EXEC` | | Escalate a case, starting the Google Cloud Support escalation management process. This operation is only available for some support services. Go to https://cloud.google.com/support and look for 'Technical support escalations' in the feature list to find out which ones let you do that. EXAMPLES: cURL: ```shell case="projects/some-project/cases/43595344" curl \ --request POST \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ --header "Content-Type: application/json" \ --data '{ "escalation": { "reason": "BUSINESS_IMPACT", "justification": "This is a test escalation." } }' \ "https://cloudsupport.googleapis.com/v2/$case:escalate" ``` Python: ```python import googleapiclient.discovery api_version = "v2" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = supportApiService.cases().escalate( name="projects/some-project/cases/43595344", body={ "escalation": { "reason": "BUSINESS_IMPACT", "justification": "This is a test escalation.", }, }, ) print(request.execute()) ``` | +| | `SELECT` | | Retrieve all cases under a parent, but not its children. For example, listing cases under an organization only returns the cases that are directly parented by that organization. To retrieve cases under an organization and its projects, use `cases.search`. EXAMPLES: cURL: ```shell parent="projects/some-project" curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://cloudsupport.googleapis.com/v2/$parent/cases" ``` Python: ```python import googleapiclient.discovery api_version = "v2" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = supportApiService.cases().list(parent="projects/some-project") print(request.execute()) ``` | +| | `INSERT` | | Create a new case and associate it with a parent. It must have the following fields set: `display_name`, `description`, `classification`, and `priority`. If you're just testing the API and don't want to route your case to an agent, set `testCase=true`. EXAMPLES: cURL: ```shell parent="projects/some-project" curl \ --request POST \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ --header 'Content-Type: application/json' \ --data '{ "display_name": "Test case created by me.", "description": "a random test case, feel free to close", "classification": { "id": "100IK2AKCLHMGRJ9CDGMOCGP8DM6UTB4BT262T31BT1M2T31DHNMENPO6KS36CPJ786L2TBFEHGN6NPI64R3CDHN8880G08I1H3MURR7DHII0GRCDTQM8" }, "time_zone": "-07:00", "subscriber_email_addresses": [ "foo@domain.com", "bar@domain.com" ], "testCase": true, "priority": "P3" }' \ "https://cloudsupport.googleapis.com/v2/$parent/cases" ``` Python: ```python import googleapiclient.discovery api_version = "v2" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = supportApiService.cases().create( parent="projects/some-project", body={ "displayName": "A Test Case", "description": "This is a test case.", "testCase": True, "priority": "P2", "classification": { "id": "100IK2AKCLHMGRJ9CDGMOCGP8DM6UTB4BT262T31BT1M2T31DHNMENPO6KS36CPJ786L2TBFEHGN6NPI64R3CDHN8880G08I1H3MURR7DHII0GRCDTQM8" }, }, ) print(request.execute()) ``` | +| | `UPDATE` | | Update a case. Only some fields can be updated. EXAMPLES: cURL: ```shell case="projects/some-project/cases/43595344" curl \ --request PATCH \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ --header "Content-Type: application/json" \ --data '{ "priority": "P1" }' \ "https://cloudsupport.googleapis.com/v2/$case?updateMask=priority" ``` Python: ```python import googleapiclient.discovery api_version = "v2" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = supportApiService.cases().patch( name="projects/some-project/cases/43112854", body={ "displayName": "This is Now a New Title", "priority": "P2", }, ) print(request.execute()) ``` | +| | `EXEC` | | Escalate a case, starting the Google Cloud Support escalation management process. This operation is only available for some support services. Go to https://cloud.google.com/support and look for 'Technical support escalations' in the feature list to find out which ones let you do that. EXAMPLES: cURL: ```shell case="projects/some-project/cases/43595344" curl \ --request POST \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ --header "Content-Type: application/json" \ --data '{ "escalation": { "reason": "BUSINESS_IMPACT", "justification": "This is a test escalation." } }' \ "https://cloudsupport.googleapis.com/v2/$case:escalate" ``` Python: ```python import googleapiclient.discovery api_version = "v2" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = supportApiService.cases().escalate( name="projects/some-project/cases/43595344", body={ "escalation": { "reason": "BUSINESS_IMPACT", "justification": "This is a test escalation.", }, }, ) print(request.execute()) ``` | + +## `SELECT` examples + +Retrieve all cases under a parent, but not its children. For example, listing cases under an organization only returns the cases that are directly parented by that organization. To retrieve cases under an organization and its projects, use `cases.search`. EXAMPLES: cURL: ```shell parent="projects/some-project" curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://cloudsupport.googleapis.com/v2/$parent/cases" ``` Python: ```python import googleapiclient.discovery api_version = "v2" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = supportApiService.cases().list(parent="projects/some-project") print(request.execute()) ``` + +```sql +SELECT +name, +description, +classification, +contactEmail, +createTime, +creator, +displayName, +escalated, +languageCode, +priority, +state, +subscriberEmailAddresses, +testCase, +timeZone, +updateTime +FROM google.cloudsupport.cases +WHERE parent = '{{ parent }}' +AND parentType = '{{ parentType }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new cases resource. + + + + +```sql +/*+ create */ +INSERT INTO google.cloudsupport.cases ( +parent, +parentType, +timeZone, +subscriberEmailAddresses, +creator, +createTime, +name, +languageCode, +testCase, +classification, +description, +priority, +state, +escalated, +displayName, +updateTime, +contactEmail +) +SELECT +'{{ parent }}', +'{{ parentType }}', +'{{ timeZone }}', +'{{ subscriberEmailAddresses }}', +'{{ creator }}', +'{{ createTime }}', +'{{ name }}', +'{{ languageCode }}', +true|false, +'{{ classification }}', +'{{ description }}', +'{{ priority }}', +'{{ state }}', +true|false, +'{{ displayName }}', +'{{ updateTime }}', +'{{ contactEmail }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: timeZone + value: '{{ timeZone }}' + - name: subscriberEmailAddresses + value: '{{ subscriberEmailAddresses }}' + - name: creator + value: '{{ creator }}' + - name: createTime + value: '{{ createTime }}' + - name: name + value: '{{ name }}' + - name: languageCode + value: '{{ languageCode }}' + - name: testCase + value: '{{ testCase }}' + - name: classification + value: '{{ classification }}' + - name: description + value: '{{ description }}' + - name: priority + value: '{{ priority }}' + - name: state + value: '{{ state }}' + - name: escalated + value: '{{ escalated }}' + - name: displayName + value: '{{ displayName }}' + - name: updateTime + value: '{{ updateTime }}' + - name: contactEmail + value: '{{ contactEmail }}' + +``` + + + +## `UPDATE` example + +Updates a case only if the necessary resources are available. + +```sql +UPDATE google.cloudsupport.cases +SET +timeZone = '{{ timeZone }}', +subscriberEmailAddresses = '{{ subscriberEmailAddresses }}', +creator = '{{ creator }}', +createTime = '{{ createTime }}', +name = '{{ name }}', +languageCode = '{{ languageCode }}', +testCase = true|false, +classification = '{{ classification }}', +description = '{{ description }}', +priority = '{{ priority }}', +state = '{{ state }}', +escalated = true|false, +displayName = '{{ displayName }}', +updateTime = '{{ updateTime }}', +contactEmail = '{{ contactEmail }}' +WHERE +name = '{{ name }}'; +``` diff --git a/docs/google-docs/providers/google/cloudsupport/comments/index.md b/docs/google-docs/providers/google/cloudsupport/comments/index.md index 24f58474cb..e38f6b36f3 100644 --- a/docs/google-docs/providers/google/cloudsupport/comments/index.md +++ b/docs/google-docs/providers/google/cloudsupport/comments/index.md @@ -1,3 +1,4 @@ + --- title: comments hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - comments - cloudsupport - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an comment resource or lists comments in a region ## Overview
@@ -35,9 +37,81 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The time when the comment was created. | | | `object` | An Actor represents an entity that performed an action. For example, an actor could be a user who posted a comment on a support case, a user who uploaded an attachment, or a service account that created a support case. | | | `string` | Output only. DEPRECATED. DO NOT USE. A duplicate of the `body` field. This field is only present for legacy reasons. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| -| | `SELECT` | | List all the comments associated with a case. EXAMPLES: cURL: ```shell case="projects/some-project/cases/43595344" curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://cloudsupport.googleapis.com/v2/$case/comments" ``` Python: ```python import googleapiclient.discovery api_version = "v2" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = ( supportApiService.cases() .comments() .list(parent="projects/some-project/cases/43595344") ) print(request.execute()) ``` | -| | `INSERT` | | Add a new comment to a case. The comment must have the following fields set: `body`. EXAMPLES: cURL: ```shell case="projects/some-project/cases/43591344" curl \ --request POST \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ --header 'Content-Type: application/json' \ --data '{ "body": "This is a test comment." }' \ "https://cloudsupport.googleapis.com/v2/$case/comments" ``` Python: ```python import googleapiclient.discovery api_version = "v2" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = ( supportApiService.cases() .comments() .create( parent="projects/some-project/cases/43595344", body={"body": "This is a test comment."}, ) ) print(request.execute()) ``` | -| | `EXEC` | | List all the comments associated with a case. EXAMPLES: cURL: ```shell case="projects/some-project/cases/43595344" curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://cloudsupport.googleapis.com/v2/$case/comments" ``` Python: ```python import googleapiclient.discovery api_version = "v2" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = ( supportApiService.cases() .comments() .list(parent="projects/some-project/cases/43595344") ) print(request.execute()) ``` | +| | `SELECT` | | List all the comments associated with a case. EXAMPLES: cURL: ```shell case="projects/some-project/cases/43595344" curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://cloudsupport.googleapis.com/v2/$case/comments" ``` Python: ```python import googleapiclient.discovery api_version = "v2" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = ( supportApiService.cases() .comments() .list(parent="projects/some-project/cases/43595344") ) print(request.execute()) ``` | +| | `INSERT` | | Add a new comment to a case. The comment must have the following fields set: `body`. EXAMPLES: cURL: ```shell case="projects/some-project/cases/43591344" curl \ --request POST \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ --header 'Content-Type: application/json' \ --data '{ "body": "This is a test comment." }' \ "https://cloudsupport.googleapis.com/v2/$case/comments" ``` Python: ```python import googleapiclient.discovery api_version = "v2" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = ( supportApiService.cases() .comments() .create( parent="projects/some-project/cases/43595344", body={"body": "This is a test comment."}, ) ) print(request.execute()) ``` | + +## `SELECT` examples + +List all the comments associated with a case. EXAMPLES: cURL: ```shell case="projects/some-project/cases/43595344" curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://cloudsupport.googleapis.com/v2/$case/comments" ``` Python: ```python import googleapiclient.discovery api_version = "v2" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = ( supportApiService.cases() .comments() .list(parent="projects/some-project/cases/43595344") ) print(request.execute()) ``` + +```sql +SELECT +name, +body, +createTime, +creator, +plainTextBody +FROM google.cloudsupport.comments +WHERE parent = '{{ parent }}' +AND parentType = '{{ parentType }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new comments resource. + + + + +```sql +/*+ create */ +INSERT INTO google.cloudsupport.comments ( +parent, +parentType, +plainTextBody, +body, +createTime, +name, +creator +) +SELECT +'{{ parent }}', +'{{ parentType }}', +'{{ plainTextBody }}', +'{{ body }}', +'{{ createTime }}', +'{{ name }}', +'{{ creator }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: plainTextBody + value: '{{ plainTextBody }}' + - name: body + value: '{{ body }}' + - name: createTime + value: '{{ createTime }}' + - name: name + value: '{{ name }}' + - name: creator + value: '{{ creator }}' + +``` + + diff --git a/docs/google-docs/providers/google/cloudsupport/index.md b/docs/google-docs/providers/google/cloudsupport/index.md index 70ca380fe3..d8e01ec104 100644 --- a/docs/google-docs/providers/google/cloudsupport/index.md +++ b/docs/google-docs/providers/google/cloudsupport/index.md @@ -9,43 +9,32 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Manages Google Cloud technical support cases for Customer Care support offerings. - +The cloudsupport service documentation. + :::info Service Summary
total resources: 5
-total selectable resources: 3
-total methods: 13
::: -## Overview -
- - - - - -
Namegoogle.cloudsupport
TypeService
TitleGoogle Cloud Support API
DescriptionManages Google Cloud technical support cases for Customer Care support offerings.
Idcloudsupport:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/cloudsupport/media/index.md b/docs/google-docs/providers/google/cloudsupport/media/index.md index 7f5f94d3dc..51902f8d56 100644 --- a/docs/google-docs/providers/google/cloudsupport/media/index.md +++ b/docs/google-docs/providers/google/cloudsupport/media/index.md @@ -1,3 +1,4 @@ + --- title: media hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - media - cloudsupport - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an media resource or lists media in a region ## Overview @@ -28,9 +30,11 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| -| | `EXEC` | | Download a file attached to a case. Note: HTTP requests must append "?alt=media" to the URL. EXAMPLES: cURL: ```shell name="projects/some-project/cases/43594844/attachments/0674M00000WijAnZAJ" curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://cloudsupport.googleapis.com/v2/$name:download?alt=media" ``` Python: ```python import googleapiclient.discovery api_version = "v2" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = supportApiService.media().download( name="projects/some-project/cases/43595344/attachments/0684M00000Pw6pHQAR" ) request.uri = request.uri.split("?")[0] + "?alt=media" print(request.execute()) ``` | -| | `EXEC` | | Create a file attachment on a case or Cloud resource. The attachment must have the following fields set: `filename`. EXAMPLES: cURL: ```shell echo "This text is in a file I'm uploading using CSAPI." \ > "./example_file.txt" case="projects/some-project/cases/43594844" curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ --data-binary @"./example_file.txt" \ "https://cloudsupport.googleapis.com/upload/v2beta/$case/attachments?attachment.filename=uploaded_via_curl.txt" ``` Python: ```python import googleapiclient.discovery api_version = "v2" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) file_path = "./example_file.txt" with open(file_path, "w") as file: file.write( "This text is inside a file I'm going to upload using the Cloud Support API.", ) request = supportApiService.media().upload( parent="projects/some-project/cases/43595344", media_body=file_path ) request.uri = request.uri.split("?")[0] + "?attachment.filename=uploaded_via_python.txt" print(request.execute()) ``` | +| | `EXEC` | | Download a file attached to a case. Note: HTTP requests must append "?alt=media" to the URL. EXAMPLES: cURL: ```shell name="projects/some-project/cases/43594844/attachments/0674M00000WijAnZAJ" curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://cloudsupport.googleapis.com/v2/$name:download?alt=media" ``` Python: ```python import googleapiclient.discovery api_version = "v2" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = supportApiService.media().download( name="projects/some-project/cases/43595344/attachments/0684M00000Pw6pHQAR" ) request.uri = request.uri.split("?")[0] + "?alt=media" print(request.execute()) ``` | +| | `EXEC` | | Create a file attachment on a case or Cloud resource. The attachment must have the following fields set: `filename`. EXAMPLES: cURL: ```shell echo "This text is in a file I'm uploading using CSAPI." \ > "./example_file.txt" case="projects/some-project/cases/43594844" curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ --data-binary @"./example_file.txt" \ "https://cloudsupport.googleapis.com/upload/v2beta/$case/attachments?attachment.filename=uploaded_via_curl.txt" ``` Python: ```python import googleapiclient.discovery api_version = "v2" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) file_path = "./example_file.txt" with open(file_path, "w") as file: file.write( "This text is inside a file I'm going to upload using the Cloud Support API.", ) request = supportApiService.media().upload( parent="projects/some-project/cases/43595344", media_body=file_path ) request.uri = request.uri.split("?")[0] + "?attachment.filename=uploaded_via_python.txt" print(request.execute()) ``` | diff --git a/docs/google-docs/providers/google/cloudtasks/cmek_config/index.md b/docs/google-docs/providers/google/cloudtasks/cmek_config/index.md index c5e39b607a..84837757f6 100644 --- a/docs/google-docs/providers/google/cloudtasks/cmek_config/index.md +++ b/docs/google-docs/providers/google/cloudtasks/cmek_config/index.md @@ -1,3 +1,4 @@ + --- title: cmek_config hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - cmek_config - cloudtasks - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an cmek_config resource or lists cmek_config in a region ## Overview @@ -32,8 +34,36 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Output only. The config resource name which includes the project and location and must end in 'cmekConfig', in the format projects/PROJECT_ID/locations/LOCATION_ID/cmekConfig` | | | `string` | Resource name of the Cloud KMS key, of the form `projects/PROJECT_ID/locations/LOCATION_ID/keyRings/KEY_RING_ID/cryptoKeys/KEY_ID`, that will be used to encrypt the Queues & Tasks in the region. Setting this as blank will turn off CMEK encryption. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the CMEK config. Gets the Customer Managed Encryption Key configured with the Cloud Tasks lcoation. By default there is no kms_key configured. | -| | `EXEC` | | Creates or Updates a CMEK config. Updates the Customer Managed Encryption Key assotiated with the Cloud Tasks location (Creates if the key does not already exist). All new tasks created in the location will be encrypted at-rest with the KMS-key provided in the config. | +| | `UPDATE` | | Creates or Updates a CMEK config. Updates the Customer Managed Encryption Key assotiated with the Cloud Tasks location (Creates if the key does not already exist). All new tasks created in the location will be encrypted at-rest with the KMS-key provided in the config. | + +## `SELECT` examples + +Gets the CMEK config. Gets the Customer Managed Encryption Key configured with the Cloud Tasks lcoation. By default there is no kms_key configured. + +```sql +SELECT +name, +kmsKey +FROM google.cloudtasks.cmek_config +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `UPDATE` example + +Updates a cmek_config only if the necessary resources are available. + +```sql +UPDATE google.cloudtasks.cmek_config +SET +name = '{{ name }}', +kmsKey = '{{ kmsKey }}' +WHERE +locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudtasks/index.md b/docs/google-docs/providers/google/cloudtasks/index.md index c9410a8c72..258e4bb7eb 100644 --- a/docs/google-docs/providers/google/cloudtasks/index.md +++ b/docs/google-docs/providers/google/cloudtasks/index.md @@ -9,43 +9,32 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Manages the execution of large numbers of distributed requests. - +The cloudtasks service documentation. + :::info Service Summary
total resources: 5
-total selectable resources: 5
-total methods: 25
::: -## Overview -
- - - - - -
Namegoogle.cloudtasks
TypeService
TitleCloud Tasks API
DescriptionManages the execution of large numbers of distributed requests.
Idcloudtasks:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/cloudtasks/locations/index.md b/docs/google-docs/providers/google/cloudtasks/locations/index.md index 114e3a1c53..d5a2a5ae8a 100644 --- a/docs/google-docs/providers/google/cloudtasks/locations/index.md +++ b/docs/google-docs/providers/google/cloudtasks/locations/index.md @@ -1,3 +1,4 @@ + --- title: locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - locations - cloudtasks - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an location resource or lists locations in a region ## Overview @@ -32,12 +34,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` | | | `string` | The friendly name for this location, typically a nearby city name. For example, "Tokyo". | -| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | +| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | | | `string` | The canonical id for this location. For example: `"us-east1"`. | | | `object` | Service-specific metadata. For example the available capacity at the given location. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about a location. | | | `SELECT` | | Lists information about the supported locations for this service. | -| | `EXEC` | | Lists information about the supported locations for this service. | + +## `SELECT` examples + +Lists information about the supported locations for this service. + +```sql +SELECT +name, +displayName, +labels, +locationId, +metadata +FROM google.cloudtasks.locations +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudtasks/queues/index.md b/docs/google-docs/providers/google/cloudtasks/queues/index.md index eeac4c948f..bc2a4ee23c 100644 --- a/docs/google-docs/providers/google/cloudtasks/queues/index.md +++ b/docs/google-docs/providers/google/cloudtasks/queues/index.md @@ -1,3 +1,4 @@ + --- title: queues hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - queues - cloudtasks - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an queue resource or lists queues in a region ## Overview
@@ -38,6 +40,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Retry config. These settings determine when a failed task attempt is retried. | | | `object` | Configuration options for writing logs to [Stackdriver Logging](https://cloud.google.com/logging/docs/). | | | `string` | Output only. The state of the queue. `state` can only be changed by calling PauseQueue, ResumeQueue, or uploading [queue.yaml/xml](https://cloud.google.com/appengine/docs/python/config/queueref). UpdateQueue cannot be used to change `state`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -46,7 +49,125 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a queue. Queues created with this method allow tasks to live for a maximum of 31 days. After a task is 31 days old, the task will be deleted regardless of whether it was dispatched or not. WARNING: Using this method may have unintended side effects if you are using an App Engine `queue.yaml` or `queue.xml` file to manage your queues. Read [Overview of Queue Management and queue.yaml](https://cloud.google.com/tasks/docs/queue-yaml) before using this method. | | | `DELETE` | | Deletes a queue. This command will delete the queue even if it has tasks in it. Note: If you delete a queue, you may be prevented from creating a new queue with the same name as the deleted queue for a tombstone window of up to 3 days. During this window, the CreateQueue operation may appear to recreate the queue, but this can be misleading. If you attempt to create a queue with the same name as one that is in the tombstone window, run GetQueue to confirm that the queue creation was successful. If GetQueue returns 200 response code, your queue was successfully created with the name of the previously deleted queue. Otherwise, your queue did not successfully recreate. WARNING: Using this method may have unintended side effects if you are using an App Engine `queue.yaml` or `queue.xml` file to manage your queues. Read [Overview of Queue Management and queue.yaml](https://cloud.google.com/tasks/docs/queue-yaml) before using this method. | | | `UPDATE` | | Updates a queue. This method creates the queue if it does not exist and updates the queue if it does exist. Queues created with this method allow tasks to live for a maximum of 31 days. After a task is 31 days old, the task will be deleted regardless of whether it was dispatched or not. WARNING: Using this method may have unintended side effects if you are using an App Engine `queue.yaml` or `queue.xml` file to manage your queues. Read [Overview of Queue Management and queue.yaml](https://cloud.google.com/tasks/docs/queue-yaml) before using this method. | -| | `EXEC` | | Lists queues. Queues are returned in lexicographical order. | | | `EXEC` | | Pauses the queue. If a queue is paused then the system will stop dispatching tasks until the queue is resumed via ResumeQueue. Tasks can still be added when the queue is paused. A queue is paused if its state is PAUSED. | | | `EXEC` | | Purges a queue by deleting all of its tasks. All tasks created before this method is called are permanently deleted. Purge operations can take up to one minute to take effect. Tasks might be dispatched before the purge takes effect. A purge is irreversible. | | | `EXEC` | | Resume a queue. This method resumes a queue after it has been PAUSED or DISABLED. The state of a queue is stored in the queue's state; after calling this method it will be set to RUNNING. WARNING: Resuming many high-QPS queues at the same time can lead to target overloading. If you are resuming high-QPS queues, follow the 500/50/5 pattern described in [Managing Cloud Tasks Scaling Risks](https://cloud.google.com/tasks/docs/manage-cloud-task-scaling). | + +## `SELECT` examples + +Lists queues. Queues are returned in lexicographical order. + +```sql +SELECT +name, +appEngineRoutingOverride, +httpTarget, +purgeTime, +rateLimits, +retryConfig, +stackdriverLoggingConfig, +state +FROM google.cloudtasks.queues +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new queues resource. + + + + +```sql +/*+ create */ +INSERT INTO google.cloudtasks.queues ( +locationsId, +projectsId, +name, +appEngineRoutingOverride, +httpTarget, +rateLimits, +retryConfig, +state, +purgeTime, +stackdriverLoggingConfig +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ appEngineRoutingOverride }}', +'{{ httpTarget }}', +'{{ rateLimits }}', +'{{ retryConfig }}', +'{{ state }}', +'{{ purgeTime }}', +'{{ stackdriverLoggingConfig }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: appEngineRoutingOverride + value: '{{ appEngineRoutingOverride }}' + - name: httpTarget + value: '{{ httpTarget }}' + - name: rateLimits + value: '{{ rateLimits }}' + - name: retryConfig + value: '{{ retryConfig }}' + - name: state + value: '{{ state }}' + - name: purgeTime + value: '{{ purgeTime }}' + - name: stackdriverLoggingConfig + value: '{{ stackdriverLoggingConfig }}' + +``` + + + +## `UPDATE` example + +Updates a queue only if the necessary resources are available. + +```sql +UPDATE google.cloudtasks.queues +SET +name = '{{ name }}', +appEngineRoutingOverride = '{{ appEngineRoutingOverride }}', +httpTarget = '{{ httpTarget }}', +rateLimits = '{{ rateLimits }}', +retryConfig = '{{ retryConfig }}', +state = '{{ state }}', +purgeTime = '{{ purgeTime }}', +stackdriverLoggingConfig = '{{ stackdriverLoggingConfig }}' +WHERE +locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND queuesId = '{{ queuesId }}'; +``` + +## `DELETE` example + +Deletes the specified queue resource. + +```sql +DELETE FROM google.cloudtasks.queues +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND queuesId = '{{ queuesId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudtasks/queues_iam_policies/index.md b/docs/google-docs/providers/google/cloudtasks/queues_iam_policies/index.md index a763c0d23a..2cb3000536 100644 --- a/docs/google-docs/providers/google/cloudtasks/queues_iam_policies/index.md +++ b/docs/google-docs/providers/google/cloudtasks/queues_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: queues_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - queues_iam_policies - cloudtasks - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an queues_iam_policy resource or lists queues_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a Queue. Returns an empty policy if the resource exists and does not have a policy set. Authorization requires the following [Google IAM](https://cloud.google.com/iam) permission on the specified resource parent: * `cloudtasks.queues.getIamPolicy` | -| | `EXEC` | | Gets the access control policy for a Queue. Returns an empty policy if the resource exists and does not have a policy set. Authorization requires the following [Google IAM](https://cloud.google.com/iam) permission on the specified resource parent: * `cloudtasks.queues.getIamPolicy` | | | `EXEC` | | Sets the access control policy for a Queue. Replaces any existing policy. Note: The Cloud Console does not check queue-level IAM permissions yet. Project-level permissions are required to use the Cloud Console. Authorization requires the following [Google IAM](https://cloud.google.com/iam) permission on the specified resource parent: * `cloudtasks.queues.setIamPolicy` | | | `EXEC` | | Returns permissions that a caller has on a Queue. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a Queue. Returns an empty policy if the resource exists and does not have a policy set. Authorization requires the following [Google IAM](https://cloud.google.com/iam) permission on the specified resource parent: * `cloudtasks.queues.getIamPolicy` + +```sql +SELECT +condition, +members, +role +FROM google.cloudtasks.queues_iam_policies +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND queuesId = '{{ queuesId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudtasks/tasks/index.md b/docs/google-docs/providers/google/cloudtasks/tasks/index.md index 05e5601ea2..d2f7546e73 100644 --- a/docs/google-docs/providers/google/cloudtasks/tasks/index.md +++ b/docs/google-docs/providers/google/cloudtasks/tasks/index.md @@ -1,3 +1,4 @@ + --- title: tasks hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - tasks - cloudtasks - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an task resource or lists tasks in a region ## Overview
@@ -41,6 +43,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `integer` | Output only. The number of attempts which have received a response. | | | `string` | The time when the task is scheduled to be attempted or retried. `schedule_time` will be truncated to the nearest microsecond. | | | `string` | Output only. The view specifies which subset of the Task has been returned. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -48,6 +51,86 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists the tasks in a queue. By default, only the BASIC view is retrieved due to performance considerations; response_view controls the subset of information which is returned. The tasks may be returned in any order. The ordering may change at any time. | | | `INSERT` | | Creates a task and adds it to a queue. Tasks cannot be updated after creation; there is no UpdateTask command. * The maximum task size is 100KB. | | | `DELETE` | | Deletes a task. A task can be deleted if it is scheduled or dispatched. A task cannot be deleted if it has executed successfully or permanently failed. | -| | `EXEC` | | Lists the tasks in a queue. By default, only the BASIC view is retrieved due to performance considerations; response_view controls the subset of information which is returned. The tasks may be returned in any order. The ordering may change at any time. | | | `EXEC` | | Creates and buffers a new task without the need to explicitly define a Task message. The queue must have HTTP target. To create the task with a custom ID, use the following format and set TASK_ID to your desired ID: projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID:buffer To create the task with an automatically generated ID, use the following format: projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks:buffer. | | | `EXEC` | | Forces a task to run now. When this method is called, Cloud Tasks will dispatch the task, even if the task is already running, the queue has reached its RateLimits or is PAUSED. This command is meant to be used for manual debugging. For example, RunTask can be used to retry a failed task after a fix has been made or to manually force a task to be dispatched now. The dispatched task is returned. That is, the task that is returned contains the status after the task is dispatched but before the task is received by its target. If Cloud Tasks receives a successful response from the task's target, then the task will be deleted; otherwise the task's schedule_time will be reset to the time that RunTask was called plus the retry delay specified in the queue's RetryConfig. RunTask returns NOT_FOUND when it is called on a task that has already succeeded or permanently failed. | + +## `SELECT` examples + +Lists the tasks in a queue. By default, only the BASIC view is retrieved due to performance considerations; response_view controls the subset of information which is returned. The tasks may be returned in any order. The ordering may change at any time. + +```sql +SELECT +name, +appEngineHttpRequest, +createTime, +dispatchCount, +dispatchDeadline, +firstAttempt, +httpRequest, +lastAttempt, +responseCount, +scheduleTime, +view +FROM google.cloudtasks.tasks +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND queuesId = '{{ queuesId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new tasks resource. + + + + +```sql +/*+ create */ +INSERT INTO google.cloudtasks.tasks ( +locationsId, +projectsId, +queuesId, +task, +responseView +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ queuesId }}', +'{{ task }}', +'{{ responseView }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: task + value: '{{ task }}' + - name: responseView + value: '{{ responseView }}' + +``` + + + +## `DELETE` example + +Deletes the specified task resource. + +```sql +DELETE FROM google.cloudtasks.tasks +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND queuesId = '{{ queuesId }}' +AND tasksId = '{{ tasksId }}'; +``` diff --git a/docs/google-docs/providers/google/cloudtrace/index.md b/docs/google-docs/providers/google/cloudtrace/index.md index c415d1e2b1..945acfd2e1 100644 --- a/docs/google-docs/providers/google/cloudtrace/index.md +++ b/docs/google-docs/providers/google/cloudtrace/index.md @@ -9,40 +9,29 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Sends application trace data to Cloud Trace for viewing. Trace data is collected for all App Engine applications by default. Trace data from other applications can be provided using this API. This library is used to interact with the Cloud Trace API directly. If you are looking to instrument your application for Cloud Trace, we recommend using OpenTelemetry. - +The cloudtrace service documentation. + :::info Service Summary
total resources: 2
-total selectable resources: 0
-total methods: 2
::: -## Overview -
- - - - - -
Namegoogle.cloudtrace
TypeService
TitleCloud Trace API
DescriptionSends application trace data to Cloud Trace for viewing. Trace data is collected for all App Engine applications by default. Trace data from other applications can be provided using this API. This library is used to interact with the Cloud Trace API directly. If you are looking to instrument your application for Cloud Trace, we recommend using OpenTelemetry.
Idcloudtrace:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/cloudtrace/spans_span/index.md b/docs/google-docs/providers/google/cloudtrace/spans_span/index.md index 69fe5cce5c..450ecb208b 100644 --- a/docs/google-docs/providers/google/cloudtrace/spans_span/index.md +++ b/docs/google-docs/providers/google/cloudtrace/spans_span/index.md @@ -1,3 +1,4 @@ + --- title: spans_span hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - spans_span - cloudtrace - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an spans_span resource or lists spans_span in a region ## Overview @@ -28,8 +30,104 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `INSERT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `INSERT` | | Creates a new span. | + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new spans_span resource. + + + + +```sql +/*+ create */ +INSERT INTO google.cloudtrace.spans_span ( +projectsId, +spansId, +tracesId, +name, +spanId, +parentSpanId, +displayName, +startTime, +endTime, +attributes, +stackTrace, +timeEvents, +links, +status, +sameProcessAsParentSpan, +childSpanCount, +spanKind +) +SELECT +'{{ projectsId }}', +'{{ spansId }}', +'{{ tracesId }}', +'{{ name }}', +'{{ spanId }}', +'{{ parentSpanId }}', +'{{ displayName }}', +'{{ startTime }}', +'{{ endTime }}', +'{{ attributes }}', +'{{ stackTrace }}', +'{{ timeEvents }}', +'{{ links }}', +'{{ status }}', +true|false, +'{{ childSpanCount }}', +'{{ spanKind }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: spanId + value: '{{ spanId }}' + - name: parentSpanId + value: '{{ parentSpanId }}' + - name: displayName + value: '{{ displayName }}' + - name: startTime + value: '{{ startTime }}' + - name: endTime + value: '{{ endTime }}' + - name: attributes + value: '{{ attributes }}' + - name: stackTrace + value: '{{ stackTrace }}' + - name: timeEvents + value: '{{ timeEvents }}' + - name: links + value: '{{ links }}' + - name: status + value: '{{ status }}' + - name: sameProcessAsParentSpan + value: '{{ sameProcessAsParentSpan }}' + - name: childSpanCount + value: '{{ childSpanCount }}' + - name: spanKind + value: '{{ spanKind }}' + +``` + + diff --git a/docs/google-docs/providers/google/cloudtrace/traces/index.md b/docs/google-docs/providers/google/cloudtrace/traces/index.md index 95d6dd0e35..8ca2a651fa 100644 --- a/docs/google-docs/providers/google/cloudtrace/traces/index.md +++ b/docs/google-docs/providers/google/cloudtrace/traces/index.md @@ -1,3 +1,4 @@ + --- title: traces hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - traces - cloudtrace - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an trace resource or lists traces in a region ## Overview @@ -28,8 +30,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Batch writes new spans to new or existing traces. You cannot update existing spans. | diff --git a/docs/google-docs/providers/google/composer/environments/index.md b/docs/google-docs/providers/google/composer/environments/index.md index 867dab3cd8..080baed693 100644 --- a/docs/google-docs/providers/google/composer/environments/index.md +++ b/docs/google-docs/providers/google/composer/environments/index.md @@ -1,3 +1,4 @@ + --- title: environments hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - environments - composer - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an environment resource or lists environments in a region ## Overview @@ -30,15 +32,17 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The resource name of the environment, in the form: "projects/{projectId}/locations/{locationId}/environments/{environmentId}" EnvironmentId must start with a lowercase letter followed by up to 63 lowercase letters, numbers, or hyphens, and cannot end with a hyphen. | +| | `string` | The resource name of the environment, in the form: "projects/{projectId}/locations/{locationId}/environments/{environmentId}" EnvironmentId must start with a lowercase letter followed by up to 63 lowercase letters, numbers, or hyphens, and cannot end with a hyphen. | | | `object` | Configuration information for an environment. | | | `string` | Output only. The time at which this environment was created. | -| | `object` | Optional. User-defined labels for this environment. The labels map can contain no more than 64 entries. Entries of the labels map are UTF8 strings that comply with the following restrictions: * Keys must conform to regexp: \p{Ll}\p{Lo}{0,62} * Values must conform to regexp: [\p{Ll}\p{Lo}\p{N}_-]{0,63} * Both keys and values are additionally constrained to be <= 128 bytes in size. | +| | `object` | Optional. User-defined labels for this environment. The labels map can contain no more than 64 entries. Entries of the labels map are UTF8 strings that comply with the following restrictions: * Keys must conform to regexp: \p{Ll}\p{Lo}{0,62} * Values must conform to regexp: [\p{Ll}\p{Lo}\p{N}_-]{0,63} * Both keys and values are additionally constrained to be <= 128 bytes in size. | +| | `boolean` | Output only. Reserved for future use. | | | `boolean` | Output only. Reserved for future use. | | | `string` | The current state of the environment. | | | `object` | The configuration for data storage in the environment. | | | `string` | Output only. The time at which this environment was last modified. | | | `string` | Output only. The UUID (Universally Unique IDentifier) associated with this environment. This value is generated when the environment is created. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -47,7 +51,6 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Create a new environment. | | | `DELETE` | | Delete an environment. | | | `UPDATE` | | Update an environment. | -| | `EXEC` | | List environments. | | | `EXEC` | | Check if an upgrade operation on the environment will succeed. In case of problems detailed info can be found in the returned Operation. | | | `EXEC` | | Triggers database failover (only for highly resilient environments). | | | `EXEC` | | Executes Airflow CLI command. | @@ -55,3 +58,134 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `EXEC` | | Polls Airflow CLI command execution and fetches logs. | | | `EXEC` | | Creates a snapshots of a Cloud Composer environment. As a result of this operation, snapshot of environment's state is stored in a location specified in the SaveSnapshotRequest. | | | `EXEC` | | Stops Airflow CLI command execution. | + +## `SELECT` examples + +List environments. + +```sql +SELECT +name, +config, +createTime, +labels, +satisfiesPzi, +satisfiesPzs, +state, +storageConfig, +updateTime, +uuid +FROM google.composer.environments +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new environments resource. + + + + +```sql +/*+ create */ +INSERT INTO google.composer.environments ( +locationsId, +projectsId, +name, +config, +uuid, +state, +createTime, +updateTime, +labels, +satisfiesPzs, +satisfiesPzi, +storageConfig +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ config }}', +'{{ uuid }}', +'{{ state }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ labels }}', +true|false, +true|false, +'{{ storageConfig }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: config + value: '{{ config }}' + - name: uuid + value: '{{ uuid }}' + - name: state + value: '{{ state }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: labels + value: '{{ labels }}' + - name: satisfiesPzs + value: '{{ satisfiesPzs }}' + - name: satisfiesPzi + value: '{{ satisfiesPzi }}' + - name: storageConfig + value: '{{ storageConfig }}' + +``` + + + +## `UPDATE` example + +Updates a environment only if the necessary resources are available. + +```sql +UPDATE google.composer.environments +SET +name = '{{ name }}', +config = '{{ config }}', +uuid = '{{ uuid }}', +state = '{{ state }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +labels = '{{ labels }}', +satisfiesPzs = true|false, +satisfiesPzi = true|false, +storageConfig = '{{ storageConfig }}' +WHERE +environmentsId = '{{ environmentsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified environment resource. + +```sql +DELETE FROM google.composer.environments +WHERE environmentsId = '{{ environmentsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/composer/environments_database_properties/index.md b/docs/google-docs/providers/google/composer/environments_database_properties/index.md index fc20898765..c16a44068f 100644 --- a/docs/google-docs/providers/google/composer/environments_database_properties/index.md +++ b/docs/google-docs/providers/google/composer/environments_database_properties/index.md @@ -1,3 +1,4 @@ + --- title: environments_database_properties hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - environments_database_properties - composer - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an environments_database_property resource or lists environments_database_properties in a region ## Overview
@@ -28,8 +30,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `boolean` | The availability status of the failover replica. A false status indicates that the failover replica is out of sync. The primary instance can only fail over to the failover replica when the status is true. | +| | `string` | The Compute Engine zone that the instance is currently serving from. | +| | `string` | The Compute Engine zone that the failover instance is currently serving from for a regional Cloud SQL instance. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Fetches database properties. | + +## `SELECT` examples + +Fetches database properties. + +```sql +SELECT +isFailoverReplicaAvailable, +primaryGceZone, +secondaryGceZone +FROM google.composer.environments_database_properties +WHERE environmentsId = '{{ environmentsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/composer/image_versions/index.md b/docs/google-docs/providers/google/composer/image_versions/index.md index fcfa9e2251..804233e6fb 100644 --- a/docs/google-docs/providers/google/composer/image_versions/index.md +++ b/docs/google-docs/providers/google/composer/image_versions/index.md @@ -1,3 +1,4 @@ + --- title: image_versions hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - image_versions - composer - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an image_version resource or lists image_versions in a region ## Overview @@ -36,8 +38,25 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp | | | `array` | supported python versions | | | `boolean` | Whether it is impossible to upgrade an environment running with the image version. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | List ImageVersions for provided location. | + +## `SELECT` examples + +List ImageVersions for provided location. + +```sql +SELECT +creationDisabled, +imageVersionId, +isDefault, +releaseDate, +supportedPythonVersions, +upgradeDisabled +FROM google.composer.image_versions +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/composer/index.md b/docs/google-docs/providers/google/composer/index.md index e2576cac77..1de38ef0ad 100644 --- a/docs/google-docs/providers/google/composer/index.md +++ b/docs/google-docs/providers/google/composer/index.md @@ -9,45 +9,34 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Manages Apache Airflow environments on Google Cloud Platform. - +The composer service documentation. + :::info Service Summary
total resources: 7
-total selectable resources: 6
-total methods: 34
::: -## Overview -
- - - - - -
Namegoogle.composer
TypeService
TitleCloud Composer API
DescriptionManages Apache Airflow environments on Google Cloud Platform.
Idcomposer:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/composer/operations/index.md b/docs/google-docs/providers/google/composer/operations/index.md index 6f39751b47..e3f11702e9 100644 --- a/docs/google-docs/providers/google/composer/operations/index.md +++ b/docs/google-docs/providers/google/composer/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - composer - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview @@ -30,15 +32,42 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.composer.operations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified operation resource. + +```sql +DELETE FROM google.composer.operations +WHERE locationsId = '{{ locationsId }}' +AND operationsId = '{{ operationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/composer/user_workloads_config_maps/index.md b/docs/google-docs/providers/google/composer/user_workloads_config_maps/index.md index 9d5b0d5e18..e88e09fd34 100644 --- a/docs/google-docs/providers/google/composer/user_workloads_config_maps/index.md +++ b/docs/google-docs/providers/google/composer/user_workloads_config_maps/index.md @@ -1,3 +1,4 @@ + --- title: user_workloads_config_maps hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - user_workloads_config_maps - composer - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an user_workloads_config_map resource or lists user_workloads_config_maps in a region ## Overview
@@ -30,8 +32,9 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Identifier. The resource name of the ConfigMap, in the form: "projects/{projectId}/locations/{locationId}/environments/{environmentId}/userWorkloadsConfigMaps/{userWorkloadsConfigMapId}" | +| | `string` | Identifier. The resource name of the ConfigMap, in the form: "projects/{projectId}/locations/{locationId}/environments/{environmentId}/userWorkloadsConfigMaps/{userWorkloadsConfigMapId}" | | | `object` | Optional. The "data" field of Kubernetes ConfigMap, organized in key-value pairs. For details see: https://kubernetes.io/docs/concepts/configuration/configmap/ | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -39,5 +42,76 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists user workloads ConfigMaps. This method is supported for Cloud Composer environments in versions composer-3.*.*-airflow-*.*.* and newer. | | | `INSERT` | | Creates a user workloads ConfigMap. This method is supported for Cloud Composer environments in versions composer-3.*.*-airflow-*.*.* and newer. | | | `DELETE` | | Deletes a user workloads ConfigMap. This method is supported for Cloud Composer environments in versions composer-3.*.*-airflow-*.*.* and newer. | -| | `UPDATE` | | Updates a user workloads ConfigMap. This method is supported for Cloud Composer environments in versions composer-3.*.*-airflow-*.*.* and newer. | -| | `EXEC` | | Lists user workloads ConfigMaps. This method is supported for Cloud Composer environments in versions composer-3.*.*-airflow-*.*.* and newer. | +| | `EXEC` | | Updates a user workloads ConfigMap. This method is supported for Cloud Composer environments in versions composer-3.*.*-airflow-*.*.* and newer. | + +## `SELECT` examples + +Lists user workloads ConfigMaps. This method is supported for Cloud Composer environments in versions composer-3.*.*-airflow-*.*.* and newer. + +```sql +SELECT +name, +data +FROM google.composer.user_workloads_config_maps +WHERE environmentsId = '{{ environmentsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new user_workloads_config_maps resource. + + + + +```sql +/*+ create */ +INSERT INTO google.composer.user_workloads_config_maps ( +environmentsId, +locationsId, +projectsId, +name, +data +) +SELECT +'{{ environmentsId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ data }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: data + value: '{{ data }}' + +``` + + + +## `DELETE` example + +Deletes the specified user_workloads_config_map resource. + +```sql +DELETE FROM google.composer.user_workloads_config_maps +WHERE environmentsId = '{{ environmentsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND userWorkloadsConfigMapsId = '{{ userWorkloadsConfigMapsId }}'; +``` diff --git a/docs/google-docs/providers/google/composer/user_workloads_secrets/index.md b/docs/google-docs/providers/google/composer/user_workloads_secrets/index.md index 43a120efda..afec4febd3 100644 --- a/docs/google-docs/providers/google/composer/user_workloads_secrets/index.md +++ b/docs/google-docs/providers/google/composer/user_workloads_secrets/index.md @@ -1,3 +1,4 @@ + --- title: user_workloads_secrets hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - user_workloads_secrets - composer - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an user_workloads_secret resource or lists user_workloads_secrets in a region ## Overview
@@ -30,8 +32,9 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Identifier. The resource name of the Secret, in the form: "projects/{projectId}/locations/{locationId}/environments/{environmentId}/userWorkloadsSecrets/{userWorkloadsSecretId}" | +| | `string` | Identifier. The resource name of the Secret, in the form: "projects/{projectId}/locations/{locationId}/environments/{environmentId}/userWorkloadsSecrets/{userWorkloadsSecretId}" | | | `object` | Optional. The "data" field of Kubernetes Secret, organized in key-value pairs, which can contain sensitive values such as a password, a token, or a key. The values for all keys have to be base64-encoded strings. For details see: https://kubernetes.io/docs/concepts/configuration/secret/ | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -39,5 +42,76 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists user workloads Secrets. This method is supported for Cloud Composer environments in versions composer-3.*.*-airflow-*.*.* and newer. | | | `INSERT` | | Creates a user workloads Secret. This method is supported for Cloud Composer environments in versions composer-3.*.*-airflow-*.*.* and newer. | | | `DELETE` | | Deletes a user workloads Secret. This method is supported for Cloud Composer environments in versions composer-3.*.*-airflow-*.*.* and newer. | -| | `UPDATE` | | Updates a user workloads Secret. This method is supported for Cloud Composer environments in versions composer-3.*.*-airflow-*.*.* and newer. | -| | `EXEC` | | Lists user workloads Secrets. This method is supported for Cloud Composer environments in versions composer-3.*.*-airflow-*.*.* and newer. | +| | `EXEC` | | Updates a user workloads Secret. This method is supported for Cloud Composer environments in versions composer-3.*.*-airflow-*.*.* and newer. | + +## `SELECT` examples + +Lists user workloads Secrets. This method is supported for Cloud Composer environments in versions composer-3.*.*-airflow-*.*.* and newer. + +```sql +SELECT +name, +data +FROM google.composer.user_workloads_secrets +WHERE environmentsId = '{{ environmentsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new user_workloads_secrets resource. + + + + +```sql +/*+ create */ +INSERT INTO google.composer.user_workloads_secrets ( +environmentsId, +locationsId, +projectsId, +name, +data +) +SELECT +'{{ environmentsId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ data }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: data + value: '{{ data }}' + +``` + + + +## `DELETE` example + +Deletes the specified user_workloads_secret resource. + +```sql +DELETE FROM google.composer.user_workloads_secrets +WHERE environmentsId = '{{ environmentsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND userWorkloadsSecretsId = '{{ userWorkloadsSecretsId }}'; +``` diff --git a/docs/google-docs/providers/google/composer/workloads/index.md b/docs/google-docs/providers/google/composer/workloads/index.md index 7e35b0777e..e0877aa4ee 100644 --- a/docs/google-docs/providers/google/composer/workloads/index.md +++ b/docs/google-docs/providers/google/composer/workloads/index.md @@ -1,3 +1,4 @@ + --- title: workloads hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - workloads - composer - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an workload resource or lists workloads in a region ## Overview
@@ -33,8 +35,23 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Name of a workload. | | | `object` | Workload status. | | | `string` | Type of a workload. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists workloads in a Cloud Composer environment. Workload is a unit that runs a single Composer component. This method is supported for Cloud Composer environments in versions composer-3.*.*-airflow-*.*.* and newer. | + +## `SELECT` examples + +Lists workloads in a Cloud Composer environment. Workload is a unit that runs a single Composer component. This method is supported for Cloud Composer environments in versions composer-3.*.*-airflow-*.*.* and newer. + +```sql +SELECT +name, +status, +type +FROM google.composer.workloads +WHERE environmentsId = '{{ environmentsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/compute/accelerator_types/index.md b/docs/google-docs/providers/google/compute/accelerator_types/index.md index 78a0e88a2b..d39d6d475d 100644 --- a/docs/google-docs/providers/google/compute/accelerator_types/index.md +++ b/docs/google-docs/providers/google/compute/accelerator_types/index.md @@ -1,3 +1,4 @@ + --- title: accelerator_types hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - accelerator_types - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an accelerator_type resource or lists accelerator_types in a region ## Overview
@@ -39,10 +41,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `integer` | [Output Only] Maximum number of accelerator cards allowed per instance. | | | `string` | [Output Only] Server-defined, fully qualified URL for this resource. | | | `string` | [Output Only] The name of the zone where the accelerator type resides, such as us-central1-a. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Retrieves an aggregated list of accelerator types. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. | | | `SELECT` | | Returns the specified accelerator type. | | | `SELECT` | | Retrieves a list of accelerator types that are available to the specified project. | -| | `EXEC` | | Retrieves an aggregated list of accelerator types. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. | + +## `SELECT` examples + +Retrieves an aggregated list of accelerator types. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. + +```sql +SELECT +id, +name, +description, +creationTimestamp, +deprecated, +kind, +maximumCardsPerInstance, +selfLink, +zone +FROM google.compute.accelerator_types +WHERE project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/compute/addresses/index.md b/docs/google-docs/providers/google/compute/addresses/index.md index aac9fab02b..d1200556f1 100644 --- a/docs/google-docs/providers/google/compute/addresses/index.md +++ b/docs/google-docs/providers/google/compute/addresses/index.md @@ -1,3 +1,4 @@ + --- title: addresses hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - addresses - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an address resource or lists addresses in a region ## Overview
@@ -50,6 +52,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] The status of the address, which can be one of RESERVING, RESERVED, or IN_USE. An address that is RESERVING is currently in the process of being reserved. A RESERVED address is currently reserved and available to use. An IN_USE address is currently being used by another resource and is not available. | | | `string` | The URL of the subnetwork in which to reserve the address. If an IP address is specified, it must be within the subnetwork's IP range. This field can only be used with INTERNAL type with a GCE_ENDPOINT or DNS_RESOLVER purpose. | | | `array` | [Output Only] The URLs of the resources that are using this address. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -58,6 +61,162 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Retrieves a list of addresses contained within the specified region. | | | `INSERT` | | Creates an address resource in the specified project by using the data included in the request. | | | `DELETE` | | Deletes the specified address resource. | -| | `EXEC` | | Retrieves an aggregated list of addresses. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. | | | `EXEC` | | Moves the specified address resource. | | | `EXEC` | | Sets the labels on an Address. To learn more about labels, read the Labeling Resources documentation. | + +## `SELECT` examples + +Retrieves an aggregated list of addresses. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. + +```sql +SELECT +id, +name, +description, +address, +addressType, +creationTimestamp, +ipVersion, +ipv6EndpointType, +kind, +labelFingerprint, +labels, +network, +networkTier, +prefixLength, +purpose, +region, +selfLink, +status, +subnetwork, +users +FROM google.compute.addresses +WHERE project = '{{ project }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new addresses resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.addresses ( +project, +region, +kind, +id, +creationTimestamp, +name, +description, +address, +prefixLength, +status, +region, +selfLink, +users, +networkTier, +labels, +labelFingerprint, +ipVersion, +addressType, +purpose, +subnetwork, +network, +ipv6EndpointType +) +SELECT +'{{ project }}', +'{{ region }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ name }}', +'{{ description }}', +'{{ address }}', +'{{ prefixLength }}', +'{{ status }}', +'{{ region }}', +'{{ selfLink }}', +'{{ users }}', +'{{ networkTier }}', +'{{ labels }}', +'{{ labelFingerprint }}', +'{{ ipVersion }}', +'{{ addressType }}', +'{{ purpose }}', +'{{ subnetwork }}', +'{{ network }}', +'{{ ipv6EndpointType }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: address + value: '{{ address }}' + - name: prefixLength + value: '{{ prefixLength }}' + - name: status + value: '{{ status }}' + - name: region + value: '{{ region }}' + - name: selfLink + value: '{{ selfLink }}' + - name: users + value: '{{ users }}' + - name: networkTier + value: '{{ networkTier }}' + - name: labels + value: '{{ labels }}' + - name: labelFingerprint + value: '{{ labelFingerprint }}' + - name: ipVersion + value: '{{ ipVersion }}' + - name: addressType + value: '{{ addressType }}' + - name: purpose + value: '{{ purpose }}' + - name: subnetwork + value: '{{ subnetwork }}' + - name: network + value: '{{ network }}' + - name: ipv6EndpointType + value: '{{ ipv6EndpointType }}' + +``` + + + +## `DELETE` example + +Deletes the specified address resource. + +```sql +DELETE FROM google.compute.addresses +WHERE address = '{{ address }}' +AND project = '{{ project }}' +AND region = '{{ region }}'; +``` diff --git a/docs/google-docs/providers/google/compute/autoscalers/index.md b/docs/google-docs/providers/google/compute/autoscalers/index.md index a36d0c31cb..856a2d21cd 100644 --- a/docs/google-docs/providers/google/compute/autoscalers/index.md +++ b/docs/google-docs/providers/google/compute/autoscalers/index.md @@ -1,3 +1,4 @@ + --- title: autoscalers hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - autoscalers - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an autoscaler resource or lists autoscalers in a region ## Overview
@@ -44,6 +46,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `array` | [Output Only] Human-readable details about the current state of the autoscaler. Read the documentation for Commonly returned status messages for examples of status messages you might encounter. | | | `string` | URL of the managed instance group that this autoscaler will scale. This field is required when creating an autoscaler. | | | `string` | [Output Only] URL of the zone where the instance group resides (for autoscalers living in zonal scope). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -53,5 +56,157 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates an autoscaler in the specified project using the data included in the request. | | | `DELETE` | | Deletes the specified autoscaler. | | | `UPDATE` | | Updates an autoscaler in the specified project using the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules. | -| | `UPDATE` | | Updates an autoscaler in the specified project using the data included in the request. | -| | `EXEC` | | Retrieves an aggregated list of autoscalers. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. | +| | `EXEC` | | Updates an autoscaler in the specified project using the data included in the request. | + +## `SELECT` examples + +Retrieves an aggregated list of autoscalers. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. + +```sql +SELECT +id, +name, +description, +autoscalingPolicy, +creationTimestamp, +kind, +recommendedSize, +region, +scalingScheduleStatus, +selfLink, +status, +statusDetails, +target, +zone +FROM google.compute.autoscalers +WHERE project = '{{ project }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new autoscalers resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.autoscalers ( +project, +zone, +kind, +id, +creationTimestamp, +name, +description, +target, +autoscalingPolicy, +zone, +region, +selfLink, +status, +statusDetails, +recommendedSize, +scalingScheduleStatus +) +SELECT +'{{ project }}', +'{{ zone }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ name }}', +'{{ description }}', +'{{ target }}', +'{{ autoscalingPolicy }}', +'{{ zone }}', +'{{ region }}', +'{{ selfLink }}', +'{{ status }}', +'{{ statusDetails }}', +'{{ recommendedSize }}', +'{{ scalingScheduleStatus }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: target + value: '{{ target }}' + - name: autoscalingPolicy + value: '{{ autoscalingPolicy }}' + - name: zone + value: '{{ zone }}' + - name: region + value: '{{ region }}' + - name: selfLink + value: '{{ selfLink }}' + - name: status + value: '{{ status }}' + - name: statusDetails + value: '{{ statusDetails }}' + - name: recommendedSize + value: '{{ recommendedSize }}' + - name: scalingScheduleStatus + value: '{{ scalingScheduleStatus }}' + +``` + + + +## `UPDATE` example + +Updates a autoscaler only if the necessary resources are available. + +```sql +UPDATE google.compute.autoscalers +SET +kind = '{{ kind }}', +id = '{{ id }}', +creationTimestamp = '{{ creationTimestamp }}', +name = '{{ name }}', +description = '{{ description }}', +target = '{{ target }}', +autoscalingPolicy = '{{ autoscalingPolicy }}', +zone = '{{ zone }}', +region = '{{ region }}', +selfLink = '{{ selfLink }}', +status = '{{ status }}', +statusDetails = '{{ statusDetails }}', +recommendedSize = '{{ recommendedSize }}', +scalingScheduleStatus = '{{ scalingScheduleStatus }}' +WHERE +project = '{{ project }}' +AND zone = '{{ zone }}'; +``` + +## `DELETE` example + +Deletes the specified autoscaler resource. + +```sql +DELETE FROM google.compute.autoscalers +WHERE autoscaler = '{{ autoscaler }}' +AND project = '{{ project }}' +AND zone = '{{ zone }}'; +``` diff --git a/docs/google-docs/providers/google/compute/backend_buckets/index.md b/docs/google-docs/providers/google/compute/backend_buckets/index.md index 9ba9069946..9d91ed3f9e 100644 --- a/docs/google-docs/providers/google/compute/backend_buckets/index.md +++ b/docs/google-docs/providers/google/compute/backend_buckets/index.md @@ -1,3 +1,4 @@ + --- title: backend_buckets hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - backend_buckets - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an backend_bucket resource or lists backend_buckets in a region ## Overview
@@ -42,6 +44,8 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `boolean` | If true, enable Cloud CDN for this BackendBucket. | | | `string` | Type of the resource. | | | `string` | [Output Only] Server-defined URL for the resource. | +| | `array` | [Output Only] List of resources referencing that backend bucket. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -50,5 +54,149 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a BackendBucket resource in the specified project using the data included in the request. | | | `DELETE` | | Deletes the specified BackendBucket resource. | | | `UPDATE` | | Updates the specified BackendBucket resource with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules. | -| | `UPDATE` | | Updates the specified BackendBucket resource with the data included in the request. | | | `EXEC` | | Sets the edge security policy for the specified backend bucket. | +| | `EXEC` | | Updates the specified BackendBucket resource with the data included in the request. | + +## `SELECT` examples + +Retrieves the list of BackendBucket resources available to the specified project. + +```sql +SELECT +id, +name, +description, +bucketName, +cdnPolicy, +compressionMode, +creationTimestamp, +customResponseHeaders, +edgeSecurityPolicy, +enableCdn, +kind, +selfLink, +usedBy +FROM google.compute.backend_buckets +WHERE project = '{{ project }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new backend_buckets resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.backend_buckets ( +project, +kind, +id, +creationTimestamp, +name, +description, +selfLink, +bucketName, +enableCdn, +cdnPolicy, +customResponseHeaders, +edgeSecurityPolicy, +compressionMode, +usedBy +) +SELECT +'{{ project }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ name }}', +'{{ description }}', +'{{ selfLink }}', +'{{ bucketName }}', +true|false, +'{{ cdnPolicy }}', +'{{ customResponseHeaders }}', +'{{ edgeSecurityPolicy }}', +'{{ compressionMode }}', +'{{ usedBy }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: selfLink + value: '{{ selfLink }}' + - name: bucketName + value: '{{ bucketName }}' + - name: enableCdn + value: '{{ enableCdn }}' + - name: cdnPolicy + value: '{{ cdnPolicy }}' + - name: customResponseHeaders + value: '{{ customResponseHeaders }}' + - name: edgeSecurityPolicy + value: '{{ edgeSecurityPolicy }}' + - name: compressionMode + value: '{{ compressionMode }}' + - name: usedBy + value: '{{ usedBy }}' + +``` + + + +## `UPDATE` example + +Updates a backend_bucket only if the necessary resources are available. + +```sql +UPDATE google.compute.backend_buckets +SET +kind = '{{ kind }}', +id = '{{ id }}', +creationTimestamp = '{{ creationTimestamp }}', +name = '{{ name }}', +description = '{{ description }}', +selfLink = '{{ selfLink }}', +bucketName = '{{ bucketName }}', +enableCdn = true|false, +cdnPolicy = '{{ cdnPolicy }}', +customResponseHeaders = '{{ customResponseHeaders }}', +edgeSecurityPolicy = '{{ edgeSecurityPolicy }}', +compressionMode = '{{ compressionMode }}', +usedBy = '{{ usedBy }}' +WHERE +backendBucket = '{{ backendBucket }}' +AND project = '{{ project }}'; +``` + +## `DELETE` example + +Deletes the specified backend_bucket resource. + +```sql +DELETE FROM google.compute.backend_buckets +WHERE backendBucket = '{{ backendBucket }}' +AND project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/compute/backend_buckets_iam_policies/index.md b/docs/google-docs/providers/google/compute/backend_buckets_iam_policies/index.md index 7515d44994..c08ea9bf7e 100644 --- a/docs/google-docs/providers/google/compute/backend_buckets_iam_policies/index.md +++ b/docs/google-docs/providers/google/compute/backend_buckets_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: backend_buckets_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - backend_buckets_iam_policies - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an backend_buckets_iam_policy resource or lists backend_buckets_iam_policies in a region ## Overview
@@ -31,13 +33,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | Name | Datatype | Description | |:-----|:---------|:------------| | | `string` | This is deprecated and has no effect. Do not use. | -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. May be empty if no such policy or resource exists. | -| | `EXEC` | | Gets the access control policy for a resource. May be empty if no such policy or resource exists. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. | + +## `SELECT` examples + +Gets the access control policy for a resource. May be empty if no such policy or resource exists. + +```sql +SELECT +bindingId, +condition, +members, +role +FROM google.compute.backend_buckets_iam_policies +WHERE project = '{{ project }}' +AND resource = '{{ resource }}'; +``` diff --git a/docs/google-docs/providers/google/compute/backend_buckets_signed_url_key/index.md b/docs/google-docs/providers/google/compute/backend_buckets_signed_url_key/index.md index db50a141df..7536f6c44f 100644 --- a/docs/google-docs/providers/google/compute/backend_buckets_signed_url_key/index.md +++ b/docs/google-docs/providers/google/compute/backend_buckets_signed_url_key/index.md @@ -1,3 +1,4 @@ + --- title: backend_buckets_signed_url_key hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - backend_buckets_signed_url_key - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an backend_buckets_signed_url_key resource or lists backend_buckets_signed_url_key in a region ## Overview
@@ -28,9 +30,66 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| -| | `EXEC` | | Adds a key for validating requests with signed URLs for this backend bucket. | -| | `EXEC` | | Deletes a key for validating requests with signed URLs for this backend bucket. | +| | `INSERT` | | Adds a key for validating requests with signed URLs for this backend bucket. | +| | `DELETE` | | Deletes a key for validating requests with signed URLs for this backend bucket. | + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new backend_buckets_signed_url_key resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.backend_buckets_signed_url_key ( +backendBucket, +project, +keyName, +keyValue +) +SELECT +'{{ backendBucket }}', +'{{ project }}', +'{{ keyName }}', +'{{ keyValue }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: keyName + value: '{{ keyName }}' + - name: keyValue + value: '{{ keyValue }}' + +``` + + + +## `DELETE` example + +Deletes the specified backend_buckets_signed_url_key resource. + +```sql +DELETE FROM google.compute.backend_buckets_signed_url_key +WHERE backendBucket = '{{ backendBucket }}' +AND keyName = '{{ keyName }}' +AND project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/compute/backend_services/index.md b/docs/google-docs/providers/google/compute/backend_services/index.md index a6b3dd6f0f..f81d157bbd 100644 --- a/docs/google-docs/providers/google/compute/backend_services/index.md +++ b/docs/google-docs/providers/google/compute/backend_services/index.md @@ -1,3 +1,4 @@ + --- title: backend_services hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - backend_services - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an backend_service resource or lists backend_services in a region ## Overview @@ -53,7 +55,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] Type of resource. Always compute#backendService for backend services. | | | `string` | Specifies the load balancer type. A backend service created for one type of load balancer cannot be used with another. For more information, refer to Choosing a load balancer. | | | `array` | A list of locality load-balancing policies to be used in order of preference. When you use localityLbPolicies, you must set at least one value for either the localityLbPolicies[].policy or the localityLbPolicies[].customPolicy field. localityLbPolicies overrides any value set in the localityLbPolicy field. For an example of how to use this field, see Define a list of preferred policies. Caution: This field and its children are intended for use in a service mesh that includes gRPC clients only. Envoy proxies can't use backend services that have this configuration. | -| | `string` | The load balancing algorithm used within the scope of the locality. The possible values are: - ROUND_ROBIN: This is a simple policy in which each healthy backend is selected in round robin order. This is the default. - LEAST_REQUEST: An O(1) algorithm which selects two random healthy hosts and picks the host which has fewer active requests. - RING_HASH: The ring/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a host from a set of N hosts only affects 1/N of the requests. - RANDOM: The load balancer selects a random healthy host. - ORIGINAL_DESTINATION: Backend host is selected based on the client connection metadata, i.e., connections are opened to the same address as the destination address of the incoming connection before the connection was redirected to the load balancer. - MAGLEV: used as a drop in replacement for the ring hash load balancer. Maglev is not as stable as ring hash but has faster table lookup build times and host selection times. For more information about Maglev, see https://ai.google/research/pubs/pub44824 This field is applicable to either: - A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED, INTERNAL_MANAGED, or EXTERNAL_MANAGED. If sessionAffinity is not NONE, and this field is not set to MAGLEV or RING_HASH, session affinity settings will not take effect. Only ROUND_ROBIN and RING_HASH are supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. | +| | `string` | The load balancing algorithm used within the scope of the locality. The possible values are: - ROUND_ROBIN: This is a simple policy in which each healthy backend is selected in round robin order. This is the default. - LEAST_REQUEST: An O(1) algorithm which selects two random healthy hosts and picks the host which has fewer active requests. - RING_HASH: The ring/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a host from a set of N hosts only affects 1/N of the requests. - RANDOM: The load balancer selects a random healthy host. - ORIGINAL_DESTINATION: Backend host is selected based on the client connection metadata, i.e., connections are opened to the same address as the destination address of the incoming connection before the connection was redirected to the load balancer. - MAGLEV: used as a drop in replacement for the ring hash load balancer. Maglev is not as stable as ring hash but has faster table lookup build times and host selection times. For more information about Maglev, see https://ai.google/research/pubs/pub44824 This field is applicable to either: - A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED, INTERNAL_MANAGED, or EXTERNAL_MANAGED. If sessionAffinity is not configured—that is, if session affinity remains at the default value of NONE—then the default value for localityLbPolicy is ROUND_ROBIN. If session affinity is set to a value other than NONE, then the default value for localityLbPolicy is MAGLEV. Only ROUND_ROBIN and RING_HASH are supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. | | | `object` | The available logging options for the load balancer traffic served by this backend service. | | | `object` | A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like "day" or "month". Range is approximately 10,000 years. | | | `object` | Deployment metadata associated with the resource to be set by a GKE hub controller and read by the backend RCTH | @@ -71,7 +73,8 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Type of session affinity to use. The default is NONE. Only NONE and HEADER_FIELD are supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. For more details, see: [Session Affinity](https://cloud.google.com/load-balancing/docs/backend-service#session_affinity). | | | `object` | Subsetting configuration for this BackendService. Currently this is applicable only for Internal TCP/UDP load balancing, Internal HTTP(S) load balancing and Traffic Director. | | | `integer` | The backend service timeout has a different meaning depending on the type of load balancer. For more information see, Backend service settings. The default is 30 seconds. The full range of timeout values allowed goes from 1 through 2,147,483,647 seconds. This value can be overridden in the PathMatcher configuration of the UrlMap that references this backend service. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. Instead, use maxStreamDuration. | -| | `array` | | +| | `array` | [Output Only] List of resources referencing given backend service. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -80,6 +83,324 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a BackendService resource in the specified project using the data included in the request. For more information, see Backend services overview . | | | `DELETE` | | Deletes the specified BackendService resource. | | | `UPDATE` | | Patches the specified BackendService resource with the data included in the request. For more information, see Backend services overview. This method supports PATCH semantics and uses the JSON merge patch format and processing rules. | -| | `UPDATE` | | Updates the specified BackendService resource with the data included in the request. For more information, see Backend services overview. | | | `EXEC` | | Sets the edge security policy for the specified backend service. | | | `EXEC` | | Sets the Google Cloud Armor security policy for the specified backend service. For more information, see Google Cloud Armor Overview | +| | `EXEC` | | Updates the specified BackendService resource with the data included in the request. For more information, see Backend services overview. | + +## `SELECT` examples + +Retrieves the list of BackendService resources available to the specified project. + +```sql +SELECT +id, +name, +description, +affinityCookieTtlSec, +backends, +cdnPolicy, +circuitBreakers, +compressionMode, +connectionDraining, +connectionTrackingPolicy, +consistentHash, +creationTimestamp, +customRequestHeaders, +customResponseHeaders, +edgeSecurityPolicy, +enableCDN, +failoverPolicy, +fingerprint, +healthChecks, +iap, +kind, +loadBalancingScheme, +localityLbPolicies, +localityLbPolicy, +logConfig, +maxStreamDuration, +metadatas, +network, +outlierDetection, +port, +portName, +protocol, +region, +securityPolicy, +securitySettings, +selfLink, +serviceBindings, +serviceLbPolicy, +sessionAffinity, +subsetting, +timeoutSec, +usedBy +FROM google.compute.backend_services +WHERE project = '{{ project }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new backend_services resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.backend_services ( +project, +kind, +id, +creationTimestamp, +name, +description, +selfLink, +backends, +healthChecks, +timeoutSec, +port, +protocol, +fingerprint, +portName, +enableCDN, +sessionAffinity, +affinityCookieTtlSec, +region, +failoverPolicy, +loadBalancingScheme, +connectionDraining, +iap, +cdnPolicy, +customRequestHeaders, +customResponseHeaders, +securityPolicy, +edgeSecurityPolicy, +logConfig, +securitySettings, +localityLbPolicy, +consistentHash, +circuitBreakers, +outlierDetection, +network, +subsetting, +connectionTrackingPolicy, +maxStreamDuration, +compressionMode, +serviceLbPolicy, +serviceBindings, +localityLbPolicies, +metadatas, +usedBy +) +SELECT +'{{ project }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ name }}', +'{{ description }}', +'{{ selfLink }}', +'{{ backends }}', +'{{ healthChecks }}', +'{{ timeoutSec }}', +'{{ port }}', +'{{ protocol }}', +'{{ fingerprint }}', +'{{ portName }}', +true|false, +'{{ sessionAffinity }}', +'{{ affinityCookieTtlSec }}', +'{{ region }}', +'{{ failoverPolicy }}', +'{{ loadBalancingScheme }}', +'{{ connectionDraining }}', +'{{ iap }}', +'{{ cdnPolicy }}', +'{{ customRequestHeaders }}', +'{{ customResponseHeaders }}', +'{{ securityPolicy }}', +'{{ edgeSecurityPolicy }}', +'{{ logConfig }}', +'{{ securitySettings }}', +'{{ localityLbPolicy }}', +'{{ consistentHash }}', +'{{ circuitBreakers }}', +'{{ outlierDetection }}', +'{{ network }}', +'{{ subsetting }}', +'{{ connectionTrackingPolicy }}', +'{{ maxStreamDuration }}', +'{{ compressionMode }}', +'{{ serviceLbPolicy }}', +'{{ serviceBindings }}', +'{{ localityLbPolicies }}', +'{{ metadatas }}', +'{{ usedBy }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: selfLink + value: '{{ selfLink }}' + - name: backends + value: '{{ backends }}' + - name: healthChecks + value: '{{ healthChecks }}' + - name: timeoutSec + value: '{{ timeoutSec }}' + - name: port + value: '{{ port }}' + - name: protocol + value: '{{ protocol }}' + - name: fingerprint + value: '{{ fingerprint }}' + - name: portName + value: '{{ portName }}' + - name: enableCDN + value: '{{ enableCDN }}' + - name: sessionAffinity + value: '{{ sessionAffinity }}' + - name: affinityCookieTtlSec + value: '{{ affinityCookieTtlSec }}' + - name: region + value: '{{ region }}' + - name: failoverPolicy + value: '{{ failoverPolicy }}' + - name: loadBalancingScheme + value: '{{ loadBalancingScheme }}' + - name: connectionDraining + value: '{{ connectionDraining }}' + - name: iap + value: '{{ iap }}' + - name: cdnPolicy + value: '{{ cdnPolicy }}' + - name: customRequestHeaders + value: '{{ customRequestHeaders }}' + - name: customResponseHeaders + value: '{{ customResponseHeaders }}' + - name: securityPolicy + value: '{{ securityPolicy }}' + - name: edgeSecurityPolicy + value: '{{ edgeSecurityPolicy }}' + - name: logConfig + value: '{{ logConfig }}' + - name: securitySettings + value: '{{ securitySettings }}' + - name: localityLbPolicy + value: '{{ localityLbPolicy }}' + - name: consistentHash + value: '{{ consistentHash }}' + - name: circuitBreakers + value: '{{ circuitBreakers }}' + - name: outlierDetection + value: '{{ outlierDetection }}' + - name: network + value: '{{ network }}' + - name: subsetting + value: '{{ subsetting }}' + - name: connectionTrackingPolicy + value: '{{ connectionTrackingPolicy }}' + - name: maxStreamDuration + value: '{{ maxStreamDuration }}' + - name: compressionMode + value: '{{ compressionMode }}' + - name: serviceLbPolicy + value: '{{ serviceLbPolicy }}' + - name: serviceBindings + value: '{{ serviceBindings }}' + - name: localityLbPolicies + value: '{{ localityLbPolicies }}' + - name: metadatas + value: '{{ metadatas }}' + - name: usedBy + value: '{{ usedBy }}' + +``` + + + +## `UPDATE` example + +Updates a backend_service only if the necessary resources are available. + +```sql +UPDATE google.compute.backend_services +SET +kind = '{{ kind }}', +id = '{{ id }}', +creationTimestamp = '{{ creationTimestamp }}', +name = '{{ name }}', +description = '{{ description }}', +selfLink = '{{ selfLink }}', +backends = '{{ backends }}', +healthChecks = '{{ healthChecks }}', +timeoutSec = '{{ timeoutSec }}', +port = '{{ port }}', +protocol = '{{ protocol }}', +fingerprint = '{{ fingerprint }}', +portName = '{{ portName }}', +enableCDN = true|false, +sessionAffinity = '{{ sessionAffinity }}', +affinityCookieTtlSec = '{{ affinityCookieTtlSec }}', +region = '{{ region }}', +failoverPolicy = '{{ failoverPolicy }}', +loadBalancingScheme = '{{ loadBalancingScheme }}', +connectionDraining = '{{ connectionDraining }}', +iap = '{{ iap }}', +cdnPolicy = '{{ cdnPolicy }}', +customRequestHeaders = '{{ customRequestHeaders }}', +customResponseHeaders = '{{ customResponseHeaders }}', +securityPolicy = '{{ securityPolicy }}', +edgeSecurityPolicy = '{{ edgeSecurityPolicy }}', +logConfig = '{{ logConfig }}', +securitySettings = '{{ securitySettings }}', +localityLbPolicy = '{{ localityLbPolicy }}', +consistentHash = '{{ consistentHash }}', +circuitBreakers = '{{ circuitBreakers }}', +outlierDetection = '{{ outlierDetection }}', +network = '{{ network }}', +subsetting = '{{ subsetting }}', +connectionTrackingPolicy = '{{ connectionTrackingPolicy }}', +maxStreamDuration = '{{ maxStreamDuration }}', +compressionMode = '{{ compressionMode }}', +serviceLbPolicy = '{{ serviceLbPolicy }}', +serviceBindings = '{{ serviceBindings }}', +localityLbPolicies = '{{ localityLbPolicies }}', +metadatas = '{{ metadatas }}', +usedBy = '{{ usedBy }}' +WHERE +backendService = '{{ backendService }}' +AND project = '{{ project }}'; +``` + +## `DELETE` example + +Deletes the specified backend_service resource. + +```sql +DELETE FROM google.compute.backend_services +WHERE backendService = '{{ backendService }}' +AND project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/compute/backend_services_aggregated/index.md b/docs/google-docs/providers/google/compute/backend_services_aggregated/index.md index f2bdb1e767..36c5055451 100644 --- a/docs/google-docs/providers/google/compute/backend_services_aggregated/index.md +++ b/docs/google-docs/providers/google/compute/backend_services_aggregated/index.md @@ -1,3 +1,4 @@ + --- title: backend_services_aggregated hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - backend_services_aggregated - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an backend_services_aggregated resource or lists backend_services_aggregated in a region ## Overview
@@ -53,7 +55,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] Type of resource. Always compute#backendService for backend services. | | | `string` | Specifies the load balancer type. A backend service created for one type of load balancer cannot be used with another. For more information, refer to Choosing a load balancer. | | | `array` | A list of locality load-balancing policies to be used in order of preference. When you use localityLbPolicies, you must set at least one value for either the localityLbPolicies[].policy or the localityLbPolicies[].customPolicy field. localityLbPolicies overrides any value set in the localityLbPolicy field. For an example of how to use this field, see Define a list of preferred policies. Caution: This field and its children are intended for use in a service mesh that includes gRPC clients only. Envoy proxies can't use backend services that have this configuration. | -| | `string` | The load balancing algorithm used within the scope of the locality. The possible values are: - ROUND_ROBIN: This is a simple policy in which each healthy backend is selected in round robin order. This is the default. - LEAST_REQUEST: An O(1) algorithm which selects two random healthy hosts and picks the host which has fewer active requests. - RING_HASH: The ring/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a host from a set of N hosts only affects 1/N of the requests. - RANDOM: The load balancer selects a random healthy host. - ORIGINAL_DESTINATION: Backend host is selected based on the client connection metadata, i.e., connections are opened to the same address as the destination address of the incoming connection before the connection was redirected to the load balancer. - MAGLEV: used as a drop in replacement for the ring hash load balancer. Maglev is not as stable as ring hash but has faster table lookup build times and host selection times. For more information about Maglev, see https://ai.google/research/pubs/pub44824 This field is applicable to either: - A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED, INTERNAL_MANAGED, or EXTERNAL_MANAGED. If sessionAffinity is not NONE, and this field is not set to MAGLEV or RING_HASH, session affinity settings will not take effect. Only ROUND_ROBIN and RING_HASH are supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. | +| | `string` | The load balancing algorithm used within the scope of the locality. The possible values are: - ROUND_ROBIN: This is a simple policy in which each healthy backend is selected in round robin order. This is the default. - LEAST_REQUEST: An O(1) algorithm which selects two random healthy hosts and picks the host which has fewer active requests. - RING_HASH: The ring/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a host from a set of N hosts only affects 1/N of the requests. - RANDOM: The load balancer selects a random healthy host. - ORIGINAL_DESTINATION: Backend host is selected based on the client connection metadata, i.e., connections are opened to the same address as the destination address of the incoming connection before the connection was redirected to the load balancer. - MAGLEV: used as a drop in replacement for the ring hash load balancer. Maglev is not as stable as ring hash but has faster table lookup build times and host selection times. For more information about Maglev, see https://ai.google/research/pubs/pub44824 This field is applicable to either: - A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED, INTERNAL_MANAGED, or EXTERNAL_MANAGED. If sessionAffinity is not configured—that is, if session affinity remains at the default value of NONE—then the default value for localityLbPolicy is ROUND_ROBIN. If session affinity is set to a value other than NONE, then the default value for localityLbPolicy is MAGLEV. Only ROUND_ROBIN and RING_HASH are supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. | | | `object` | The available logging options for the load balancer traffic served by this backend service. | | | `object` | A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like "day" or "month". Range is approximately 10,000 years. | | | `object` | Deployment metadata associated with the resource to be set by a GKE hub controller and read by the backend RCTH | @@ -71,9 +73,61 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Type of session affinity to use. The default is NONE. Only NONE and HEADER_FIELD are supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. For more details, see: [Session Affinity](https://cloud.google.com/load-balancing/docs/backend-service#session_affinity). | | | `object` | Subsetting configuration for this BackendService. Currently this is applicable only for Internal TCP/UDP load balancing, Internal HTTP(S) load balancing and Traffic Director. | | | `integer` | The backend service timeout has a different meaning depending on the type of load balancer. For more information see, Backend service settings. The default is 30 seconds. The full range of timeout values allowed goes from 1 through 2,147,483,647 seconds. This value can be overridden in the PathMatcher configuration of the UrlMap that references this backend service. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. Instead, use maxStreamDuration. | -| | `array` | | +| | `array` | [Output Only] List of resources referencing given backend service. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Retrieves the list of all BackendService resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. | + +## `SELECT` examples + +Retrieves the list of all BackendService resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. + +```sql +SELECT +id, +name, +description, +affinityCookieTtlSec, +backends, +cdnPolicy, +circuitBreakers, +compressionMode, +connectionDraining, +connectionTrackingPolicy, +consistentHash, +creationTimestamp, +customRequestHeaders, +customResponseHeaders, +edgeSecurityPolicy, +enableCDN, +failoverPolicy, +fingerprint, +healthChecks, +iap, +kind, +loadBalancingScheme, +localityLbPolicies, +localityLbPolicy, +logConfig, +maxStreamDuration, +metadatas, +network, +outlierDetection, +port, +portName, +protocol, +region, +securityPolicy, +securitySettings, +selfLink, +serviceBindings, +serviceLbPolicy, +sessionAffinity, +subsetting, +timeoutSec, +usedBy +FROM google.compute.backend_services_aggregated +WHERE project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/compute/backend_services_health/index.md b/docs/google-docs/providers/google/compute/backend_services_health/index.md index 0695a17cd5..ebf870868e 100644 --- a/docs/google-docs/providers/google/compute/backend_services_health/index.md +++ b/docs/google-docs/providers/google/compute/backend_services_health/index.md @@ -1,3 +1,4 @@ + --- title: backend_services_health hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - backend_services_health - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an backend_services_health resource or lists backend_services_health in a region ## Overview
@@ -28,8 +30,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `object` | Metadata defined as annotations on the network endpoint group. | +| | `array` | Health state of the backend instances or endpoints in requested instance or network endpoint group, determined based on configured health checks. | +| | `string` | [Output Only] Type of resource. Always compute#backendServiceGroupHealth for the health of backend services. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets the most recent health check results for this BackendService. Example request body: { "group": "/zones/us-east1-b/instanceGroups/lb-backend-example" } | + +## `SELECT` examples + +Gets the most recent health check results for this BackendService. Example request body: { "group": "/zones/us-east1-b/instanceGroups/lb-backend-example" } + +```sql +SELECT +annotations, +healthStatus, +kind +FROM google.compute.backend_services_health +WHERE backendService = '{{ backendService }}' +AND project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/compute/backend_services_iam_policies/index.md b/docs/google-docs/providers/google/compute/backend_services_iam_policies/index.md index 279035b30c..7304bb2775 100644 --- a/docs/google-docs/providers/google/compute/backend_services_iam_policies/index.md +++ b/docs/google-docs/providers/google/compute/backend_services_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: backend_services_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - backend_services_iam_policies - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an backend_services_iam_policy resource or lists backend_services_iam_policies in a region ## Overview @@ -31,13 +33,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | Name | Datatype | Description | |:-----|:---------|:------------| | | `string` | This is deprecated and has no effect. Do not use. | -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. May be empty if no such policy or resource exists. | -| | `EXEC` | | Gets the access control policy for a resource. May be empty if no such policy or resource exists. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. | + +## `SELECT` examples + +Gets the access control policy for a resource. May be empty if no such policy or resource exists. + +```sql +SELECT +bindingId, +condition, +members, +role +FROM google.compute.backend_services_iam_policies +WHERE project = '{{ project }}' +AND resource = '{{ resource }}'; +``` diff --git a/docs/google-docs/providers/google/compute/backend_services_signed_url_key/index.md b/docs/google-docs/providers/google/compute/backend_services_signed_url_key/index.md index 0420df5e5b..14d45592ba 100644 --- a/docs/google-docs/providers/google/compute/backend_services_signed_url_key/index.md +++ b/docs/google-docs/providers/google/compute/backend_services_signed_url_key/index.md @@ -1,3 +1,4 @@ + --- title: backend_services_signed_url_key hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - backend_services_signed_url_key - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an backend_services_signed_url_key resource or lists backend_services_signed_url_key in a region ## Overview
@@ -28,9 +30,66 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| -| | `EXEC` | | Adds a key for validating requests with signed URLs for this backend service. | -| | `EXEC` | | Deletes a key for validating requests with signed URLs for this backend service. | +| | `INSERT` | | Adds a key for validating requests with signed URLs for this backend service. | +| | `DELETE` | | Deletes a key for validating requests with signed URLs for this backend service. | + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new backend_services_signed_url_key resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.backend_services_signed_url_key ( +backendService, +project, +keyName, +keyValue +) +SELECT +'{{ backendService }}', +'{{ project }}', +'{{ keyName }}', +'{{ keyValue }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: keyName + value: '{{ keyName }}' + - name: keyValue + value: '{{ keyValue }}' + +``` + + + +## `DELETE` example + +Deletes the specified backend_services_signed_url_key resource. + +```sql +DELETE FROM google.compute.backend_services_signed_url_key +WHERE backendService = '{{ backendService }}' +AND keyName = '{{ keyName }}' +AND project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/compute/backend_services_usable/index.md b/docs/google-docs/providers/google/compute/backend_services_usable/index.md index 6a4920fda7..9f782d0bc7 100644 --- a/docs/google-docs/providers/google/compute/backend_services_usable/index.md +++ b/docs/google-docs/providers/google/compute/backend_services_usable/index.md @@ -1,3 +1,4 @@ + --- title: backend_services_usable hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - backend_services_usable - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an backend_services_usable resource or lists backend_services_usable in a region ## Overview @@ -53,7 +55,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] Type of resource. Always compute#backendService for backend services. | | | `string` | Specifies the load balancer type. A backend service created for one type of load balancer cannot be used with another. For more information, refer to Choosing a load balancer. | | | `array` | A list of locality load-balancing policies to be used in order of preference. When you use localityLbPolicies, you must set at least one value for either the localityLbPolicies[].policy or the localityLbPolicies[].customPolicy field. localityLbPolicies overrides any value set in the localityLbPolicy field. For an example of how to use this field, see Define a list of preferred policies. Caution: This field and its children are intended for use in a service mesh that includes gRPC clients only. Envoy proxies can't use backend services that have this configuration. | -| | `string` | The load balancing algorithm used within the scope of the locality. The possible values are: - ROUND_ROBIN: This is a simple policy in which each healthy backend is selected in round robin order. This is the default. - LEAST_REQUEST: An O(1) algorithm which selects two random healthy hosts and picks the host which has fewer active requests. - RING_HASH: The ring/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a host from a set of N hosts only affects 1/N of the requests. - RANDOM: The load balancer selects a random healthy host. - ORIGINAL_DESTINATION: Backend host is selected based on the client connection metadata, i.e., connections are opened to the same address as the destination address of the incoming connection before the connection was redirected to the load balancer. - MAGLEV: used as a drop in replacement for the ring hash load balancer. Maglev is not as stable as ring hash but has faster table lookup build times and host selection times. For more information about Maglev, see https://ai.google/research/pubs/pub44824 This field is applicable to either: - A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED, INTERNAL_MANAGED, or EXTERNAL_MANAGED. If sessionAffinity is not NONE, and this field is not set to MAGLEV or RING_HASH, session affinity settings will not take effect. Only ROUND_ROBIN and RING_HASH are supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. | +| | `string` | The load balancing algorithm used within the scope of the locality. The possible values are: - ROUND_ROBIN: This is a simple policy in which each healthy backend is selected in round robin order. This is the default. - LEAST_REQUEST: An O(1) algorithm which selects two random healthy hosts and picks the host which has fewer active requests. - RING_HASH: The ring/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a host from a set of N hosts only affects 1/N of the requests. - RANDOM: The load balancer selects a random healthy host. - ORIGINAL_DESTINATION: Backend host is selected based on the client connection metadata, i.e., connections are opened to the same address as the destination address of the incoming connection before the connection was redirected to the load balancer. - MAGLEV: used as a drop in replacement for the ring hash load balancer. Maglev is not as stable as ring hash but has faster table lookup build times and host selection times. For more information about Maglev, see https://ai.google/research/pubs/pub44824 This field is applicable to either: - A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED, INTERNAL_MANAGED, or EXTERNAL_MANAGED. If sessionAffinity is not configured—that is, if session affinity remains at the default value of NONE—then the default value for localityLbPolicy is ROUND_ROBIN. If session affinity is set to a value other than NONE, then the default value for localityLbPolicy is MAGLEV. Only ROUND_ROBIN and RING_HASH are supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. | | | `object` | The available logging options for the load balancer traffic served by this backend service. | | | `object` | A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like "day" or "month". Range is approximately 10,000 years. | | | `object` | Deployment metadata associated with the resource to be set by a GKE hub controller and read by the backend RCTH | @@ -71,8 +73,61 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Type of session affinity to use. The default is NONE. Only NONE and HEADER_FIELD are supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. For more details, see: [Session Affinity](https://cloud.google.com/load-balancing/docs/backend-service#session_affinity). | | | `object` | Subsetting configuration for this BackendService. Currently this is applicable only for Internal TCP/UDP load balancing, Internal HTTP(S) load balancing and Traffic Director. | | | `integer` | The backend service timeout has a different meaning depending on the type of load balancer. For more information see, Backend service settings. The default is 30 seconds. The full range of timeout values allowed goes from 1 through 2,147,483,647 seconds. This value can be overridden in the PathMatcher configuration of the UrlMap that references this backend service. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. Instead, use maxStreamDuration. | -| | `array` | | +| | `array` | [Output Only] List of resources referencing given backend service. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Retrieves a list of all usable backend services in the specified project. | + +## `SELECT` examples + +Retrieves a list of all usable backend services in the specified project. + +```sql +SELECT +id, +name, +description, +affinityCookieTtlSec, +backends, +cdnPolicy, +circuitBreakers, +compressionMode, +connectionDraining, +connectionTrackingPolicy, +consistentHash, +creationTimestamp, +customRequestHeaders, +customResponseHeaders, +edgeSecurityPolicy, +enableCDN, +failoverPolicy, +fingerprint, +healthChecks, +iap, +kind, +loadBalancingScheme, +localityLbPolicies, +localityLbPolicy, +logConfig, +maxStreamDuration, +metadatas, +network, +outlierDetection, +port, +portName, +protocol, +region, +securityPolicy, +securitySettings, +selfLink, +serviceBindings, +serviceLbPolicy, +sessionAffinity, +subsetting, +timeoutSec, +usedBy +FROM google.compute.backend_services_usable +WHERE project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/compute/disk_types/index.md b/docs/google-docs/providers/google/compute/disk_types/index.md index 541136411c..ffef3c8d5a 100644 --- a/docs/google-docs/providers/google/compute/disk_types/index.md +++ b/docs/google-docs/providers/google/compute/disk_types/index.md @@ -1,3 +1,4 @@ + --- title: disk_types hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - disk_types - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an disk_type resource or lists disk_types in a region ## Overview
@@ -41,10 +43,31 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] Server-defined URL for the resource. | | | `string` | [Output Only] An optional textual description of the valid disk size, such as "10GB-10TB". | | | `string` | [Output Only] URL of the zone where the disk type resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Retrieves an aggregated list of disk types. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. | | | `SELECT` | | Returns the specified disk type. | | | `SELECT` | | Retrieves a list of disk types available to the specified project. | -| | `EXEC` | | Retrieves an aggregated list of disk types. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. | + +## `SELECT` examples + +Retrieves an aggregated list of disk types. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. + +```sql +SELECT +id, +name, +description, +creationTimestamp, +defaultDiskSizeGb, +deprecated, +kind, +region, +selfLink, +validDiskSize, +zone +FROM google.compute.disk_types +WHERE project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/compute/disks/index.md b/docs/google-docs/providers/google/compute/disks/index.md index f3cce3d134..9a9cd8045b 100644 --- a/docs/google-docs/providers/google/compute/disks/index.md +++ b/docs/google-docs/providers/google/compute/disks/index.md @@ -1,3 +1,4 @@ + --- title: disks hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - disks - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an disk resource or lists disks in a region ## Overview
@@ -80,19 +82,193 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | URL of the disk type resource describing which disk type to use to create the disk. Provide this when creating the disk. For example: projects/project /zones/zone/diskTypes/pd-ssd . See Persistent disk types. | | | `array` | [Output Only] Links to the users of the disk (attached instances) in form: projects/project/zones/zone/instances/instance | | | `string` | [Output Only] URL of the zone where the disk resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Retrieves an aggregated list of persistent disks. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. | | | `SELECT` | | Returns the specified persistent disk. | | | `SELECT` | | Retrieves a list of persistent disks contained within the specified zone. | +| | `INSERT` | | Bulk create a set of disks. | | | `INSERT` | | Creates a persistent disk in the specified project using the data in the request. You can create a disk from a source (sourceImage, sourceSnapshot, or sourceDisk) or create an empty 500 GB data disk by omitting all properties. You can also create a disk that is larger than the default size by specifying the sizeGb property. | | | `DELETE` | | Deletes the specified persistent disk. Deleting a disk removes its data permanently and is irreversible. However, deleting a disk does not delete any snapshots previously made from the disk. You must separately delete snapshots. | | | `UPDATE` | | Updates the specified disk with the data included in the request. The update is performed only on selected fields included as part of update-mask. Only the following fields can be modified: user_license. | -| | `EXEC` | | Retrieves an aggregated list of persistent disks. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. | -| | `EXEC` | | Bulk create a set of disks. | | | `EXEC` | | Resizes the specified persistent disk. You can only increase the size of the disk. | | | `EXEC` | | Sets the labels on a disk. To learn more about labels, read the Labeling Resources documentation. | | | `EXEC` | | Starts asynchronous replication. Must be invoked on the primary disk. | | | `EXEC` | | Stops asynchronous replication. Can be invoked either on the primary or on the secondary disk. | | | `EXEC` | | Stops asynchronous replication for a consistency group of disks. Can be invoked either in the primary or secondary scope. | + +## `SELECT` examples + +Retrieves an aggregated list of persistent disks. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. + +```sql +SELECT +id, +name, +description, +accessMode, +architecture, +asyncPrimaryDisk, +asyncSecondaryDisks, +creationTimestamp, +diskEncryptionKey, +enableConfidentialCompute, +guestOsFeatures, +kind, +labelFingerprint, +labels, +lastAttachTimestamp, +lastDetachTimestamp, +licenseCodes, +licenses, +locationHint, +options, +params, +physicalBlockSizeBytes, +provisionedIops, +provisionedThroughput, +region, +replicaZones, +resourcePolicies, +resourceStatus, +satisfiesPzi, +satisfiesPzs, +selfLink, +sizeGb, +sourceConsistencyGroupPolicy, +sourceConsistencyGroupPolicyId, +sourceDisk, +sourceDiskId, +sourceImage, +sourceImageEncryptionKey, +sourceImageId, +sourceInstantSnapshot, +sourceInstantSnapshotId, +sourceSnapshot, +sourceSnapshotEncryptionKey, +sourceSnapshotId, +sourceStorageObject, +status, +storagePool, +type, +users, +zone +FROM google.compute.disks +WHERE project = '{{ project }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new disks resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.disks ( +project, +zone, +sourceConsistencyGroupPolicy +) +SELECT +'{{ project }}', +'{{ zone }}', +'{{ sourceConsistencyGroupPolicy }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: sourceConsistencyGroupPolicy + value: '{{ sourceConsistencyGroupPolicy }}' + +``` + + + +## `UPDATE` example + +Updates a disk only if the necessary resources are available. + +```sql +UPDATE google.compute.disks +SET +kind = '{{ kind }}', +id = '{{ id }}', +creationTimestamp = '{{ creationTimestamp }}', +name = '{{ name }}', +description = '{{ description }}', +sizeGb = '{{ sizeGb }}', +zone = '{{ zone }}', +status = '{{ status }}', +sourceSnapshot = '{{ sourceSnapshot }}', +sourceSnapshotId = '{{ sourceSnapshotId }}', +sourceStorageObject = '{{ sourceStorageObject }}', +options = '{{ options }}', +selfLink = '{{ selfLink }}', +sourceImage = '{{ sourceImage }}', +sourceImageId = '{{ sourceImageId }}', +type = '{{ type }}', +licenses = '{{ licenses }}', +guestOsFeatures = '{{ guestOsFeatures }}', +lastAttachTimestamp = '{{ lastAttachTimestamp }}', +lastDetachTimestamp = '{{ lastDetachTimestamp }}', +users = '{{ users }}', +diskEncryptionKey = '{{ diskEncryptionKey }}', +sourceImageEncryptionKey = '{{ sourceImageEncryptionKey }}', +sourceSnapshotEncryptionKey = '{{ sourceSnapshotEncryptionKey }}', +labels = '{{ labels }}', +labelFingerprint = '{{ labelFingerprint }}', +region = '{{ region }}', +replicaZones = '{{ replicaZones }}', +licenseCodes = '{{ licenseCodes }}', +physicalBlockSizeBytes = '{{ physicalBlockSizeBytes }}', +resourcePolicies = '{{ resourcePolicies }}', +sourceDisk = '{{ sourceDisk }}', +sourceDiskId = '{{ sourceDiskId }}', +provisionedIops = '{{ provisionedIops }}', +provisionedThroughput = '{{ provisionedThroughput }}', +enableConfidentialCompute = true|false, +sourceInstantSnapshot = '{{ sourceInstantSnapshot }}', +sourceInstantSnapshotId = '{{ sourceInstantSnapshotId }}', +satisfiesPzs = true|false, +satisfiesPzi = true|false, +locationHint = '{{ locationHint }}', +storagePool = '{{ storagePool }}', +accessMode = '{{ accessMode }}', +asyncPrimaryDisk = '{{ asyncPrimaryDisk }}', +asyncSecondaryDisks = '{{ asyncSecondaryDisks }}', +resourceStatus = '{{ resourceStatus }}', +sourceConsistencyGroupPolicy = '{{ sourceConsistencyGroupPolicy }}', +sourceConsistencyGroupPolicyId = '{{ sourceConsistencyGroupPolicyId }}', +architecture = '{{ architecture }}', +params = '{{ params }}' +WHERE +disk = '{{ disk }}' +AND project = '{{ project }}' +AND zone = '{{ zone }}'; +``` + +## `DELETE` example + +Deletes the specified disk resource. + +```sql +DELETE FROM google.compute.disks +WHERE disk = '{{ disk }}' +AND project = '{{ project }}' +AND zone = '{{ zone }}'; +``` diff --git a/docs/google-docs/providers/google/compute/disks_iam_policies/index.md b/docs/google-docs/providers/google/compute/disks_iam_policies/index.md index 3f034fe75d..cd3491ee9f 100644 --- a/docs/google-docs/providers/google/compute/disks_iam_policies/index.md +++ b/docs/google-docs/providers/google/compute/disks_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: disks_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - disks_iam_policies - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an disks_iam_policy resource or lists disks_iam_policies in a region ## Overview
@@ -31,13 +33,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | Name | Datatype | Description | |:-----|:---------|:------------| | | `string` | This is deprecated and has no effect. Do not use. | -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. May be empty if no such policy or resource exists. | -| | `EXEC` | | Gets the access control policy for a resource. May be empty if no such policy or resource exists. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. | + +## `SELECT` examples + +Gets the access control policy for a resource. May be empty if no such policy or resource exists. + +```sql +SELECT +bindingId, +condition, +members, +role +FROM google.compute.disks_iam_policies +WHERE project = '{{ project }}' +AND resource = '{{ resource }}' +AND zone = '{{ zone }}'; +``` diff --git a/docs/google-docs/providers/google/compute/disks_resource_policies/index.md b/docs/google-docs/providers/google/compute/disks_resource_policies/index.md index 80388a1f92..197529e6ba 100644 --- a/docs/google-docs/providers/google/compute/disks_resource_policies/index.md +++ b/docs/google-docs/providers/google/compute/disks_resource_policies/index.md @@ -1,3 +1,4 @@ + --- title: disks_resource_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - disks_resource_policies - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an disks_resource_policy resource or lists disks_resource_policies in a region ## Overview
@@ -28,9 +30,64 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| -| | `EXEC` | | Adds existing resource policies to a disk. You can only add one policy which will be applied to this disk for scheduling snapshot creation. | -| | `EXEC` | | Removes resource policies from a disk. | +| | `INSERT` | | Adds existing resource policies to a disk. You can only add one policy which will be applied to this disk for scheduling snapshot creation. | +| | `DELETE` | | Removes resource policies from a disk. | + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new disks_resource_policies resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.disks_resource_policies ( +disk, +project, +zone, +resourcePolicies +) +SELECT +'{{ disk }}', +'{{ project }}', +'{{ zone }}', +'{{ resourcePolicies }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: resourcePolicies + value: '{{ resourcePolicies }}' + +``` + + + +## `DELETE` example + +Deletes the specified disks_resource_policy resource. + +```sql +DELETE FROM google.compute.disks_resource_policies +WHERE disk = '{{ disk }}' +AND project = '{{ project }}' +AND zone = '{{ zone }}'; +``` diff --git a/docs/google-docs/providers/google/compute/disks_snapshot/index.md b/docs/google-docs/providers/google/compute/disks_snapshot/index.md index da34286c39..c559554857 100644 --- a/docs/google-docs/providers/google/compute/disks_snapshot/index.md +++ b/docs/google-docs/providers/google/compute/disks_snapshot/index.md @@ -1,3 +1,4 @@ + --- title: disks_snapshot hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - disks_snapshot - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an disks_snapshot resource or lists disks_snapshot in a region ## Overview @@ -28,8 +30,192 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `INSERT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `INSERT` | | Creates a snapshot of a specified persistent disk. For regular snapshot creation, consider using snapshots.insert instead, as that method supports more features, such as creating snapshots in a project different from the source disk project. | + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new disks_snapshot resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.disks_snapshot ( +disk, +project, +zone, +kind, +id, +creationTimestamp, +name, +description, +status, +sourceDisk, +sourceDiskId, +diskSizeGb, +storageBytes, +storageBytesStatus, +licenses, +snapshotEncryptionKey, +sourceDiskEncryptionKey, +selfLink, +labels, +labelFingerprint, +licenseCodes, +storageLocations, +autoCreated, +guestOsFeatures, +downloadBytes, +chainName, +satisfiesPzs, +locationHint, +sourceSnapshotSchedulePolicy, +sourceSnapshotSchedulePolicyId, +sourceInstantSnapshot, +sourceInstantSnapshotId, +architecture, +snapshotType, +creationSizeBytes, +enableConfidentialCompute, +sourceDiskForRecoveryCheckpoint, +sourceInstantSnapshotEncryptionKey, +satisfiesPzi +) +SELECT +'{{ disk }}', +'{{ project }}', +'{{ zone }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ name }}', +'{{ description }}', +'{{ status }}', +'{{ sourceDisk }}', +'{{ sourceDiskId }}', +'{{ diskSizeGb }}', +'{{ storageBytes }}', +'{{ storageBytesStatus }}', +'{{ licenses }}', +'{{ snapshotEncryptionKey }}', +'{{ sourceDiskEncryptionKey }}', +'{{ selfLink }}', +'{{ labels }}', +'{{ labelFingerprint }}', +'{{ licenseCodes }}', +'{{ storageLocations }}', +true|false, +'{{ guestOsFeatures }}', +'{{ downloadBytes }}', +'{{ chainName }}', +true|false, +'{{ locationHint }}', +'{{ sourceSnapshotSchedulePolicy }}', +'{{ sourceSnapshotSchedulePolicyId }}', +'{{ sourceInstantSnapshot }}', +'{{ sourceInstantSnapshotId }}', +'{{ architecture }}', +'{{ snapshotType }}', +'{{ creationSizeBytes }}', +true|false, +'{{ sourceDiskForRecoveryCheckpoint }}', +'{{ sourceInstantSnapshotEncryptionKey }}', +true|false +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: status + value: '{{ status }}' + - name: sourceDisk + value: '{{ sourceDisk }}' + - name: sourceDiskId + value: '{{ sourceDiskId }}' + - name: diskSizeGb + value: '{{ diskSizeGb }}' + - name: storageBytes + value: '{{ storageBytes }}' + - name: storageBytesStatus + value: '{{ storageBytesStatus }}' + - name: licenses + value: '{{ licenses }}' + - name: snapshotEncryptionKey + value: '{{ snapshotEncryptionKey }}' + - name: sourceDiskEncryptionKey + value: '{{ sourceDiskEncryptionKey }}' + - name: selfLink + value: '{{ selfLink }}' + - name: labels + value: '{{ labels }}' + - name: labelFingerprint + value: '{{ labelFingerprint }}' + - name: licenseCodes + value: '{{ licenseCodes }}' + - name: storageLocations + value: '{{ storageLocations }}' + - name: autoCreated + value: '{{ autoCreated }}' + - name: guestOsFeatures + value: '{{ guestOsFeatures }}' + - name: downloadBytes + value: '{{ downloadBytes }}' + - name: chainName + value: '{{ chainName }}' + - name: satisfiesPzs + value: '{{ satisfiesPzs }}' + - name: locationHint + value: '{{ locationHint }}' + - name: sourceSnapshotSchedulePolicy + value: '{{ sourceSnapshotSchedulePolicy }}' + - name: sourceSnapshotSchedulePolicyId + value: '{{ sourceSnapshotSchedulePolicyId }}' + - name: sourceInstantSnapshot + value: '{{ sourceInstantSnapshot }}' + - name: sourceInstantSnapshotId + value: '{{ sourceInstantSnapshotId }}' + - name: architecture + value: '{{ architecture }}' + - name: snapshotType + value: '{{ snapshotType }}' + - name: creationSizeBytes + value: '{{ creationSizeBytes }}' + - name: enableConfidentialCompute + value: '{{ enableConfidentialCompute }}' + - name: sourceDiskForRecoveryCheckpoint + value: '{{ sourceDiskForRecoveryCheckpoint }}' + - name: sourceInstantSnapshotEncryptionKey + value: '{{ sourceInstantSnapshotEncryptionKey }}' + - name: satisfiesPzi + value: '{{ satisfiesPzi }}' + +``` + + diff --git a/docs/google-docs/providers/google/compute/external_vpn_gateways/index.md b/docs/google-docs/providers/google/compute/external_vpn_gateways/index.md index d7ba4e2672..2feca513e2 100644 --- a/docs/google-docs/providers/google/compute/external_vpn_gateways/index.md +++ b/docs/google-docs/providers/google/compute/external_vpn_gateways/index.md @@ -1,3 +1,4 @@ + --- title: external_vpn_gateways hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - external_vpn_gateways - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an external_vpn_gateway resource or lists external_vpn_gateways in a region ## Overview @@ -40,6 +42,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty. | | | `string` | Indicates the user-supplied redundancy type of this external VPN gateway. | | | `string` | [Output Only] Server-defined URL for the resource. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -48,3 +51,107 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a ExternalVpnGateway in the specified project using the data included in the request. | | | `DELETE` | | Deletes the specified externalVpnGateway. | | | `EXEC` | | Sets the labels on an ExternalVpnGateway. To learn more about labels, read the Labeling Resources documentation. | + +## `SELECT` examples + +Retrieves the list of ExternalVpnGateway available to the specified project. + +```sql +SELECT +id, +name, +description, +creationTimestamp, +interfaces, +kind, +labelFingerprint, +labels, +redundancyType, +selfLink +FROM google.compute.external_vpn_gateways +WHERE project = '{{ project }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new external_vpn_gateways resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.external_vpn_gateways ( +project, +kind, +description, +selfLink, +id, +creationTimestamp, +name, +redundancyType, +interfaces, +labels, +labelFingerprint +) +SELECT +'{{ project }}', +'{{ kind }}', +'{{ description }}', +'{{ selfLink }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ name }}', +'{{ redundancyType }}', +'{{ interfaces }}', +'{{ labels }}', +'{{ labelFingerprint }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: description + value: '{{ description }}' + - name: selfLink + value: '{{ selfLink }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: name + value: '{{ name }}' + - name: redundancyType + value: '{{ redundancyType }}' + - name: interfaces + value: '{{ interfaces }}' + - name: labels + value: '{{ labels }}' + - name: labelFingerprint + value: '{{ labelFingerprint }}' + +``` + + + +## `DELETE` example + +Deletes the specified external_vpn_gateway resource. + +```sql +DELETE FROM google.compute.external_vpn_gateways +WHERE externalVpnGateway = '{{ externalVpnGateway }}' +AND project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/compute/external_vpn_gateways_iam_policies/index.md b/docs/google-docs/providers/google/compute/external_vpn_gateways_iam_policies/index.md index 411b4ad5af..115a4b284b 100644 --- a/docs/google-docs/providers/google/compute/external_vpn_gateways_iam_policies/index.md +++ b/docs/google-docs/providers/google/compute/external_vpn_gateways_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: external_vpn_gateways_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - external_vpn_gateways_iam_policies - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an external_vpn_gateways_iam_policy resource or lists external_vpn_gateways_iam_policies in a region ## Overview
@@ -28,8 +30,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Returns permissions that a caller has on the specified resource. | diff --git a/docs/google-docs/providers/google/compute/firewall_policies/index.md b/docs/google-docs/providers/google/compute/firewall_policies/index.md index 986f1dd456..a6a7ba347e 100644 --- a/docs/google-docs/providers/google/compute/firewall_policies/index.md +++ b/docs/google-docs/providers/google/compute/firewall_policies/index.md @@ -1,3 +1,4 @@ + --- title: firewall_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - firewall_policies - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an firewall_policy resource or lists firewall_policies in a region ## Overview @@ -45,14 +47,169 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] Server-defined URL for the resource. | | | `string` | [Output Only] Server-defined URL for this resource with the resource id. | | | `string` | User-provided name of the Organization firewall policy. The name should be unique in the organization in which the firewall policy is created. This field is not applicable to network firewall policies. This name must be set on creation and cannot be changed. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Returns the specified firewall policy. | -| | `SELECT` | | Lists all the policies that have been configured for the specified folder or organization. | -| | `INSERT` | | Creates a new policy in the specified project using the data included in the request. | +| | `SELECT` | | Lists all the policies that have been configured for the specified folder or organization. | +| | `INSERT` | | Creates a new policy in the specified project using the data included in the request. | | | `DELETE` | | Deletes the specified policy. | | | `UPDATE` | | Patches the specified policy with the data included in the request. | +| | `UPDATE` | | Patches a rule of the specified priority. | | | `EXEC` | | Copies rules to the specified firewall policy. | | | `EXEC` | | Moves the specified firewall policy. | -| | `EXEC` | | Patches a rule of the specified priority. | + +## `SELECT` examples + +Lists all the policies that have been configured for the specified folder or organization. + +```sql +SELECT +id, +name, +description, +associations, +creationTimestamp, +displayName, +fingerprint, +kind, +parent, +region, +ruleTupleCount, +rules, +selfLink, +selfLinkWithId, +shortName +FROM google.compute.firewall_policies +WHERE = '{{ }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new firewall_policies resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.firewall_policies ( +, +kind, +id, +creationTimestamp, +name, +description, +rules, +fingerprint, +selfLink, +selfLinkWithId, +associations, +ruleTupleCount, +shortName, +displayName, +parent, +region +) +SELECT +'{{ }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ name }}', +'{{ description }}', +'{{ rules }}', +'{{ fingerprint }}', +'{{ selfLink }}', +'{{ selfLinkWithId }}', +'{{ associations }}', +'{{ ruleTupleCount }}', +'{{ shortName }}', +'{{ displayName }}', +'{{ parent }}', +'{{ region }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: rules + value: '{{ rules }}' + - name: fingerprint + value: '{{ fingerprint }}' + - name: selfLink + value: '{{ selfLink }}' + - name: selfLinkWithId + value: '{{ selfLinkWithId }}' + - name: associations + value: '{{ associations }}' + - name: ruleTupleCount + value: '{{ ruleTupleCount }}' + - name: shortName + value: '{{ shortName }}' + - name: displayName + value: '{{ displayName }}' + - name: parent + value: '{{ parent }}' + - name: region + value: '{{ region }}' + +``` + + + +## `UPDATE` example + +Updates a firewall_policy only if the necessary resources are available. + +```sql +UPDATE google.compute.firewall_policies +SET +kind = '{{ kind }}', +id = '{{ id }}', +creationTimestamp = '{{ creationTimestamp }}', +name = '{{ name }}', +description = '{{ description }}', +rules = '{{ rules }}', +fingerprint = '{{ fingerprint }}', +selfLink = '{{ selfLink }}', +selfLinkWithId = '{{ selfLinkWithId }}', +associations = '{{ associations }}', +ruleTupleCount = '{{ ruleTupleCount }}', +shortName = '{{ shortName }}', +displayName = '{{ displayName }}', +parent = '{{ parent }}', +region = '{{ region }}' +WHERE +firewallPolicy = '{{ firewallPolicy }}'; +``` + +## `DELETE` example + +Deletes the specified firewall_policy resource. + +```sql +DELETE FROM google.compute.firewall_policies +WHERE firewallPolicy = '{{ firewallPolicy }}'; +``` diff --git a/docs/google-docs/providers/google/compute/firewall_policies_association/index.md b/docs/google-docs/providers/google/compute/firewall_policies_association/index.md index d27504d32c..0c38580ea1 100644 --- a/docs/google-docs/providers/google/compute/firewall_policies_association/index.md +++ b/docs/google-docs/providers/google/compute/firewall_policies_association/index.md @@ -1,3 +1,4 @@ + --- title: firewall_policies_association hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - firewall_policies_association - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an firewall_policies_association resource or lists firewall_policies_association in a region ## Overview
@@ -35,9 +37,88 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] Deprecated, please use short name instead. The display name of the firewall policy of the association. | | | `string` | [Output Only] The firewall policy ID of the association. | | | `string` | [Output Only] The short name of the firewall policy of the association. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets an association with the specified name. | -| | `EXEC` | | Inserts an association for the specified firewall policy. | -| | `EXEC` | | Removes an association for the specified firewall policy. | +| | `INSERT` | | Inserts an association for the specified firewall policy. | +| | `DELETE` | | Removes an association for the specified firewall policy. | + +## `SELECT` examples + +Gets an association with the specified name. + +```sql +SELECT +name, +attachmentTarget, +displayName, +firewallPolicyId, +shortName +FROM google.compute.firewall_policies_association +WHERE firewallPolicy = '{{ firewallPolicy }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new firewall_policies_association resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.firewall_policies_association ( +firewallPolicy, +name, +attachmentTarget, +firewallPolicyId, +shortName, +displayName +) +SELECT +'{{ firewallPolicy }}', +'{{ name }}', +'{{ attachmentTarget }}', +'{{ firewallPolicyId }}', +'{{ shortName }}', +'{{ displayName }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: attachmentTarget + value: '{{ attachmentTarget }}' + - name: firewallPolicyId + value: '{{ firewallPolicyId }}' + - name: shortName + value: '{{ shortName }}' + - name: displayName + value: '{{ displayName }}' + +``` + + + +## `DELETE` example + +Deletes the specified firewall_policies_association resource. + +```sql +DELETE FROM google.compute.firewall_policies_association +WHERE firewallPolicy = '{{ firewallPolicy }}'; +``` diff --git a/docs/google-docs/providers/google/compute/firewall_policies_associations/index.md b/docs/google-docs/providers/google/compute/firewall_policies_associations/index.md index 4ef92ef0bf..a230211301 100644 --- a/docs/google-docs/providers/google/compute/firewall_policies_associations/index.md +++ b/docs/google-docs/providers/google/compute/firewall_policies_associations/index.md @@ -1,3 +1,4 @@ + --- title: firewall_policies_associations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - firewall_policies_associations - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an firewall_policies_association resource or lists firewall_policies_associations in a region ## Overview
@@ -32,7 +34,20 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `array` | A list of associations. | | | `string` | [Output Only] Type of firewallPolicy associations. Always compute#FirewallPoliciesListAssociations for lists of firewallPolicy associations. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists associations of a specified target, i.e., organization or folder. | + +## `SELECT` examples + +Lists associations of a specified target, i.e., organization or folder. + +```sql +SELECT +associations, +kind +FROM google.compute.firewall_policies_associations +WHERE = '{{ }}'; +``` diff --git a/docs/google-docs/providers/google/compute/firewall_policies_iam_policies/index.md b/docs/google-docs/providers/google/compute/firewall_policies_iam_policies/index.md index 73370b71c0..dcc3e12587 100644 --- a/docs/google-docs/providers/google/compute/firewall_policies_iam_policies/index.md +++ b/docs/google-docs/providers/google/compute/firewall_policies_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: firewall_policies_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - firewall_policies_iam_policies - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an firewall_policies_iam_policy resource or lists firewall_policies_iam_policies in a region ## Overview
@@ -31,13 +33,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | Name | Datatype | Description | |:-----|:---------|:------------| | | `string` | This is deprecated and has no effect. Do not use. | -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. May be empty if no such policy or resource exists. | -| | `EXEC` | | Gets the access control policy for a resource. May be empty if no such policy or resource exists. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. | + +## `SELECT` examples + +Gets the access control policy for a resource. May be empty if no such policy or resource exists. + +```sql +SELECT +bindingId, +condition, +members, +role +FROM google.compute.firewall_policies_iam_policies +WHERE resource = '{{ resource }}'; +``` diff --git a/docs/google-docs/providers/google/compute/firewall_policies_rule/index.md b/docs/google-docs/providers/google/compute/firewall_policies_rule/index.md index b6d40f43c3..333ecc4278 100644 --- a/docs/google-docs/providers/google/compute/firewall_policies_rule/index.md +++ b/docs/google-docs/providers/google/compute/firewall_policies_rule/index.md @@ -1,3 +1,4 @@ + --- title: firewall_policies_rule hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - firewall_policies_rule - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an firewall_policies_rule resource or lists firewall_policies_rule in a region ## Overview
@@ -31,23 +33,152 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | Name | Datatype | Description | |:-----|:---------|:------------| | | `string` | An optional description for this resource. | -| | `string` | The Action to perform when the client connection triggers the rule. Valid actions are "allow", "deny" and "goto_next". | +| | `string` | The Action to perform when the client connection triggers the rule. Valid actions for firewall rules are: "allow", "deny", "apply_security_profile_group" and "goto_next". Valid actions for packet mirroring rules are: "mirror", "do_not_mirror" and "goto_next". | | | `string` | The direction in which this rule applies. | | | `boolean` | 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. | | | `boolean` | 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. | -| | `string` | [Output only] Type of the resource. Always compute#firewallPolicyRule for firewall policy rules | +| | `string` | [Output only] Type of the resource. Returns compute#firewallPolicyRule for firewall rules and compute#packetMirroringRule for packet mirroring rules. | | | `object` | Represents a match condition that incoming traffic is evaluated against. Exactly one field must be specified. | -| | `integer` | An integer indicating the priority of a rule in the list. The priority must be a positive value between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest prority. | +| | `integer` | An integer indicating the priority of a rule in the list. The priority must be a positive value between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest priority. | | | `string` | An optional name for the rule. This field is not a unique identifier and can be updated. | | | `integer` | [Output Only] Calculation of the complexity of a single firewall policy rule. | -| | `string` | A fully-qualified URL of a SecurityProfile resource instance. Example: https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group Must be specified if action = 'apply_security_profile_group' and cannot be specified for other actions. | +| | `string` | A fully-qualified URL of a SecurityProfile resource instance. Example: https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group Must be specified if action is one of 'apply_security_profile_group' or 'mirror'. Cannot be specified for other actions. | | | `array` | A list of network resource URLs to which this rule applies. This field allows you to control which network's VMs get this rule. If this field is left blank, all VMs within the organization will receive the rule. | | | `array` | 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. | | | `array` | A list of service accounts indicating the sets of instances that are applied with this rule. | | | `boolean` | Boolean flag indicating if the traffic should be TLS decrypted. Can be set only if action = 'apply_security_profile_group' and cannot be set for other actions. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets a rule of the specified priority. | -| | `EXEC` | | Inserts a rule into a firewall policy. | -| | `EXEC` | | Deletes a rule of the specified priority. | +| | `INSERT` | | Inserts a rule into a firewall policy. | +| | `DELETE` | | Deletes a rule of the specified priority. | + +## `SELECT` examples + +Gets a rule of the specified priority. + +```sql +SELECT +description, +action, +direction, +disabled, +enableLogging, +kind, +match, +priority, +ruleName, +ruleTupleCount, +securityProfileGroup, +targetResources, +targetSecureTags, +targetServiceAccounts, +tlsInspect +FROM google.compute.firewall_policies_rule +WHERE firewallPolicy = '{{ firewallPolicy }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new firewall_policies_rule resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.firewall_policies_rule ( +firewallPolicy, +kind, +ruleName, +description, +priority, +match, +action, +securityProfileGroup, +tlsInspect, +direction, +targetResources, +enableLogging, +ruleTupleCount, +targetServiceAccounts, +targetSecureTags, +disabled +) +SELECT +'{{ firewallPolicy }}', +'{{ kind }}', +'{{ ruleName }}', +'{{ description }}', +'{{ priority }}', +'{{ match }}', +'{{ action }}', +'{{ securityProfileGroup }}', +true|false, +'{{ direction }}', +'{{ targetResources }}', +true|false, +'{{ ruleTupleCount }}', +'{{ targetServiceAccounts }}', +'{{ targetSecureTags }}', +true|false +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: ruleName + value: '{{ ruleName }}' + - name: description + value: '{{ description }}' + - name: priority + value: '{{ priority }}' + - name: match + value: '{{ match }}' + - name: action + value: '{{ action }}' + - name: securityProfileGroup + value: '{{ securityProfileGroup }}' + - name: tlsInspect + value: '{{ tlsInspect }}' + - name: direction + value: '{{ direction }}' + - name: targetResources + value: '{{ targetResources }}' + - name: enableLogging + value: '{{ enableLogging }}' + - name: ruleTupleCount + value: '{{ ruleTupleCount }}' + - name: targetServiceAccounts + value: '{{ targetServiceAccounts }}' + - name: targetSecureTags + value: '{{ targetSecureTags }}' + - name: disabled + value: '{{ disabled }}' + +``` + + + +## `DELETE` example + +Deletes the specified firewall_policies_rule resource. + +```sql +DELETE FROM google.compute.firewall_policies_rule +WHERE firewallPolicy = '{{ firewallPolicy }}'; +``` diff --git a/docs/google-docs/providers/google/compute/firewalls/index.md b/docs/google-docs/providers/google/compute/firewalls/index.md index 09c2a87a3f..3ff321c2dd 100644 --- a/docs/google-docs/providers/google/compute/firewalls/index.md +++ b/docs/google-docs/providers/google/compute/firewalls/index.md @@ -1,3 +1,4 @@ + --- title: firewalls hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - firewalls - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an firewall resource or lists firewalls in a region ## Overview
@@ -49,6 +51,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `array` | If source tags are specified, the firewall rule applies only to traffic with source IPs that match the primary network interfaces of VM instances that have the tag and are in the same VPC network. Source tags cannot be used to control traffic to an instance's external IP address, it only applies to traffic between instances in the same virtual network. Because tags are associated with instances, not IP addresses. One or both of sourceRanges and sourceTags may be set. If both fields are set, the firewall applies to traffic that has a source IP address within sourceRanges OR a source IP from a resource with a matching tag listed in the sourceTags field. The connection does not need to match both fields for the firewall to apply. | | | `array` | A list of service accounts indicating sets of instances located in the network that may make network connections as specified in allowed[]. targetServiceAccounts cannot be used at the same time as targetTags or sourceTags. If neither targetServiceAccounts nor targetTags are specified, the firewall rule applies to all instances on the specified network. | | | `array` | A list of tags that controls which instances the firewall rule applies to. If targetTags are specified, then the firewall rule applies only to instances in the VPC network that have one of those tags. If no targetTags are specified, the firewall rule applies to all instances on the specified network. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -57,4 +60,192 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a firewall rule in the specified project using the data included in the request. | | | `DELETE` | | Deletes the specified firewall. | | | `UPDATE` | | Updates the specified firewall rule with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules. | -| | `UPDATE` | | Updates the specified firewall rule with the data included in the request. Note that all fields will be updated if using PUT, even fields that are not specified. To update individual fields, please use PATCH instead. | +| | `EXEC` | | Updates the specified firewall rule with the data included in the request. Note that all fields will be updated if using PUT, even fields that are not specified. To update individual fields, please use PATCH instead. | + +## `SELECT` examples + +Retrieves the list of firewall rules available to the specified project. + +```sql +SELECT +id, +name, +description, +allowed, +creationTimestamp, +denied, +destinationRanges, +direction, +disabled, +kind, +logConfig, +network, +priority, +selfLink, +sourceRanges, +sourceServiceAccounts, +sourceTags, +targetServiceAccounts, +targetTags +FROM google.compute.firewalls +WHERE project = '{{ project }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new firewalls resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.firewalls ( +project, +kind, +id, +creationTimestamp, +name, +description, +network, +priority, +sourceRanges, +destinationRanges, +sourceTags, +targetTags, +sourceServiceAccounts, +targetServiceAccounts, +allowed, +denied, +direction, +logConfig, +disabled, +selfLink +) +SELECT +'{{ project }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ name }}', +'{{ description }}', +'{{ network }}', +'{{ priority }}', +'{{ sourceRanges }}', +'{{ destinationRanges }}', +'{{ sourceTags }}', +'{{ targetTags }}', +'{{ sourceServiceAccounts }}', +'{{ targetServiceAccounts }}', +'{{ allowed }}', +'{{ denied }}', +'{{ direction }}', +'{{ logConfig }}', +true|false, +'{{ selfLink }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: network + value: '{{ network }}' + - name: priority + value: '{{ priority }}' + - name: sourceRanges + value: '{{ sourceRanges }}' + - name: destinationRanges + value: '{{ destinationRanges }}' + - name: sourceTags + value: '{{ sourceTags }}' + - name: targetTags + value: '{{ targetTags }}' + - name: sourceServiceAccounts + value: '{{ sourceServiceAccounts }}' + - name: targetServiceAccounts + value: '{{ targetServiceAccounts }}' + - name: allowed + value: + - - name: IPProtocol + value: '{{ IPProtocol }}' + - name: ports + value: '{{ ports }}' + - name: denied + value: + - - name: IPProtocol + value: '{{ IPProtocol }}' + - name: ports + value: '{{ ports }}' + - name: direction + value: '{{ direction }}' + - name: logConfig + value: '{{ logConfig }}' + - name: disabled + value: '{{ disabled }}' + - name: selfLink + value: '{{ selfLink }}' + +``` + + + +## `UPDATE` example + +Updates a firewall only if the necessary resources are available. + +```sql +UPDATE google.compute.firewalls +SET +kind = '{{ kind }}', +id = '{{ id }}', +creationTimestamp = '{{ creationTimestamp }}', +name = '{{ name }}', +description = '{{ description }}', +network = '{{ network }}', +priority = '{{ priority }}', +sourceRanges = '{{ sourceRanges }}', +destinationRanges = '{{ destinationRanges }}', +sourceTags = '{{ sourceTags }}', +targetTags = '{{ targetTags }}', +sourceServiceAccounts = '{{ sourceServiceAccounts }}', +targetServiceAccounts = '{{ targetServiceAccounts }}', +allowed = '{{ allowed }}', +denied = '{{ denied }}', +direction = '{{ direction }}', +logConfig = '{{ logConfig }}', +disabled = true|false, +selfLink = '{{ selfLink }}' +WHERE +firewall = '{{ firewall }}' +AND project = '{{ project }}'; +``` + +## `DELETE` example + +Deletes the specified firewall resource. + +```sql +DELETE FROM google.compute.firewalls +WHERE firewall = '{{ firewall }}' +AND project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/compute/forwarding_rules/index.md b/docs/google-docs/providers/google/compute/forwarding_rules/index.md index 91c482870e..b4360c7911 100644 --- a/docs/google-docs/providers/google/compute/forwarding_rules/index.md +++ b/docs/google-docs/providers/google/compute/forwarding_rules/index.md @@ -1,3 +1,4 @@ + --- title: forwarding_rules hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - forwarding_rules - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an forwarding_rule resource or lists forwarding_rules in a region ## Overview
@@ -65,6 +67,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `array` | If not empty, this forwarding rule will only forward the traffic when the source IP address matches one of the IP addresses or CIDR ranges set here. Note that a forwarding rule can only have up to 64 source IP ranges, and this field can only be used with a regional forwarding rule whose scheme is EXTERNAL. Each source_ip_range entry should be either an IP address (for example, 1.2.3.4) or a CIDR range (for example, 1.2.3.0/24). | | | `string` | This field identifies the subnetwork that the load balanced IP should belong to for this forwarding rule, used with internal load balancers and external passthrough Network Load Balancers with IPv6. If the network specified is in auto subnet mode, this field is optional. However, a subnetwork must be specified if the network is in custom subnet mode or when creating external forwarding rule with IPv6. | | | `string` | The URL of the target resource to receive the matched traffic. For regional forwarding rules, this target must be in the same region as the forwarding rule. For global forwarding rules, this target must be a global load balancing resource. The forwarded traffic must be of a type appropriate to the target object. - For load balancers, see the "Target" column in [Port specifications](https://cloud.google.com/load-balancing/docs/forwarding-rule-concepts#ip_address_specifications). - For Private Service Connect forwarding rules that forward traffic to Google APIs, provide the name of a supported Google API bundle: - vpc-sc - APIs that support VPC Service Controls. - all-apis - All supported Google APIs. - For Private Service Connect forwarding rules that forward traffic to managed services, the target must be a service attachment. The target is not mutable once set as a service attachment. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -74,6 +77,285 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a ForwardingRule resource in the specified project and region using the data included in the request. | | | `DELETE` | | Deletes the specified ForwardingRule resource. | | | `UPDATE` | | Updates the specified forwarding rule with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules. Currently, you can only patch the network_tier field. | -| | `EXEC` | | Retrieves an aggregated list of forwarding rules. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. | | | `EXEC` | | Sets the labels on the specified resource. To learn more about labels, read the Labeling Resources documentation. | | | `EXEC` | | Changes target URL for forwarding rule. The new target should be of the same type as the old target. | + +## `SELECT` examples + +Retrieves an aggregated list of forwarding rules. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. + +```sql +SELECT +id, +name, +description, +IPAddress, +IPProtocol, +allPorts, +allowGlobalAccess, +allowPscGlobalAccess, +backendService, +baseForwardingRule, +creationTimestamp, +fingerprint, +ipCollection, +ipVersion, +isMirroringCollector, +kind, +labelFingerprint, +labels, +loadBalancingScheme, +metadataFilters, +network, +networkTier, +noAutomateDnsZone, +portRange, +ports, +pscConnectionId, +pscConnectionStatus, +region, +selfLink, +serviceDirectoryRegistrations, +serviceLabel, +serviceName, +sourceIpRanges, +subnetwork, +target +FROM google.compute.forwarding_rules +WHERE project = '{{ project }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new forwarding_rules resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.forwarding_rules ( +project, +region, +kind, +id, +creationTimestamp, +name, +description, +region, +IPAddress, +IPProtocol, +portRange, +ports, +target, +selfLink, +loadBalancingScheme, +subnetwork, +network, +backendService, +serviceDirectoryRegistrations, +serviceLabel, +serviceName, +networkTier, +labels, +labelFingerprint, +ipVersion, +fingerprint, +allPorts, +allowGlobalAccess, +metadataFilters, +isMirroringCollector, +sourceIpRanges, +pscConnectionId, +pscConnectionStatus, +baseForwardingRule, +allowPscGlobalAccess, +noAutomateDnsZone, +ipCollection +) +SELECT +'{{ project }}', +'{{ region }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ name }}', +'{{ description }}', +'{{ region }}', +'{{ IPAddress }}', +'{{ IPProtocol }}', +'{{ portRange }}', +'{{ ports }}', +'{{ target }}', +'{{ selfLink }}', +'{{ loadBalancingScheme }}', +'{{ subnetwork }}', +'{{ network }}', +'{{ backendService }}', +'{{ serviceDirectoryRegistrations }}', +'{{ serviceLabel }}', +'{{ serviceName }}', +'{{ networkTier }}', +'{{ labels }}', +'{{ labelFingerprint }}', +'{{ ipVersion }}', +'{{ fingerprint }}', +true|false, +true|false, +'{{ metadataFilters }}', +true|false, +'{{ sourceIpRanges }}', +'{{ pscConnectionId }}', +'{{ pscConnectionStatus }}', +'{{ baseForwardingRule }}', +true|false, +true|false, +'{{ ipCollection }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: region + value: '{{ region }}' + - name: IPAddress + value: '{{ IPAddress }}' + - name: IPProtocol + value: '{{ IPProtocol }}' + - name: portRange + value: '{{ portRange }}' + - name: ports + value: '{{ ports }}' + - name: target + value: '{{ target }}' + - name: selfLink + value: '{{ selfLink }}' + - name: loadBalancingScheme + value: '{{ loadBalancingScheme }}' + - name: subnetwork + value: '{{ subnetwork }}' + - name: network + value: '{{ network }}' + - name: backendService + value: '{{ backendService }}' + - name: serviceDirectoryRegistrations + value: '{{ serviceDirectoryRegistrations }}' + - name: serviceLabel + value: '{{ serviceLabel }}' + - name: serviceName + value: '{{ serviceName }}' + - name: networkTier + value: '{{ networkTier }}' + - name: labels + value: '{{ labels }}' + - name: labelFingerprint + value: '{{ labelFingerprint }}' + - name: ipVersion + value: '{{ ipVersion }}' + - name: fingerprint + value: '{{ fingerprint }}' + - name: allPorts + value: '{{ allPorts }}' + - name: allowGlobalAccess + value: '{{ allowGlobalAccess }}' + - name: metadataFilters + value: '{{ metadataFilters }}' + - name: isMirroringCollector + value: '{{ isMirroringCollector }}' + - name: sourceIpRanges + value: '{{ sourceIpRanges }}' + - name: pscConnectionId + value: '{{ pscConnectionId }}' + - name: pscConnectionStatus + value: '{{ pscConnectionStatus }}' + - name: baseForwardingRule + value: '{{ baseForwardingRule }}' + - name: allowPscGlobalAccess + value: '{{ allowPscGlobalAccess }}' + - name: noAutomateDnsZone + value: '{{ noAutomateDnsZone }}' + - name: ipCollection + value: '{{ ipCollection }}' + +``` + + + +## `UPDATE` example + +Updates a forwarding_rule only if the necessary resources are available. + +```sql +UPDATE google.compute.forwarding_rules +SET +kind = '{{ kind }}', +id = '{{ id }}', +creationTimestamp = '{{ creationTimestamp }}', +name = '{{ name }}', +description = '{{ description }}', +region = '{{ region }}', +IPAddress = '{{ IPAddress }}', +IPProtocol = '{{ IPProtocol }}', +portRange = '{{ portRange }}', +ports = '{{ ports }}', +target = '{{ target }}', +selfLink = '{{ selfLink }}', +loadBalancingScheme = '{{ loadBalancingScheme }}', +subnetwork = '{{ subnetwork }}', +network = '{{ network }}', +backendService = '{{ backendService }}', +serviceDirectoryRegistrations = '{{ serviceDirectoryRegistrations }}', +serviceLabel = '{{ serviceLabel }}', +serviceName = '{{ serviceName }}', +networkTier = '{{ networkTier }}', +labels = '{{ labels }}', +labelFingerprint = '{{ labelFingerprint }}', +ipVersion = '{{ ipVersion }}', +fingerprint = '{{ fingerprint }}', +allPorts = true|false, +allowGlobalAccess = true|false, +metadataFilters = '{{ metadataFilters }}', +isMirroringCollector = true|false, +sourceIpRanges = '{{ sourceIpRanges }}', +pscConnectionId = '{{ pscConnectionId }}', +pscConnectionStatus = '{{ pscConnectionStatus }}', +baseForwardingRule = '{{ baseForwardingRule }}', +allowPscGlobalAccess = true|false, +noAutomateDnsZone = true|false, +ipCollection = '{{ ipCollection }}' +WHERE +forwardingRule = '{{ forwardingRule }}' +AND project = '{{ project }}' +AND region = '{{ region }}'; +``` + +## `DELETE` example + +Deletes the specified forwarding_rule resource. + +```sql +DELETE FROM google.compute.forwarding_rules +WHERE forwardingRule = '{{ forwardingRule }}' +AND project = '{{ project }}' +AND region = '{{ region }}'; +``` diff --git a/docs/google-docs/providers/google/compute/future_reservations/index.md b/docs/google-docs/providers/google/compute/future_reservations/index.md new file mode 100644 index 0000000000..167693ff38 --- /dev/null +++ b/docs/google-docs/providers/google/compute/future_reservations/index.md @@ -0,0 +1,234 @@ + +--- +title: future_reservations +hide_title: false +hide_table_of_contents: false +keywords: + - future_reservations + - compute + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an future_reservation resource or lists future_reservations in a region + +## Overview +
+ + + +
Namefuture_reservations
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | [Output Only] A unique identifier for this future reservation. The server defines this identifier. | +| | `string` | The name of the resource, provided by the client when initially creating the resource. The resource name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. | +| | `string` | An optional description of this resource. Provide this property when you create the future reservation. | +| | `string` | Future timestamp when the FR auto-created reservations will be deleted by Compute Engine. Format of this field must be a valid href="https://www.ietf.org/rfc/rfc3339.txt">RFC3339 value. | +| | `object` | A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like "day" or "month". Range is approximately 10,000 years. | +| | `boolean` | Setting for enabling or disabling automatic deletion for auto-created reservation. If set to true, auto-created reservations will be deleted at Future Reservation's end time (default) or at user's defined timestamp if any of the [auto_created_reservations_delete_time, auto_created_reservations_duration] values is specified. For keeping auto-created reservation indefinitely, this value should be set to false. | +| | `string` | [Output Only] The creation timestamp for this future reservation in RFC3339 text format. | +| | `string` | [Output Only] Type of the resource. Always compute#futureReservation for future reservations. | +| | `string` | Name prefix for the reservations to be created at the time of delivery. The name prefix must comply with RFC1035. Maximum allowed length for name prefix is 20. Automatically created reservations name format will be -date-####. | +| | `string` | Planning state before being submitted for evaluation | +| | `string` | [Output Only] Server-defined fully-qualified URL for this resource. | +| | `string` | [Output Only] Server-defined URL for this resource with the resource id. | +| | `object` | The share setting for reservations and sole tenancy node groups. | +| | `object` | | +| | `object` | [Output only] Represents status related to the future reservation. | +| | `object` | | +| | `string` | [Output Only] URL of the Zone where this future reservation resides. | + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Retrieves an aggregated list of future reservations. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. | +| | `SELECT` | | Retrieves information about the specified future reservation. | +| | `SELECT` | | A list of all the future reservations that have been configured for the specified project in specified zone. | +| | `INSERT` | | Creates a new Future Reservation. | +| | `DELETE` | | Deletes the specified future reservation. | +| | `UPDATE` | | Updates the specified future reservation. | +| | `EXEC` | | Cancel the specified future reservation. | + +## `SELECT` examples + +Retrieves an aggregated list of future reservations. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. + +```sql +SELECT +id, +name, +description, +autoCreatedReservationsDeleteTime, +autoCreatedReservationsDuration, +autoDeleteAutoCreatedReservations, +creationTimestamp, +kind, +namePrefix, +planningStatus, +selfLink, +selfLinkWithId, +shareSettings, +specificSkuProperties, +status, +timeWindow, +zone +FROM google.compute.future_reservations +WHERE project = '{{ project }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new future_reservations resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.future_reservations ( +project, +zone, +kind, +id, +creationTimestamp, +selfLink, +selfLinkWithId, +zone, +description, +name, +specificSkuProperties, +timeWindow, +shareSettings, +namePrefix, +status, +planningStatus, +autoCreatedReservationsDeleteTime, +autoCreatedReservationsDuration, +autoDeleteAutoCreatedReservations +) +SELECT +'{{ project }}', +'{{ zone }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ selfLink }}', +'{{ selfLinkWithId }}', +'{{ zone }}', +'{{ description }}', +'{{ name }}', +'{{ specificSkuProperties }}', +'{{ timeWindow }}', +'{{ shareSettings }}', +'{{ namePrefix }}', +'{{ status }}', +'{{ planningStatus }}', +'{{ autoCreatedReservationsDeleteTime }}', +'{{ autoCreatedReservationsDuration }}', +true|false +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: selfLink + value: '{{ selfLink }}' + - name: selfLinkWithId + value: '{{ selfLinkWithId }}' + - name: zone + value: '{{ zone }}' + - name: description + value: '{{ description }}' + - name: name + value: '{{ name }}' + - name: specificSkuProperties + value: '{{ specificSkuProperties }}' + - name: timeWindow + value: '{{ timeWindow }}' + - name: shareSettings + value: '{{ shareSettings }}' + - name: namePrefix + value: '{{ namePrefix }}' + - name: status + value: '{{ status }}' + - name: planningStatus + value: '{{ planningStatus }}' + - name: autoCreatedReservationsDeleteTime + value: '{{ autoCreatedReservationsDeleteTime }}' + - name: autoCreatedReservationsDuration + value: '{{ autoCreatedReservationsDuration }}' + - name: autoDeleteAutoCreatedReservations + value: '{{ autoDeleteAutoCreatedReservations }}' + +``` + + + +## `UPDATE` example + +Updates a future_reservation only if the necessary resources are available. + +```sql +UPDATE google.compute.future_reservations +SET +kind = '{{ kind }}', +id = '{{ id }}', +creationTimestamp = '{{ creationTimestamp }}', +selfLink = '{{ selfLink }}', +selfLinkWithId = '{{ selfLinkWithId }}', +zone = '{{ zone }}', +description = '{{ description }}', +name = '{{ name }}', +specificSkuProperties = '{{ specificSkuProperties }}', +timeWindow = '{{ timeWindow }}', +shareSettings = '{{ shareSettings }}', +namePrefix = '{{ namePrefix }}', +status = '{{ status }}', +planningStatus = '{{ planningStatus }}', +autoCreatedReservationsDeleteTime = '{{ autoCreatedReservationsDeleteTime }}', +autoCreatedReservationsDuration = '{{ autoCreatedReservationsDuration }}', +autoDeleteAutoCreatedReservations = true|false +WHERE +futureReservation = '{{ futureReservation }}' +AND project = '{{ project }}' +AND zone = '{{ zone }}'; +``` + +## `DELETE` example + +Deletes the specified future_reservation resource. + +```sql +DELETE FROM google.compute.future_reservations +WHERE futureReservation = '{{ futureReservation }}' +AND project = '{{ project }}' +AND zone = '{{ zone }}'; +``` diff --git a/docs/google-docs/providers/google/compute/global_addresses/index.md b/docs/google-docs/providers/google/compute/global_addresses/index.md index 54c3d75cbf..b340ca88a2 100644 --- a/docs/google-docs/providers/google/compute/global_addresses/index.md +++ b/docs/google-docs/providers/google/compute/global_addresses/index.md @@ -1,3 +1,4 @@ + --- title: global_addresses hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - global_addresses - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an global_address resource or lists global_addresses in a region ## Overview @@ -50,6 +52,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] The status of the address, which can be one of RESERVING, RESERVED, or IN_USE. An address that is RESERVING is currently in the process of being reserved. A RESERVED address is currently reserved and available to use. An IN_USE address is currently being used by another resource and is not available. | | | `string` | The URL of the subnetwork in which to reserve the address. If an IP address is specified, it must be within the subnetwork's IP range. This field can only be used with INTERNAL type with a GCE_ENDPOINT or DNS_RESOLVER purpose. | | | `array` | [Output Only] The URLs of the resources that are using this address. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -59,3 +62,157 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `DELETE` | | Deletes the specified address resource. | | | `EXEC` | | Moves the specified address resource from one project to another project. | | | `EXEC` | | Sets the labels on a GlobalAddress. To learn more about labels, read the Labeling Resources documentation. | + +## `SELECT` examples + +Retrieves a list of global addresses. + +```sql +SELECT +id, +name, +description, +address, +addressType, +creationTimestamp, +ipVersion, +ipv6EndpointType, +kind, +labelFingerprint, +labels, +network, +networkTier, +prefixLength, +purpose, +region, +selfLink, +status, +subnetwork, +users +FROM google.compute.global_addresses +WHERE project = '{{ project }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new global_addresses resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.global_addresses ( +project, +kind, +id, +creationTimestamp, +name, +description, +address, +prefixLength, +status, +region, +selfLink, +users, +networkTier, +labels, +labelFingerprint, +ipVersion, +addressType, +purpose, +subnetwork, +network, +ipv6EndpointType +) +SELECT +'{{ project }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ name }}', +'{{ description }}', +'{{ address }}', +'{{ prefixLength }}', +'{{ status }}', +'{{ region }}', +'{{ selfLink }}', +'{{ users }}', +'{{ networkTier }}', +'{{ labels }}', +'{{ labelFingerprint }}', +'{{ ipVersion }}', +'{{ addressType }}', +'{{ purpose }}', +'{{ subnetwork }}', +'{{ network }}', +'{{ ipv6EndpointType }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: address + value: '{{ address }}' + - name: prefixLength + value: '{{ prefixLength }}' + - name: status + value: '{{ status }}' + - name: region + value: '{{ region }}' + - name: selfLink + value: '{{ selfLink }}' + - name: users + value: '{{ users }}' + - name: networkTier + value: '{{ networkTier }}' + - name: labels + value: '{{ labels }}' + - name: labelFingerprint + value: '{{ labelFingerprint }}' + - name: ipVersion + value: '{{ ipVersion }}' + - name: addressType + value: '{{ addressType }}' + - name: purpose + value: '{{ purpose }}' + - name: subnetwork + value: '{{ subnetwork }}' + - name: network + value: '{{ network }}' + - name: ipv6EndpointType + value: '{{ ipv6EndpointType }}' + +``` + + + +## `DELETE` example + +Deletes the specified global_address resource. + +```sql +DELETE FROM google.compute.global_addresses +WHERE address = '{{ address }}' +AND project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/compute/global_forwarding_rules/index.md b/docs/google-docs/providers/google/compute/global_forwarding_rules/index.md index aa602c066e..f5ca6abd8b 100644 --- a/docs/google-docs/providers/google/compute/global_forwarding_rules/index.md +++ b/docs/google-docs/providers/google/compute/global_forwarding_rules/index.md @@ -1,3 +1,4 @@ + --- title: global_forwarding_rules hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - global_forwarding_rules - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an global_forwarding_rule resource or lists global_forwarding_rules in a region ## Overview
@@ -65,6 +67,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `array` | If not empty, this forwarding rule will only forward the traffic when the source IP address matches one of the IP addresses or CIDR ranges set here. Note that a forwarding rule can only have up to 64 source IP ranges, and this field can only be used with a regional forwarding rule whose scheme is EXTERNAL. Each source_ip_range entry should be either an IP address (for example, 1.2.3.4) or a CIDR range (for example, 1.2.3.0/24). | | | `string` | This field identifies the subnetwork that the load balanced IP should belong to for this forwarding rule, used with internal load balancers and external passthrough Network Load Balancers with IPv6. If the network specified is in auto subnet mode, this field is optional. However, a subnetwork must be specified if the network is in custom subnet mode or when creating external forwarding rule with IPv6. | | | `string` | The URL of the target resource to receive the matched traffic. For regional forwarding rules, this target must be in the same region as the forwarding rule. For global forwarding rules, this target must be a global load balancing resource. The forwarded traffic must be of a type appropriate to the target object. - For load balancers, see the "Target" column in [Port specifications](https://cloud.google.com/load-balancing/docs/forwarding-rule-concepts#ip_address_specifications). - For Private Service Connect forwarding rules that forward traffic to Google APIs, provide the name of a supported Google API bundle: - vpc-sc - APIs that support VPC Service Controls. - all-apis - All supported Google APIs. - For Private Service Connect forwarding rules that forward traffic to managed services, the target must be a service attachment. The target is not mutable once set as a service attachment. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -75,3 +78,279 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `UPDATE` | | Updates the specified forwarding rule with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules. Currently, you can only patch the network_tier field. | | | `EXEC` | | Sets the labels on the specified resource. To learn more about labels, read the Labeling resources documentation. | | | `EXEC` | | Changes target URL for the GlobalForwardingRule resource. The new target should be of the same type as the old target. | + +## `SELECT` examples + +Retrieves a list of GlobalForwardingRule resources available to the specified project. + +```sql +SELECT +id, +name, +description, +IPAddress, +IPProtocol, +allPorts, +allowGlobalAccess, +allowPscGlobalAccess, +backendService, +baseForwardingRule, +creationTimestamp, +fingerprint, +ipCollection, +ipVersion, +isMirroringCollector, +kind, +labelFingerprint, +labels, +loadBalancingScheme, +metadataFilters, +network, +networkTier, +noAutomateDnsZone, +portRange, +ports, +pscConnectionId, +pscConnectionStatus, +region, +selfLink, +serviceDirectoryRegistrations, +serviceLabel, +serviceName, +sourceIpRanges, +subnetwork, +target +FROM google.compute.global_forwarding_rules +WHERE project = '{{ project }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new global_forwarding_rules resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.global_forwarding_rules ( +project, +kind, +id, +creationTimestamp, +name, +description, +region, +IPAddress, +IPProtocol, +portRange, +ports, +target, +selfLink, +loadBalancingScheme, +subnetwork, +network, +backendService, +serviceDirectoryRegistrations, +serviceLabel, +serviceName, +networkTier, +labels, +labelFingerprint, +ipVersion, +fingerprint, +allPorts, +allowGlobalAccess, +metadataFilters, +isMirroringCollector, +sourceIpRanges, +pscConnectionId, +pscConnectionStatus, +baseForwardingRule, +allowPscGlobalAccess, +noAutomateDnsZone, +ipCollection +) +SELECT +'{{ project }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ name }}', +'{{ description }}', +'{{ region }}', +'{{ IPAddress }}', +'{{ IPProtocol }}', +'{{ portRange }}', +'{{ ports }}', +'{{ target }}', +'{{ selfLink }}', +'{{ loadBalancingScheme }}', +'{{ subnetwork }}', +'{{ network }}', +'{{ backendService }}', +'{{ serviceDirectoryRegistrations }}', +'{{ serviceLabel }}', +'{{ serviceName }}', +'{{ networkTier }}', +'{{ labels }}', +'{{ labelFingerprint }}', +'{{ ipVersion }}', +'{{ fingerprint }}', +true|false, +true|false, +'{{ metadataFilters }}', +true|false, +'{{ sourceIpRanges }}', +'{{ pscConnectionId }}', +'{{ pscConnectionStatus }}', +'{{ baseForwardingRule }}', +true|false, +true|false, +'{{ ipCollection }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: region + value: '{{ region }}' + - name: IPAddress + value: '{{ IPAddress }}' + - name: IPProtocol + value: '{{ IPProtocol }}' + - name: portRange + value: '{{ portRange }}' + - name: ports + value: '{{ ports }}' + - name: target + value: '{{ target }}' + - name: selfLink + value: '{{ selfLink }}' + - name: loadBalancingScheme + value: '{{ loadBalancingScheme }}' + - name: subnetwork + value: '{{ subnetwork }}' + - name: network + value: '{{ network }}' + - name: backendService + value: '{{ backendService }}' + - name: serviceDirectoryRegistrations + value: '{{ serviceDirectoryRegistrations }}' + - name: serviceLabel + value: '{{ serviceLabel }}' + - name: serviceName + value: '{{ serviceName }}' + - name: networkTier + value: '{{ networkTier }}' + - name: labels + value: '{{ labels }}' + - name: labelFingerprint + value: '{{ labelFingerprint }}' + - name: ipVersion + value: '{{ ipVersion }}' + - name: fingerprint + value: '{{ fingerprint }}' + - name: allPorts + value: '{{ allPorts }}' + - name: allowGlobalAccess + value: '{{ allowGlobalAccess }}' + - name: metadataFilters + value: '{{ metadataFilters }}' + - name: isMirroringCollector + value: '{{ isMirroringCollector }}' + - name: sourceIpRanges + value: '{{ sourceIpRanges }}' + - name: pscConnectionId + value: '{{ pscConnectionId }}' + - name: pscConnectionStatus + value: '{{ pscConnectionStatus }}' + - name: baseForwardingRule + value: '{{ baseForwardingRule }}' + - name: allowPscGlobalAccess + value: '{{ allowPscGlobalAccess }}' + - name: noAutomateDnsZone + value: '{{ noAutomateDnsZone }}' + - name: ipCollection + value: '{{ ipCollection }}' + +``` + + + +## `UPDATE` example + +Updates a global_forwarding_rule only if the necessary resources are available. + +```sql +UPDATE google.compute.global_forwarding_rules +SET +kind = '{{ kind }}', +id = '{{ id }}', +creationTimestamp = '{{ creationTimestamp }}', +name = '{{ name }}', +description = '{{ description }}', +region = '{{ region }}', +IPAddress = '{{ IPAddress }}', +IPProtocol = '{{ IPProtocol }}', +portRange = '{{ portRange }}', +ports = '{{ ports }}', +target = '{{ target }}', +selfLink = '{{ selfLink }}', +loadBalancingScheme = '{{ loadBalancingScheme }}', +subnetwork = '{{ subnetwork }}', +network = '{{ network }}', +backendService = '{{ backendService }}', +serviceDirectoryRegistrations = '{{ serviceDirectoryRegistrations }}', +serviceLabel = '{{ serviceLabel }}', +serviceName = '{{ serviceName }}', +networkTier = '{{ networkTier }}', +labels = '{{ labels }}', +labelFingerprint = '{{ labelFingerprint }}', +ipVersion = '{{ ipVersion }}', +fingerprint = '{{ fingerprint }}', +allPorts = true|false, +allowGlobalAccess = true|false, +metadataFilters = '{{ metadataFilters }}', +isMirroringCollector = true|false, +sourceIpRanges = '{{ sourceIpRanges }}', +pscConnectionId = '{{ pscConnectionId }}', +pscConnectionStatus = '{{ pscConnectionStatus }}', +baseForwardingRule = '{{ baseForwardingRule }}', +allowPscGlobalAccess = true|false, +noAutomateDnsZone = true|false, +ipCollection = '{{ ipCollection }}' +WHERE +forwardingRule = '{{ forwardingRule }}' +AND project = '{{ project }}'; +``` + +## `DELETE` example + +Deletes the specified global_forwarding_rule resource. + +```sql +DELETE FROM google.compute.global_forwarding_rules +WHERE forwardingRule = '{{ forwardingRule }}' +AND project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/compute/global_network_endpoint_groups/index.md b/docs/google-docs/providers/google/compute/global_network_endpoint_groups/index.md index 70aa17d908..12a2bb9781 100644 --- a/docs/google-docs/providers/google/compute/global_network_endpoint_groups/index.md +++ b/docs/google-docs/providers/google/compute/global_network_endpoint_groups/index.md @@ -1,3 +1,4 @@ + --- title: global_network_endpoint_groups hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - global_network_endpoint_groups - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an global_network_endpoint_group resource or lists global_network_endpoint_groups in a region ## Overview
@@ -49,6 +51,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `integer` | [Output only] Number of network endpoints in the network endpoint group. | | | `string` | Optional URL of the subnetwork to which all network endpoints in the NEG belong. | | | `string` | [Output Only] The URL of the zone where the network endpoint group is located. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -58,3 +61,152 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `DELETE` | | Deletes the specified network endpoint group.Note that the NEG cannot be deleted if there are backend services referencing it. | | | `EXEC` | | Attach a network endpoint to the specified network endpoint group. | | | `EXEC` | | Detach the network endpoint from the specified network endpoint group. | + +## `SELECT` examples + +Retrieves the list of network endpoint groups that are located in the specified project. + +```sql +SELECT +id, +name, +description, +annotations, +appEngine, +cloudFunction, +cloudRun, +creationTimestamp, +defaultPort, +kind, +network, +networkEndpointType, +pscData, +pscTargetService, +region, +selfLink, +size, +subnetwork, +zone +FROM google.compute.global_network_endpoint_groups +WHERE project = '{{ project }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new global_network_endpoint_groups resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.global_network_endpoint_groups ( +project, +kind, +id, +creationTimestamp, +selfLink, +name, +description, +networkEndpointType, +size, +region, +zone, +network, +subnetwork, +defaultPort, +annotations, +cloudRun, +appEngine, +cloudFunction, +pscTargetService, +pscData +) +SELECT +'{{ project }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ selfLink }}', +'{{ name }}', +'{{ description }}', +'{{ networkEndpointType }}', +'{{ size }}', +'{{ region }}', +'{{ zone }}', +'{{ network }}', +'{{ subnetwork }}', +'{{ defaultPort }}', +'{{ annotations }}', +'{{ cloudRun }}', +'{{ appEngine }}', +'{{ cloudFunction }}', +'{{ pscTargetService }}', +'{{ pscData }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: selfLink + value: '{{ selfLink }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: networkEndpointType + value: '{{ networkEndpointType }}' + - name: size + value: '{{ size }}' + - name: region + value: '{{ region }}' + - name: zone + value: '{{ zone }}' + - name: network + value: '{{ network }}' + - name: subnetwork + value: '{{ subnetwork }}' + - name: defaultPort + value: '{{ defaultPort }}' + - name: annotations + value: '{{ annotations }}' + - name: cloudRun + value: '{{ cloudRun }}' + - name: appEngine + value: '{{ appEngine }}' + - name: cloudFunction + value: '{{ cloudFunction }}' + - name: pscTargetService + value: '{{ pscTargetService }}' + - name: pscData + value: '{{ pscData }}' + +``` + + + +## `DELETE` example + +Deletes the specified global_network_endpoint_group resource. + +```sql +DELETE FROM google.compute.global_network_endpoint_groups +WHERE networkEndpointGroup = '{{ networkEndpointGroup }}' +AND project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/compute/global_network_endpoint_groups_network_endpoints/index.md b/docs/google-docs/providers/google/compute/global_network_endpoint_groups_network_endpoints/index.md index 269efcc349..9f8d5e7bb8 100644 --- a/docs/google-docs/providers/google/compute/global_network_endpoint_groups_network_endpoints/index.md +++ b/docs/google-docs/providers/google/compute/global_network_endpoint_groups_network_endpoints/index.md @@ -1,3 +1,4 @@ + --- title: global_network_endpoint_groups_network_endpoints hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - global_network_endpoint_groups_network_endpoints - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an global_network_endpoint_groups_network_endpoint resource or lists global_network_endpoint_groups_network_endpoints in a region ## Overview
@@ -28,8 +30,25 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `array` | [Output only] The health status of network endpoint; | +| | `object` | The network endpoint. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists the network endpoints in the specified network endpoint group. | + +## `SELECT` examples + +Lists the network endpoints in the specified network endpoint group. + +```sql +SELECT +healths, +networkEndpoint +FROM google.compute.global_network_endpoint_groups_network_endpoints +WHERE networkEndpointGroup = '{{ networkEndpointGroup }}' +AND project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/compute/global_operations/index.md b/docs/google-docs/providers/google/compute/global_operations/index.md index 984ff4b2d8..6ff1edbd44 100644 --- a/docs/google-docs/providers/google/compute/global_operations/index.md +++ b/docs/google-docs/providers/google/compute/global_operations/index.md @@ -1,3 +1,4 @@ + --- title: global_operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - global_operations - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an global_operation resource or lists global_operations in a region ## Overview @@ -56,6 +58,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] User who requested the operation, for example: `user@example.com` or `alice_smith_identifier (global/workforcePools/example-com-us-employees)`. | | | `array` | [Output Only] If warning messages are generated during processing of the operation, this field will be populated. | | | `string` | [Output Only] The URL of the zone where the operation resides. Only applicable when performing per-zone operations. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -63,3 +66,49 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Retrieves a list of Operation resources contained within the specified project. | | | `DELETE` | | Deletes the specified Operations resource. | | | `EXEC` | | Waits for the specified Operation resource to return as `DONE` or for the request to approach the 2 minute deadline, and retrieves the specified Operation resource. This method differs from the `GET` method in that it waits for no more than the default deadline (2 minutes) and then returns the current state of the operation, which might be `DONE` or still in progress. This method is called on a best-effort basis. Specifically: - In uncommon cases, when the server is overloaded, the request might return before the default deadline is reached, or might return after zero seconds. - If the default deadline is reached, there is no guarantee that the operation is actually done when the method returns. Be prepared to retry if the operation is not `DONE`. | + +## `SELECT` examples + +Retrieves a list of Operation resources contained within the specified project. + +```sql +SELECT +id, +name, +description, +clientOperationId, +creationTimestamp, +endTime, +error, +httpErrorMessage, +httpErrorStatusCode, +insertTime, +instancesBulkInsertOperationMetadata, +kind, +operationGroupId, +operationType, +progress, +region, +selfLink, +setCommonInstanceMetadataOperationMetadata, +startTime, +status, +statusMessage, +targetId, +targetLink, +user, +warnings, +zone +FROM google.compute.global_operations +WHERE project = '{{ project }}'; +``` + +## `DELETE` example + +Deletes the specified global_operation resource. + +```sql +DELETE FROM google.compute.global_operations +WHERE operation = '{{ operation }}' +AND project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/compute/global_operations_aggregated/index.md b/docs/google-docs/providers/google/compute/global_operations_aggregated/index.md index 533668ca61..fdf1059d2d 100644 --- a/docs/google-docs/providers/google/compute/global_operations_aggregated/index.md +++ b/docs/google-docs/providers/google/compute/global_operations_aggregated/index.md @@ -1,3 +1,4 @@ + --- title: global_operations_aggregated hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - global_operations_aggregated - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an global_operations_aggregated resource or lists global_operations_aggregated in a region ## Overview
@@ -56,8 +58,44 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] User who requested the operation, for example: `user@example.com` or `alice_smith_identifier (global/workforcePools/example-com-us-employees)`. | | | `array` | [Output Only] If warning messages are generated during processing of the operation, this field will be populated. | | | `string` | [Output Only] The URL of the zone where the operation resides. Only applicable when performing per-zone operations. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Retrieves an aggregated list of all operations. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. | + +## `SELECT` examples + +Retrieves an aggregated list of all operations. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. + +```sql +SELECT +id, +name, +description, +clientOperationId, +creationTimestamp, +endTime, +error, +httpErrorMessage, +httpErrorStatusCode, +insertTime, +instancesBulkInsertOperationMetadata, +kind, +operationGroupId, +operationType, +progress, +region, +selfLink, +setCommonInstanceMetadataOperationMetadata, +startTime, +status, +statusMessage, +targetId, +targetLink, +user, +warnings, +zone +FROM google.compute.global_operations_aggregated +WHERE project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/compute/global_organization_operations/index.md b/docs/google-docs/providers/google/compute/global_organization_operations/index.md index 560f13caf7..9378853fd2 100644 --- a/docs/google-docs/providers/google/compute/global_organization_operations/index.md +++ b/docs/google-docs/providers/google/compute/global_organization_operations/index.md @@ -1,3 +1,4 @@ + --- title: global_organization_operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - global_organization_operations - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an global_organization_operation resource or lists global_organization_operations in a region ## Overview
@@ -56,9 +58,55 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] User who requested the operation, for example: `user@example.com` or `alice_smith_identifier (global/workforcePools/example-com-us-employees)`. | | | `array` | [Output Only] If warning messages are generated during processing of the operation, this field will be populated. | | | `string` | [Output Only] The URL of the zone where the operation resides. Only applicable when performing per-zone operations. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Retrieves the specified Operations resource. Gets a list of operations by making a `list()` request. | -| | `SELECT` | | Retrieves a list of Operation resources contained within the specified organization. | +| | `SELECT` | | Retrieves a list of Operation resources contained within the specified organization. | | | `DELETE` | | Deletes the specified Operations resource. | + +## `SELECT` examples + +Retrieves a list of Operation resources contained within the specified organization. + +```sql +SELECT +id, +name, +description, +clientOperationId, +creationTimestamp, +endTime, +error, +httpErrorMessage, +httpErrorStatusCode, +insertTime, +instancesBulkInsertOperationMetadata, +kind, +operationGroupId, +operationType, +progress, +region, +selfLink, +setCommonInstanceMetadataOperationMetadata, +startTime, +status, +statusMessage, +targetId, +targetLink, +user, +warnings, +zone +FROM google.compute.global_organization_operations +WHERE = '{{ }}'; +``` + +## `DELETE` example + +Deletes the specified global_organization_operation resource. + +```sql +DELETE FROM google.compute.global_organization_operations +WHERE operation = '{{ operation }}'; +``` diff --git a/docs/google-docs/providers/google/compute/global_public_delegated_prefixes/index.md b/docs/google-docs/providers/google/compute/global_public_delegated_prefixes/index.md index d878ea43ef..092b0ddff6 100644 --- a/docs/google-docs/providers/google/compute/global_public_delegated_prefixes/index.md +++ b/docs/google-docs/providers/google/compute/global_public_delegated_prefixes/index.md @@ -1,3 +1,4 @@ + --- title: global_public_delegated_prefixes hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - global_public_delegated_prefixes - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an global_public_delegated_prefix resource or lists global_public_delegated_prefixes in a region ## Overview
@@ -46,6 +48,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] URL of the region where the public delegated prefix resides. This field applies only to the region resource. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body. | | | `string` | [Output Only] Server-defined URL for the resource. | | | `string` | [Output Only] The status of the public delegated prefix, which can be one of following values: - `INITIALIZING` The public delegated prefix is being initialized and addresses cannot be created yet. - `READY_TO_ANNOUNCE` The public delegated prefix is a live migration prefix and is active. - `ANNOUNCED` The public delegated prefix is active. - `DELETING` The public delegated prefix is being deprovsioned. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -54,3 +57,165 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a global PublicDelegatedPrefix in the specified project using the parameters that are included in the request. | | | `DELETE` | | Deletes the specified global PublicDelegatedPrefix. | | | `UPDATE` | | Patches the specified global PublicDelegatedPrefix resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules. | + +## `SELECT` examples + +Lists the global PublicDelegatedPrefixes for a project. + +```sql +SELECT +id, +name, +description, +allocatablePrefixLength, +byoipApiVersion, +creationTimestamp, +fingerprint, +ipCidrRange, +isLiveMigration, +kind, +mode, +parentPrefix, +publicDelegatedSubPrefixs, +region, +selfLink, +status +FROM google.compute.global_public_delegated_prefixes +WHERE project = '{{ project }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new global_public_delegated_prefixes resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.global_public_delegated_prefixes ( +project, +kind, +id, +creationTimestamp, +name, +description, +selfLink, +region, +ipCidrRange, +status, +parentPrefix, +publicDelegatedSubPrefixs, +isLiveMigration, +fingerprint, +mode, +allocatablePrefixLength, +byoipApiVersion +) +SELECT +'{{ project }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ name }}', +'{{ description }}', +'{{ selfLink }}', +'{{ region }}', +'{{ ipCidrRange }}', +'{{ status }}', +'{{ parentPrefix }}', +'{{ publicDelegatedSubPrefixs }}', +true|false, +'{{ fingerprint }}', +'{{ mode }}', +'{{ allocatablePrefixLength }}', +'{{ byoipApiVersion }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: selfLink + value: '{{ selfLink }}' + - name: region + value: '{{ region }}' + - name: ipCidrRange + value: '{{ ipCidrRange }}' + - name: status + value: '{{ status }}' + - name: parentPrefix + value: '{{ parentPrefix }}' + - name: publicDelegatedSubPrefixs + value: '{{ publicDelegatedSubPrefixs }}' + - name: isLiveMigration + value: '{{ isLiveMigration }}' + - name: fingerprint + value: '{{ fingerprint }}' + - name: mode + value: '{{ mode }}' + - name: allocatablePrefixLength + value: '{{ allocatablePrefixLength }}' + - name: byoipApiVersion + value: '{{ byoipApiVersion }}' + +``` + + + +## `UPDATE` example + +Updates a global_public_delegated_prefix only if the necessary resources are available. + +```sql +UPDATE google.compute.global_public_delegated_prefixes +SET +kind = '{{ kind }}', +id = '{{ id }}', +creationTimestamp = '{{ creationTimestamp }}', +name = '{{ name }}', +description = '{{ description }}', +selfLink = '{{ selfLink }}', +region = '{{ region }}', +ipCidrRange = '{{ ipCidrRange }}', +status = '{{ status }}', +parentPrefix = '{{ parentPrefix }}', +publicDelegatedSubPrefixs = '{{ publicDelegatedSubPrefixs }}', +isLiveMigration = true|false, +fingerprint = '{{ fingerprint }}', +mode = '{{ mode }}', +allocatablePrefixLength = '{{ allocatablePrefixLength }}', +byoipApiVersion = '{{ byoipApiVersion }}' +WHERE +project = '{{ project }}' +AND publicDelegatedPrefix = '{{ publicDelegatedPrefix }}'; +``` + +## `DELETE` example + +Deletes the specified global_public_delegated_prefix resource. + +```sql +DELETE FROM google.compute.global_public_delegated_prefixes +WHERE project = '{{ project }}' +AND publicDelegatedPrefix = '{{ publicDelegatedPrefix }}'; +``` diff --git a/docs/google-docs/providers/google/compute/health_checks/index.md b/docs/google-docs/providers/google/compute/health_checks/index.md index ba039eee39..6e4fa7770c 100644 --- a/docs/google-docs/providers/google/compute/health_checks/index.md +++ b/docs/google-docs/providers/google/compute/health_checks/index.md @@ -1,3 +1,4 @@ + --- title: health_checks hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - health_checks - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an health_check resource or lists health_checks in a region ## Overview
@@ -44,11 +46,13 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Configuration of logging on a health check. If logging is enabled, logs will be exported to Stackdriver. | | | `string` | [Output Only] Region where the health check resides. Not applicable to global health checks. | | | `string` | [Output Only] Server-defined URL for the resource. | +| | `array` | The list of cloud regions from which health checks are performed. If any regions are specified, then exactly 3 regions should be specified. The region names must be valid names of Google Cloud regions. This can only be set for global health check. If this list is non-empty, then there are restrictions on what other health check fields are supported and what other resources can use this health check: - SSL, HTTP2, and GRPC protocols are not supported. - The TCP request field is not supported. - The proxyHeader field for HTTP, HTTPS, and TCP is not supported. - The checkIntervalSec field must be at least 30. - The health check cannot be used with BackendService nor with managed instance group auto-healing. | | | `object` | | | | `object` | | | | `integer` | How long (in seconds) to wait before claiming failure. The default value is 5 seconds. It is invalid for timeoutSec to have greater value than checkIntervalSec. | | | `string` | Specifies the type of the healthCheck, either TCP, SSL, HTTP, HTTPS, HTTP2 or GRPC. Exactly one of the protocol-specific health check fields must be specified, which must match type field. | | | `integer` | A so-far healthy instance will be marked unhealthy after this many consecutive failures. The default value is 2. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -57,4 +61,190 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a HealthCheck resource in the specified project using the data included in the request. | | | `DELETE` | | Deletes the specified HealthCheck resource. | | | `UPDATE` | | Updates a HealthCheck resource in the specified project using the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules. | -| | `UPDATE` | | Updates a HealthCheck resource in the specified project using the data included in the request. | +| | `EXEC` | | Updates a HealthCheck resource in the specified project using the data included in the request. | + +## `SELECT` examples + +Retrieves the list of HealthCheck resources available to the specified project. + +```sql +SELECT +id, +name, +description, +checkIntervalSec, +creationTimestamp, +grpcHealthCheck, +healthyThreshold, +http2HealthCheck, +httpHealthCheck, +httpsHealthCheck, +kind, +logConfig, +region, +selfLink, +sourceRegions, +sslHealthCheck, +tcpHealthCheck, +timeoutSec, +type, +unhealthyThreshold +FROM google.compute.health_checks +WHERE project = '{{ project }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new health_checks resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.health_checks ( +project, +kind, +id, +creationTimestamp, +name, +description, +checkIntervalSec, +timeoutSec, +unhealthyThreshold, +healthyThreshold, +type, +tcpHealthCheck, +sslHealthCheck, +httpHealthCheck, +httpsHealthCheck, +http2HealthCheck, +grpcHealthCheck, +sourceRegions, +selfLink, +region, +logConfig +) +SELECT +'{{ project }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ name }}', +'{{ description }}', +'{{ checkIntervalSec }}', +'{{ timeoutSec }}', +'{{ unhealthyThreshold }}', +'{{ healthyThreshold }}', +'{{ type }}', +'{{ tcpHealthCheck }}', +'{{ sslHealthCheck }}', +'{{ httpHealthCheck }}', +'{{ httpsHealthCheck }}', +'{{ http2HealthCheck }}', +'{{ grpcHealthCheck }}', +'{{ sourceRegions }}', +'{{ selfLink }}', +'{{ region }}', +'{{ logConfig }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: checkIntervalSec + value: '{{ checkIntervalSec }}' + - name: timeoutSec + value: '{{ timeoutSec }}' + - name: unhealthyThreshold + value: '{{ unhealthyThreshold }}' + - name: healthyThreshold + value: '{{ healthyThreshold }}' + - name: type + value: '{{ type }}' + - name: tcpHealthCheck + value: '{{ tcpHealthCheck }}' + - name: sslHealthCheck + value: '{{ sslHealthCheck }}' + - name: httpHealthCheck + value: '{{ httpHealthCheck }}' + - name: httpsHealthCheck + value: '{{ httpsHealthCheck }}' + - name: http2HealthCheck + value: '{{ http2HealthCheck }}' + - name: grpcHealthCheck + value: '{{ grpcHealthCheck }}' + - name: sourceRegions + value: '{{ sourceRegions }}' + - name: selfLink + value: '{{ selfLink }}' + - name: region + value: '{{ region }}' + - name: logConfig + value: '{{ logConfig }}' + +``` + + + +## `UPDATE` example + +Updates a health_check only if the necessary resources are available. + +```sql +UPDATE google.compute.health_checks +SET +kind = '{{ kind }}', +id = '{{ id }}', +creationTimestamp = '{{ creationTimestamp }}', +name = '{{ name }}', +description = '{{ description }}', +checkIntervalSec = '{{ checkIntervalSec }}', +timeoutSec = '{{ timeoutSec }}', +unhealthyThreshold = '{{ unhealthyThreshold }}', +healthyThreshold = '{{ healthyThreshold }}', +type = '{{ type }}', +tcpHealthCheck = '{{ tcpHealthCheck }}', +sslHealthCheck = '{{ sslHealthCheck }}', +httpHealthCheck = '{{ httpHealthCheck }}', +httpsHealthCheck = '{{ httpsHealthCheck }}', +http2HealthCheck = '{{ http2HealthCheck }}', +grpcHealthCheck = '{{ grpcHealthCheck }}', +sourceRegions = '{{ sourceRegions }}', +selfLink = '{{ selfLink }}', +region = '{{ region }}', +logConfig = '{{ logConfig }}' +WHERE +healthCheck = '{{ healthCheck }}' +AND project = '{{ project }}'; +``` + +## `DELETE` example + +Deletes the specified health_check resource. + +```sql +DELETE FROM google.compute.health_checks +WHERE healthCheck = '{{ healthCheck }}' +AND project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/compute/health_checks_aggregated/index.md b/docs/google-docs/providers/google/compute/health_checks_aggregated/index.md index f42c4ea56a..ab2656401f 100644 --- a/docs/google-docs/providers/google/compute/health_checks_aggregated/index.md +++ b/docs/google-docs/providers/google/compute/health_checks_aggregated/index.md @@ -1,3 +1,4 @@ + --- title: health_checks_aggregated hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - health_checks_aggregated - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an health_checks_aggregated resource or lists health_checks_aggregated in a region ## Overview
@@ -44,13 +46,44 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Configuration of logging on a health check. If logging is enabled, logs will be exported to Stackdriver. | | | `string` | [Output Only] Region where the health check resides. Not applicable to global health checks. | | | `string` | [Output Only] Server-defined URL for the resource. | +| | `array` | The list of cloud regions from which health checks are performed. If any regions are specified, then exactly 3 regions should be specified. The region names must be valid names of Google Cloud regions. This can only be set for global health check. If this list is non-empty, then there are restrictions on what other health check fields are supported and what other resources can use this health check: - SSL, HTTP2, and GRPC protocols are not supported. - The TCP request field is not supported. - The proxyHeader field for HTTP, HTTPS, and TCP is not supported. - The checkIntervalSec field must be at least 30. - The health check cannot be used with BackendService nor with managed instance group auto-healing. | | | `object` | | | | `object` | | | | `integer` | How long (in seconds) to wait before claiming failure. The default value is 5 seconds. It is invalid for timeoutSec to have greater value than checkIntervalSec. | | | `string` | Specifies the type of the healthCheck, either TCP, SSL, HTTP, HTTPS, HTTP2 or GRPC. Exactly one of the protocol-specific health check fields must be specified, which must match type field. | | | `integer` | A so-far healthy instance will be marked unhealthy after this many consecutive failures. The default value is 2. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Retrieves the list of all HealthCheck resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. | + +## `SELECT` examples + +Retrieves the list of all HealthCheck resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. + +```sql +SELECT +id, +name, +description, +checkIntervalSec, +creationTimestamp, +grpcHealthCheck, +healthyThreshold, +http2HealthCheck, +httpHealthCheck, +httpsHealthCheck, +kind, +logConfig, +region, +selfLink, +sourceRegions, +sslHealthCheck, +tcpHealthCheck, +timeoutSec, +type, +unhealthyThreshold +FROM google.compute.health_checks_aggregated +WHERE project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/compute/http_health_checks/index.md b/docs/google-docs/providers/google/compute/http_health_checks/index.md index 602559e361..486e0cb7f0 100644 --- a/docs/google-docs/providers/google/compute/http_health_checks/index.md +++ b/docs/google-docs/providers/google/compute/http_health_checks/index.md @@ -1,3 +1,4 @@ + --- title: http_health_checks hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - http_health_checks - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an http_health_check resource or lists http_health_checks in a region ## Overview
@@ -43,6 +45,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] Server-defined URL for the resource. | | | `integer` | How long (in seconds) to wait before claiming failure. The default value is 5 seconds. It is invalid for timeoutSec to have greater value than checkIntervalSec. | | | `integer` | A so-far healthy instance will be marked unhealthy after this many consecutive failures. The default value is 2. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -51,4 +54,148 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a HttpHealthCheck resource in the specified project using the data included in the request. | | | `DELETE` | | Deletes the specified HttpHealthCheck resource. | | | `UPDATE` | | Updates a HttpHealthCheck resource in the specified project using the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules. | -| | `UPDATE` | | Updates a HttpHealthCheck resource in the specified project using the data included in the request. | +| | `EXEC` | | Updates a HttpHealthCheck resource in the specified project using the data included in the request. | + +## `SELECT` examples + +Retrieves the list of HttpHealthCheck resources available to the specified project. + +```sql +SELECT +id, +name, +description, +checkIntervalSec, +creationTimestamp, +healthyThreshold, +host, +kind, +port, +requestPath, +selfLink, +timeoutSec, +unhealthyThreshold +FROM google.compute.http_health_checks +WHERE project = '{{ project }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new http_health_checks resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.http_health_checks ( +project, +kind, +id, +creationTimestamp, +name, +description, +host, +requestPath, +port, +checkIntervalSec, +timeoutSec, +unhealthyThreshold, +healthyThreshold, +selfLink +) +SELECT +'{{ project }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ name }}', +'{{ description }}', +'{{ host }}', +'{{ requestPath }}', +'{{ port }}', +'{{ checkIntervalSec }}', +'{{ timeoutSec }}', +'{{ unhealthyThreshold }}', +'{{ healthyThreshold }}', +'{{ selfLink }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: host + value: '{{ host }}' + - name: requestPath + value: '{{ requestPath }}' + - name: port + value: '{{ port }}' + - name: checkIntervalSec + value: '{{ checkIntervalSec }}' + - name: timeoutSec + value: '{{ timeoutSec }}' + - name: unhealthyThreshold + value: '{{ unhealthyThreshold }}' + - name: healthyThreshold + value: '{{ healthyThreshold }}' + - name: selfLink + value: '{{ selfLink }}' + +``` + + + +## `UPDATE` example + +Updates a http_health_check only if the necessary resources are available. + +```sql +UPDATE google.compute.http_health_checks +SET +kind = '{{ kind }}', +id = '{{ id }}', +creationTimestamp = '{{ creationTimestamp }}', +name = '{{ name }}', +description = '{{ description }}', +host = '{{ host }}', +requestPath = '{{ requestPath }}', +port = '{{ port }}', +checkIntervalSec = '{{ checkIntervalSec }}', +timeoutSec = '{{ timeoutSec }}', +unhealthyThreshold = '{{ unhealthyThreshold }}', +healthyThreshold = '{{ healthyThreshold }}', +selfLink = '{{ selfLink }}' +WHERE +httpHealthCheck = '{{ httpHealthCheck }}' +AND project = '{{ project }}'; +``` + +## `DELETE` example + +Deletes the specified http_health_check resource. + +```sql +DELETE FROM google.compute.http_health_checks +WHERE httpHealthCheck = '{{ httpHealthCheck }}' +AND project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/compute/https_health_checks/index.md b/docs/google-docs/providers/google/compute/https_health_checks/index.md index 190aa03863..a9a711a956 100644 --- a/docs/google-docs/providers/google/compute/https_health_checks/index.md +++ b/docs/google-docs/providers/google/compute/https_health_checks/index.md @@ -1,3 +1,4 @@ + --- title: https_health_checks hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - https_health_checks - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an https_health_check resource or lists https_health_checks in a region ## Overview
@@ -43,6 +45,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] Server-defined URL for the resource. | | | `integer` | How long (in seconds) to wait before claiming failure. The default value is 5 seconds. It is invalid for timeoutSec to have a greater value than checkIntervalSec. | | | `integer` | A so-far healthy instance will be marked unhealthy after this many consecutive failures. The default value is 2. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -51,4 +54,148 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a HttpsHealthCheck resource in the specified project using the data included in the request. | | | `DELETE` | | Deletes the specified HttpsHealthCheck resource. | | | `UPDATE` | | Updates a HttpsHealthCheck resource in the specified project using the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules. | -| | `UPDATE` | | Updates a HttpsHealthCheck resource in the specified project using the data included in the request. | +| | `EXEC` | | Updates a HttpsHealthCheck resource in the specified project using the data included in the request. | + +## `SELECT` examples + +Retrieves the list of HttpsHealthCheck resources available to the specified project. + +```sql +SELECT +id, +name, +description, +checkIntervalSec, +creationTimestamp, +healthyThreshold, +host, +kind, +port, +requestPath, +selfLink, +timeoutSec, +unhealthyThreshold +FROM google.compute.https_health_checks +WHERE project = '{{ project }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new https_health_checks resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.https_health_checks ( +project, +kind, +id, +creationTimestamp, +name, +description, +host, +requestPath, +port, +checkIntervalSec, +timeoutSec, +unhealthyThreshold, +healthyThreshold, +selfLink +) +SELECT +'{{ project }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ name }}', +'{{ description }}', +'{{ host }}', +'{{ requestPath }}', +'{{ port }}', +'{{ checkIntervalSec }}', +'{{ timeoutSec }}', +'{{ unhealthyThreshold }}', +'{{ healthyThreshold }}', +'{{ selfLink }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: host + value: '{{ host }}' + - name: requestPath + value: '{{ requestPath }}' + - name: port + value: '{{ port }}' + - name: checkIntervalSec + value: '{{ checkIntervalSec }}' + - name: timeoutSec + value: '{{ timeoutSec }}' + - name: unhealthyThreshold + value: '{{ unhealthyThreshold }}' + - name: healthyThreshold + value: '{{ healthyThreshold }}' + - name: selfLink + value: '{{ selfLink }}' + +``` + + + +## `UPDATE` example + +Updates a https_health_check only if the necessary resources are available. + +```sql +UPDATE google.compute.https_health_checks +SET +kind = '{{ kind }}', +id = '{{ id }}', +creationTimestamp = '{{ creationTimestamp }}', +name = '{{ name }}', +description = '{{ description }}', +host = '{{ host }}', +requestPath = '{{ requestPath }}', +port = '{{ port }}', +checkIntervalSec = '{{ checkIntervalSec }}', +timeoutSec = '{{ timeoutSec }}', +unhealthyThreshold = '{{ unhealthyThreshold }}', +healthyThreshold = '{{ healthyThreshold }}', +selfLink = '{{ selfLink }}' +WHERE +httpsHealthCheck = '{{ httpsHealthCheck }}' +AND project = '{{ project }}'; +``` + +## `DELETE` example + +Deletes the specified https_health_check resource. + +```sql +DELETE FROM google.compute.https_health_checks +WHERE httpsHealthCheck = '{{ httpsHealthCheck }}' +AND project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/compute/image_family_views/index.md b/docs/google-docs/providers/google/compute/image_family_views/index.md index fdc6419526..88c3331c63 100644 --- a/docs/google-docs/providers/google/compute/image_family_views/index.md +++ b/docs/google-docs/providers/google/compute/image_family_views/index.md @@ -1,3 +1,4 @@ + --- title: image_family_views hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - image_family_views - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an image_family_view resource or lists image_family_views in a region ## Overview
@@ -28,7 +30,24 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `object` | Represents an Image resource. You can use images to create boot disks for your VM instances. For more information, read Images. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Returns the latest image that is part of an image family, is not deprecated and is rolled out in the specified zone. | + +## `SELECT` examples + +Returns the latest image that is part of an image family, is not deprecated and is rolled out in the specified zone. + +```sql +SELECT +image +FROM google.compute.image_family_views +WHERE family = '{{ family }}' +AND project = '{{ project }}' +AND zone = '{{ zone }}'; +``` diff --git a/docs/google-docs/providers/google/compute/images/index.md b/docs/google-docs/providers/google/compute/images/index.md index 16b04bed4e..7747f71b9f 100644 --- a/docs/google-docs/providers/google/compute/images/index.md +++ b/docs/google-docs/providers/google/compute/images/index.md @@ -1,3 +1,4 @@ + --- title: images hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - images - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an image resource or lists images in a region ## Overview @@ -64,6 +66,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The type of the image used to create this disk. The default and only valid value is RAW. | | | `string` | [Output Only] The status of the image. An image can be used to create other resources, such as instances, only after the image has been successfully created and the status is set to READY. Possible values are FAILED, PENDING, or READY. | | | `array` | Cloud Storage bucket storage location of the image (regional or multi-regional). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -74,3 +77,279 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `UPDATE` | | Patches the specified image with the data included in the request. Only the following fields can be modified: family, description, deprecation status. | | | `EXEC` | | Sets the deprecation status of an image. If an empty request body is given, clears the deprecation status instead. | | | `EXEC` | | Sets the labels on an image. To learn more about labels, read the Labeling Resources documentation. | + +## `SELECT` examples + +Retrieves the list of custom images available to the specified project. Custom images are images you create that belong to your project. This method does not get any images that belong to other projects, including publicly-available images, like Debian 8. If you want to get a list of publicly-available images, use this method to make a request to the respective image project, such as debian-cloud or windows-cloud. + +```sql +SELECT +id, +name, +description, +architecture, +archiveSizeBytes, +creationTimestamp, +deprecated, +diskSizeGb, +enableConfidentialCompute, +family, +guestOsFeatures, +imageEncryptionKey, +kind, +labelFingerprint, +labels, +licenseCodes, +licenses, +rawDisk, +satisfiesPzi, +satisfiesPzs, +selfLink, +shieldedInstanceInitialState, +sourceDisk, +sourceDiskEncryptionKey, +sourceDiskId, +sourceImage, +sourceImageEncryptionKey, +sourceImageId, +sourceSnapshot, +sourceSnapshotEncryptionKey, +sourceSnapshotId, +sourceType, +status, +storageLocations +FROM google.compute.images +WHERE project = '{{ project }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new images resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.images ( +project, +kind, +id, +creationTimestamp, +name, +description, +sourceType, +rawDisk, +deprecated, +status, +archiveSizeBytes, +diskSizeGb, +sourceDisk, +sourceDiskId, +licenses, +family, +imageEncryptionKey, +sourceDiskEncryptionKey, +selfLink, +labels, +labelFingerprint, +guestOsFeatures, +licenseCodes, +sourceImage, +sourceImageId, +sourceImageEncryptionKey, +sourceSnapshot, +sourceSnapshotId, +sourceSnapshotEncryptionKey, +storageLocations, +shieldedInstanceInitialState, +satisfiesPzs, +architecture, +enableConfidentialCompute, +satisfiesPzi +) +SELECT +'{{ project }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ name }}', +'{{ description }}', +'{{ sourceType }}', +'{{ rawDisk }}', +'{{ deprecated }}', +'{{ status }}', +'{{ archiveSizeBytes }}', +'{{ diskSizeGb }}', +'{{ sourceDisk }}', +'{{ sourceDiskId }}', +'{{ licenses }}', +'{{ family }}', +'{{ imageEncryptionKey }}', +'{{ sourceDiskEncryptionKey }}', +'{{ selfLink }}', +'{{ labels }}', +'{{ labelFingerprint }}', +'{{ guestOsFeatures }}', +'{{ licenseCodes }}', +'{{ sourceImage }}', +'{{ sourceImageId }}', +'{{ sourceImageEncryptionKey }}', +'{{ sourceSnapshot }}', +'{{ sourceSnapshotId }}', +'{{ sourceSnapshotEncryptionKey }}', +'{{ storageLocations }}', +'{{ shieldedInstanceInitialState }}', +true|false, +'{{ architecture }}', +true|false, +true|false +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: sourceType + value: '{{ sourceType }}' + - name: rawDisk + value: + - name: source + value: '{{ source }}' + - name: sha1Checksum + value: '{{ sha1Checksum }}' + - name: containerType + value: '{{ containerType }}' + - name: deprecated + value: '{{ deprecated }}' + - name: status + value: '{{ status }}' + - name: archiveSizeBytes + value: '{{ archiveSizeBytes }}' + - name: diskSizeGb + value: '{{ diskSizeGb }}' + - name: sourceDisk + value: '{{ sourceDisk }}' + - name: sourceDiskId + value: '{{ sourceDiskId }}' + - name: licenses + value: '{{ licenses }}' + - name: family + value: '{{ family }}' + - name: imageEncryptionKey + value: '{{ imageEncryptionKey }}' + - name: sourceDiskEncryptionKey + value: '{{ sourceDiskEncryptionKey }}' + - name: selfLink + value: '{{ selfLink }}' + - name: labels + value: '{{ labels }}' + - name: labelFingerprint + value: '{{ labelFingerprint }}' + - name: guestOsFeatures + value: '{{ guestOsFeatures }}' + - name: licenseCodes + value: '{{ licenseCodes }}' + - name: sourceImage + value: '{{ sourceImage }}' + - name: sourceImageId + value: '{{ sourceImageId }}' + - name: sourceImageEncryptionKey + value: '{{ sourceImageEncryptionKey }}' + - name: sourceSnapshot + value: '{{ sourceSnapshot }}' + - name: sourceSnapshotId + value: '{{ sourceSnapshotId }}' + - name: sourceSnapshotEncryptionKey + value: '{{ sourceSnapshotEncryptionKey }}' + - name: storageLocations + value: '{{ storageLocations }}' + - name: shieldedInstanceInitialState + value: '{{ shieldedInstanceInitialState }}' + - name: satisfiesPzs + value: '{{ satisfiesPzs }}' + - name: architecture + value: '{{ architecture }}' + - name: enableConfidentialCompute + value: '{{ enableConfidentialCompute }}' + - name: satisfiesPzi + value: '{{ satisfiesPzi }}' + +``` + + + +## `UPDATE` example + +Updates a image only if the necessary resources are available. + +```sql +UPDATE google.compute.images +SET +kind = '{{ kind }}', +id = '{{ id }}', +creationTimestamp = '{{ creationTimestamp }}', +name = '{{ name }}', +description = '{{ description }}', +sourceType = '{{ sourceType }}', +rawDisk = '{{ rawDisk }}', +deprecated = '{{ deprecated }}', +status = '{{ status }}', +archiveSizeBytes = '{{ archiveSizeBytes }}', +diskSizeGb = '{{ diskSizeGb }}', +sourceDisk = '{{ sourceDisk }}', +sourceDiskId = '{{ sourceDiskId }}', +licenses = '{{ licenses }}', +family = '{{ family }}', +imageEncryptionKey = '{{ imageEncryptionKey }}', +sourceDiskEncryptionKey = '{{ sourceDiskEncryptionKey }}', +selfLink = '{{ selfLink }}', +labels = '{{ labels }}', +labelFingerprint = '{{ labelFingerprint }}', +guestOsFeatures = '{{ guestOsFeatures }}', +licenseCodes = '{{ licenseCodes }}', +sourceImage = '{{ sourceImage }}', +sourceImageId = '{{ sourceImageId }}', +sourceImageEncryptionKey = '{{ sourceImageEncryptionKey }}', +sourceSnapshot = '{{ sourceSnapshot }}', +sourceSnapshotId = '{{ sourceSnapshotId }}', +sourceSnapshotEncryptionKey = '{{ sourceSnapshotEncryptionKey }}', +storageLocations = '{{ storageLocations }}', +shieldedInstanceInitialState = '{{ shieldedInstanceInitialState }}', +satisfiesPzs = true|false, +architecture = '{{ architecture }}', +enableConfidentialCompute = true|false, +satisfiesPzi = true|false +WHERE +image = '{{ image }}' +AND project = '{{ project }}'; +``` + +## `DELETE` example + +Deletes the specified image resource. + +```sql +DELETE FROM google.compute.images +WHERE image = '{{ image }}' +AND project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/compute/images_from_family/index.md b/docs/google-docs/providers/google/compute/images_from_family/index.md index e411593d3f..203be526bc 100644 --- a/docs/google-docs/providers/google/compute/images_from_family/index.md +++ b/docs/google-docs/providers/google/compute/images_from_family/index.md @@ -1,3 +1,4 @@ + --- title: images_from_family hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - images_from_family - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an images_from_family resource or lists images_from_family in a region ## Overview
@@ -64,7 +66,53 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The type of the image used to create this disk. The default and only valid value is RAW. | | | `string` | [Output Only] The status of the image. An image can be used to create other resources, such as instances, only after the image has been successfully created and the status is set to READY. Possible values are FAILED, PENDING, or READY. | | | `array` | Cloud Storage bucket storage location of the image (regional or multi-regional). | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Returns the latest image that is part of an image family and is not deprecated. For more information on image families, see Public image families documentation. | + +## `SELECT` examples + +Returns the latest image that is part of an image family and is not deprecated. For more information on image families, see Public image families documentation. + +```sql +SELECT +id, +name, +description, +architecture, +archiveSizeBytes, +creationTimestamp, +deprecated, +diskSizeGb, +enableConfidentialCompute, +family, +guestOsFeatures, +imageEncryptionKey, +kind, +labelFingerprint, +labels, +licenseCodes, +licenses, +rawDisk, +satisfiesPzi, +satisfiesPzs, +selfLink, +shieldedInstanceInitialState, +sourceDisk, +sourceDiskEncryptionKey, +sourceDiskId, +sourceImage, +sourceImageEncryptionKey, +sourceImageId, +sourceSnapshot, +sourceSnapshotEncryptionKey, +sourceSnapshotId, +sourceType, +status, +storageLocations +FROM google.compute.images_from_family +WHERE family = '{{ family }}' +AND project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/compute/images_iam_policies/index.md b/docs/google-docs/providers/google/compute/images_iam_policies/index.md index 7e1d08fdd1..1bd084075a 100644 --- a/docs/google-docs/providers/google/compute/images_iam_policies/index.md +++ b/docs/google-docs/providers/google/compute/images_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: images_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - images_iam_policies - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an images_iam_policy resource or lists images_iam_policies in a region ## Overview
@@ -31,13 +33,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | Name | Datatype | Description | |:-----|:---------|:------------| | | `string` | This is deprecated and has no effect. Do not use. | -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. May be empty if no such policy or resource exists. | -| | `EXEC` | | Gets the access control policy for a resource. May be empty if no such policy or resource exists. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. | + +## `SELECT` examples + +Gets the access control policy for a resource. May be empty if no such policy or resource exists. + +```sql +SELECT +bindingId, +condition, +members, +role +FROM google.compute.images_iam_policies +WHERE project = '{{ project }}' +AND resource = '{{ resource }}'; +``` diff --git a/docs/google-docs/providers/google/compute/index.md b/docs/google-docs/providers/google/compute/index.md index 420f7d7eff..d0779abc48 100644 --- a/docs/google-docs/providers/google/compute/index.md +++ b/docs/google-docs/providers/google/compute/index.md @@ -9,34 +9,23 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Creates and runs virtual machines on Google Cloud Platform. - +The compute service documentation. + :::info Service Summary
-total resources: 206
-total selectable resources: 170
-total methods: 849
+total resources: 207
::: -## Overview -
- - - - - -
Namegoogle.compute
TypeService
TitleCompute Engine API
DescriptionCreates and runs virtual machines on Google Cloud Platform.
Idcompute:v24.06.00236
- ## Resources
@@ -66,6 +55,7 @@ Creates and runs virtual machines on Google Cloud Platform. firewall_policies_rule
firewalls
forwarding_rules
+future_reservations
global_addresses
global_forwarding_rules
global_network_endpoint_groups
@@ -142,7 +132,7 @@ Creates and runs virtual machines on Google Cloud Platform. node_templates
node_templates_iam_policies
node_types
-packet_mirrorings
+packet_mirrorings
packet_mirrorings_iam_policies
@@ -247,6 +237,6 @@ Creates and runs virtual machines on Google Cloud Platform. xpn_hosts
xpn_resources
zone_operations
-zones
-
+zones
+ \ No newline at end of file diff --git a/docs/google-docs/providers/google/compute/instance_group_manager_resize_requests/index.md b/docs/google-docs/providers/google/compute/instance_group_manager_resize_requests/index.md index d6b97addf0..2f7de62536 100644 --- a/docs/google-docs/providers/google/compute/instance_group_manager_resize_requests/index.md +++ b/docs/google-docs/providers/google/compute/instance_group_manager_resize_requests/index.md @@ -1,3 +1,4 @@ + --- title: instance_group_manager_resize_requests hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - instance_group_manager_resize_requests - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an instance_group_manager_resize_request resource or lists instance_group_manager_resize_requests in a region ## Overview @@ -36,12 +38,13 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] The creation timestamp for this resize request in RFC3339 text format. | | | `string` | [Output Only] The resource type, which is always compute#instanceGroupManagerResizeRequest for resize requests. | | | `object` | A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like "day" or "month". Range is approximately 10,000 years. | -| | `integer` | The number of instances to be created by this resize request. The group's target size will be increased by this number. | +| | `integer` | The number of instances to be created by this resize request. The group's target size will be increased by this number. This field cannot be used together with 'instances'. | | | `string` | [Output Only] The URL for this resize request. The server defines this URL. | | | `string` | [Output Only] Server-defined URL for this resource with the resource id. | | | `string` | [Output only] Current state of the request. | | | `object` | | | | `string` | [Output Only] The URL of a zone where the resize request is located. Populated only for zonal resize requests. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -50,3 +53,125 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new resize request that starts provisioning VMs immediately or queues VM creation. | | | `DELETE` | | Deletes the specified, inactive resize request. Requests that are still active cannot be deleted. Deleting request does not delete instances that were provisioned previously. | | | `EXEC` | | Cancels the specified resize request and removes it from the queue. Cancelled resize request does no longer wait for the resources to be provisioned. Cancel is only possible for requests that are accepted in the queue. | + +## `SELECT` examples + +Retrieves a list of resize requests that are contained in the managed instance group. + +```sql +SELECT +id, +name, +description, +creationTimestamp, +kind, +requestedRunDuration, +resizeBy, +selfLink, +selfLinkWithId, +state, +status, +zone +FROM google.compute.instance_group_manager_resize_requests +WHERE instanceGroupManager = '{{ instanceGroupManager }}' +AND project = '{{ project }}' +AND zone = '{{ zone }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new instance_group_manager_resize_requests resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.instance_group_manager_resize_requests ( +instanceGroupManager, +project, +zone, +kind, +id, +creationTimestamp, +name, +description, +zone, +resizeBy, +requestedRunDuration, +state, +status, +selfLink, +selfLinkWithId +) +SELECT +'{{ instanceGroupManager }}', +'{{ project }}', +'{{ zone }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ name }}', +'{{ description }}', +'{{ zone }}', +'{{ resizeBy }}', +'{{ requestedRunDuration }}', +'{{ state }}', +'{{ status }}', +'{{ selfLink }}', +'{{ selfLinkWithId }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: zone + value: '{{ zone }}' + - name: resizeBy + value: '{{ resizeBy }}' + - name: requestedRunDuration + value: '{{ requestedRunDuration }}' + - name: state + value: '{{ state }}' + - name: status + value: '{{ status }}' + - name: selfLink + value: '{{ selfLink }}' + - name: selfLinkWithId + value: '{{ selfLinkWithId }}' + +``` + + + +## `DELETE` example + +Deletes the specified instance_group_manager_resize_request resource. + +```sql +DELETE FROM google.compute.instance_group_manager_resize_requests +WHERE instanceGroupManager = '{{ instanceGroupManager }}' +AND project = '{{ project }}' +AND resizeRequest = '{{ resizeRequest }}' +AND zone = '{{ zone }}'; +``` diff --git a/docs/google-docs/providers/google/compute/instance_group_managers/index.md b/docs/google-docs/providers/google/compute/instance_group_managers/index.md index be024b9a8d..b5160b1960 100644 --- a/docs/google-docs/providers/google/compute/instance_group_managers/index.md +++ b/docs/google-docs/providers/google/compute/instance_group_managers/index.md @@ -1,3 +1,4 @@ + --- title: instance_group_managers hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - instance_group_managers - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an instance_group_manager resource or lists instance_group_managers in a region ## Overview
@@ -35,7 +37,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | An optional description of this resource. | | | `object` | | | | `array` | The autohealing policy for this managed instance group. You can specify only one value. | -| | `string` | The base instance name to use for instances in this group. The value must be 1-58 characters long. Instances are named by appending a hyphen and a random four-character string to the base instance name. The base instance name must comply with RFC1035. | +| | `string` | The base instance name is a prefix that you want to attach to the names of all VMs in a MIG. The maximum character length is 58 and the name must comply with RFC1035 format. When a VM is created in the group, the MIG appends a hyphen and a random four-character string to the base instance name. If you want the MIG to assign sequential numbers instead of a random string, then end the base instance name with a hyphen followed by one or more hash symbols. The hash symbols indicate the number of digits. For example, a base instance name of "vm-###" results in "vm-001" as a VM name. @pattern [a-z](([-a-z0-9]{0,57})|([-a-z0-9]{0,51}-#{1,10}(\\[[0-9]{1,10}\\])?)) | | | `string` | [Output Only] The creation timestamp for this managed instance group in RFC3339 text format. | | | `object` | | | | `object` | | @@ -57,6 +59,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | | | | `array` | Specifies the instance templates used by this managed instance group to create instances. Each version is defined by an instanceTemplate and a name. Every version can appear at most once per instance group. This field overrides the top-level instanceTemplate field. Read more about the relationships between these fields. Exactly one version must leave the targetSize field unset. That version will be applied to all remaining instances. For more information, read about canary updates. | | | `string` | [Output Only] The URL of a zone where the managed instance group is located (for zonal resources). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -66,11 +69,242 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a managed instance group using the information that you specify in the request. After the group is created, instances in the group are created using the specified instance template. This operation is marked as DONE when the group is created even if the instances in the group have not yet been created. You must separately verify the status of the individual instances with the listmanagedinstances method. A managed instance group can have up to 1000 VM instances per group. Please contact Cloud Support if you need an increase in this limit. | | | `DELETE` | | Deletes the specified managed instance group and all of the instances in that group. Note that the instance group must not belong to a backend service. Read Deleting an instance group for more information. | | | `UPDATE` | | Updates a managed instance group using the information that you specify in the request. This operation is marked as DONE when the group is patched even if the instances in the group are still in the process of being patched. You must separately verify the status of the individual instances with the listManagedInstances method. This method supports PATCH semantics and uses the JSON merge patch format and processing rules. If you update your group to specify a new template or instance configuration, it's possible that your intended specification for each VM in the group is different from the current state of that VM. To learn how to apply an updated configuration to the VMs in a MIG, see Updating instances in a MIG. | -| | `EXEC` | | Retrieves the list of managed instance groups and groups them by zone. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. | +| | `UPDATE` | | Inserts or patches per-instance configurations for the managed instance group. perInstanceConfig.name serves as a key used to distinguish whether to perform insert or patch. | | | `EXEC` | | Flags the specified instances to be removed from the managed instance group. Abandoning an instance does not delete the instance, but it does remove the instance from any target pools that are applied by the managed instance group. This method reduces the targetSize of the managed instance group by the number of instances that you abandon. This operation is marked as DONE when the action is scheduled even if the instances have not yet been removed from the group. You must separately verify the status of the abandoning action with the listmanagedinstances method. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted. You can specify a maximum of 1000 instances with this method per request. | | | `EXEC` | | Applies changes to selected instances on the managed instance group. This method can be used to apply new overrides and/or new versions. | -| | `EXEC` | | Inserts or patches per-instance configurations for the managed instance group. perInstanceConfig.name serves as a key used to distinguish whether to perform insert or patch. | | | `EXEC` | | Flags the specified VM instances in the managed instance group to be immediately recreated. Each instance is recreated using the group's current configuration. This operation is marked as DONE when the flag is set even if the instances have not yet been recreated. You must separately verify the status of each instance by checking its currentAction field; for more information, see Checking the status of managed instances. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted. You can specify a maximum of 1000 instances with this method per request. | | | `EXEC` | | Resizes the managed instance group. If you increase the size, the group creates new instances using the current instance template. If you decrease the size, the group deletes instances. The resize operation is marked DONE when the resize actions are scheduled even if the group has not yet added or deleted any instances. You must separately verify the status of the creating or deleting actions with the listmanagedinstances method. When resizing down, the instance group arbitrarily chooses the order in which VMs are deleted. The group takes into account some VM attributes when making the selection including: + The status of the VM instance. + The health of the VM instance. + The instance template version the VM is based on. + For regional managed instance groups, the location of the VM instance. This list is subject to change. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted. | | | `EXEC` | | Specifies the instance template to use when creating new instances in this group. The templates for existing instances in the group do not change unless you run recreateInstances, run applyUpdatesToInstances, or set the group's updatePolicy.type to PROACTIVE. | | | `EXEC` | | Modifies the target pools to which all instances in this managed instance group are assigned. The target pools automatically apply to all of the instances in the managed instance group. This operation is marked DONE when you make the request even if the instances have not yet been added to their target pools. The change might take some time to apply to all of the instances in the group depending on the size of the group. | + +## `SELECT` examples + +Retrieves the list of managed instance groups and groups them by zone. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. + +```sql +SELECT +id, +name, +description, +allInstancesConfig, +autoHealingPolicies, +baseInstanceName, +creationTimestamp, +currentActions, +distributionPolicy, +fingerprint, +instanceGroup, +instanceLifecyclePolicy, +instanceTemplate, +kind, +listManagedInstancesResults, +namedPorts, +region, +satisfiesPzi, +satisfiesPzs, +selfLink, +statefulPolicy, +status, +targetPools, +targetSize, +updatePolicy, +versions, +zone +FROM google.compute.instance_group_managers +WHERE project = '{{ project }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new instance_group_managers resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.instance_group_managers ( +project, +zone, +kind, +id, +creationTimestamp, +name, +description, +zone, +region, +distributionPolicy, +instanceTemplate, +versions, +allInstancesConfig, +instanceGroup, +targetPools, +baseInstanceName, +fingerprint, +currentActions, +status, +targetSize, +listManagedInstancesResults, +selfLink, +autoHealingPolicies, +updatePolicy, +namedPorts, +statefulPolicy, +instanceLifecyclePolicy, +satisfiesPzi, +satisfiesPzs +) +SELECT +'{{ project }}', +'{{ zone }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ name }}', +'{{ description }}', +'{{ zone }}', +'{{ region }}', +'{{ distributionPolicy }}', +'{{ instanceTemplate }}', +'{{ versions }}', +'{{ allInstancesConfig }}', +'{{ instanceGroup }}', +'{{ targetPools }}', +'{{ baseInstanceName }}', +'{{ fingerprint }}', +'{{ currentActions }}', +'{{ status }}', +'{{ targetSize }}', +'{{ listManagedInstancesResults }}', +'{{ selfLink }}', +'{{ autoHealingPolicies }}', +'{{ updatePolicy }}', +'{{ namedPorts }}', +'{{ statefulPolicy }}', +'{{ instanceLifecyclePolicy }}', +true|false, +true|false +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: zone + value: '{{ zone }}' + - name: region + value: '{{ region }}' + - name: distributionPolicy + value: '{{ distributionPolicy }}' + - name: instanceTemplate + value: '{{ instanceTemplate }}' + - name: versions + value: '{{ versions }}' + - name: allInstancesConfig + value: '{{ allInstancesConfig }}' + - name: instanceGroup + value: '{{ instanceGroup }}' + - name: targetPools + value: '{{ targetPools }}' + - name: baseInstanceName + value: '{{ baseInstanceName }}' + - name: fingerprint + value: '{{ fingerprint }}' + - name: currentActions + value: '{{ currentActions }}' + - name: status + value: '{{ status }}' + - name: targetSize + value: '{{ targetSize }}' + - name: listManagedInstancesResults + value: '{{ listManagedInstancesResults }}' + - name: selfLink + value: '{{ selfLink }}' + - name: autoHealingPolicies + value: '{{ autoHealingPolicies }}' + - name: updatePolicy + value: '{{ updatePolicy }}' + - name: namedPorts + value: '{{ namedPorts }}' + - name: statefulPolicy + value: '{{ statefulPolicy }}' + - name: instanceLifecyclePolicy + value: '{{ instanceLifecyclePolicy }}' + - name: satisfiesPzi + value: '{{ satisfiesPzi }}' + - name: satisfiesPzs + value: '{{ satisfiesPzs }}' + +``` + + + +## `UPDATE` example + +Updates a instance_group_manager only if the necessary resources are available. + +```sql +UPDATE google.compute.instance_group_managers +SET +kind = '{{ kind }}', +id = '{{ id }}', +creationTimestamp = '{{ creationTimestamp }}', +name = '{{ name }}', +description = '{{ description }}', +zone = '{{ zone }}', +region = '{{ region }}', +distributionPolicy = '{{ distributionPolicy }}', +instanceTemplate = '{{ instanceTemplate }}', +versions = '{{ versions }}', +allInstancesConfig = '{{ allInstancesConfig }}', +instanceGroup = '{{ instanceGroup }}', +targetPools = '{{ targetPools }}', +baseInstanceName = '{{ baseInstanceName }}', +fingerprint = '{{ fingerprint }}', +currentActions = '{{ currentActions }}', +status = '{{ status }}', +targetSize = '{{ targetSize }}', +listManagedInstancesResults = '{{ listManagedInstancesResults }}', +selfLink = '{{ selfLink }}', +autoHealingPolicies = '{{ autoHealingPolicies }}', +updatePolicy = '{{ updatePolicy }}', +namedPorts = '{{ namedPorts }}', +statefulPolicy = '{{ statefulPolicy }}', +instanceLifecyclePolicy = '{{ instanceLifecyclePolicy }}', +satisfiesPzi = true|false, +satisfiesPzs = true|false +WHERE +instanceGroupManager = '{{ instanceGroupManager }}' +AND project = '{{ project }}' +AND zone = '{{ zone }}'; +``` + +## `DELETE` example + +Deletes the specified instance_group_manager resource. + +```sql +DELETE FROM google.compute.instance_group_managers +WHERE instanceGroupManager = '{{ instanceGroupManager }}' +AND project = '{{ project }}' +AND zone = '{{ zone }}'; +``` diff --git a/docs/google-docs/providers/google/compute/instance_group_managers_errors/index.md b/docs/google-docs/providers/google/compute/instance_group_managers_errors/index.md index f68c550fea..daee25d18d 100644 --- a/docs/google-docs/providers/google/compute/instance_group_managers_errors/index.md +++ b/docs/google-docs/providers/google/compute/instance_group_managers_errors/index.md @@ -1,3 +1,4 @@ + --- title: instance_group_managers_errors hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - instance_group_managers_errors - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an instance_group_managers_error resource or lists instance_group_managers_errors in a region ## Overview
@@ -33,7 +35,23 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | | | | `object` | | | | `string` | [Output Only] The time that this error occurred. This value is in RFC3339 text format. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists all errors thrown by actions on instances for a given managed instance group. The filter and orderBy query parameters are not supported. | + +## `SELECT` examples + +Lists all errors thrown by actions on instances for a given managed instance group. The filter and orderBy query parameters are not supported. + +```sql +SELECT +error, +instanceActionDetails, +timestamp +FROM google.compute.instance_group_managers_errors +WHERE instanceGroupManager = '{{ instanceGroupManager }}' +AND project = '{{ project }}' +AND zone = '{{ zone }}'; +``` diff --git a/docs/google-docs/providers/google/compute/instance_group_managers_instances/index.md b/docs/google-docs/providers/google/compute/instance_group_managers_instances/index.md index d62198592f..5ceb14d505 100644 --- a/docs/google-docs/providers/google/compute/instance_group_managers_instances/index.md +++ b/docs/google-docs/providers/google/compute/instance_group_managers_instances/index.md @@ -1,3 +1,4 @@ + --- title: instance_group_managers_instances hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - instance_group_managers_instances - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an instance_group_managers_instance resource or lists instance_group_managers_instances in a region ## Overview
@@ -28,9 +30,64 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `INSERT` | | Creates instances with per-instance configurations in this managed instance group. Instances are created using the current instance template. The create instances operation is marked DONE if the createInstances request is successful. The underlying actions take additional time. You must separately verify the status of the creating or actions with the listmanagedinstances method. | -| | `EXEC` | | Flags the specified instances in the managed instance group for immediate deletion. The instances are also removed from any target pools of which they were a member. This method reduces the targetSize of the managed instance group by the number of instances that you delete. This operation is marked as DONE when the action is scheduled even if the instances are still being deleted. You must separately verify the status of the deleting action with the listmanagedinstances method. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted. You can specify a maximum of 1000 instances with this method per request. | +| | `DELETE` | | Flags the specified instances in the managed instance group for immediate deletion. The instances are also removed from any target pools of which they were a member. This method reduces the targetSize of the managed instance group by the number of instances that you delete. This operation is marked as DONE when the action is scheduled even if the instances are still being deleted. You must separately verify the status of the deleting action with the listmanagedinstances method. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted. You can specify a maximum of 1000 instances with this method per request. | + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new instance_group_managers_instances resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.instance_group_managers_instances ( +instanceGroupManager, +project, +zone, +instances +) +SELECT +'{{ instanceGroupManager }}', +'{{ project }}', +'{{ zone }}', +'{{ instances }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: instances + value: '{{ instances }}' + +``` + + + +## `DELETE` example + +Deletes the specified instance_group_managers_instance resource. + +```sql +DELETE FROM google.compute.instance_group_managers_instances +WHERE instanceGroupManager = '{{ instanceGroupManager }}' +AND project = '{{ project }}' +AND zone = '{{ zone }}'; +``` diff --git a/docs/google-docs/providers/google/compute/instance_group_managers_managed_instances/index.md b/docs/google-docs/providers/google/compute/instance_group_managers_managed_instances/index.md index d15609a732..260365183c 100644 --- a/docs/google-docs/providers/google/compute/instance_group_managers_managed_instances/index.md +++ b/docs/google-docs/providers/google/compute/instance_group_managers_managed_instances/index.md @@ -1,3 +1,4 @@ + --- title: instance_group_managers_managed_instances hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - instance_group_managers_managed_instances - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an instance_group_managers_managed_instance resource or lists instance_group_managers_managed_instances in a region ## Overview @@ -28,8 +30,26 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `array` | [Output Only] The list of instances in the managed instance group. | +| | `string` | [Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists all of the instances in the managed instance group. Each instance in the list has a currentAction, which indicates the action that the managed instance group is performing on the instance. For example, if the group is still creating an instance, the currentAction is CREATING. If a previous action failed, the list displays the errors for that failed action. The orderBy query parameter is not supported. The `pageToken` query parameter is supported only if the group's `listManagedInstancesResults` field is set to `PAGINATED`. | + +## `SELECT` examples + +Lists all of the instances in the managed instance group. Each instance in the list has a currentAction, which indicates the action that the managed instance group is performing on the instance. For example, if the group is still creating an instance, the currentAction is CREATING. If a previous action failed, the list displays the errors for that failed action. The orderBy query parameter is not supported. The `pageToken` query parameter is supported only if the group's `listManagedInstancesResults` field is set to `PAGINATED`. + +```sql +SELECT +managedInstances, +nextPageToken +FROM google.compute.instance_group_managers_managed_instances +WHERE instanceGroupManager = '{{ instanceGroupManager }}' +AND project = '{{ project }}' +AND zone = '{{ zone }}'; +``` diff --git a/docs/google-docs/providers/google/compute/instance_group_managers_per_instance_configs/index.md b/docs/google-docs/providers/google/compute/instance_group_managers_per_instance_configs/index.md index 236acacb2e..365e18cfd6 100644 --- a/docs/google-docs/providers/google/compute/instance_group_managers_per_instance_configs/index.md +++ b/docs/google-docs/providers/google/compute/instance_group_managers_per_instance_configs/index.md @@ -1,3 +1,4 @@ + --- title: instance_group_managers_per_instance_configs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - instance_group_managers_per_instance_configs - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an instance_group_managers_per_instance_config resource or lists instance_group_managers_per_instance_configs in a region ## Overview @@ -28,10 +30,57 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | The name of a per-instance configuration and its corresponding instance. Serves as a merge key during UpdatePerInstanceConfigs operations, that is, if a per-instance configuration with the same name exists then it will be updated, otherwise a new one will be created for the VM instance with the same name. An attempt to create a per-instance configconfiguration for a VM instance that either doesn't exist or is not part of the group will result in an error. | +| | `string` | Fingerprint of this per-instance config. This field can be used in optimistic locking. It is ignored when inserting a per-instance config. An up-to-date fingerprint must be provided in order to update an existing per-instance configuration or the field needs to be unset. | +| | `object` | Preserved state for a given instance. | +| | `string` | The status of applying this per-instance configuration on the corresponding managed instance. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| -| | `EXEC` | | Deletes selected per-instance configurations for the managed instance group. | -| | `EXEC` | | Lists all of the per-instance configurations defined for the managed instance group. The orderBy query parameter is not supported. | -| | `EXEC` | | Inserts or updates per-instance configurations for the managed instance group. perInstanceConfig.name serves as a key used to distinguish whether to perform insert or patch. | +| | `SELECT` | | Lists all of the per-instance configurations defined for the managed instance group. The orderBy query parameter is not supported. | +| | `DELETE` | | Deletes selected per-instance configurations for the managed instance group. | +| | `UPDATE` | | Inserts or updates per-instance configurations for the managed instance group. perInstanceConfig.name serves as a key used to distinguish whether to perform insert or patch. | + +## `SELECT` examples + +Lists all of the per-instance configurations defined for the managed instance group. The orderBy query parameter is not supported. + +```sql +SELECT +name, +fingerprint, +preservedState, +status +FROM google.compute.instance_group_managers_per_instance_configs +WHERE instanceGroupManager = '{{ instanceGroupManager }}' +AND project = '{{ project }}' +AND zone = '{{ zone }}'; +``` + +## `UPDATE` example + +Updates a instance_group_managers_per_instance_config only if the necessary resources are available. + +```sql +UPDATE google.compute.instance_group_managers_per_instance_configs +SET +perInstanceConfigs = '{{ perInstanceConfigs }}' +WHERE +instanceGroupManager = '{{ instanceGroupManager }}' +AND project = '{{ project }}' +AND zone = '{{ zone }}'; +``` + +## `DELETE` example + +Deletes the specified instance_group_managers_per_instance_config resource. + +```sql +DELETE FROM google.compute.instance_group_managers_per_instance_configs +WHERE instanceGroupManager = '{{ instanceGroupManager }}' +AND project = '{{ project }}' +AND zone = '{{ zone }}'; +``` diff --git a/docs/google-docs/providers/google/compute/instance_groups/index.md b/docs/google-docs/providers/google/compute/instance_groups/index.md index c3f1f7de9a..b614fff2cb 100644 --- a/docs/google-docs/providers/google/compute/instance_groups/index.md +++ b/docs/google-docs/providers/google/compute/instance_groups/index.md @@ -1,3 +1,4 @@ + --- title: instance_groups hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - instance_groups - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an instance_group resource or lists instance_groups in a region ## Overview @@ -36,13 +38,14 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] The creation timestamp for this instance group in RFC3339 text format. | | | `string` | [Output Only] The fingerprint of the named ports. The system uses this fingerprint to detect conflicts when multiple users change the named ports concurrently. | | | `string` | [Output Only] The resource type, which is always compute#instanceGroup for instance groups. | -| | `array` | Assigns a name to a port number. For example: {name: "http", port: 80} This allows the system to reference ports by the assigned name instead of a port number. Named ports can also contain multiple ports. For example: [{name: "app1", port: 8080}, {name: "app1", port: 8081}, {name: "app2", port: 8082}] Named ports apply to all instances in this instance group. | +| | `array` | Assigns a name to a port number. For example: {name: "http", port: 80} This allows the system to reference ports by the assigned name instead of a port number. Named ports can also contain multiple ports. For example: [{name: "app1", port: 8080}, {name: "app1", port: 8081}, {name: "app2", port: 8082}] Named ports apply to all instances in this instance group. | | | `string` | [Output Only] The URL of the network to which all instances in the instance group belong. If your instance has multiple network interfaces, then the network and subnetwork fields only refer to the network and subnet used by your primary interface (nic0). | | | `string` | [Output Only] The URL of the region where the instance group is located (for regional resources). | | | `string` | [Output Only] The URL for this instance group. The server generates this URL. | | | `integer` | [Output Only] The total number of instances in the instance group. | | | `string` | [Output Only] The URL of the subnetwork to which all instances in the instance group belong. If your instance has multiple network interfaces, then the network and subnetwork fields only refer to the network and subnet used by your primary interface (nic0). | | | `string` | [Output Only] The URL of the zone where the instance group is located (for zonal resources). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -51,5 +54,126 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Retrieves the list of zonal instance group resources contained within the specified zone. For managed instance groups, use the instanceGroupManagers or regionInstanceGroupManagers methods instead. | | | `INSERT` | | Creates an instance group in the specified project using the parameters that are included in the request. | | | `DELETE` | | Deletes the specified instance group. The instances in the group are not deleted. Note that instance group must not belong to a backend service. Read Deleting an instance group for more information. | -| | `EXEC` | | Retrieves the list of instance groups and sorts them by zone. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. | | | `EXEC` | | Sets the named ports for the specified instance group. | + +## `SELECT` examples + +Retrieves the list of instance groups and sorts them by zone. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. + +```sql +SELECT +id, +name, +description, +creationTimestamp, +fingerprint, +kind, +namedPorts, +network, +region, +selfLink, +size, +subnetwork, +zone +FROM google.compute.instance_groups +WHERE project = '{{ project }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new instance_groups resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.instance_groups ( +project, +zone, +kind, +id, +creationTimestamp, +name, +description, +namedPorts, +network, +fingerprint, +zone, +selfLink, +size, +region, +subnetwork +) +SELECT +'{{ project }}', +'{{ zone }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ name }}', +'{{ description }}', +'{{ namedPorts }}', +'{{ network }}', +'{{ fingerprint }}', +'{{ zone }}', +'{{ selfLink }}', +'{{ size }}', +'{{ region }}', +'{{ subnetwork }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: namedPorts + value: '{{ namedPorts }}' + - name: network + value: '{{ network }}' + - name: fingerprint + value: '{{ fingerprint }}' + - name: zone + value: '{{ zone }}' + - name: selfLink + value: '{{ selfLink }}' + - name: size + value: '{{ size }}' + - name: region + value: '{{ region }}' + - name: subnetwork + value: '{{ subnetwork }}' + +``` + + + +## `DELETE` example + +Deletes the specified instance_group resource. + +```sql +DELETE FROM google.compute.instance_groups +WHERE instanceGroup = '{{ instanceGroup }}' +AND project = '{{ project }}' +AND zone = '{{ zone }}'; +``` diff --git a/docs/google-docs/providers/google/compute/instance_groups_instances/index.md b/docs/google-docs/providers/google/compute/instance_groups_instances/index.md index 6c8f997183..0bb0829f1d 100644 --- a/docs/google-docs/providers/google/compute/instance_groups_instances/index.md +++ b/docs/google-docs/providers/google/compute/instance_groups_instances/index.md @@ -1,3 +1,4 @@ + --- title: instance_groups_instances hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - instance_groups_instances - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an instance_groups_instance resource or lists instance_groups_instances in a region ## Overview
@@ -28,10 +30,83 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | [Output Only] The URL of the instance. | +| | `array` | [Output Only] The named ports that belong to this instance group. | +| | `string` | [Output Only] The status of the instance. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| -| | `EXEC` | | Adds a list of instances to the specified instance group. All of the instances in the instance group must be in the same network/subnetwork. Read Adding instances for more information. | -| | `EXEC` | | Lists the instances in the specified instance group. The orderBy query parameter is not supported. The filter query parameter is supported, but only for expressions that use `eq` (equal) or `ne` (not equal) operators. | -| | `EXEC` | | Removes one or more instances from the specified instance group, but does not delete those instances. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration before the VM instance is removed or deleted. | +| | `SELECT` | | Lists the instances in the specified instance group. The orderBy query parameter is not supported. The filter query parameter is supported, but only for expressions that use `eq` (equal) or `ne` (not equal) operators. | +| | `INSERT` | | Adds a list of instances to the specified instance group. All of the instances in the instance group must be in the same network/subnetwork. Read Adding instances for more information. | +| | `DELETE` | | Removes one or more instances from the specified instance group, but does not delete those instances. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration before the VM instance is removed or deleted. | + +## `SELECT` examples + +Lists the instances in the specified instance group. The orderBy query parameter is not supported. The filter query parameter is supported, but only for expressions that use `eq` (equal) or `ne` (not equal) operators. + +```sql +SELECT +instance, +namedPorts, +status +FROM google.compute.instance_groups_instances +WHERE instanceGroup = '{{ instanceGroup }}' +AND project = '{{ project }}' +AND zone = '{{ zone }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new instance_groups_instances resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.instance_groups_instances ( +instanceGroup, +project, +zone, +instances +) +SELECT +'{{ instanceGroup }}', +'{{ project }}', +'{{ zone }}', +'{{ instances }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: instances + value: '{{ instances }}' + +``` + + + +## `DELETE` example + +Deletes the specified instance_groups_instance resource. + +```sql +DELETE FROM google.compute.instance_groups_instances +WHERE instanceGroup = '{{ instanceGroup }}' +AND project = '{{ project }}' +AND zone = '{{ zone }}'; +``` diff --git a/docs/google-docs/providers/google/compute/instance_settings/index.md b/docs/google-docs/providers/google/compute/instance_settings/index.md index 42ce48cf39..d0f000c366 100644 --- a/docs/google-docs/providers/google/compute/instance_settings/index.md +++ b/docs/google-docs/providers/google/compute/instance_settings/index.md @@ -1,3 +1,4 @@ + --- title: instance_settings hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - instance_settings - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an instance_setting resource or lists instance_settings in a region ## Overview @@ -34,8 +36,40 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] Type of the resource. Always compute#instance_settings for instance settings. | | | `object` | | | | `string` | [Output Only] URL of the zone where the resource resides You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Get Instance settings. | | | `UPDATE` | | Patch Instance settings | + +## `SELECT` examples + +Get Instance settings. + +```sql +SELECT +fingerprint, +kind, +metadata, +zone +FROM google.compute.instance_settings +WHERE project = '{{ project }}' +AND zone = '{{ zone }}'; +``` + +## `UPDATE` example + +Updates a instance_setting only if the necessary resources are available. + +```sql +UPDATE google.compute.instance_settings +SET +kind = '{{ kind }}', +fingerprint = '{{ fingerprint }}', +metadata = '{{ metadata }}', +zone = '{{ zone }}' +WHERE +project = '{{ project }}' +AND zone = '{{ zone }}'; +``` diff --git a/docs/google-docs/providers/google/compute/instance_templates/index.md b/docs/google-docs/providers/google/compute/instance_templates/index.md index 0fe87dc0f9..dc96bbb683 100644 --- a/docs/google-docs/providers/google/compute/instance_templates/index.md +++ b/docs/google-docs/providers/google/compute/instance_templates/index.md @@ -1,3 +1,4 @@ + --- title: instance_templates hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - instance_templates - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an instance_template resource or lists instance_templates in a region ## Overview
@@ -40,6 +42,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] The URL for this instance template. The server defines this URL. | | | `string` | The source instance used to create the template. You can provide this as a partial or full URL to the resource. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /instances/instance - projects/project/zones/zone/instances/instance | | | `object` | A specification of the parameters to use when creating the instance template from a source instance. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -47,3 +50,107 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Retrieves a list of instance templates that are contained within the specified project. | | | `INSERT` | | Creates an instance template in the specified project using the data that is included in the request. If you are creating a new template to update an existing instance group, your new instance template must use the same network or, if applicable, the same subnetwork as the original template. | | | `DELETE` | | Deletes the specified instance template. Deleting an instance template is permanent and cannot be undone. It is not possible to delete templates that are already in use by a managed instance group. | + +## `SELECT` examples + +Retrieves a list of instance templates that are contained within the specified project. + +```sql +SELECT +id, +name, +description, +creationTimestamp, +kind, +properties, +region, +selfLink, +sourceInstance, +sourceInstanceParams +FROM google.compute.instance_templates +WHERE project = '{{ project }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new instance_templates resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.instance_templates ( +project, +kind, +id, +creationTimestamp, +name, +description, +properties, +selfLink, +sourceInstance, +sourceInstanceParams, +region +) +SELECT +'{{ project }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ name }}', +'{{ description }}', +'{{ properties }}', +'{{ selfLink }}', +'{{ sourceInstance }}', +'{{ sourceInstanceParams }}', +'{{ region }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: properties + value: '{{ properties }}' + - name: selfLink + value: '{{ selfLink }}' + - name: sourceInstance + value: '{{ sourceInstance }}' + - name: sourceInstanceParams + value: '{{ sourceInstanceParams }}' + - name: region + value: '{{ region }}' + +``` + + + +## `DELETE` example + +Deletes the specified instance_template resource. + +```sql +DELETE FROM google.compute.instance_templates +WHERE instanceTemplate = '{{ instanceTemplate }}' +AND project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/compute/instance_templates_aggregated/index.md b/docs/google-docs/providers/google/compute/instance_templates_aggregated/index.md index 31d66458d4..ae4d7e0b7b 100644 --- a/docs/google-docs/providers/google/compute/instance_templates_aggregated/index.md +++ b/docs/google-docs/providers/google/compute/instance_templates_aggregated/index.md @@ -1,3 +1,4 @@ + --- title: instance_templates_aggregated hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - instance_templates_aggregated - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an instance_templates_aggregated resource or lists instance_templates_aggregated in a region ## Overview
@@ -40,8 +42,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] The URL for this instance template. The server defines this URL. | | | `string` | The source instance used to create the template. You can provide this as a partial or full URL to the resource. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /instances/instance - projects/project/zones/zone/instances/instance | | | `object` | A specification of the parameters to use when creating the instance template from a source instance. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Retrieves the list of all InstanceTemplates resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. | + +## `SELECT` examples + +Retrieves the list of all InstanceTemplates resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. + +```sql +SELECT +id, +name, +description, +creationTimestamp, +kind, +properties, +region, +selfLink, +sourceInstance, +sourceInstanceParams +FROM google.compute.instance_templates_aggregated +WHERE project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/compute/instance_templates_iam_policies/index.md b/docs/google-docs/providers/google/compute/instance_templates_iam_policies/index.md index d80cd1e4ce..e77c72daca 100644 --- a/docs/google-docs/providers/google/compute/instance_templates_iam_policies/index.md +++ b/docs/google-docs/providers/google/compute/instance_templates_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: instance_templates_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - instance_templates_iam_policies - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an instance_templates_iam_policy resource or lists instance_templates_iam_policies in a region ## Overview
@@ -31,13 +33,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | Name | Datatype | Description | |:-----|:---------|:------------| | | `string` | This is deprecated and has no effect. Do not use. | -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. May be empty if no such policy or resource exists. | -| | `EXEC` | | Gets the access control policy for a resource. May be empty if no such policy or resource exists. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. | + +## `SELECT` examples + +Gets the access control policy for a resource. May be empty if no such policy or resource exists. + +```sql +SELECT +bindingId, +condition, +members, +role +FROM google.compute.instance_templates_iam_policies +WHERE project = '{{ project }}' +AND resource = '{{ resource }}'; +``` diff --git a/docs/google-docs/providers/google/compute/instances/index.md b/docs/google-docs/providers/google/compute/instances/index.md index d0a49d5efe..a6301711de 100644 --- a/docs/google-docs/providers/google/compute/instances/index.md +++ b/docs/google-docs/providers/google/compute/instances/index.md @@ -1,3 +1,4 @@ + --- title: instances hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - instances - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an instance resource or lists instances in a region ## Overview
@@ -76,18 +78,17 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] An optional, human-readable explanation of the status. | | | `object` | A set of instance tags. | | | `string` | [Output Only] URL of the zone where the instance resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Retrieves an aggregated list of all of the instances in your project across all regions and zones. The performance of this method degrades when a filter is specified on a project that has a very large number of instances. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. | | | `SELECT` | | Returns the specified Instance resource. | | | `SELECT` | | Retrieves the list of instances contained within the specified zone. | +| | `INSERT` | | Creates multiple instances. Count specifies the number of instances to create. For more information, see About bulk creation of VMs. | | | `INSERT` | | Creates an instance resource in the specified project using the data included in the request. | | | `DELETE` | | Deletes the specified Instance resource. For more information, see Deleting an instance. | -| | `UPDATE` | | Updates an instance only if the necessary resources are available. This method can update only a specific set of instance properties. See Updating a running instance for a list of updatable instance properties. | -| | `EXEC` | | Retrieves an aggregated list of all of the instances in your project across all regions and zones. The performance of this method degrades when a filter is specified on a project that has a very large number of instances. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. | | | `EXEC` | | Attaches an existing Disk resource to an instance. You must first create the disk before you can attach it. It is not possible to create and attach a disk at the same time. For more information, read Adding a persistent disk to your instance. | -| | `EXEC` | | Creates multiple instances. Count specifies the number of instances to create. For more information, see About bulk creation of VMs. | | | `EXEC` | | Detaches a disk from an instance. | | | `EXEC` | | Perform a manual maintenance on the instance. | | | `EXEC` | | Performs a reset on the instance. This is a hard reset. The VM does not do a graceful shutdown. For more information, see Resetting an instance. | @@ -111,3 +112,135 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `EXEC` | | Starts an instance that was stopped using the instances().stop method. For more information, see Restart an instance. | | | `EXEC` | | Stops a running instance, shutting it down cleanly, and allows you to restart the instance at a later time. Stopped instances do not incur VM usage charges while they are stopped. However, resources that the VM is using, such as persistent disks and static IP addresses, will continue to be charged until they are deleted. For more information, see Stopping an instance. | | | `EXEC` | | This method suspends a running instance, saving its state to persistent storage, and allows you to resume the instance at a later time. Suspended instances have no compute costs (cores or RAM), and incur only storage charges for the saved VM memory and localSSD data. Any charged resources the virtual machine was using, such as persistent disks and static IP addresses, will continue to be charged while the instance is suspended. For more information, see Suspending and resuming an instance. | +| | `EXEC` | | Updates an instance only if the necessary resources are available. This method can update only a specific set of instance properties. See Updating a running instance for a list of updatable instance properties. | + +## `SELECT` examples + +Retrieves an aggregated list of all of the instances in your project across all regions and zones. The performance of this method degrades when a filter is specified on a project that has a very large number of instances. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. + +```sql +SELECT +id, +name, +description, +advancedMachineFeatures, +canIpForward, +confidentialInstanceConfig, +cpuPlatform, +creationTimestamp, +deletionProtection, +disks, +displayDevice, +fingerprint, +guestAccelerators, +hostname, +instanceEncryptionKey, +keyRevocationActionType, +kind, +labelFingerprint, +labels, +lastStartTimestamp, +lastStopTimestamp, +lastSuspendedTimestamp, +machineType, +metadata, +minCpuPlatform, +networkInterfaces, +networkPerformanceConfig, +params, +privateIpv6GoogleAccess, +reservationAffinity, +resourcePolicies, +resourceStatus, +satisfiesPzi, +satisfiesPzs, +scheduling, +selfLink, +serviceAccounts, +shieldedInstanceConfig, +shieldedInstanceIntegrityPolicy, +sourceMachineImage, +sourceMachineImageEncryptionKey, +startRestricted, +status, +statusMessage, +tags, +zone +FROM google.compute.instances +WHERE project = '{{ project }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new instances resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.instances ( +project, +zone, +count, +minCount, +namePattern, +perInstanceProperties, +sourceInstanceTemplate, +instanceProperties, +locationPolicy +) +SELECT +'{{ project }}', +'{{ zone }}', +'{{ count }}', +'{{ minCount }}', +'{{ namePattern }}', +'{{ perInstanceProperties }}', +'{{ sourceInstanceTemplate }}', +'{{ instanceProperties }}', +'{{ locationPolicy }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: count + value: '{{ count }}' + - name: minCount + value: '{{ minCount }}' + - name: namePattern + value: '{{ namePattern }}' + - name: perInstanceProperties + value: '{{ perInstanceProperties }}' + - name: sourceInstanceTemplate + value: '{{ sourceInstanceTemplate }}' + - name: instanceProperties + value: '{{ instanceProperties }}' + - name: locationPolicy + value: '{{ locationPolicy }}' + +``` + + + +## `DELETE` example + +Deletes the specified instance resource. + +```sql +DELETE FROM google.compute.instances +WHERE instance = '{{ instance }}' +AND project = '{{ project }}' +AND zone = '{{ zone }}'; +``` diff --git a/docs/google-docs/providers/google/compute/instances_access_config/index.md b/docs/google-docs/providers/google/compute/instances_access_config/index.md index 082911ec81..d7d46a0cc3 100644 --- a/docs/google-docs/providers/google/compute/instances_access_config/index.md +++ b/docs/google-docs/providers/google/compute/instances_access_config/index.md @@ -1,3 +1,4 @@ + --- title: instances_access_config hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - instances_access_config - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an instances_access_config resource or lists instances_access_config in a region ## Overview
@@ -28,10 +30,129 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| -| | `EXEC` | | Adds an access config to an instance's network interface. | -| | `EXEC` | | Deletes an access config from an instance's network interface. | -| | `EXEC` | | Updates the specified access config from an instance's network interface with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules. | +| | `INSERT` | | Adds an access config to an instance's network interface. | +| | `DELETE` | | Deletes an access config from an instance's network interface. | +| | `UPDATE` | | Updates the specified access config from an instance's network interface with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules. | + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new instances_access_config resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.instances_access_config ( +instance, +networkInterface, +project, +zone, +kind, +type, +name, +natIP, +externalIpv6, +externalIpv6PrefixLength, +setPublicPtr, +publicPtrDomainName, +networkTier, +securityPolicy +) +SELECT +'{{ instance }}', +'{{ networkInterface }}', +'{{ project }}', +'{{ zone }}', +'{{ kind }}', +'{{ type }}', +'{{ name }}', +'{{ natIP }}', +'{{ externalIpv6 }}', +'{{ externalIpv6PrefixLength }}', +true|false, +'{{ publicPtrDomainName }}', +'{{ networkTier }}', +'{{ securityPolicy }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: type + value: '{{ type }}' + - name: name + value: '{{ name }}' + - name: natIP + value: '{{ natIP }}' + - name: externalIpv6 + value: '{{ externalIpv6 }}' + - name: externalIpv6PrefixLength + value: '{{ externalIpv6PrefixLength }}' + - name: setPublicPtr + value: '{{ setPublicPtr }}' + - name: publicPtrDomainName + value: '{{ publicPtrDomainName }}' + - name: networkTier + value: '{{ networkTier }}' + - name: securityPolicy + value: '{{ securityPolicy }}' + +``` + + + +## `UPDATE` example + +Updates a instances_access_config only if the necessary resources are available. + +```sql +UPDATE google.compute.instances_access_config +SET +kind = '{{ kind }}', +type = '{{ type }}', +name = '{{ name }}', +natIP = '{{ natIP }}', +externalIpv6 = '{{ externalIpv6 }}', +externalIpv6PrefixLength = '{{ externalIpv6PrefixLength }}', +setPublicPtr = true|false, +publicPtrDomainName = '{{ publicPtrDomainName }}', +networkTier = '{{ networkTier }}', +securityPolicy = '{{ securityPolicy }}' +WHERE +instance = '{{ instance }}' +AND networkInterface = '{{ networkInterface }}' +AND project = '{{ project }}' +AND zone = '{{ zone }}'; +``` + +## `DELETE` example + +Deletes the specified instances_access_config resource. + +```sql +DELETE FROM google.compute.instances_access_config +WHERE accessConfig = '{{ accessConfig }}' +AND instance = '{{ instance }}' +AND networkInterface = '{{ networkInterface }}' +AND project = '{{ project }}' +AND zone = '{{ zone }}'; +``` diff --git a/docs/google-docs/providers/google/compute/instances_display_device/index.md b/docs/google-docs/providers/google/compute/instances_display_device/index.md index ce79a0cd6d..60a6113bae 100644 --- a/docs/google-docs/providers/google/compute/instances_display_device/index.md +++ b/docs/google-docs/providers/google/compute/instances_display_device/index.md @@ -1,3 +1,4 @@ + --- title: instances_display_device hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - instances_display_device - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an instances_display_device resource or lists instances_display_device in a region ## Overview @@ -28,8 +30,24 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `UPDATE` | | Updates the Display config for a VM instance. You can only use this method on a stopped VM instance. This method supports PATCH semantics and uses the JSON merge patch format and processing rules. | + +## `UPDATE` example + +Updates a instances_display_device only if the necessary resources are available. + +```sql +UPDATE google.compute.instances_display_device +SET +enableDisplay = true|false +WHERE +instance = '{{ instance }}' +AND project = '{{ project }}' +AND zone = '{{ zone }}'; +``` diff --git a/docs/google-docs/providers/google/compute/instances_effective_firewalls/index.md b/docs/google-docs/providers/google/compute/instances_effective_firewalls/index.md index 01fe32c4b4..1dec255bed 100644 --- a/docs/google-docs/providers/google/compute/instances_effective_firewalls/index.md +++ b/docs/google-docs/providers/google/compute/instances_effective_firewalls/index.md @@ -1,3 +1,4 @@ + --- title: instances_effective_firewalls hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - instances_effective_firewalls - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an instances_effective_firewall resource or lists instances_effective_firewalls in a region ## Overview @@ -32,7 +34,23 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `array` | Effective firewalls from firewall policies. | | | `array` | Effective firewalls on the instance. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Returns effective firewalls applied to an interface of the instance. | + +## `SELECT` examples + +Returns effective firewalls applied to an interface of the instance. + +```sql +SELECT +firewallPolicys, +firewalls +FROM google.compute.instances_effective_firewalls +WHERE instance = '{{ instance }}' +AND networkInterface = '{{ networkInterface }}' +AND project = '{{ project }}' +AND zone = '{{ zone }}'; +``` diff --git a/docs/google-docs/providers/google/compute/instances_guest_attributes/index.md b/docs/google-docs/providers/google/compute/instances_guest_attributes/index.md index 5ec98401a3..45125d8cc4 100644 --- a/docs/google-docs/providers/google/compute/instances_guest_attributes/index.md +++ b/docs/google-docs/providers/google/compute/instances_guest_attributes/index.md @@ -1,3 +1,4 @@ + --- title: instances_guest_attributes hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - instances_guest_attributes - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an instances_guest_attribute resource or lists instances_guest_attributes in a region ## Overview
@@ -36,7 +38,26 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] Server-defined URL for this resource. | | | `string` | The key to search for. | | | `string` | [Output Only] The value found for the requested key. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Returns the specified guest attributes entry. | + +## `SELECT` examples + +Returns the specified guest attributes entry. + +```sql +SELECT +kind, +queryPath, +queryValue, +selfLink, +variableKey, +variableValue +FROM google.compute.instances_guest_attributes +WHERE instance = '{{ instance }}' +AND project = '{{ project }}' +AND zone = '{{ zone }}'; +``` diff --git a/docs/google-docs/providers/google/compute/instances_iam_policies/index.md b/docs/google-docs/providers/google/compute/instances_iam_policies/index.md index 1ad607ff48..df3ae5825f 100644 --- a/docs/google-docs/providers/google/compute/instances_iam_policies/index.md +++ b/docs/google-docs/providers/google/compute/instances_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: instances_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - instances_iam_policies - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an instances_iam_policy resource or lists instances_iam_policies in a region ## Overview
@@ -31,13 +33,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | Name | Datatype | Description | |:-----|:---------|:------------| | | `string` | This is deprecated and has no effect. Do not use. | -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. May be empty if no such policy or resource exists. | -| | `EXEC` | | Gets the access control policy for a resource. May be empty if no such policy or resource exists. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. | + +## `SELECT` examples + +Gets the access control policy for a resource. May be empty if no such policy or resource exists. + +```sql +SELECT +bindingId, +condition, +members, +role +FROM google.compute.instances_iam_policies +WHERE project = '{{ project }}' +AND resource = '{{ resource }}' +AND zone = '{{ zone }}'; +``` diff --git a/docs/google-docs/providers/google/compute/instances_network_interface/index.md b/docs/google-docs/providers/google/compute/instances_network_interface/index.md index bcd72e6ae0..104ce60975 100644 --- a/docs/google-docs/providers/google/compute/instances_network_interface/index.md +++ b/docs/google-docs/providers/google/compute/instances_network_interface/index.md @@ -1,3 +1,4 @@ + --- title: instances_network_interface hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - instances_network_interface - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an instances_network_interface resource or lists instances_network_interface in a region ## Overview
@@ -28,8 +30,40 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `UPDATE` | | Updates an instance's network interface. This method can only update an interface's alias IP range and attached network. See Modifying alias IP ranges for an existing instance for instructions on changing alias IP ranges. See Migrating a VM between networks for instructions on migrating an interface. This method follows PATCH semantics. | + +## `UPDATE` example + +Updates a instances_network_interface only if the necessary resources are available. + +```sql +UPDATE google.compute.instances_network_interface +SET +kind = '{{ kind }}', +network = '{{ network }}', +subnetwork = '{{ subnetwork }}', +networkIP = '{{ networkIP }}', +ipv6Address = '{{ ipv6Address }}', +internalIpv6PrefixLength = '{{ internalIpv6PrefixLength }}', +name = '{{ name }}', +accessConfigs = '{{ accessConfigs }}', +ipv6AccessConfigs = '{{ ipv6AccessConfigs }}', +aliasIpRanges = '{{ aliasIpRanges }}', +fingerprint = '{{ fingerprint }}', +stackType = '{{ stackType }}', +ipv6AccessType = '{{ ipv6AccessType }}', +queueCount = '{{ queueCount }}', +nicType = '{{ nicType }}', +networkAttachment = '{{ networkAttachment }}' +WHERE +instance = '{{ instance }}' +AND networkInterface = '{{ networkInterface }}' +AND project = '{{ project }}' +AND zone = '{{ zone }}'; +``` diff --git a/docs/google-docs/providers/google/compute/instances_referrers/index.md b/docs/google-docs/providers/google/compute/instances_referrers/index.md index 6c1b93738e..f9dfafd7c2 100644 --- a/docs/google-docs/providers/google/compute/instances_referrers/index.md +++ b/docs/google-docs/providers/google/compute/instances_referrers/index.md @@ -1,3 +1,4 @@ + --- title: instances_referrers hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - instances_referrers - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an instances_referrer resource or lists instances_referrers in a region ## Overview @@ -34,7 +36,24 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | A description of the reference type with no implied semantics. Possible values include: 1. MEMBER_OF | | | `string` | URL of the resource which refers to the target. | | | `string` | URL of the resource to which this reference points. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Retrieves a list of resources that refer to the VM instance specified in the request. For example, if the VM instance is part of a managed or unmanaged instance group, the referrers list includes the instance group. For more information, read Viewing referrers to VM instances. | + +## `SELECT` examples + +Retrieves a list of resources that refer to the VM instance specified in the request. For example, if the VM instance is part of a managed or unmanaged instance group, the referrers list includes the instance group. For more information, read Viewing referrers to VM instances. + +```sql +SELECT +kind, +referenceType, +referrer, +target +FROM google.compute.instances_referrers +WHERE instance = '{{ instance }}' +AND project = '{{ project }}' +AND zone = '{{ zone }}'; +``` diff --git a/docs/google-docs/providers/google/compute/instances_resource_policies/index.md b/docs/google-docs/providers/google/compute/instances_resource_policies/index.md index 9b4a3c63d4..4058cdc2fd 100644 --- a/docs/google-docs/providers/google/compute/instances_resource_policies/index.md +++ b/docs/google-docs/providers/google/compute/instances_resource_policies/index.md @@ -1,3 +1,4 @@ + --- title: instances_resource_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - instances_resource_policies - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an instances_resource_policy resource or lists instances_resource_policies in a region ## Overview
@@ -28,9 +30,64 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| -| | `EXEC` | | Adds existing resource policies to an instance. You can only add one policy right now which will be applied to this instance for scheduling live migrations. | -| | `EXEC` | | Removes resource policies from an instance. | +| | `INSERT` | | Adds existing resource policies to an instance. You can only add one policy right now which will be applied to this instance for scheduling live migrations. | +| | `DELETE` | | Removes resource policies from an instance. | + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new instances_resource_policies resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.instances_resource_policies ( +instance, +project, +zone, +resourcePolicies +) +SELECT +'{{ instance }}', +'{{ project }}', +'{{ zone }}', +'{{ resourcePolicies }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: resourcePolicies + value: '{{ resourcePolicies }}' + +``` + + + +## `DELETE` example + +Deletes the specified instances_resource_policy resource. + +```sql +DELETE FROM google.compute.instances_resource_policies +WHERE instance = '{{ instance }}' +AND project = '{{ project }}' +AND zone = '{{ zone }}'; +``` diff --git a/docs/google-docs/providers/google/compute/instances_screenshot/index.md b/docs/google-docs/providers/google/compute/instances_screenshot/index.md index 573dee3011..6ac4665ef1 100644 --- a/docs/google-docs/providers/google/compute/instances_screenshot/index.md +++ b/docs/google-docs/providers/google/compute/instances_screenshot/index.md @@ -1,3 +1,4 @@ + --- title: instances_screenshot hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - instances_screenshot - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an instances_screenshot resource or lists instances_screenshot in a region ## Overview @@ -32,7 +34,22 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | [Output Only] The Base64-encoded screenshot data. | | | `string` | [Output Only] Type of the resource. Always compute#screenshot for the screenshots. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Returns the screenshot from the specified instance. | + +## `SELECT` examples + +Returns the screenshot from the specified instance. + +```sql +SELECT +contents, +kind +FROM google.compute.instances_screenshot +WHERE instance = '{{ instance }}' +AND project = '{{ project }}' +AND zone = '{{ zone }}'; +``` diff --git a/docs/google-docs/providers/google/compute/instances_serial_port_output/index.md b/docs/google-docs/providers/google/compute/instances_serial_port_output/index.md index 730d5193ef..df1e63059e 100644 --- a/docs/google-docs/providers/google/compute/instances_serial_port_output/index.md +++ b/docs/google-docs/providers/google/compute/instances_serial_port_output/index.md @@ -1,3 +1,4 @@ + --- title: instances_serial_port_output hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - instances_serial_port_output - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an instances_serial_port_output resource or lists instances_serial_port_output in a region ## Overview
@@ -35,7 +37,25 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] The position of the next byte of content, regardless of whether the content exists, following the output returned in the `contents` property. Use this value in the next request as the start parameter. | | | `string` | [Output Only] Server-defined URL for this resource. | | | `string` | The starting byte position of the output that was returned. This should match the start parameter sent with the request. If the serial console output exceeds the size of the buffer (1 MB), older output is overwritten by newer content. The output start value will indicate the byte position of the output that was returned, which might be different than the `start` value that was specified in the request. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Returns the last 1 MB of serial port output from the specified instance. | + +## `SELECT` examples + +Returns the last 1 MB of serial port output from the specified instance. + +```sql +SELECT +contents, +kind, +next, +selfLink, +start +FROM google.compute.instances_serial_port_output +WHERE instance = '{{ instance }}' +AND project = '{{ project }}' +AND zone = '{{ zone }}'; +``` diff --git a/docs/google-docs/providers/google/compute/instances_shielded_instance_config/index.md b/docs/google-docs/providers/google/compute/instances_shielded_instance_config/index.md index 95acf48c8c..9de756a894 100644 --- a/docs/google-docs/providers/google/compute/instances_shielded_instance_config/index.md +++ b/docs/google-docs/providers/google/compute/instances_shielded_instance_config/index.md @@ -1,3 +1,4 @@ + --- title: instances_shielded_instance_config hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - instances_shielded_instance_config - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an instances_shielded_instance_config resource or lists instances_shielded_instance_config in a region ## Overview
@@ -28,8 +30,26 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `UPDATE` | | Updates the Shielded Instance config for an instance. You can only use this method on a stopped instance. This method supports PATCH semantics and uses the JSON merge patch format and processing rules. | + +## `UPDATE` example + +Updates a instances_shielded_instance_config only if the necessary resources are available. + +```sql +UPDATE google.compute.instances_shielded_instance_config +SET +enableSecureBoot = true|false, +enableVtpm = true|false, +enableIntegrityMonitoring = true|false +WHERE +instance = '{{ instance }}' +AND project = '{{ project }}' +AND zone = '{{ zone }}'; +``` diff --git a/docs/google-docs/providers/google/compute/instances_shielded_instance_identity/index.md b/docs/google-docs/providers/google/compute/instances_shielded_instance_identity/index.md index 5fcd31a354..d3ecde5dd0 100644 --- a/docs/google-docs/providers/google/compute/instances_shielded_instance_identity/index.md +++ b/docs/google-docs/providers/google/compute/instances_shielded_instance_identity/index.md @@ -1,3 +1,4 @@ + --- title: instances_shielded_instance_identity hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - instances_shielded_instance_identity - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an instances_shielded_instance_identity resource or lists instances_shielded_instance_identity in a region ## Overview @@ -33,7 +35,23 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | A Shielded Instance Identity Entry. | | | `string` | [Output Only] Type of the resource. Always compute#shieldedInstanceIdentity for shielded Instance identity entry. | | | `object` | A Shielded Instance Identity Entry. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Returns the Shielded Instance Identity of an instance | + +## `SELECT` examples + +Returns the Shielded Instance Identity of an instance + +```sql +SELECT +encryptionKey, +kind, +signingKey +FROM google.compute.instances_shielded_instance_identity +WHERE instance = '{{ instance }}' +AND project = '{{ project }}' +AND zone = '{{ zone }}'; +``` diff --git a/docs/google-docs/providers/google/compute/instant_snapshots/index.md b/docs/google-docs/providers/google/compute/instant_snapshots/index.md index 5a717f234e..d06156c6bd 100644 --- a/docs/google-docs/providers/google/compute/instant_snapshots/index.md +++ b/docs/google-docs/providers/google/compute/instant_snapshots/index.md @@ -1,3 +1,4 @@ + --- title: instant_snapshots hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - instant_snapshots - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an instant_snapshot resource or lists instant_snapshots in a region ## Overview
@@ -49,6 +51,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] The ID value of the disk used to create this InstantSnapshot. This value may be used to determine whether the InstantSnapshot was taken from the current or a previous instance of a given disk name. | | | `string` | [Output Only] The status of the instantSnapshot. This can be CREATING, DELETING, FAILED, or READY. | | | `string` | [Output Only] URL of the zone where the instant snapshot resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -57,5 +60,156 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Retrieves the list of InstantSnapshot resources contained within the specified zone. | | | `INSERT` | | Creates an instant snapshot in the specified zone. | | | `DELETE` | | Deletes the specified InstantSnapshot resource. Keep in mind that deleting a single instantSnapshot might not necessarily delete all the data on that instantSnapshot. If any data on the instantSnapshot that is marked for deletion is needed for subsequent instantSnapshots, the data will be moved to the next corresponding instantSnapshot. For more information, see Deleting instantSnapshots. | -| | `EXEC` | | Retrieves an aggregated list of instantSnapshots. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. | | | `EXEC` | | Sets the labels on a instantSnapshot in the given zone. To learn more about labels, read the Labeling Resources documentation. | + +## `SELECT` examples + +Retrieves an aggregated list of instantSnapshots. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. + +```sql +SELECT +id, +name, +description, +architecture, +creationTimestamp, +diskSizeGb, +kind, +labelFingerprint, +labels, +region, +resourceStatus, +satisfiesPzi, +satisfiesPzs, +selfLink, +selfLinkWithId, +sourceDisk, +sourceDiskId, +status, +zone +FROM google.compute.instant_snapshots +WHERE project = '{{ project }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new instant_snapshots resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.instant_snapshots ( +project, +zone, +kind, +id, +creationTimestamp, +name, +description, +status, +sourceDisk, +sourceDiskId, +diskSizeGb, +selfLink, +selfLinkWithId, +labels, +labelFingerprint, +zone, +region, +satisfiesPzs, +architecture, +resourceStatus, +satisfiesPzi +) +SELECT +'{{ project }}', +'{{ zone }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ name }}', +'{{ description }}', +'{{ status }}', +'{{ sourceDisk }}', +'{{ sourceDiskId }}', +'{{ diskSizeGb }}', +'{{ selfLink }}', +'{{ selfLinkWithId }}', +'{{ labels }}', +'{{ labelFingerprint }}', +'{{ zone }}', +'{{ region }}', +true|false, +'{{ architecture }}', +'{{ resourceStatus }}', +true|false +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: status + value: '{{ status }}' + - name: sourceDisk + value: '{{ sourceDisk }}' + - name: sourceDiskId + value: '{{ sourceDiskId }}' + - name: diskSizeGb + value: '{{ diskSizeGb }}' + - name: selfLink + value: '{{ selfLink }}' + - name: selfLinkWithId + value: '{{ selfLinkWithId }}' + - name: labels + value: '{{ labels }}' + - name: labelFingerprint + value: '{{ labelFingerprint }}' + - name: zone + value: '{{ zone }}' + - name: region + value: '{{ region }}' + - name: satisfiesPzs + value: '{{ satisfiesPzs }}' + - name: architecture + value: '{{ architecture }}' + - name: resourceStatus + value: '{{ resourceStatus }}' + - name: satisfiesPzi + value: '{{ satisfiesPzi }}' + +``` + + + +## `DELETE` example + +Deletes the specified instant_snapshot resource. + +```sql +DELETE FROM google.compute.instant_snapshots +WHERE instantSnapshot = '{{ instantSnapshot }}' +AND project = '{{ project }}' +AND zone = '{{ zone }}'; +``` diff --git a/docs/google-docs/providers/google/compute/instant_snapshots_iam_policies/index.md b/docs/google-docs/providers/google/compute/instant_snapshots_iam_policies/index.md index c011196d87..cf3affb1bf 100644 --- a/docs/google-docs/providers/google/compute/instant_snapshots_iam_policies/index.md +++ b/docs/google-docs/providers/google/compute/instant_snapshots_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: instant_snapshots_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - instant_snapshots_iam_policies - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an instant_snapshots_iam_policy resource or lists instant_snapshots_iam_policies in a region ## Overview
@@ -31,13 +33,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | Name | Datatype | Description | |:-----|:---------|:------------| | | `string` | This is deprecated and has no effect. Do not use. | -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. May be empty if no such policy or resource exists. | -| | `EXEC` | | Gets the access control policy for a resource. May be empty if no such policy or resource exists. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. | + +## `SELECT` examples + +Gets the access control policy for a resource. May be empty if no such policy or resource exists. + +```sql +SELECT +bindingId, +condition, +members, +role +FROM google.compute.instant_snapshots_iam_policies +WHERE project = '{{ project }}' +AND resource = '{{ resource }}' +AND zone = '{{ zone }}'; +``` diff --git a/docs/google-docs/providers/google/compute/interconnect_attachments/index.md b/docs/google-docs/providers/google/compute/interconnect_attachments/index.md index 116e2604e9..329b4394eb 100644 --- a/docs/google-docs/providers/google/compute/interconnect_attachments/index.md +++ b/docs/google-docs/providers/google/compute/interconnect_attachments/index.md @@ -1,3 +1,4 @@ + --- title: interconnect_attachments hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - interconnect_attachments - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an interconnect_attachment resource or lists interconnect_attachments in a region ## Overview
@@ -70,6 +72,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `integer` | Length of the IPv4 subnet mask. Allowed values: - 29 (default) - 30 The default value is 29, except for Cross-Cloud Interconnect connections that use an InterconnectRemoteLocation with a constraints.subnetLengthRange.min equal to 30. For example, connections that use an Azure remote location fall into this category. In these cases, the default value is 30, and requesting 29 returns an error. Where both 29 and 30 are allowed, 29 is preferred, because it gives Google Cloud Support more debugging visibility. | | | `string` | The type of interconnect attachment this is, which can take one of the following values: - DEDICATED: an attachment to a Dedicated Interconnect. - PARTNER: an attachment to a Partner Interconnect, created by the customer. - PARTNER_PROVIDER: an attachment to a Partner Interconnect, created by the partner. | | | `integer` | The IEEE 802.1Q VLAN tag for this attachment, in the range 2-4093. Only specified at creation time. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -79,5 +82,314 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates an InterconnectAttachment in the specified project using the data included in the request. | | | `DELETE` | | Deletes the specified interconnect attachment. | | | `UPDATE` | | Updates the specified interconnect attachment with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules. | -| | `EXEC` | | Retrieves an aggregated list of interconnect attachments. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. | | | `EXEC` | | Sets the labels on an InterconnectAttachment. To learn more about labels, read the Labeling Resources documentation. | + +## `SELECT` examples + +Retrieves an aggregated list of interconnect attachments. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. + +```sql +SELECT +id, +name, +description, +adminEnabled, +bandwidth, +candidateIpv6Subnets, +candidateSubnets, +cloudRouterIpAddress, +cloudRouterIpv6Address, +cloudRouterIpv6InterfaceId, +configurationConstraints, +creationTimestamp, +customerRouterIpAddress, +customerRouterIpv6Address, +customerRouterIpv6InterfaceId, +dataplaneVersion, +edgeAvailabilityDomain, +encryption, +googleReferenceId, +interconnect, +ipsecInternalAddresses, +kind, +labelFingerprint, +labels, +mtu, +operationalStatus, +pairingKey, +partnerAsn, +partnerMetadata, +privateInterconnectInfo, +region, +remoteService, +router, +satisfiesPzs, +selfLink, +stackType, +state, +subnetLength, +type, +vlanTag8021q +FROM google.compute.interconnect_attachments +WHERE project = '{{ project }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new interconnect_attachments resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.interconnect_attachments ( +project, +region, +kind, +description, +selfLink, +id, +creationTimestamp, +name, +interconnect, +router, +region, +googleReferenceId, +mtu, +privateInterconnectInfo, +operationalStatus, +cloudRouterIpAddress, +customerRouterIpAddress, +type, +pairingKey, +adminEnabled, +vlanTag8021q, +edgeAvailabilityDomain, +candidateSubnets, +bandwidth, +partnerMetadata, +labels, +labelFingerprint, +state, +partnerAsn, +encryption, +ipsecInternalAddresses, +dataplaneVersion, +satisfiesPzs, +stackType, +cloudRouterIpv6Address, +customerRouterIpv6Address, +candidateIpv6Subnets, +cloudRouterIpv6InterfaceId, +customerRouterIpv6InterfaceId, +subnetLength, +remoteService, +configurationConstraints +) +SELECT +'{{ project }}', +'{{ region }}', +'{{ kind }}', +'{{ description }}', +'{{ selfLink }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ name }}', +'{{ interconnect }}', +'{{ router }}', +'{{ region }}', +'{{ googleReferenceId }}', +'{{ mtu }}', +'{{ privateInterconnectInfo }}', +'{{ operationalStatus }}', +'{{ cloudRouterIpAddress }}', +'{{ customerRouterIpAddress }}', +'{{ type }}', +'{{ pairingKey }}', +true|false, +'{{ vlanTag8021q }}', +'{{ edgeAvailabilityDomain }}', +'{{ candidateSubnets }}', +'{{ bandwidth }}', +'{{ partnerMetadata }}', +'{{ labels }}', +'{{ labelFingerprint }}', +'{{ state }}', +'{{ partnerAsn }}', +'{{ encryption }}', +'{{ ipsecInternalAddresses }}', +'{{ dataplaneVersion }}', +true|false, +'{{ stackType }}', +'{{ cloudRouterIpv6Address }}', +'{{ customerRouterIpv6Address }}', +'{{ candidateIpv6Subnets }}', +'{{ cloudRouterIpv6InterfaceId }}', +'{{ customerRouterIpv6InterfaceId }}', +'{{ subnetLength }}', +'{{ remoteService }}', +'{{ configurationConstraints }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: description + value: '{{ description }}' + - name: selfLink + value: '{{ selfLink }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: name + value: '{{ name }}' + - name: interconnect + value: '{{ interconnect }}' + - name: router + value: '{{ router }}' + - name: region + value: '{{ region }}' + - name: googleReferenceId + value: '{{ googleReferenceId }}' + - name: mtu + value: '{{ mtu }}' + - name: privateInterconnectInfo + value: '{{ privateInterconnectInfo }}' + - name: operationalStatus + value: '{{ operationalStatus }}' + - name: cloudRouterIpAddress + value: '{{ cloudRouterIpAddress }}' + - name: customerRouterIpAddress + value: '{{ customerRouterIpAddress }}' + - name: type + value: '{{ type }}' + - name: pairingKey + value: '{{ pairingKey }}' + - name: adminEnabled + value: '{{ adminEnabled }}' + - name: vlanTag8021q + value: '{{ vlanTag8021q }}' + - name: edgeAvailabilityDomain + value: '{{ edgeAvailabilityDomain }}' + - name: candidateSubnets + value: '{{ candidateSubnets }}' + - name: bandwidth + value: '{{ bandwidth }}' + - name: partnerMetadata + value: '{{ partnerMetadata }}' + - name: labels + value: '{{ labels }}' + - name: labelFingerprint + value: '{{ labelFingerprint }}' + - name: state + value: '{{ state }}' + - name: partnerAsn + value: '{{ partnerAsn }}' + - name: encryption + value: '{{ encryption }}' + - name: ipsecInternalAddresses + value: '{{ ipsecInternalAddresses }}' + - name: dataplaneVersion + value: '{{ dataplaneVersion }}' + - name: satisfiesPzs + value: '{{ satisfiesPzs }}' + - name: stackType + value: '{{ stackType }}' + - name: cloudRouterIpv6Address + value: '{{ cloudRouterIpv6Address }}' + - name: customerRouterIpv6Address + value: '{{ customerRouterIpv6Address }}' + - name: candidateIpv6Subnets + value: '{{ candidateIpv6Subnets }}' + - name: cloudRouterIpv6InterfaceId + value: '{{ cloudRouterIpv6InterfaceId }}' + - name: customerRouterIpv6InterfaceId + value: '{{ customerRouterIpv6InterfaceId }}' + - name: subnetLength + value: '{{ subnetLength }}' + - name: remoteService + value: '{{ remoteService }}' + - name: configurationConstraints + value: '{{ configurationConstraints }}' + +``` + + + +## `UPDATE` example + +Updates a interconnect_attachment only if the necessary resources are available. + +```sql +UPDATE google.compute.interconnect_attachments +SET +kind = '{{ kind }}', +description = '{{ description }}', +selfLink = '{{ selfLink }}', +id = '{{ id }}', +creationTimestamp = '{{ creationTimestamp }}', +name = '{{ name }}', +interconnect = '{{ interconnect }}', +router = '{{ router }}', +region = '{{ region }}', +googleReferenceId = '{{ googleReferenceId }}', +mtu = '{{ mtu }}', +privateInterconnectInfo = '{{ privateInterconnectInfo }}', +operationalStatus = '{{ operationalStatus }}', +cloudRouterIpAddress = '{{ cloudRouterIpAddress }}', +customerRouterIpAddress = '{{ customerRouterIpAddress }}', +type = '{{ type }}', +pairingKey = '{{ pairingKey }}', +adminEnabled = true|false, +vlanTag8021q = '{{ vlanTag8021q }}', +edgeAvailabilityDomain = '{{ edgeAvailabilityDomain }}', +candidateSubnets = '{{ candidateSubnets }}', +bandwidth = '{{ bandwidth }}', +partnerMetadata = '{{ partnerMetadata }}', +labels = '{{ labels }}', +labelFingerprint = '{{ labelFingerprint }}', +state = '{{ state }}', +partnerAsn = '{{ partnerAsn }}', +encryption = '{{ encryption }}', +ipsecInternalAddresses = '{{ ipsecInternalAddresses }}', +dataplaneVersion = '{{ dataplaneVersion }}', +satisfiesPzs = true|false, +stackType = '{{ stackType }}', +cloudRouterIpv6Address = '{{ cloudRouterIpv6Address }}', +customerRouterIpv6Address = '{{ customerRouterIpv6Address }}', +candidateIpv6Subnets = '{{ candidateIpv6Subnets }}', +cloudRouterIpv6InterfaceId = '{{ cloudRouterIpv6InterfaceId }}', +customerRouterIpv6InterfaceId = '{{ customerRouterIpv6InterfaceId }}', +subnetLength = '{{ subnetLength }}', +remoteService = '{{ remoteService }}', +configurationConstraints = '{{ configurationConstraints }}' +WHERE +interconnectAttachment = '{{ interconnectAttachment }}' +AND project = '{{ project }}' +AND region = '{{ region }}'; +``` + +## `DELETE` example + +Deletes the specified interconnect_attachment resource. + +```sql +DELETE FROM google.compute.interconnect_attachments +WHERE interconnectAttachment = '{{ interconnectAttachment }}' +AND project = '{{ project }}' +AND region = '{{ region }}'; +``` diff --git a/docs/google-docs/providers/google/compute/interconnect_locations/index.md b/docs/google-docs/providers/google/compute/interconnect_locations/index.md index f60235fb9f..da217d0119 100644 --- a/docs/google-docs/providers/google/compute/interconnect_locations/index.md +++ b/docs/google-docs/providers/google/compute/interconnect_locations/index.md @@ -1,3 +1,4 @@ + --- title: interconnect_locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - interconnect_locations - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an interconnect_location resource or lists interconnect_locations in a region ## Overview
@@ -48,8 +50,37 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] Server-defined URL for the resource. | | | `string` | [Output Only] The status of this InterconnectLocation, which can take one of the following values: - CLOSED: The InterconnectLocation is closed and is unavailable for provisioning new Interconnects. - AVAILABLE: The InterconnectLocation is available for provisioning new Interconnects. | | | `boolean` | [Output Only] Reserved for future use. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Returns the details for the specified interconnect location. Gets a list of available interconnect locations by making a list() request. | | | `SELECT` | | Retrieves the list of interconnect locations available to the specified project. | + +## `SELECT` examples + +Retrieves the list of interconnect locations available to the specified project. + +```sql +SELECT +id, +name, +description, +address, +availabilityZone, +availableFeatures, +availableLinkTypes, +city, +continent, +creationTimestamp, +facilityProvider, +facilityProviderFacilityId, +kind, +peeringdbFacilityId, +regionInfos, +selfLink, +status, +supportsPzs +FROM google.compute.interconnect_locations +WHERE project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/compute/interconnect_remote_locations/index.md b/docs/google-docs/providers/google/compute/interconnect_remote_locations/index.md index 21b95be958..ed4c389204 100644 --- a/docs/google-docs/providers/google/compute/interconnect_remote_locations/index.md +++ b/docs/google-docs/providers/google/compute/interconnect_remote_locations/index.md @@ -1,3 +1,4 @@ + --- title: interconnect_remote_locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - interconnect_remote_locations - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an interconnect_remote_location resource or lists interconnect_remote_locations in a region ## Overview
@@ -50,8 +52,39 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] Indicates the service provider present at the remote location. Example values: "Amazon Web Services", "Microsoft Azure". | | | `string` | [Output Only] Server-defined URL for the resource. | | | `string` | [Output Only] The status of this InterconnectRemoteLocation, which can take one of the following values: - CLOSED: The InterconnectRemoteLocation is closed and is unavailable for provisioning new Cross-Cloud Interconnects. - AVAILABLE: The InterconnectRemoteLocation is available for provisioning new Cross-Cloud Interconnects. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Returns the details for the specified interconnect remote location. Gets a list of available interconnect remote locations by making a list() request. | | | `SELECT` | | Retrieves the list of interconnect remote locations available to the specified project. | + +## `SELECT` examples + +Retrieves the list of interconnect remote locations available to the specified project. + +```sql +SELECT +id, +name, +description, +address, +attachmentConfigurationConstraints, +city, +constraints, +continent, +creationTimestamp, +facilityProvider, +facilityProviderFacilityId, +kind, +lacp, +maxLagSize100Gbps, +maxLagSize10Gbps, +peeringdbFacilityId, +permittedConnections, +remoteService, +selfLink, +status +FROM google.compute.interconnect_remote_locations +WHERE project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/compute/interconnects/index.md b/docs/google-docs/providers/google/compute/interconnects/index.md index a0e8f1a82c..d7710b3e51 100644 --- a/docs/google-docs/providers/google/compute/interconnects/index.md +++ b/docs/google-docs/providers/google/compute/interconnects/index.md @@ -1,3 +1,4 @@ + --- title: interconnects hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - interconnects - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an interconnect resource or lists interconnects in a region ## Overview
@@ -60,6 +62,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `boolean` | [Output Only] Reserved for future use. | | | `string` | [Output Only] Server-defined URL for the resource. | | | `string` | [Output Only] The current state of Interconnect functionality, which can take one of the following values: - ACTIVE: The Interconnect is valid, turned up and ready to use. Attachments may be provisioned on this Interconnect. - UNPROVISIONED: The Interconnect has not completed turnup. No attachments may be provisioned on this Interconnect. - UNDER_MAINTENANCE: The Interconnect is undergoing internal maintenance. No attachments may be provisioned or updated on this Interconnect. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -69,3 +72,249 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `DELETE` | | Deletes the specified Interconnect. | | | `UPDATE` | | Updates the specified Interconnect with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules. | | | `EXEC` | | Sets the labels on an Interconnect. To learn more about labels, read the Labeling Resources documentation. | + +## `SELECT` examples + +Retrieves the list of Interconnects available to the specified project. + +```sql +SELECT +id, +name, +description, +adminEnabled, +availableFeatures, +circuitInfos, +creationTimestamp, +customerName, +expectedOutages, +googleIpAddress, +googleReferenceId, +interconnectAttachments, +interconnectType, +kind, +labelFingerprint, +labels, +linkType, +location, +macsec, +macsecEnabled, +nocContactEmail, +operationalStatus, +peerIpAddress, +provisionedLinkCount, +remoteLocation, +requestedFeatures, +requestedLinkCount, +satisfiesPzs, +selfLink, +state +FROM google.compute.interconnects +WHERE project = '{{ project }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new interconnects resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.interconnects ( +project, +kind, +description, +selfLink, +id, +creationTimestamp, +name, +location, +linkType, +requestedLinkCount, +interconnectType, +adminEnabled, +nocContactEmail, +customerName, +operationalStatus, +provisionedLinkCount, +interconnectAttachments, +peerIpAddress, +googleIpAddress, +googleReferenceId, +expectedOutages, +circuitInfos, +labels, +labelFingerprint, +state, +satisfiesPzs, +macsec, +macsecEnabled, +remoteLocation, +requestedFeatures, +availableFeatures +) +SELECT +'{{ project }}', +'{{ kind }}', +'{{ description }}', +'{{ selfLink }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ name }}', +'{{ location }}', +'{{ linkType }}', +'{{ requestedLinkCount }}', +'{{ interconnectType }}', +true|false, +'{{ nocContactEmail }}', +'{{ customerName }}', +'{{ operationalStatus }}', +'{{ provisionedLinkCount }}', +'{{ interconnectAttachments }}', +'{{ peerIpAddress }}', +'{{ googleIpAddress }}', +'{{ googleReferenceId }}', +'{{ expectedOutages }}', +'{{ circuitInfos }}', +'{{ labels }}', +'{{ labelFingerprint }}', +'{{ state }}', +true|false, +'{{ macsec }}', +true|false, +'{{ remoteLocation }}', +'{{ requestedFeatures }}', +'{{ availableFeatures }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: description + value: '{{ description }}' + - name: selfLink + value: '{{ selfLink }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: name + value: '{{ name }}' + - name: location + value: '{{ location }}' + - name: linkType + value: '{{ linkType }}' + - name: requestedLinkCount + value: '{{ requestedLinkCount }}' + - name: interconnectType + value: '{{ interconnectType }}' + - name: adminEnabled + value: '{{ adminEnabled }}' + - name: nocContactEmail + value: '{{ nocContactEmail }}' + - name: customerName + value: '{{ customerName }}' + - name: operationalStatus + value: '{{ operationalStatus }}' + - name: provisionedLinkCount + value: '{{ provisionedLinkCount }}' + - name: interconnectAttachments + value: '{{ interconnectAttachments }}' + - name: peerIpAddress + value: '{{ peerIpAddress }}' + - name: googleIpAddress + value: '{{ googleIpAddress }}' + - name: googleReferenceId + value: '{{ googleReferenceId }}' + - name: expectedOutages + value: '{{ expectedOutages }}' + - name: circuitInfos + value: '{{ circuitInfos }}' + - name: labels + value: '{{ labels }}' + - name: labelFingerprint + value: '{{ labelFingerprint }}' + - name: state + value: '{{ state }}' + - name: satisfiesPzs + value: '{{ satisfiesPzs }}' + - name: macsec + value: '{{ macsec }}' + - name: macsecEnabled + value: '{{ macsecEnabled }}' + - name: remoteLocation + value: '{{ remoteLocation }}' + - name: requestedFeatures + value: '{{ requestedFeatures }}' + - name: availableFeatures + value: '{{ availableFeatures }}' + +``` + + + +## `UPDATE` example + +Updates a interconnect only if the necessary resources are available. + +```sql +UPDATE google.compute.interconnects +SET +kind = '{{ kind }}', +description = '{{ description }}', +selfLink = '{{ selfLink }}', +id = '{{ id }}', +creationTimestamp = '{{ creationTimestamp }}', +name = '{{ name }}', +location = '{{ location }}', +linkType = '{{ linkType }}', +requestedLinkCount = '{{ requestedLinkCount }}', +interconnectType = '{{ interconnectType }}', +adminEnabled = true|false, +nocContactEmail = '{{ nocContactEmail }}', +customerName = '{{ customerName }}', +operationalStatus = '{{ operationalStatus }}', +provisionedLinkCount = '{{ provisionedLinkCount }}', +interconnectAttachments = '{{ interconnectAttachments }}', +peerIpAddress = '{{ peerIpAddress }}', +googleIpAddress = '{{ googleIpAddress }}', +googleReferenceId = '{{ googleReferenceId }}', +expectedOutages = '{{ expectedOutages }}', +circuitInfos = '{{ circuitInfos }}', +labels = '{{ labels }}', +labelFingerprint = '{{ labelFingerprint }}', +state = '{{ state }}', +satisfiesPzs = true|false, +macsec = '{{ macsec }}', +macsecEnabled = true|false, +remoteLocation = '{{ remoteLocation }}', +requestedFeatures = '{{ requestedFeatures }}', +availableFeatures = '{{ availableFeatures }}' +WHERE +interconnect = '{{ interconnect }}' +AND project = '{{ project }}'; +``` + +## `DELETE` example + +Deletes the specified interconnect resource. + +```sql +DELETE FROM google.compute.interconnects +WHERE interconnect = '{{ interconnect }}' +AND project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/compute/interconnects_diagnostics/index.md b/docs/google-docs/providers/google/compute/interconnects_diagnostics/index.md index 411c5e75ee..758e04a5f5 100644 --- a/docs/google-docs/providers/google/compute/interconnects_diagnostics/index.md +++ b/docs/google-docs/providers/google/compute/interconnects_diagnostics/index.md @@ -1,3 +1,4 @@ + --- title: interconnects_diagnostics hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - interconnects_diagnostics - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an interconnects_diagnostic resource or lists interconnects_diagnostics in a region ## Overview
@@ -28,7 +30,23 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `object` | Diagnostics information about the Interconnect connection, which contains detailed and current technical information about Google's side of the connection. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Returns the interconnectDiagnostics for the specified Interconnect. In the event of a global outage, do not use this API to make decisions about where to redirect your network traffic. Unlike a VLAN attachment, which is regional, a Cloud Interconnect connection is a global resource. A global outage can prevent this API from functioning properly. | + +## `SELECT` examples + +Returns the interconnectDiagnostics for the specified Interconnect. In the event of a global outage, do not use this API to make decisions about where to redirect your network traffic. Unlike a VLAN attachment, which is regional, a Cloud Interconnect connection is a global resource. A global outage can prevent this API from functioning properly. + +```sql +SELECT +result +FROM google.compute.interconnects_diagnostics +WHERE interconnect = '{{ interconnect }}' +AND project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/compute/interconnects_macsec_config/index.md b/docs/google-docs/providers/google/compute/interconnects_macsec_config/index.md index 28a9da627f..3010a9ad1c 100644 --- a/docs/google-docs/providers/google/compute/interconnects_macsec_config/index.md +++ b/docs/google-docs/providers/google/compute/interconnects_macsec_config/index.md @@ -1,3 +1,4 @@ + --- title: interconnects_macsec_config hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - interconnects_macsec_config - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an interconnects_macsec_config resource or lists interconnects_macsec_config in a region ## Overview @@ -32,7 +34,21 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | end_interface: MixerGetResponseWithEtagBuilder | | | `object` | MACsec configuration information for the Interconnect connection. Contains the generated Connectivity Association Key Name (CKN) and the key (CAK) for this Interconnect connection. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Returns the interconnectMacsecConfig for the specified Interconnect. | + +## `SELECT` examples + +Returns the interconnectMacsecConfig for the specified Interconnect. + +```sql +SELECT +etag, +result +FROM google.compute.interconnects_macsec_config +WHERE interconnect = '{{ interconnect }}' +AND project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/compute/license_codes/index.md b/docs/google-docs/providers/google/compute/license_codes/index.md index fde98143c6..1e6b3a5d87 100644 --- a/docs/google-docs/providers/google/compute/license_codes/index.md +++ b/docs/google-docs/providers/google/compute/license_codes/index.md @@ -1,3 +1,4 @@ + --- title: license_codes hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - license_codes - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an license_code resource or lists license_codes in a region ## Overview
@@ -39,7 +41,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] Server-defined URL for the resource. | | | `string` | [Output Only] Current state of this License Code. | | | `boolean` | [Output Only] If true, the license will remain attached when creating images or snapshots from disks. Otherwise, the license is not transferred. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Return a specified license code. License codes are mirrored across all projects that have permissions to read the License Code. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. | + +## `SELECT` examples + +Return a specified license code. License codes are mirrored across all projects that have permissions to read the License Code. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. + +```sql +SELECT +id, +name, +description, +creationTimestamp, +kind, +licenseAlias, +selfLink, +state, +transferable +FROM google.compute.license_codes +WHERE licenseCode = '{{ licenseCode }}' +AND project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/compute/license_codes_iam_policies/index.md b/docs/google-docs/providers/google/compute/license_codes_iam_policies/index.md index 86c09d9f6b..ca474b780e 100644 --- a/docs/google-docs/providers/google/compute/license_codes_iam_policies/index.md +++ b/docs/google-docs/providers/google/compute/license_codes_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: license_codes_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - license_codes_iam_policies - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an license_codes_iam_policy resource or lists license_codes_iam_policies in a region ## Overview
@@ -28,8 +30,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Returns permissions that a caller has on the specified resource. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. | diff --git a/docs/google-docs/providers/google/compute/licenses/index.md b/docs/google-docs/providers/google/compute/licenses/index.md index e838c833f0..d5f7fc7404 100644 --- a/docs/google-docs/providers/google/compute/licenses/index.md +++ b/docs/google-docs/providers/google/compute/licenses/index.md @@ -1,3 +1,4 @@ + --- title: licenses hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - licenses - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an license resource or lists licenses in a region ## Overview @@ -40,6 +42,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | | | | `string` | [Output Only] Server-defined URL for the resource. | | | `boolean` | If false, licenses will not be copied from the source resource when creating an image from a disk, disk from snapshot, or snapshot from disk. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -47,3 +50,107 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Retrieves the list of licenses available in the specified project. This method does not get any licenses that belong to other projects, including licenses attached to publicly-available images, like Debian 9. If you want to get a list of publicly-available licenses, use this method to make a request to the respective image project, such as debian-cloud or windows-cloud. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. | | | `INSERT` | | Create a License resource in the specified project. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. | | | `DELETE` | | Deletes the specified license. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. | + +## `SELECT` examples + +Retrieves the list of licenses available in the specified project. This method does not get any licenses that belong to other projects, including licenses attached to publicly-available images, like Debian 9. If you want to get a list of publicly-available licenses, use this method to make a request to the respective image project, such as debian-cloud or windows-cloud. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. + +```sql +SELECT +id, +name, +description, +chargesUseFee, +creationTimestamp, +kind, +licenseCode, +resourceRequirements, +selfLink, +transferable +FROM google.compute.licenses +WHERE project = '{{ project }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new licenses resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.licenses ( +project, +kind, +name, +chargesUseFee, +id, +licenseCode, +creationTimestamp, +description, +transferable, +selfLink, +resourceRequirements +) +SELECT +'{{ project }}', +'{{ kind }}', +'{{ name }}', +true|false, +'{{ id }}', +'{{ licenseCode }}', +'{{ creationTimestamp }}', +'{{ description }}', +true|false, +'{{ selfLink }}', +'{{ resourceRequirements }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: name + value: '{{ name }}' + - name: chargesUseFee + value: '{{ chargesUseFee }}' + - name: id + value: '{{ id }}' + - name: licenseCode + value: '{{ licenseCode }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: description + value: '{{ description }}' + - name: transferable + value: '{{ transferable }}' + - name: selfLink + value: '{{ selfLink }}' + - name: resourceRequirements + value: '{{ resourceRequirements }}' + +``` + + + +## `DELETE` example + +Deletes the specified license resource. + +```sql +DELETE FROM google.compute.licenses +WHERE license = '{{ license }}' +AND project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/compute/licenses_iam_policies/index.md b/docs/google-docs/providers/google/compute/licenses_iam_policies/index.md index beda1db792..a9368d0484 100644 --- a/docs/google-docs/providers/google/compute/licenses_iam_policies/index.md +++ b/docs/google-docs/providers/google/compute/licenses_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: licenses_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - licenses_iam_policies - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an licenses_iam_policy resource or lists licenses_iam_policies in a region ## Overview
@@ -31,13 +33,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | Name | Datatype | Description | |:-----|:---------|:------------| | | `string` | This is deprecated and has no effect. Do not use. | -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. May be empty if no such policy or resource exists. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. | -| | `EXEC` | | Gets the access control policy for a resource. May be empty if no such policy or resource exists. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. | + +## `SELECT` examples + +Gets the access control policy for a resource. May be empty if no such policy or resource exists. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. + +```sql +SELECT +bindingId, +condition, +members, +role +FROM google.compute.licenses_iam_policies +WHERE project = '{{ project }}' +AND resource = '{{ resource }}'; +``` diff --git a/docs/google-docs/providers/google/compute/machine_images/index.md b/docs/google-docs/providers/google/compute/machine_images/index.md index 5419502baa..2b700d4481 100644 --- a/docs/google-docs/providers/google/compute/machine_images/index.md +++ b/docs/google-docs/providers/google/compute/machine_images/index.md @@ -1,3 +1,4 @@ + --- title: machine_images hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - machine_images - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an machine_image resource or lists machine_images in a region ## Overview
@@ -48,6 +50,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] The status of the machine image. One of the following values: INVALID, CREATING, READY, DELETING, and UPLOADING. | | | `array` | The regional or multi-regional Cloud Storage bucket location where the machine image is stored. | | | `string` | [Output Only] Total size of the storage used by the machine image. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -55,3 +58,147 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Retrieves a list of machine images that are contained within the specified project. | | | `INSERT` | | Creates a machine image in the specified project using the data that is included in the request. If you are creating a new machine image to update an existing instance, your new machine image should use the same network or, if applicable, the same subnetwork as the original instance. | | | `DELETE` | | Deletes the specified machine image. Deleting a machine image is permanent and cannot be undone. | + +## `SELECT` examples + +Retrieves a list of machine images that are contained within the specified project. + +```sql +SELECT +id, +name, +description, +creationTimestamp, +guestFlush, +instanceProperties, +kind, +machineImageEncryptionKey, +satisfiesPzi, +satisfiesPzs, +savedDisks, +selfLink, +sourceDiskEncryptionKeys, +sourceInstance, +sourceInstanceProperties, +status, +storageLocations, +totalStorageBytes +FROM google.compute.machine_images +WHERE project = '{{ project }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new machine_images resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.machine_images ( +project, +kind, +id, +creationTimestamp, +name, +description, +selfLink, +sourceInstance, +status, +sourceInstanceProperties, +instanceProperties, +savedDisks, +storageLocations, +machineImageEncryptionKey, +guestFlush, +sourceDiskEncryptionKeys, +totalStorageBytes, +satisfiesPzs, +satisfiesPzi +) +SELECT +'{{ project }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ name }}', +'{{ description }}', +'{{ selfLink }}', +'{{ sourceInstance }}', +'{{ status }}', +'{{ sourceInstanceProperties }}', +'{{ instanceProperties }}', +'{{ savedDisks }}', +'{{ storageLocations }}', +'{{ machineImageEncryptionKey }}', +true|false, +'{{ sourceDiskEncryptionKeys }}', +'{{ totalStorageBytes }}', +true|false, +true|false +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: selfLink + value: '{{ selfLink }}' + - name: sourceInstance + value: '{{ sourceInstance }}' + - name: status + value: '{{ status }}' + - name: sourceInstanceProperties + value: '{{ sourceInstanceProperties }}' + - name: instanceProperties + value: '{{ instanceProperties }}' + - name: savedDisks + value: '{{ savedDisks }}' + - name: storageLocations + value: '{{ storageLocations }}' + - name: machineImageEncryptionKey + value: '{{ machineImageEncryptionKey }}' + - name: guestFlush + value: '{{ guestFlush }}' + - name: sourceDiskEncryptionKeys + value: '{{ sourceDiskEncryptionKeys }}' + - name: totalStorageBytes + value: '{{ totalStorageBytes }}' + - name: satisfiesPzs + value: '{{ satisfiesPzs }}' + - name: satisfiesPzi + value: '{{ satisfiesPzi }}' + +``` + + + +## `DELETE` example + +Deletes the specified machine_image resource. + +```sql +DELETE FROM google.compute.machine_images +WHERE machineImage = '{{ machineImage }}' +AND project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/compute/machine_images_iam_policies/index.md b/docs/google-docs/providers/google/compute/machine_images_iam_policies/index.md index 3b436c6bbc..3ce55fe545 100644 --- a/docs/google-docs/providers/google/compute/machine_images_iam_policies/index.md +++ b/docs/google-docs/providers/google/compute/machine_images_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: machine_images_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - machine_images_iam_policies - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an machine_images_iam_policy resource or lists machine_images_iam_policies in a region ## Overview
@@ -31,13 +33,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | Name | Datatype | Description | |:-----|:---------|:------------| | | `string` | This is deprecated and has no effect. Do not use. | -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. May be empty if no such policy or resource exists. | -| | `EXEC` | | Gets the access control policy for a resource. May be empty if no such policy or resource exists. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. | + +## `SELECT` examples + +Gets the access control policy for a resource. May be empty if no such policy or resource exists. + +```sql +SELECT +bindingId, +condition, +members, +role +FROM google.compute.machine_images_iam_policies +WHERE project = '{{ project }}' +AND resource = '{{ resource }}'; +``` diff --git a/docs/google-docs/providers/google/compute/machine_types/index.md b/docs/google-docs/providers/google/compute/machine_types/index.md index aae10f91ab..246ff528e4 100644 --- a/docs/google-docs/providers/google/compute/machine_types/index.md +++ b/docs/google-docs/providers/google/compute/machine_types/index.md @@ -1,3 +1,4 @@ + --- title: machine_types hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - machine_types - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an machine_type resource or lists machine_types in a region ## Overview
@@ -34,6 +36,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] Name of the resource. | | | `string` | [Output Only] An optional textual description of the resource. | | | `array` | [Output Only] A list of accelerator configurations assigned to this machine type. | +| | `string` | [Output Only] The architecture of the machine type. | | | `string` | [Output Only] Creation timestamp in RFC3339 text format. | | | `object` | Deprecation status for a public resource. | | | `integer` | [Output Only] The number of virtual CPUs that are available to the instance. | @@ -46,10 +49,37 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `array` | [Output Only] A list of extended scratch disks assigned to the instance. | | | `string` | [Output Only] Server-defined URL for the resource. | | | `string` | [Output Only] The name of the zone where the machine type resides, such as us-central1-a. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Retrieves an aggregated list of machine types. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. | | | `SELECT` | | Returns the specified machine type. | | | `SELECT` | | Retrieves a list of machine types available to the specified project. | -| | `EXEC` | | Retrieves an aggregated list of machine types. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. | + +## `SELECT` examples + +Retrieves an aggregated list of machine types. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. + +```sql +SELECT +id, +name, +description, +accelerators, +architecture, +creationTimestamp, +deprecated, +guestCpus, +imageSpaceGb, +isSharedCpu, +kind, +maximumPersistentDisks, +maximumPersistentDisksSizeGb, +memoryMb, +scratchDisks, +selfLink, +zone +FROM google.compute.machine_types +WHERE project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/compute/network_attachments/index.md b/docs/google-docs/providers/google/compute/network_attachments/index.md index 42eab4bf5a..1a98a7d187 100644 --- a/docs/google-docs/providers/google/compute/network_attachments/index.md +++ b/docs/google-docs/providers/google/compute/network_attachments/index.md @@ -1,3 +1,4 @@ + --- title: network_attachments hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - network_attachments - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an network_attachment resource or lists network_attachments in a region ## Overview
@@ -45,6 +47,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] Server-defined URL for the resource. | | | `string` | [Output Only] Server-defined URL for this resource's resource id. | | | `array` | An array of URLs where each entry is the URL of a subnet provided by the service consumer to use for endpoints in the producers that connect to this network attachment. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -54,4 +57,163 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a NetworkAttachment in the specified project in the given scope using the parameters that are included in the request. | | | `DELETE` | | Deletes the specified NetworkAttachment in the given scope | | | `UPDATE` | | Patches the specified NetworkAttachment resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules. | -| | `EXEC` | | Retrieves the list of all NetworkAttachment resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. | + +## `SELECT` examples + +Retrieves the list of all NetworkAttachment resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. + +```sql +SELECT +id, +name, +description, +connectionEndpoints, +connectionPreference, +creationTimestamp, +fingerprint, +kind, +network, +producerAcceptLists, +producerRejectLists, +region, +selfLink, +selfLinkWithId, +subnetworks +FROM google.compute.network_attachments +WHERE project = '{{ project }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new network_attachments resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.network_attachments ( +project, +region, +kind, +id, +creationTimestamp, +name, +description, +selfLink, +selfLinkWithId, +region, +connectionPreference, +connectionEndpoints, +subnetworks, +producerRejectLists, +producerAcceptLists, +fingerprint, +network +) +SELECT +'{{ project }}', +'{{ region }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ name }}', +'{{ description }}', +'{{ selfLink }}', +'{{ selfLinkWithId }}', +'{{ region }}', +'{{ connectionPreference }}', +'{{ connectionEndpoints }}', +'{{ subnetworks }}', +'{{ producerRejectLists }}', +'{{ producerAcceptLists }}', +'{{ fingerprint }}', +'{{ network }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: selfLink + value: '{{ selfLink }}' + - name: selfLinkWithId + value: '{{ selfLinkWithId }}' + - name: region + value: '{{ region }}' + - name: connectionPreference + value: '{{ connectionPreference }}' + - name: connectionEndpoints + value: '{{ connectionEndpoints }}' + - name: subnetworks + value: '{{ subnetworks }}' + - name: producerRejectLists + value: '{{ producerRejectLists }}' + - name: producerAcceptLists + value: '{{ producerAcceptLists }}' + - name: fingerprint + value: '{{ fingerprint }}' + - name: network + value: '{{ network }}' + +``` + + + +## `UPDATE` example + +Updates a network_attachment only if the necessary resources are available. + +```sql +UPDATE google.compute.network_attachments +SET +kind = '{{ kind }}', +id = '{{ id }}', +creationTimestamp = '{{ creationTimestamp }}', +name = '{{ name }}', +description = '{{ description }}', +selfLink = '{{ selfLink }}', +selfLinkWithId = '{{ selfLinkWithId }}', +region = '{{ region }}', +connectionPreference = '{{ connectionPreference }}', +connectionEndpoints = '{{ connectionEndpoints }}', +subnetworks = '{{ subnetworks }}', +producerRejectLists = '{{ producerRejectLists }}', +producerAcceptLists = '{{ producerAcceptLists }}', +fingerprint = '{{ fingerprint }}', +network = '{{ network }}' +WHERE +networkAttachment = '{{ networkAttachment }}' +AND project = '{{ project }}' +AND region = '{{ region }}'; +``` + +## `DELETE` example + +Deletes the specified network_attachment resource. + +```sql +DELETE FROM google.compute.network_attachments +WHERE networkAttachment = '{{ networkAttachment }}' +AND project = '{{ project }}' +AND region = '{{ region }}'; +``` diff --git a/docs/google-docs/providers/google/compute/network_attachments_iam_policies/index.md b/docs/google-docs/providers/google/compute/network_attachments_iam_policies/index.md index ac1bf2a243..2bf6ae3e22 100644 --- a/docs/google-docs/providers/google/compute/network_attachments_iam_policies/index.md +++ b/docs/google-docs/providers/google/compute/network_attachments_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: network_attachments_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - network_attachments_iam_policies - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an network_attachments_iam_policy resource or lists network_attachments_iam_policies in a region ## Overview
@@ -31,13 +33,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | Name | Datatype | Description | |:-----|:---------|:------------| | | `string` | This is deprecated and has no effect. Do not use. | -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. May be empty if no such policy or resource exists. | -| | `EXEC` | | Gets the access control policy for a resource. May be empty if no such policy or resource exists. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. | + +## `SELECT` examples + +Gets the access control policy for a resource. May be empty if no such policy or resource exists. + +```sql +SELECT +bindingId, +condition, +members, +role +FROM google.compute.network_attachments_iam_policies +WHERE project = '{{ project }}' +AND region = '{{ region }}' +AND resource = '{{ resource }}'; +``` diff --git a/docs/google-docs/providers/google/compute/network_edge_security_services/index.md b/docs/google-docs/providers/google/compute/network_edge_security_services/index.md index 79ebe70631..321d817d7c 100644 --- a/docs/google-docs/providers/google/compute/network_edge_security_services/index.md +++ b/docs/google-docs/providers/google/compute/network_edge_security_services/index.md @@ -1,3 +1,4 @@ + --- title: network_edge_security_services hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - network_edge_security_services - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an network_edge_security_service resource or lists network_edge_security_services in a region ## Overview
@@ -40,6 +42,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The resource URL for the network edge security service associated with this network edge security service. | | | `string` | [Output Only] Server-defined URL for the resource. | | | `string` | [Output Only] Server-defined URL for this resource with the resource id. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -48,4 +51,133 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new service in the specified project using the data included in the request. | | | `DELETE` | | Deletes the specified service. | | | `UPDATE` | | Patches the specified policy with the data included in the request. | -| | `EXEC` | | Retrieves the list of all NetworkEdgeSecurityService resources available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. | + +## `SELECT` examples + +Retrieves the list of all NetworkEdgeSecurityService resources available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. + +```sql +SELECT +id, +name, +description, +creationTimestamp, +fingerprint, +kind, +region, +securityPolicy, +selfLink, +selfLinkWithId +FROM google.compute.network_edge_security_services +WHERE project = '{{ project }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new network_edge_security_services resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.network_edge_security_services ( +project, +region, +kind, +id, +creationTimestamp, +name, +description, +selfLink, +selfLinkWithId, +region, +fingerprint, +securityPolicy +) +SELECT +'{{ project }}', +'{{ region }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ name }}', +'{{ description }}', +'{{ selfLink }}', +'{{ selfLinkWithId }}', +'{{ region }}', +'{{ fingerprint }}', +'{{ securityPolicy }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: selfLink + value: '{{ selfLink }}' + - name: selfLinkWithId + value: '{{ selfLinkWithId }}' + - name: region + value: '{{ region }}' + - name: fingerprint + value: '{{ fingerprint }}' + - name: securityPolicy + value: '{{ securityPolicy }}' + +``` + + + +## `UPDATE` example + +Updates a network_edge_security_service only if the necessary resources are available. + +```sql +UPDATE google.compute.network_edge_security_services +SET +kind = '{{ kind }}', +id = '{{ id }}', +creationTimestamp = '{{ creationTimestamp }}', +name = '{{ name }}', +description = '{{ description }}', +selfLink = '{{ selfLink }}', +selfLinkWithId = '{{ selfLinkWithId }}', +region = '{{ region }}', +fingerprint = '{{ fingerprint }}', +securityPolicy = '{{ securityPolicy }}' +WHERE +networkEdgeSecurityService = '{{ networkEdgeSecurityService }}' +AND project = '{{ project }}' +AND region = '{{ region }}'; +``` + +## `DELETE` example + +Deletes the specified network_edge_security_service resource. + +```sql +DELETE FROM google.compute.network_edge_security_services +WHERE networkEdgeSecurityService = '{{ networkEdgeSecurityService }}' +AND project = '{{ project }}' +AND region = '{{ region }}'; +``` diff --git a/docs/google-docs/providers/google/compute/network_endpoint_groups/index.md b/docs/google-docs/providers/google/compute/network_endpoint_groups/index.md index 8b8ca4f44e..725ff6d62c 100644 --- a/docs/google-docs/providers/google/compute/network_endpoint_groups/index.md +++ b/docs/google-docs/providers/google/compute/network_endpoint_groups/index.md @@ -1,3 +1,4 @@ + --- title: network_endpoint_groups hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - network_endpoint_groups - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an network_endpoint_group resource or lists network_endpoint_groups in a region ## Overview
@@ -49,6 +51,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `integer` | [Output only] Number of network endpoints in the network endpoint group. | | | `string` | Optional URL of the subnetwork to which all network endpoints in the NEG belong. | | | `string` | [Output Only] The URL of the zone where the network endpoint group is located. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -57,6 +60,157 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Retrieves the list of network endpoint groups that are located in the specified project and zone. | | | `INSERT` | | Creates a network endpoint group in the specified project using the parameters that are included in the request. | | | `DELETE` | | Deletes the specified network endpoint group. The network endpoints in the NEG and the VM instances they belong to are not terminated when the NEG is deleted. Note that the NEG cannot be deleted if there are backend services referencing it. | -| | `EXEC` | | Retrieves the list of network endpoint groups and sorts them by zone. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. | | | `EXEC` | | Attach a list of network endpoints to the specified network endpoint group. | | | `EXEC` | | Detach a list of network endpoints from the specified network endpoint group. | + +## `SELECT` examples + +Retrieves the list of network endpoint groups and sorts them by zone. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. + +```sql +SELECT +id, +name, +description, +annotations, +appEngine, +cloudFunction, +cloudRun, +creationTimestamp, +defaultPort, +kind, +network, +networkEndpointType, +pscData, +pscTargetService, +region, +selfLink, +size, +subnetwork, +zone +FROM google.compute.network_endpoint_groups +WHERE project = '{{ project }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new network_endpoint_groups resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.network_endpoint_groups ( +project, +zone, +kind, +id, +creationTimestamp, +selfLink, +name, +description, +networkEndpointType, +size, +region, +zone, +network, +subnetwork, +defaultPort, +annotations, +cloudRun, +appEngine, +cloudFunction, +pscTargetService, +pscData +) +SELECT +'{{ project }}', +'{{ zone }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ selfLink }}', +'{{ name }}', +'{{ description }}', +'{{ networkEndpointType }}', +'{{ size }}', +'{{ region }}', +'{{ zone }}', +'{{ network }}', +'{{ subnetwork }}', +'{{ defaultPort }}', +'{{ annotations }}', +'{{ cloudRun }}', +'{{ appEngine }}', +'{{ cloudFunction }}', +'{{ pscTargetService }}', +'{{ pscData }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: selfLink + value: '{{ selfLink }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: networkEndpointType + value: '{{ networkEndpointType }}' + - name: size + value: '{{ size }}' + - name: region + value: '{{ region }}' + - name: zone + value: '{{ zone }}' + - name: network + value: '{{ network }}' + - name: subnetwork + value: '{{ subnetwork }}' + - name: defaultPort + value: '{{ defaultPort }}' + - name: annotations + value: '{{ annotations }}' + - name: cloudRun + value: '{{ cloudRun }}' + - name: appEngine + value: '{{ appEngine }}' + - name: cloudFunction + value: '{{ cloudFunction }}' + - name: pscTargetService + value: '{{ pscTargetService }}' + - name: pscData + value: '{{ pscData }}' + +``` + + + +## `DELETE` example + +Deletes the specified network_endpoint_group resource. + +```sql +DELETE FROM google.compute.network_endpoint_groups +WHERE networkEndpointGroup = '{{ networkEndpointGroup }}' +AND project = '{{ project }}' +AND zone = '{{ zone }}'; +``` diff --git a/docs/google-docs/providers/google/compute/network_endpoint_groups_iam_policies/index.md b/docs/google-docs/providers/google/compute/network_endpoint_groups_iam_policies/index.md index ec19c032f0..4653ebd37b 100644 --- a/docs/google-docs/providers/google/compute/network_endpoint_groups_iam_policies/index.md +++ b/docs/google-docs/providers/google/compute/network_endpoint_groups_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: network_endpoint_groups_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - network_endpoint_groups_iam_policies - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an network_endpoint_groups_iam_policy resource or lists network_endpoint_groups_iam_policies in a region ## Overview
@@ -28,8 +30,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Returns permissions that a caller has on the specified resource. | diff --git a/docs/google-docs/providers/google/compute/network_endpoint_groups_network_endpoints/index.md b/docs/google-docs/providers/google/compute/network_endpoint_groups_network_endpoints/index.md index 255781cf62..46f788bc07 100644 --- a/docs/google-docs/providers/google/compute/network_endpoint_groups_network_endpoints/index.md +++ b/docs/google-docs/providers/google/compute/network_endpoint_groups_network_endpoints/index.md @@ -1,3 +1,4 @@ + --- title: network_endpoint_groups_network_endpoints hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - network_endpoint_groups_network_endpoints - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an network_endpoint_groups_network_endpoint resource or lists network_endpoint_groups_network_endpoints in a region ## Overview @@ -28,8 +30,26 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `array` | [Output only] The health status of network endpoint; | +| | `object` | The network endpoint. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists the network endpoints in the specified network endpoint group. | + +## `SELECT` examples + +Lists the network endpoints in the specified network endpoint group. + +```sql +SELECT +healths, +networkEndpoint +FROM google.compute.network_endpoint_groups_network_endpoints +WHERE networkEndpointGroup = '{{ networkEndpointGroup }}' +AND project = '{{ project }}' +AND zone = '{{ zone }}'; +``` diff --git a/docs/google-docs/providers/google/compute/network_firewall_policies/index.md b/docs/google-docs/providers/google/compute/network_firewall_policies/index.md index acf7b59c41..dd6fd61084 100644 --- a/docs/google-docs/providers/google/compute/network_firewall_policies/index.md +++ b/docs/google-docs/providers/google/compute/network_firewall_policies/index.md @@ -1,3 +1,4 @@ + --- title: network_firewall_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - network_firewall_policies - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an network_firewall_policy resource or lists network_firewall_policies in a region ## Overview @@ -45,6 +47,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] Server-defined URL for the resource. | | | `string` | [Output Only] Server-defined URL for this resource with the resource id. | | | `string` | User-provided name of the Organization firewall policy. The name should be unique in the organization in which the firewall policy is created. This field is not applicable to network firewall policies. This name must be set on creation and cannot be changed. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -53,5 +56,161 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new policy in the specified project using the data included in the request. | | | `DELETE` | | Deletes the specified policy. | | | `UPDATE` | | Patches the specified policy with the data included in the request. | +| | `UPDATE` | | Patches a rule of the specified priority. | | | `EXEC` | | Copies rules to the specified firewall policy. | -| | `EXEC` | | Patches a rule of the specified priority. | + +## `SELECT` examples + +Lists all the policies that have been configured for the specified project. + +```sql +SELECT +id, +name, +description, +associations, +creationTimestamp, +displayName, +fingerprint, +kind, +parent, +region, +ruleTupleCount, +rules, +selfLink, +selfLinkWithId, +shortName +FROM google.compute.network_firewall_policies +WHERE project = '{{ project }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new network_firewall_policies resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.network_firewall_policies ( +project, +kind, +id, +creationTimestamp, +name, +description, +rules, +fingerprint, +selfLink, +selfLinkWithId, +associations, +ruleTupleCount, +shortName, +displayName, +parent, +region +) +SELECT +'{{ project }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ name }}', +'{{ description }}', +'{{ rules }}', +'{{ fingerprint }}', +'{{ selfLink }}', +'{{ selfLinkWithId }}', +'{{ associations }}', +'{{ ruleTupleCount }}', +'{{ shortName }}', +'{{ displayName }}', +'{{ parent }}', +'{{ region }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: rules + value: '{{ rules }}' + - name: fingerprint + value: '{{ fingerprint }}' + - name: selfLink + value: '{{ selfLink }}' + - name: selfLinkWithId + value: '{{ selfLinkWithId }}' + - name: associations + value: '{{ associations }}' + - name: ruleTupleCount + value: '{{ ruleTupleCount }}' + - name: shortName + value: '{{ shortName }}' + - name: displayName + value: '{{ displayName }}' + - name: parent + value: '{{ parent }}' + - name: region + value: '{{ region }}' + +``` + + + +## `UPDATE` example + +Updates a network_firewall_policy only if the necessary resources are available. + +```sql +UPDATE google.compute.network_firewall_policies +SET +kind = '{{ kind }}', +id = '{{ id }}', +creationTimestamp = '{{ creationTimestamp }}', +name = '{{ name }}', +description = '{{ description }}', +rules = '{{ rules }}', +fingerprint = '{{ fingerprint }}', +selfLink = '{{ selfLink }}', +selfLinkWithId = '{{ selfLinkWithId }}', +associations = '{{ associations }}', +ruleTupleCount = '{{ ruleTupleCount }}', +shortName = '{{ shortName }}', +displayName = '{{ displayName }}', +parent = '{{ parent }}', +region = '{{ region }}' +WHERE +firewallPolicy = '{{ firewallPolicy }}' +AND project = '{{ project }}'; +``` + +## `DELETE` example + +Deletes the specified network_firewall_policy resource. + +```sql +DELETE FROM google.compute.network_firewall_policies +WHERE firewallPolicy = '{{ firewallPolicy }}' +AND project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/compute/network_firewall_policies_association/index.md b/docs/google-docs/providers/google/compute/network_firewall_policies_association/index.md index 924a3754a0..f802ce57ef 100644 --- a/docs/google-docs/providers/google/compute/network_firewall_policies_association/index.md +++ b/docs/google-docs/providers/google/compute/network_firewall_policies_association/index.md @@ -1,3 +1,4 @@ + --- title: network_firewall_policies_association hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - network_firewall_policies_association - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an network_firewall_policies_association resource or lists network_firewall_policies_association in a region ## Overview
@@ -35,9 +37,92 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] Deprecated, please use short name instead. The display name of the firewall policy of the association. | | | `string` | [Output Only] The firewall policy ID of the association. | | | `string` | [Output Only] The short name of the firewall policy of the association. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets an association with the specified name. | -| | `EXEC` | | Inserts an association for the specified firewall policy. | -| | `EXEC` | | Removes an association for the specified firewall policy. | +| | `INSERT` | | Inserts an association for the specified firewall policy. | +| | `DELETE` | | Removes an association for the specified firewall policy. | + +## `SELECT` examples + +Gets an association with the specified name. + +```sql +SELECT +name, +attachmentTarget, +displayName, +firewallPolicyId, +shortName +FROM google.compute.network_firewall_policies_association +WHERE firewallPolicy = '{{ firewallPolicy }}' +AND project = '{{ project }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new network_firewall_policies_association resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.network_firewall_policies_association ( +firewallPolicy, +project, +name, +attachmentTarget, +firewallPolicyId, +shortName, +displayName +) +SELECT +'{{ firewallPolicy }}', +'{{ project }}', +'{{ name }}', +'{{ attachmentTarget }}', +'{{ firewallPolicyId }}', +'{{ shortName }}', +'{{ displayName }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: attachmentTarget + value: '{{ attachmentTarget }}' + - name: firewallPolicyId + value: '{{ firewallPolicyId }}' + - name: shortName + value: '{{ shortName }}' + - name: displayName + value: '{{ displayName }}' + +``` + + + +## `DELETE` example + +Deletes the specified network_firewall_policies_association resource. + +```sql +DELETE FROM google.compute.network_firewall_policies_association +WHERE firewallPolicy = '{{ firewallPolicy }}' +AND project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/compute/network_firewall_policies_iam_policies/index.md b/docs/google-docs/providers/google/compute/network_firewall_policies_iam_policies/index.md index d739248b39..dd97ef6ee2 100644 --- a/docs/google-docs/providers/google/compute/network_firewall_policies_iam_policies/index.md +++ b/docs/google-docs/providers/google/compute/network_firewall_policies_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: network_firewall_policies_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - network_firewall_policies_iam_policies - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an network_firewall_policies_iam_policy resource or lists network_firewall_policies_iam_policies in a region ## Overview
@@ -31,13 +33,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | Name | Datatype | Description | |:-----|:---------|:------------| | | `string` | This is deprecated and has no effect. Do not use. | -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. May be empty if no such policy or resource exists. | -| | `EXEC` | | Gets the access control policy for a resource. May be empty if no such policy or resource exists. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. | + +## `SELECT` examples + +Gets the access control policy for a resource. May be empty if no such policy or resource exists. + +```sql +SELECT +bindingId, +condition, +members, +role +FROM google.compute.network_firewall_policies_iam_policies +WHERE project = '{{ project }}' +AND resource = '{{ resource }}'; +``` diff --git a/docs/google-docs/providers/google/compute/network_firewall_policies_rule/index.md b/docs/google-docs/providers/google/compute/network_firewall_policies_rule/index.md index a920e422c6..343cc9da80 100644 --- a/docs/google-docs/providers/google/compute/network_firewall_policies_rule/index.md +++ b/docs/google-docs/providers/google/compute/network_firewall_policies_rule/index.md @@ -1,3 +1,4 @@ + --- title: network_firewall_policies_rule hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - network_firewall_policies_rule - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an network_firewall_policies_rule resource or lists network_firewall_policies_rule in a region ## Overview
@@ -31,23 +33,156 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | Name | Datatype | Description | |:-----|:---------|:------------| | | `string` | An optional description for this resource. | -| | `string` | The Action to perform when the client connection triggers the rule. Valid actions are "allow", "deny" and "goto_next". | +| | `string` | The Action to perform when the client connection triggers the rule. Valid actions for firewall rules are: "allow", "deny", "apply_security_profile_group" and "goto_next". Valid actions for packet mirroring rules are: "mirror", "do_not_mirror" and "goto_next". | | | `string` | The direction in which this rule applies. | | | `boolean` | 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. | | | `boolean` | 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. | -| | `string` | [Output only] Type of the resource. Always compute#firewallPolicyRule for firewall policy rules | +| | `string` | [Output only] Type of the resource. Returns compute#firewallPolicyRule for firewall rules and compute#packetMirroringRule for packet mirroring rules. | | | `object` | Represents a match condition that incoming traffic is evaluated against. Exactly one field must be specified. | -| | `integer` | An integer indicating the priority of a rule in the list. The priority must be a positive value between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest prority. | +| | `integer` | An integer indicating the priority of a rule in the list. The priority must be a positive value between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest priority. | | | `string` | An optional name for the rule. This field is not a unique identifier and can be updated. | | | `integer` | [Output Only] Calculation of the complexity of a single firewall policy rule. | -| | `string` | A fully-qualified URL of a SecurityProfile resource instance. Example: https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group Must be specified if action = 'apply_security_profile_group' and cannot be specified for other actions. | +| | `string` | A fully-qualified URL of a SecurityProfile resource instance. Example: https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group Must be specified if action is one of 'apply_security_profile_group' or 'mirror'. Cannot be specified for other actions. | | | `array` | A list of network resource URLs to which this rule applies. This field allows you to control which network's VMs get this rule. If this field is left blank, all VMs within the organization will receive the rule. | | | `array` | 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. | | | `array` | A list of service accounts indicating the sets of instances that are applied with this rule. | | | `boolean` | Boolean flag indicating if the traffic should be TLS decrypted. Can be set only if action = 'apply_security_profile_group' and cannot be set for other actions. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets a rule of the specified priority. | -| | `EXEC` | | Inserts a rule into a firewall policy. | -| | `EXEC` | | Deletes a rule of the specified priority. | +| | `INSERT` | | Inserts a rule into a firewall policy. | +| | `DELETE` | | Deletes a rule of the specified priority. | + +## `SELECT` examples + +Gets a rule of the specified priority. + +```sql +SELECT +description, +action, +direction, +disabled, +enableLogging, +kind, +match, +priority, +ruleName, +ruleTupleCount, +securityProfileGroup, +targetResources, +targetSecureTags, +targetServiceAccounts, +tlsInspect +FROM google.compute.network_firewall_policies_rule +WHERE firewallPolicy = '{{ firewallPolicy }}' +AND project = '{{ project }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new network_firewall_policies_rule resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.network_firewall_policies_rule ( +firewallPolicy, +project, +kind, +ruleName, +description, +priority, +match, +action, +securityProfileGroup, +tlsInspect, +direction, +targetResources, +enableLogging, +ruleTupleCount, +targetServiceAccounts, +targetSecureTags, +disabled +) +SELECT +'{{ firewallPolicy }}', +'{{ project }}', +'{{ kind }}', +'{{ ruleName }}', +'{{ description }}', +'{{ priority }}', +'{{ match }}', +'{{ action }}', +'{{ securityProfileGroup }}', +true|false, +'{{ direction }}', +'{{ targetResources }}', +true|false, +'{{ ruleTupleCount }}', +'{{ targetServiceAccounts }}', +'{{ targetSecureTags }}', +true|false +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: ruleName + value: '{{ ruleName }}' + - name: description + value: '{{ description }}' + - name: priority + value: '{{ priority }}' + - name: match + value: '{{ match }}' + - name: action + value: '{{ action }}' + - name: securityProfileGroup + value: '{{ securityProfileGroup }}' + - name: tlsInspect + value: '{{ tlsInspect }}' + - name: direction + value: '{{ direction }}' + - name: targetResources + value: '{{ targetResources }}' + - name: enableLogging + value: '{{ enableLogging }}' + - name: ruleTupleCount + value: '{{ ruleTupleCount }}' + - name: targetServiceAccounts + value: '{{ targetServiceAccounts }}' + - name: targetSecureTags + value: '{{ targetSecureTags }}' + - name: disabled + value: '{{ disabled }}' + +``` + + + +## `DELETE` example + +Deletes the specified network_firewall_policies_rule resource. + +```sql +DELETE FROM google.compute.network_firewall_policies_rule +WHERE firewallPolicy = '{{ firewallPolicy }}' +AND project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/compute/networks/index.md b/docs/google-docs/providers/google/compute/networks/index.md index cf3bca2323..ea0b8a03a2 100644 --- a/docs/google-docs/providers/google/compute/networks/index.md +++ b/docs/google-docs/providers/google/compute/networks/index.md @@ -1,3 +1,4 @@ + --- title: networks hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - networks - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an network resource or lists networks in a region ## Overview
@@ -48,6 +50,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] Server-defined URL for the resource. | | | `string` | [Output Only] Server-defined URL for this resource with the resource id. | | | `array` | [Output Only] Server-defined fully-qualified URLs for all subnetworks in this VPC network. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -57,3 +60,177 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `DELETE` | | Deletes the specified network. | | | `UPDATE` | | Patches the specified network with the data included in the request. Only routingConfig can be modified. | | | `EXEC` | | Switches the network mode from auto subnet mode to custom subnet mode. | + +## `SELECT` examples + +Retrieves the list of networks available to the specified project. + +```sql +SELECT +id, +name, +description, +IPv4Range, +autoCreateSubnetworks, +creationTimestamp, +enableUlaInternalIpv6, +firewallPolicy, +gatewayIPv4, +internalIpv6Range, +kind, +mtu, +networkFirewallPolicyEnforcementOrder, +peerings, +routingConfig, +selfLink, +selfLinkWithId, +subnetworks +FROM google.compute.networks +WHERE project = '{{ project }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new networks resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.networks ( +project, +kind, +id, +creationTimestamp, +name, +description, +IPv4Range, +gatewayIPv4, +selfLink, +selfLinkWithId, +autoCreateSubnetworks, +subnetworks, +peerings, +routingConfig, +mtu, +firewallPolicy, +networkFirewallPolicyEnforcementOrder, +enableUlaInternalIpv6, +internalIpv6Range +) +SELECT +'{{ project }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ name }}', +'{{ description }}', +'{{ IPv4Range }}', +'{{ gatewayIPv4 }}', +'{{ selfLink }}', +'{{ selfLinkWithId }}', +true|false, +'{{ subnetworks }}', +'{{ peerings }}', +'{{ routingConfig }}', +'{{ mtu }}', +'{{ firewallPolicy }}', +'{{ networkFirewallPolicyEnforcementOrder }}', +true|false, +'{{ internalIpv6Range }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: IPv4Range + value: '{{ IPv4Range }}' + - name: gatewayIPv4 + value: '{{ gatewayIPv4 }}' + - name: selfLink + value: '{{ selfLink }}' + - name: selfLinkWithId + value: '{{ selfLinkWithId }}' + - name: autoCreateSubnetworks + value: '{{ autoCreateSubnetworks }}' + - name: subnetworks + value: '{{ subnetworks }}' + - name: peerings + value: '{{ peerings }}' + - name: routingConfig + value: '{{ routingConfig }}' + - name: mtu + value: '{{ mtu }}' + - name: firewallPolicy + value: '{{ firewallPolicy }}' + - name: networkFirewallPolicyEnforcementOrder + value: '{{ networkFirewallPolicyEnforcementOrder }}' + - name: enableUlaInternalIpv6 + value: '{{ enableUlaInternalIpv6 }}' + - name: internalIpv6Range + value: '{{ internalIpv6Range }}' + +``` + + + +## `UPDATE` example + +Updates a network only if the necessary resources are available. + +```sql +UPDATE google.compute.networks +SET +kind = '{{ kind }}', +id = '{{ id }}', +creationTimestamp = '{{ creationTimestamp }}', +name = '{{ name }}', +description = '{{ description }}', +IPv4Range = '{{ IPv4Range }}', +gatewayIPv4 = '{{ gatewayIPv4 }}', +selfLink = '{{ selfLink }}', +selfLinkWithId = '{{ selfLinkWithId }}', +autoCreateSubnetworks = true|false, +subnetworks = '{{ subnetworks }}', +peerings = '{{ peerings }}', +routingConfig = '{{ routingConfig }}', +mtu = '{{ mtu }}', +firewallPolicy = '{{ firewallPolicy }}', +networkFirewallPolicyEnforcementOrder = '{{ networkFirewallPolicyEnforcementOrder }}', +enableUlaInternalIpv6 = true|false, +internalIpv6Range = '{{ internalIpv6Range }}' +WHERE +network = '{{ network }}' +AND project = '{{ project }}'; +``` + +## `DELETE` example + +Deletes the specified network resource. + +```sql +DELETE FROM google.compute.networks +WHERE network = '{{ network }}' +AND project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/compute/networks_effective_firewalls/index.md b/docs/google-docs/providers/google/compute/networks_effective_firewalls/index.md index ac9dd56a75..d772819576 100644 --- a/docs/google-docs/providers/google/compute/networks_effective_firewalls/index.md +++ b/docs/google-docs/providers/google/compute/networks_effective_firewalls/index.md @@ -1,3 +1,4 @@ + --- title: networks_effective_firewalls hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - networks_effective_firewalls - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an networks_effective_firewall resource or lists networks_effective_firewalls in a region ## Overview
@@ -32,7 +34,21 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `array` | Effective firewalls from firewall policy. | | | `array` | Effective firewalls on the network. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Returns the effective firewalls on a given network. | + +## `SELECT` examples + +Returns the effective firewalls on a given network. + +```sql +SELECT +firewallPolicys, +firewalls +FROM google.compute.networks_effective_firewalls +WHERE network = '{{ network }}' +AND project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/compute/networks_peering/index.md b/docs/google-docs/providers/google/compute/networks_peering/index.md index 23c411bbaa..ec1acf704e 100644 --- a/docs/google-docs/providers/google/compute/networks_peering/index.md +++ b/docs/google-docs/providers/google/compute/networks_peering/index.md @@ -1,3 +1,4 @@ + --- title: networks_peering hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - networks_peering - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an networks_peering resource or lists networks_peering in a region ## Overview
@@ -28,10 +30,87 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| -| | `EXEC` | | Adds a peering to the specified network. | -| | `EXEC` | | Removes a peering from the specified network. | -| | `EXEC` | | Updates the specified network peering with the data included in the request. You can only modify the NetworkPeering.export_custom_routes field and the NetworkPeering.import_custom_routes field. | +| | `INSERT` | | Adds a peering to the specified network. | +| | `DELETE` | | Removes a peering from the specified network. | +| | `UPDATE` | | Updates the specified network peering with the data included in the request. You can only modify the NetworkPeering.export_custom_routes field and the NetworkPeering.import_custom_routes field. | + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new networks_peering resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.networks_peering ( +network, +project, +name, +peerNetwork, +autoCreateRoutes, +networkPeering +) +SELECT +'{{ network }}', +'{{ project }}', +'{{ name }}', +'{{ peerNetwork }}', +true|false, +'{{ networkPeering }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: peerNetwork + value: '{{ peerNetwork }}' + - name: autoCreateRoutes + value: '{{ autoCreateRoutes }}' + - name: networkPeering + value: '{{ networkPeering }}' + +``` + + + +## `UPDATE` example + +Updates a networks_peering only if the necessary resources are available. + +```sql +UPDATE google.compute.networks_peering +SET +networkPeering = '{{ networkPeering }}' +WHERE +network = '{{ network }}' +AND project = '{{ project }}'; +``` + +## `DELETE` example + +Deletes the specified networks_peering resource. + +```sql +DELETE FROM google.compute.networks_peering +WHERE network = '{{ network }}' +AND project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/compute/networks_peering_routes/index.md b/docs/google-docs/providers/google/compute/networks_peering_routes/index.md index 3d7bfc6fef..f3c880178a 100644 --- a/docs/google-docs/providers/google/compute/networks_peering_routes/index.md +++ b/docs/google-docs/providers/google/compute/networks_peering_routes/index.md @@ -1,3 +1,4 @@ + --- title: networks_peering_routes hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - networks_peering_routes - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an networks_peering_route resource or lists networks_peering_routes in a region ## Overview @@ -35,7 +37,24 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The region of peering route next hop, only applies to dynamic routes. | | | `integer` | The priority of the peering route. | | | `string` | The type of the peering route. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists the peering routes exchanged over peering connection. | + +## `SELECT` examples + +Lists the peering routes exchanged over peering connection. + +```sql +SELECT +destRange, +imported, +nextHopRegion, +priority, +type +FROM google.compute.networks_peering_routes +WHERE network = '{{ network }}' +AND project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/compute/node_groups/index.md b/docs/google-docs/providers/google/compute/node_groups/index.md index a5f8979fcf..a01d58eb5c 100644 --- a/docs/google-docs/providers/google/compute/node_groups/index.md +++ b/docs/google-docs/providers/google/compute/node_groups/index.md @@ -1,3 +1,4 @@ + --- title: node_groups hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - node_groups - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an node_group resource or lists node_groups in a region ## Overview
@@ -47,6 +49,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `integer` | [Output Only] The total number of nodes in the node group. | | | `string` | | | | `string` | [Output Only] The name of the zone where the node group resides, such as us-central1-a. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -56,7 +59,180 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a NodeGroup resource in the specified project using the data included in the request. | | | `DELETE` | | Deletes the specified NodeGroup resource. | | | `UPDATE` | | Updates the specified node group. | -| | `EXEC` | | Retrieves an aggregated list of node groups. Note: use nodeGroups.listNodes for more details about each group. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. | | | `EXEC` | | Perform maintenance on a subset of nodes in the node group. | | | `EXEC` | | Updates the node template of the node group. | | | `EXEC` | | Simulates maintenance event on specified nodes from the node group. | + +## `SELECT` examples + +Retrieves an aggregated list of node groups. Note: use nodeGroups.listNodes for more details about each group. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. + +```sql +SELECT +id, +name, +description, +autoscalingPolicy, +creationTimestamp, +fingerprint, +kind, +locationHint, +maintenanceInterval, +maintenancePolicy, +maintenanceWindow, +nodeTemplate, +selfLink, +shareSettings, +size, +status, +zone +FROM google.compute.node_groups +WHERE project = '{{ project }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new node_groups resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.node_groups ( +initialNodeCount, +project, +zone, +kind, +id, +creationTimestamp, +name, +description, +nodeTemplate, +zone, +selfLink, +status, +size, +autoscalingPolicy, +maintenancePolicy, +locationHint, +fingerprint, +maintenanceWindow, +shareSettings, +maintenanceInterval +) +SELECT +'{{ initialNodeCount }}', +'{{ project }}', +'{{ zone }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ name }}', +'{{ description }}', +'{{ nodeTemplate }}', +'{{ zone }}', +'{{ selfLink }}', +'{{ status }}', +'{{ size }}', +'{{ autoscalingPolicy }}', +'{{ maintenancePolicy }}', +'{{ locationHint }}', +'{{ fingerprint }}', +'{{ maintenanceWindow }}', +'{{ shareSettings }}', +'{{ maintenanceInterval }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: nodeTemplate + value: '{{ nodeTemplate }}' + - name: zone + value: '{{ zone }}' + - name: selfLink + value: '{{ selfLink }}' + - name: status + value: '{{ status }}' + - name: size + value: '{{ size }}' + - name: autoscalingPolicy + value: '{{ autoscalingPolicy }}' + - name: maintenancePolicy + value: '{{ maintenancePolicy }}' + - name: locationHint + value: '{{ locationHint }}' + - name: fingerprint + value: '{{ fingerprint }}' + - name: maintenanceWindow + value: '{{ maintenanceWindow }}' + - name: shareSettings + value: '{{ shareSettings }}' + - name: maintenanceInterval + value: '{{ maintenanceInterval }}' + +``` + + + +## `UPDATE` example + +Updates a node_group only if the necessary resources are available. + +```sql +UPDATE google.compute.node_groups +SET +kind = '{{ kind }}', +id = '{{ id }}', +creationTimestamp = '{{ creationTimestamp }}', +name = '{{ name }}', +description = '{{ description }}', +nodeTemplate = '{{ nodeTemplate }}', +zone = '{{ zone }}', +selfLink = '{{ selfLink }}', +status = '{{ status }}', +size = '{{ size }}', +autoscalingPolicy = '{{ autoscalingPolicy }}', +maintenancePolicy = '{{ maintenancePolicy }}', +locationHint = '{{ locationHint }}', +fingerprint = '{{ fingerprint }}', +maintenanceWindow = '{{ maintenanceWindow }}', +shareSettings = '{{ shareSettings }}', +maintenanceInterval = '{{ maintenanceInterval }}' +WHERE +nodeGroup = '{{ nodeGroup }}' +AND project = '{{ project }}' +AND zone = '{{ zone }}'; +``` + +## `DELETE` example + +Deletes the specified node_group resource. + +```sql +DELETE FROM google.compute.node_groups +WHERE nodeGroup = '{{ nodeGroup }}' +AND project = '{{ project }}' +AND zone = '{{ zone }}'; +``` diff --git a/docs/google-docs/providers/google/compute/node_groups_iam_policies/index.md b/docs/google-docs/providers/google/compute/node_groups_iam_policies/index.md index 7f4ce965f0..378555bfc6 100644 --- a/docs/google-docs/providers/google/compute/node_groups_iam_policies/index.md +++ b/docs/google-docs/providers/google/compute/node_groups_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: node_groups_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - node_groups_iam_policies - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an node_groups_iam_policy resource or lists node_groups_iam_policies in a region ## Overview
@@ -31,13 +33,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | Name | Datatype | Description | |:-----|:---------|:------------| | | `string` | This is deprecated and has no effect. Do not use. | -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. May be empty if no such policy or resource exists. | -| | `EXEC` | | Gets the access control policy for a resource. May be empty if no such policy or resource exists. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. | + +## `SELECT` examples + +Gets the access control policy for a resource. May be empty if no such policy or resource exists. + +```sql +SELECT +bindingId, +condition, +members, +role +FROM google.compute.node_groups_iam_policies +WHERE project = '{{ project }}' +AND resource = '{{ resource }}' +AND zone = '{{ zone }}'; +``` diff --git a/docs/google-docs/providers/google/compute/node_groups_nodes/index.md b/docs/google-docs/providers/google/compute/node_groups_nodes/index.md index 3e5ac9cfbe..a027ce72c7 100644 --- a/docs/google-docs/providers/google/compute/node_groups_nodes/index.md +++ b/docs/google-docs/providers/google/compute/node_groups_nodes/index.md @@ -1,3 +1,4 @@ + --- title: node_groups_nodes hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - node_groups_nodes - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an node_groups_node resource or lists node_groups_nodes in a region ## Overview
@@ -28,10 +30,105 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | The name of the node. | +| | `array` | Accelerators for this node. | +| | `object` | | +| | `string` | CPU overcommit. | +| | `array` | Local disk configurations. | +| | `array` | Instance data that shows consumed resources on the node. | +| | `array` | Instances scheduled on this node. | +| | `string` | The type of this node. | +| | `boolean` | [Output Only] Reserved for future use. | +| | `object` | | +| | `string` | Server ID associated with this node. | +| | `string` | | +| | `object` | | +| | `object` | Upcoming Maintenance notification information. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| -| | `EXEC` | | Adds specified number of nodes to the node group. | -| | `EXEC` | | Deletes specified nodes from the node group. | -| | `EXEC` | | Lists nodes in the node group. | +| | `SELECT` | | Lists nodes in the node group. | +| | `INSERT` | | Adds specified number of nodes to the node group. | +| | `DELETE` | | Deletes specified nodes from the node group. | + +## `SELECT` examples + +Lists nodes in the node group. + +```sql +SELECT +name, +accelerators, +consumedResources, +cpuOvercommitType, +disks, +instanceConsumptionData, +instances, +nodeType, +satisfiesPzs, +serverBinding, +serverId, +status, +totalResources, +upcomingMaintenance +FROM google.compute.node_groups_nodes +WHERE nodeGroup = '{{ nodeGroup }}' +AND project = '{{ project }}' +AND zone = '{{ zone }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new node_groups_nodes resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.node_groups_nodes ( +nodeGroup, +project, +zone, +additionalNodeCount +) +SELECT +'{{ nodeGroup }}', +'{{ project }}', +'{{ zone }}', +'{{ additionalNodeCount }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: additionalNodeCount + value: '{{ additionalNodeCount }}' + +``` + + + +## `DELETE` example + +Deletes the specified node_groups_node resource. + +```sql +DELETE FROM google.compute.node_groups_nodes +WHERE nodeGroup = '{{ nodeGroup }}' +AND project = '{{ project }}' +AND zone = '{{ zone }}'; +``` diff --git a/docs/google-docs/providers/google/compute/node_templates/index.md b/docs/google-docs/providers/google/compute/node_templates/index.md index eb6db5c2bb..04323e0991 100644 --- a/docs/google-docs/providers/google/compute/node_templates/index.md +++ b/docs/google-docs/providers/google/compute/node_templates/index.md @@ -1,3 +1,4 @@ + --- title: node_templates hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - node_templates - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an node_template resource or lists node_templates in a region ## Overview @@ -46,6 +48,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | | | | `string` | [Output Only] The status of the node template. One of the following values: CREATING, READY, and DELETING. | | | `string` | [Output Only] An optional, human-readable explanation of the status. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -54,4 +57,140 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Retrieves a list of node templates available to the specified project. | | | `INSERT` | | Creates a NodeTemplate resource in the specified project using the data included in the request. | | | `DELETE` | | Deletes the specified NodeTemplate resource. | -| | `EXEC` | | Retrieves an aggregated list of node templates. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. | + +## `SELECT` examples + +Retrieves an aggregated list of node templates. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. + +```sql +SELECT +id, +name, +description, +accelerators, +cpuOvercommitType, +creationTimestamp, +disks, +kind, +nodeAffinityLabels, +nodeType, +nodeTypeFlexibility, +region, +selfLink, +serverBinding, +status, +statusMessage +FROM google.compute.node_templates +WHERE project = '{{ project }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new node_templates resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.node_templates ( +project, +region, +kind, +id, +creationTimestamp, +name, +description, +nodeType, +nodeAffinityLabels, +status, +statusMessage, +region, +selfLink, +nodeTypeFlexibility, +serverBinding, +disks, +accelerators, +cpuOvercommitType +) +SELECT +'{{ project }}', +'{{ region }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ name }}', +'{{ description }}', +'{{ nodeType }}', +'{{ nodeAffinityLabels }}', +'{{ status }}', +'{{ statusMessage }}', +'{{ region }}', +'{{ selfLink }}', +'{{ nodeTypeFlexibility }}', +'{{ serverBinding }}', +'{{ disks }}', +'{{ accelerators }}', +'{{ cpuOvercommitType }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: nodeType + value: '{{ nodeType }}' + - name: nodeAffinityLabels + value: '{{ nodeAffinityLabels }}' + - name: status + value: '{{ status }}' + - name: statusMessage + value: '{{ statusMessage }}' + - name: region + value: '{{ region }}' + - name: selfLink + value: '{{ selfLink }}' + - name: nodeTypeFlexibility + value: '{{ nodeTypeFlexibility }}' + - name: serverBinding + value: '{{ serverBinding }}' + - name: disks + value: '{{ disks }}' + - name: accelerators + value: '{{ accelerators }}' + - name: cpuOvercommitType + value: '{{ cpuOvercommitType }}' + +``` + + + +## `DELETE` example + +Deletes the specified node_template resource. + +```sql +DELETE FROM google.compute.node_templates +WHERE nodeTemplate = '{{ nodeTemplate }}' +AND project = '{{ project }}' +AND region = '{{ region }}'; +``` diff --git a/docs/google-docs/providers/google/compute/node_templates_iam_policies/index.md b/docs/google-docs/providers/google/compute/node_templates_iam_policies/index.md index d9e7c9efaf..665ac53254 100644 --- a/docs/google-docs/providers/google/compute/node_templates_iam_policies/index.md +++ b/docs/google-docs/providers/google/compute/node_templates_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: node_templates_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - node_templates_iam_policies - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an node_templates_iam_policy resource or lists node_templates_iam_policies in a region ## Overview
@@ -31,13 +33,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | Name | Datatype | Description | |:-----|:---------|:------------| | | `string` | This is deprecated and has no effect. Do not use. | -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. May be empty if no such policy or resource exists. | -| | `EXEC` | | Gets the access control policy for a resource. May be empty if no such policy or resource exists. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. | + +## `SELECT` examples + +Gets the access control policy for a resource. May be empty if no such policy or resource exists. + +```sql +SELECT +bindingId, +condition, +members, +role +FROM google.compute.node_templates_iam_policies +WHERE project = '{{ project }}' +AND region = '{{ region }}' +AND resource = '{{ resource }}'; +``` diff --git a/docs/google-docs/providers/google/compute/node_types/index.md b/docs/google-docs/providers/google/compute/node_types/index.md index ea38b3aec1..74da53065c 100644 --- a/docs/google-docs/providers/google/compute/node_types/index.md +++ b/docs/google-docs/providers/google/compute/node_types/index.md @@ -1,3 +1,4 @@ + --- title: node_types hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - node_types - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an node_type resource or lists node_types in a region ## Overview
@@ -42,10 +44,32 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `integer` | [Output Only] The amount of physical memory available to the node type, defined in MB. | | | `string` | [Output Only] Server-defined URL for the resource. | | | `string` | [Output Only] The name of the zone where the node type resides, such as us-central1-a. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Retrieves an aggregated list of node types. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. | | | `SELECT` | | Returns the specified node type. | | | `SELECT` | | Retrieves a list of node types available to the specified project. | -| | `EXEC` | | Retrieves an aggregated list of node types. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. | + +## `SELECT` examples + +Retrieves an aggregated list of node types. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. + +```sql +SELECT +id, +name, +description, +cpuPlatform, +creationTimestamp, +deprecated, +guestCpus, +kind, +localSsdGb, +memoryMb, +selfLink, +zone +FROM google.compute.node_types +WHERE project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/compute/packet_mirrorings/index.md b/docs/google-docs/providers/google/compute/packet_mirrorings/index.md index 47fb43e1ef..4c98217d75 100644 --- a/docs/google-docs/providers/google/compute/packet_mirrorings/index.md +++ b/docs/google-docs/providers/google/compute/packet_mirrorings/index.md @@ -1,3 +1,4 @@ + --- title: packet_mirrorings hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - packet_mirrorings - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an packet_mirroring resource or lists packet_mirrorings in a region ## Overview
@@ -43,6 +45,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `integer` | The priority of applying this configuration. Priority is used to break ties in cases where there is more than one matching rule. In the case of two rules that apply for a given Instance, the one with the lowest-numbered priority value wins. Default value is 1000. Valid range is 0 through 65535. | | | `string` | [Output Only] URI of the region where the packetMirroring resides. | | | `string` | [Output Only] Server-defined URL for the resource. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -52,4 +55,151 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a PacketMirroring resource in the specified project and region using the data included in the request. | | | `DELETE` | | Deletes the specified PacketMirroring resource. | | | `UPDATE` | | Patches the specified PacketMirroring resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules. | -| | `EXEC` | | Retrieves an aggregated list of packetMirrorings. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. | + +## `SELECT` examples + +Retrieves an aggregated list of packetMirrorings. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. + +```sql +SELECT +id, +name, +description, +collectorIlb, +creationTimestamp, +enable, +filter, +kind, +mirroredResources, +network, +priority, +region, +selfLink +FROM google.compute.packet_mirrorings +WHERE project = '{{ project }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new packet_mirrorings resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.packet_mirrorings ( +project, +region, +kind, +id, +creationTimestamp, +selfLink, +name, +description, +region, +network, +priority, +collectorIlb, +mirroredResources, +filter, +enable +) +SELECT +'{{ project }}', +'{{ region }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ selfLink }}', +'{{ name }}', +'{{ description }}', +'{{ region }}', +'{{ network }}', +'{{ priority }}', +'{{ collectorIlb }}', +'{{ mirroredResources }}', +'{{ filter }}', +'{{ enable }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: selfLink + value: '{{ selfLink }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: region + value: '{{ region }}' + - name: network + value: '{{ network }}' + - name: priority + value: '{{ priority }}' + - name: collectorIlb + value: '{{ collectorIlb }}' + - name: mirroredResources + value: '{{ mirroredResources }}' + - name: filter + value: '{{ filter }}' + - name: enable + value: '{{ enable }}' + +``` + + + +## `UPDATE` example + +Updates a packet_mirroring only if the necessary resources are available. + +```sql +UPDATE google.compute.packet_mirrorings +SET +kind = '{{ kind }}', +id = '{{ id }}', +creationTimestamp = '{{ creationTimestamp }}', +selfLink = '{{ selfLink }}', +name = '{{ name }}', +description = '{{ description }}', +region = '{{ region }}', +network = '{{ network }}', +priority = '{{ priority }}', +collectorIlb = '{{ collectorIlb }}', +mirroredResources = '{{ mirroredResources }}', +filter = '{{ filter }}', +enable = '{{ enable }}' +WHERE +packetMirroring = '{{ packetMirroring }}' +AND project = '{{ project }}' +AND region = '{{ region }}'; +``` + +## `DELETE` example + +Deletes the specified packet_mirroring resource. + +```sql +DELETE FROM google.compute.packet_mirrorings +WHERE packetMirroring = '{{ packetMirroring }}' +AND project = '{{ project }}' +AND region = '{{ region }}'; +``` diff --git a/docs/google-docs/providers/google/compute/packet_mirrorings_iam_policies/index.md b/docs/google-docs/providers/google/compute/packet_mirrorings_iam_policies/index.md index 6830cc9f4e..9f651d84e7 100644 --- a/docs/google-docs/providers/google/compute/packet_mirrorings_iam_policies/index.md +++ b/docs/google-docs/providers/google/compute/packet_mirrorings_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: packet_mirrorings_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - packet_mirrorings_iam_policies - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an packet_mirrorings_iam_policy resource or lists packet_mirrorings_iam_policies in a region ## Overview
@@ -28,8 +30,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Returns permissions that a caller has on the specified resource. | diff --git a/docs/google-docs/providers/google/compute/projects/index.md b/docs/google-docs/providers/google/compute/projects/index.md index 734227a306..0b918e2076 100644 --- a/docs/google-docs/providers/google/compute/projects/index.md +++ b/docs/google-docs/providers/google/compute/projects/index.md @@ -1,3 +1,4 @@ + --- title: projects hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - projects - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an project resource or lists projects in a region ## Overview @@ -45,6 +47,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | The location in Cloud Storage and naming method of the daily usage report. Contains bucket_name and report_name prefix. | | | `string` | [Output Only] Default internal DNS setting used by VMs running in this project. | | | `string` | [Output Only] The role this project has in a shared VPC configuration. Currently, only projects with the host role, which is specified by the value HOST, are differentiated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -59,3 +62,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `EXEC` | | Sets metadata common to all instances within the specified project using the data included in the request. | | | `EXEC` | | Sets the default network tier of the project. The default network tier is used when an address/forwardingRule/instance is created without specifying the network tier field. | | | `EXEC` | | Enables the usage export feature and sets the usage export bucket where reports are stored. If you provide an empty request body using this method, the usage export feature will be disabled. | + +## `SELECT` examples + +Returns the specified Project resource. To decrease latency for this method, you can optionally omit any unneeded information from the response by using a field mask. This practice is especially recommended for unused quota information (the `quotas` field). To exclude one or more fields, set your request's `fields` query parameter to only include the fields you need. For example, to only include the `id` and `selfLink` fields, add the query parameter `?fields=id,selfLink` to your request. + +```sql +SELECT +id, +name, +description, +cloudArmorTier, +commonInstanceMetadata, +creationTimestamp, +defaultNetworkTier, +defaultServiceAccount, +enabledFeatures, +kind, +quotas, +selfLink, +usageExportLocation, +vmDnsSetting, +xpnProjectStatus +FROM google.compute.projects +WHERE project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/compute/public_advertised_prefixes/index.md b/docs/google-docs/providers/google/compute/public_advertised_prefixes/index.md index 321cc76544..e8f6b98058 100644 --- a/docs/google-docs/providers/google/compute/public_advertised_prefixes/index.md +++ b/docs/google-docs/providers/google/compute/public_advertised_prefixes/index.md @@ -1,3 +1,4 @@ + --- title: public_advertised_prefixes hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - public_advertised_prefixes - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an public_advertised_prefix resource or lists public_advertised_prefixes in a region ## Overview
@@ -44,6 +46,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] Server-defined URL for the resource. | | | `string` | [Output Only] The shared secret to be used for reverse DNS verification. | | | `string` | The status of the public advertised prefix. Possible values include: - `INITIAL`: RPKI validation is complete. - `PTR_CONFIGURED`: User has configured the PTR. - `VALIDATED`: Reverse DNS lookup is successful. - `REVERSE_DNS_LOOKUP_FAILED`: Reverse DNS lookup failed. - `PREFIX_CONFIGURATION_IN_PROGRESS`: The prefix is being configured. - `PREFIX_CONFIGURATION_COMPLETE`: The prefix is fully configured. - `PREFIX_REMOVAL_IN_PROGRESS`: The prefix is being removed. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -54,3 +57,153 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `UPDATE` | | Patches the specified Router resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules. | | | `EXEC` | | Announces the specified PublicAdvertisedPrefix | | | `EXEC` | | Withdraws the specified PublicAdvertisedPrefix | + +## `SELECT` examples + +Lists the PublicAdvertisedPrefixes for a project. + +```sql +SELECT +id, +name, +description, +byoipApiVersion, +creationTimestamp, +dnsVerificationIp, +fingerprint, +ipCidrRange, +kind, +pdpScope, +publicDelegatedPrefixs, +selfLink, +sharedSecret, +status +FROM google.compute.public_advertised_prefixes +WHERE project = '{{ project }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new public_advertised_prefixes resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.public_advertised_prefixes ( +project, +kind, +id, +creationTimestamp, +name, +description, +selfLink, +ipCidrRange, +dnsVerificationIp, +sharedSecret, +status, +pdpScope, +publicDelegatedPrefixs, +fingerprint, +byoipApiVersion +) +SELECT +'{{ project }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ name }}', +'{{ description }}', +'{{ selfLink }}', +'{{ ipCidrRange }}', +'{{ dnsVerificationIp }}', +'{{ sharedSecret }}', +'{{ status }}', +'{{ pdpScope }}', +'{{ publicDelegatedPrefixs }}', +'{{ fingerprint }}', +'{{ byoipApiVersion }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: selfLink + value: '{{ selfLink }}' + - name: ipCidrRange + value: '{{ ipCidrRange }}' + - name: dnsVerificationIp + value: '{{ dnsVerificationIp }}' + - name: sharedSecret + value: '{{ sharedSecret }}' + - name: status + value: '{{ status }}' + - name: pdpScope + value: '{{ pdpScope }}' + - name: publicDelegatedPrefixs + value: '{{ publicDelegatedPrefixs }}' + - name: fingerprint + value: '{{ fingerprint }}' + - name: byoipApiVersion + value: '{{ byoipApiVersion }}' + +``` + + + +## `UPDATE` example + +Updates a public_advertised_prefix only if the necessary resources are available. + +```sql +UPDATE google.compute.public_advertised_prefixes +SET +kind = '{{ kind }}', +id = '{{ id }}', +creationTimestamp = '{{ creationTimestamp }}', +name = '{{ name }}', +description = '{{ description }}', +selfLink = '{{ selfLink }}', +ipCidrRange = '{{ ipCidrRange }}', +dnsVerificationIp = '{{ dnsVerificationIp }}', +sharedSecret = '{{ sharedSecret }}', +status = '{{ status }}', +pdpScope = '{{ pdpScope }}', +publicDelegatedPrefixs = '{{ publicDelegatedPrefixs }}', +fingerprint = '{{ fingerprint }}', +byoipApiVersion = '{{ byoipApiVersion }}' +WHERE +project = '{{ project }}' +AND publicAdvertisedPrefix = '{{ publicAdvertisedPrefix }}'; +``` + +## `DELETE` example + +Deletes the specified public_advertised_prefix resource. + +```sql +DELETE FROM google.compute.public_advertised_prefixes +WHERE project = '{{ project }}' +AND publicAdvertisedPrefix = '{{ publicAdvertisedPrefix }}'; +``` diff --git a/docs/google-docs/providers/google/compute/public_delegated_prefixes/index.md b/docs/google-docs/providers/google/compute/public_delegated_prefixes/index.md index 4c7e318099..3a1ccfd63f 100644 --- a/docs/google-docs/providers/google/compute/public_delegated_prefixes/index.md +++ b/docs/google-docs/providers/google/compute/public_delegated_prefixes/index.md @@ -1,3 +1,4 @@ + --- title: public_delegated_prefixes hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - public_delegated_prefixes - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an public_delegated_prefix resource or lists public_delegated_prefixes in a region ## Overview
@@ -46,6 +48,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] URL of the region where the public delegated prefix resides. This field applies only to the region resource. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body. | | | `string` | [Output Only] Server-defined URL for the resource. | | | `string` | [Output Only] The status of the public delegated prefix, which can be one of following values: - `INITIALIZING` The public delegated prefix is being initialized and addresses cannot be created yet. - `READY_TO_ANNOUNCE` The public delegated prefix is a live migration prefix and is active. - `ANNOUNCED` The public delegated prefix is active. - `DELETING` The public delegated prefix is being deprovsioned. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -55,6 +58,171 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a PublicDelegatedPrefix in the specified project in the given region using the parameters that are included in the request. | | | `DELETE` | | Deletes the specified PublicDelegatedPrefix in the given region. | | | `UPDATE` | | Patches the specified PublicDelegatedPrefix resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules. | -| | `EXEC` | | Lists all PublicDelegatedPrefix resources owned by the specific project across all scopes. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. | | | `EXEC` | | Announces the specified PublicDelegatedPrefix in the given region. | | | `EXEC` | | Withdraws the specified PublicDelegatedPrefix in the given region. | + +## `SELECT` examples + +Lists all PublicDelegatedPrefix resources owned by the specific project across all scopes. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. + +```sql +SELECT +id, +name, +description, +allocatablePrefixLength, +byoipApiVersion, +creationTimestamp, +fingerprint, +ipCidrRange, +isLiveMigration, +kind, +mode, +parentPrefix, +publicDelegatedSubPrefixs, +region, +selfLink, +status +FROM google.compute.public_delegated_prefixes +WHERE project = '{{ project }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new public_delegated_prefixes resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.public_delegated_prefixes ( +project, +region, +kind, +id, +creationTimestamp, +name, +description, +selfLink, +region, +ipCidrRange, +status, +parentPrefix, +publicDelegatedSubPrefixs, +isLiveMigration, +fingerprint, +mode, +allocatablePrefixLength, +byoipApiVersion +) +SELECT +'{{ project }}', +'{{ region }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ name }}', +'{{ description }}', +'{{ selfLink }}', +'{{ region }}', +'{{ ipCidrRange }}', +'{{ status }}', +'{{ parentPrefix }}', +'{{ publicDelegatedSubPrefixs }}', +true|false, +'{{ fingerprint }}', +'{{ mode }}', +'{{ allocatablePrefixLength }}', +'{{ byoipApiVersion }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: selfLink + value: '{{ selfLink }}' + - name: region + value: '{{ region }}' + - name: ipCidrRange + value: '{{ ipCidrRange }}' + - name: status + value: '{{ status }}' + - name: parentPrefix + value: '{{ parentPrefix }}' + - name: publicDelegatedSubPrefixs + value: '{{ publicDelegatedSubPrefixs }}' + - name: isLiveMigration + value: '{{ isLiveMigration }}' + - name: fingerprint + value: '{{ fingerprint }}' + - name: mode + value: '{{ mode }}' + - name: allocatablePrefixLength + value: '{{ allocatablePrefixLength }}' + - name: byoipApiVersion + value: '{{ byoipApiVersion }}' + +``` + + + +## `UPDATE` example + +Updates a public_delegated_prefix only if the necessary resources are available. + +```sql +UPDATE google.compute.public_delegated_prefixes +SET +kind = '{{ kind }}', +id = '{{ id }}', +creationTimestamp = '{{ creationTimestamp }}', +name = '{{ name }}', +description = '{{ description }}', +selfLink = '{{ selfLink }}', +region = '{{ region }}', +ipCidrRange = '{{ ipCidrRange }}', +status = '{{ status }}', +parentPrefix = '{{ parentPrefix }}', +publicDelegatedSubPrefixs = '{{ publicDelegatedSubPrefixs }}', +isLiveMigration = true|false, +fingerprint = '{{ fingerprint }}', +mode = '{{ mode }}', +allocatablePrefixLength = '{{ allocatablePrefixLength }}', +byoipApiVersion = '{{ byoipApiVersion }}' +WHERE +project = '{{ project }}' +AND publicDelegatedPrefix = '{{ publicDelegatedPrefix }}' +AND region = '{{ region }}'; +``` + +## `DELETE` example + +Deletes the specified public_delegated_prefix resource. + +```sql +DELETE FROM google.compute.public_delegated_prefixes +WHERE project = '{{ project }}' +AND publicDelegatedPrefix = '{{ publicDelegatedPrefix }}' +AND region = '{{ region }}'; +``` diff --git a/docs/google-docs/providers/google/compute/region_autoscalers/index.md b/docs/google-docs/providers/google/compute/region_autoscalers/index.md index 06ea466f2d..b2de7db511 100644 --- a/docs/google-docs/providers/google/compute/region_autoscalers/index.md +++ b/docs/google-docs/providers/google/compute/region_autoscalers/index.md @@ -1,3 +1,4 @@ + --- title: region_autoscalers hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - region_autoscalers - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an region_autoscaler resource or lists region_autoscalers in a region ## Overview
@@ -44,6 +46,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `array` | [Output Only] Human-readable details about the current state of the autoscaler. Read the documentation for Commonly returned status messages for examples of status messages you might encounter. | | | `string` | URL of the managed instance group that this autoscaler will scale. This field is required when creating an autoscaler. | | | `string` | [Output Only] URL of the zone where the instance group resides (for autoscalers living in zonal scope). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -52,4 +55,158 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates an autoscaler in the specified project using the data included in the request. | | | `DELETE` | | Deletes the specified autoscaler. | | | `UPDATE` | | Updates an autoscaler in the specified project using the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules. | -| | `UPDATE` | | Updates an autoscaler in the specified project using the data included in the request. | +| | `EXEC` | | Updates an autoscaler in the specified project using the data included in the request. | + +## `SELECT` examples + +Retrieves a list of autoscalers contained within the specified region. + +```sql +SELECT +id, +name, +description, +autoscalingPolicy, +creationTimestamp, +kind, +recommendedSize, +region, +scalingScheduleStatus, +selfLink, +status, +statusDetails, +target, +zone +FROM google.compute.region_autoscalers +WHERE project = '{{ project }}' +AND region = '{{ region }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new region_autoscalers resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.region_autoscalers ( +project, +region, +kind, +id, +creationTimestamp, +name, +description, +target, +autoscalingPolicy, +zone, +region, +selfLink, +status, +statusDetails, +recommendedSize, +scalingScheduleStatus +) +SELECT +'{{ project }}', +'{{ region }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ name }}', +'{{ description }}', +'{{ target }}', +'{{ autoscalingPolicy }}', +'{{ zone }}', +'{{ region }}', +'{{ selfLink }}', +'{{ status }}', +'{{ statusDetails }}', +'{{ recommendedSize }}', +'{{ scalingScheduleStatus }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: target + value: '{{ target }}' + - name: autoscalingPolicy + value: '{{ autoscalingPolicy }}' + - name: zone + value: '{{ zone }}' + - name: region + value: '{{ region }}' + - name: selfLink + value: '{{ selfLink }}' + - name: status + value: '{{ status }}' + - name: statusDetails + value: '{{ statusDetails }}' + - name: recommendedSize + value: '{{ recommendedSize }}' + - name: scalingScheduleStatus + value: '{{ scalingScheduleStatus }}' + +``` + + + +## `UPDATE` example + +Updates a region_autoscaler only if the necessary resources are available. + +```sql +UPDATE google.compute.region_autoscalers +SET +kind = '{{ kind }}', +id = '{{ id }}', +creationTimestamp = '{{ creationTimestamp }}', +name = '{{ name }}', +description = '{{ description }}', +target = '{{ target }}', +autoscalingPolicy = '{{ autoscalingPolicy }}', +zone = '{{ zone }}', +region = '{{ region }}', +selfLink = '{{ selfLink }}', +status = '{{ status }}', +statusDetails = '{{ statusDetails }}', +recommendedSize = '{{ recommendedSize }}', +scalingScheduleStatus = '{{ scalingScheduleStatus }}' +WHERE +project = '{{ project }}' +AND region = '{{ region }}'; +``` + +## `DELETE` example + +Deletes the specified region_autoscaler resource. + +```sql +DELETE FROM google.compute.region_autoscalers +WHERE autoscaler = '{{ autoscaler }}' +AND project = '{{ project }}' +AND region = '{{ region }}'; +``` diff --git a/docs/google-docs/providers/google/compute/region_backend_services/index.md b/docs/google-docs/providers/google/compute/region_backend_services/index.md index 691d5bdf3c..cdb6bc54f6 100644 --- a/docs/google-docs/providers/google/compute/region_backend_services/index.md +++ b/docs/google-docs/providers/google/compute/region_backend_services/index.md @@ -1,3 +1,4 @@ + --- title: region_backend_services hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - region_backend_services - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an region_backend_service resource or lists region_backend_services in a region ## Overview
@@ -53,7 +55,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] Type of resource. Always compute#backendService for backend services. | | | `string` | Specifies the load balancer type. A backend service created for one type of load balancer cannot be used with another. For more information, refer to Choosing a load balancer. | | | `array` | A list of locality load-balancing policies to be used in order of preference. When you use localityLbPolicies, you must set at least one value for either the localityLbPolicies[].policy or the localityLbPolicies[].customPolicy field. localityLbPolicies overrides any value set in the localityLbPolicy field. For an example of how to use this field, see Define a list of preferred policies. Caution: This field and its children are intended for use in a service mesh that includes gRPC clients only. Envoy proxies can't use backend services that have this configuration. | -| | `string` | The load balancing algorithm used within the scope of the locality. The possible values are: - ROUND_ROBIN: This is a simple policy in which each healthy backend is selected in round robin order. This is the default. - LEAST_REQUEST: An O(1) algorithm which selects two random healthy hosts and picks the host which has fewer active requests. - RING_HASH: The ring/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a host from a set of N hosts only affects 1/N of the requests. - RANDOM: The load balancer selects a random healthy host. - ORIGINAL_DESTINATION: Backend host is selected based on the client connection metadata, i.e., connections are opened to the same address as the destination address of the incoming connection before the connection was redirected to the load balancer. - MAGLEV: used as a drop in replacement for the ring hash load balancer. Maglev is not as stable as ring hash but has faster table lookup build times and host selection times. For more information about Maglev, see https://ai.google/research/pubs/pub44824 This field is applicable to either: - A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED, INTERNAL_MANAGED, or EXTERNAL_MANAGED. If sessionAffinity is not NONE, and this field is not set to MAGLEV or RING_HASH, session affinity settings will not take effect. Only ROUND_ROBIN and RING_HASH are supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. | +| | `string` | The load balancing algorithm used within the scope of the locality. The possible values are: - ROUND_ROBIN: This is a simple policy in which each healthy backend is selected in round robin order. This is the default. - LEAST_REQUEST: An O(1) algorithm which selects two random healthy hosts and picks the host which has fewer active requests. - RING_HASH: The ring/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a host from a set of N hosts only affects 1/N of the requests. - RANDOM: The load balancer selects a random healthy host. - ORIGINAL_DESTINATION: Backend host is selected based on the client connection metadata, i.e., connections are opened to the same address as the destination address of the incoming connection before the connection was redirected to the load balancer. - MAGLEV: used as a drop in replacement for the ring hash load balancer. Maglev is not as stable as ring hash but has faster table lookup build times and host selection times. For more information about Maglev, see https://ai.google/research/pubs/pub44824 This field is applicable to either: - A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED, INTERNAL_MANAGED, or EXTERNAL_MANAGED. If sessionAffinity is not configured—that is, if session affinity remains at the default value of NONE—then the default value for localityLbPolicy is ROUND_ROBIN. If session affinity is set to a value other than NONE, then the default value for localityLbPolicy is MAGLEV. Only ROUND_ROBIN and RING_HASH are supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. | | | `object` | The available logging options for the load balancer traffic served by this backend service. | | | `object` | A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like "day" or "month". Range is approximately 10,000 years. | | | `object` | Deployment metadata associated with the resource to be set by a GKE hub controller and read by the backend RCTH | @@ -71,7 +73,8 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Type of session affinity to use. The default is NONE. Only NONE and HEADER_FIELD are supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. For more details, see: [Session Affinity](https://cloud.google.com/load-balancing/docs/backend-service#session_affinity). | | | `object` | Subsetting configuration for this BackendService. Currently this is applicable only for Internal TCP/UDP load balancing, Internal HTTP(S) load balancing and Traffic Director. | | | `integer` | The backend service timeout has a different meaning depending on the type of load balancer. For more information see, Backend service settings. The default is 30 seconds. The full range of timeout values allowed goes from 1 through 2,147,483,647 seconds. This value can be overridden in the PathMatcher configuration of the UrlMap that references this backend service. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. Instead, use maxStreamDuration. | -| | `array` | | +| | `array` | [Output Only] List of resources referencing given backend service. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -80,5 +83,328 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a regional BackendService resource in the specified project using the data included in the request. For more information, see Backend services overview. | | | `DELETE` | | Deletes the specified regional BackendService resource. | | | `UPDATE` | | Updates the specified regional BackendService resource with the data included in the request. For more information, see Understanding backend services This method supports PATCH semantics and uses the JSON merge patch format and processing rules. | -| | `UPDATE` | | Updates the specified regional BackendService resource with the data included in the request. For more information, see Backend services overview . | | | `EXEC` | | Sets the Google Cloud Armor security policy for the specified backend service. For more information, see Google Cloud Armor Overview | +| | `EXEC` | | Updates the specified regional BackendService resource with the data included in the request. For more information, see Backend services overview . | + +## `SELECT` examples + +Retrieves the list of regional BackendService resources available to the specified project in the given region. + +```sql +SELECT +id, +name, +description, +affinityCookieTtlSec, +backends, +cdnPolicy, +circuitBreakers, +compressionMode, +connectionDraining, +connectionTrackingPolicy, +consistentHash, +creationTimestamp, +customRequestHeaders, +customResponseHeaders, +edgeSecurityPolicy, +enableCDN, +failoverPolicy, +fingerprint, +healthChecks, +iap, +kind, +loadBalancingScheme, +localityLbPolicies, +localityLbPolicy, +logConfig, +maxStreamDuration, +metadatas, +network, +outlierDetection, +port, +portName, +protocol, +region, +securityPolicy, +securitySettings, +selfLink, +serviceBindings, +serviceLbPolicy, +sessionAffinity, +subsetting, +timeoutSec, +usedBy +FROM google.compute.region_backend_services +WHERE project = '{{ project }}' +AND region = '{{ region }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new region_backend_services resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.region_backend_services ( +project, +region, +kind, +id, +creationTimestamp, +name, +description, +selfLink, +backends, +healthChecks, +timeoutSec, +port, +protocol, +fingerprint, +portName, +enableCDN, +sessionAffinity, +affinityCookieTtlSec, +region, +failoverPolicy, +loadBalancingScheme, +connectionDraining, +iap, +cdnPolicy, +customRequestHeaders, +customResponseHeaders, +securityPolicy, +edgeSecurityPolicy, +logConfig, +securitySettings, +localityLbPolicy, +consistentHash, +circuitBreakers, +outlierDetection, +network, +subsetting, +connectionTrackingPolicy, +maxStreamDuration, +compressionMode, +serviceLbPolicy, +serviceBindings, +localityLbPolicies, +metadatas, +usedBy +) +SELECT +'{{ project }}', +'{{ region }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ name }}', +'{{ description }}', +'{{ selfLink }}', +'{{ backends }}', +'{{ healthChecks }}', +'{{ timeoutSec }}', +'{{ port }}', +'{{ protocol }}', +'{{ fingerprint }}', +'{{ portName }}', +true|false, +'{{ sessionAffinity }}', +'{{ affinityCookieTtlSec }}', +'{{ region }}', +'{{ failoverPolicy }}', +'{{ loadBalancingScheme }}', +'{{ connectionDraining }}', +'{{ iap }}', +'{{ cdnPolicy }}', +'{{ customRequestHeaders }}', +'{{ customResponseHeaders }}', +'{{ securityPolicy }}', +'{{ edgeSecurityPolicy }}', +'{{ logConfig }}', +'{{ securitySettings }}', +'{{ localityLbPolicy }}', +'{{ consistentHash }}', +'{{ circuitBreakers }}', +'{{ outlierDetection }}', +'{{ network }}', +'{{ subsetting }}', +'{{ connectionTrackingPolicy }}', +'{{ maxStreamDuration }}', +'{{ compressionMode }}', +'{{ serviceLbPolicy }}', +'{{ serviceBindings }}', +'{{ localityLbPolicies }}', +'{{ metadatas }}', +'{{ usedBy }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: selfLink + value: '{{ selfLink }}' + - name: backends + value: '{{ backends }}' + - name: healthChecks + value: '{{ healthChecks }}' + - name: timeoutSec + value: '{{ timeoutSec }}' + - name: port + value: '{{ port }}' + - name: protocol + value: '{{ protocol }}' + - name: fingerprint + value: '{{ fingerprint }}' + - name: portName + value: '{{ portName }}' + - name: enableCDN + value: '{{ enableCDN }}' + - name: sessionAffinity + value: '{{ sessionAffinity }}' + - name: affinityCookieTtlSec + value: '{{ affinityCookieTtlSec }}' + - name: region + value: '{{ region }}' + - name: failoverPolicy + value: '{{ failoverPolicy }}' + - name: loadBalancingScheme + value: '{{ loadBalancingScheme }}' + - name: connectionDraining + value: '{{ connectionDraining }}' + - name: iap + value: '{{ iap }}' + - name: cdnPolicy + value: '{{ cdnPolicy }}' + - name: customRequestHeaders + value: '{{ customRequestHeaders }}' + - name: customResponseHeaders + value: '{{ customResponseHeaders }}' + - name: securityPolicy + value: '{{ securityPolicy }}' + - name: edgeSecurityPolicy + value: '{{ edgeSecurityPolicy }}' + - name: logConfig + value: '{{ logConfig }}' + - name: securitySettings + value: '{{ securitySettings }}' + - name: localityLbPolicy + value: '{{ localityLbPolicy }}' + - name: consistentHash + value: '{{ consistentHash }}' + - name: circuitBreakers + value: '{{ circuitBreakers }}' + - name: outlierDetection + value: '{{ outlierDetection }}' + - name: network + value: '{{ network }}' + - name: subsetting + value: '{{ subsetting }}' + - name: connectionTrackingPolicy + value: '{{ connectionTrackingPolicy }}' + - name: maxStreamDuration + value: '{{ maxStreamDuration }}' + - name: compressionMode + value: '{{ compressionMode }}' + - name: serviceLbPolicy + value: '{{ serviceLbPolicy }}' + - name: serviceBindings + value: '{{ serviceBindings }}' + - name: localityLbPolicies + value: '{{ localityLbPolicies }}' + - name: metadatas + value: '{{ metadatas }}' + - name: usedBy + value: '{{ usedBy }}' + +``` + + + +## `UPDATE` example + +Updates a region_backend_service only if the necessary resources are available. + +```sql +UPDATE google.compute.region_backend_services +SET +kind = '{{ kind }}', +id = '{{ id }}', +creationTimestamp = '{{ creationTimestamp }}', +name = '{{ name }}', +description = '{{ description }}', +selfLink = '{{ selfLink }}', +backends = '{{ backends }}', +healthChecks = '{{ healthChecks }}', +timeoutSec = '{{ timeoutSec }}', +port = '{{ port }}', +protocol = '{{ protocol }}', +fingerprint = '{{ fingerprint }}', +portName = '{{ portName }}', +enableCDN = true|false, +sessionAffinity = '{{ sessionAffinity }}', +affinityCookieTtlSec = '{{ affinityCookieTtlSec }}', +region = '{{ region }}', +failoverPolicy = '{{ failoverPolicy }}', +loadBalancingScheme = '{{ loadBalancingScheme }}', +connectionDraining = '{{ connectionDraining }}', +iap = '{{ iap }}', +cdnPolicy = '{{ cdnPolicy }}', +customRequestHeaders = '{{ customRequestHeaders }}', +customResponseHeaders = '{{ customResponseHeaders }}', +securityPolicy = '{{ securityPolicy }}', +edgeSecurityPolicy = '{{ edgeSecurityPolicy }}', +logConfig = '{{ logConfig }}', +securitySettings = '{{ securitySettings }}', +localityLbPolicy = '{{ localityLbPolicy }}', +consistentHash = '{{ consistentHash }}', +circuitBreakers = '{{ circuitBreakers }}', +outlierDetection = '{{ outlierDetection }}', +network = '{{ network }}', +subsetting = '{{ subsetting }}', +connectionTrackingPolicy = '{{ connectionTrackingPolicy }}', +maxStreamDuration = '{{ maxStreamDuration }}', +compressionMode = '{{ compressionMode }}', +serviceLbPolicy = '{{ serviceLbPolicy }}', +serviceBindings = '{{ serviceBindings }}', +localityLbPolicies = '{{ localityLbPolicies }}', +metadatas = '{{ metadatas }}', +usedBy = '{{ usedBy }}' +WHERE +backendService = '{{ backendService }}' +AND project = '{{ project }}' +AND region = '{{ region }}'; +``` + +## `DELETE` example + +Deletes the specified region_backend_service resource. + +```sql +DELETE FROM google.compute.region_backend_services +WHERE backendService = '{{ backendService }}' +AND project = '{{ project }}' +AND region = '{{ region }}'; +``` diff --git a/docs/google-docs/providers/google/compute/region_backend_services_health/index.md b/docs/google-docs/providers/google/compute/region_backend_services_health/index.md index 1a22d361e3..7eb0875085 100644 --- a/docs/google-docs/providers/google/compute/region_backend_services_health/index.md +++ b/docs/google-docs/providers/google/compute/region_backend_services_health/index.md @@ -1,3 +1,4 @@ + --- title: region_backend_services_health hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - region_backend_services_health - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an region_backend_services_health resource or lists region_backend_services_health in a region ## Overview
@@ -28,8 +30,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `object` | Metadata defined as annotations on the network endpoint group. | +| | `array` | Health state of the backend instances or endpoints in requested instance or network endpoint group, determined based on configured health checks. | +| | `string` | [Output Only] Type of resource. Always compute#backendServiceGroupHealth for the health of backend services. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets the most recent health check results for this regional BackendService. | + +## `SELECT` examples + +Gets the most recent health check results for this regional BackendService. + +```sql +SELECT +annotations, +healthStatus, +kind +FROM google.compute.region_backend_services_health +WHERE backendService = '{{ backendService }}' +AND project = '{{ project }}' +AND region = '{{ region }}'; +``` diff --git a/docs/google-docs/providers/google/compute/region_backend_services_iam_policies/index.md b/docs/google-docs/providers/google/compute/region_backend_services_iam_policies/index.md index 0c22ec6b23..853317313b 100644 --- a/docs/google-docs/providers/google/compute/region_backend_services_iam_policies/index.md +++ b/docs/google-docs/providers/google/compute/region_backend_services_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: region_backend_services_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - region_backend_services_iam_policies - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an region_backend_services_iam_policy resource or lists region_backend_services_iam_policies in a region ## Overview @@ -31,13 +33,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | Name | Datatype | Description | |:-----|:---------|:------------| | | `string` | This is deprecated and has no effect. Do not use. | -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. May be empty if no such policy or resource exists. | -| | `EXEC` | | Gets the access control policy for a resource. May be empty if no such policy or resource exists. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. | + +## `SELECT` examples + +Gets the access control policy for a resource. May be empty if no such policy or resource exists. + +```sql +SELECT +bindingId, +condition, +members, +role +FROM google.compute.region_backend_services_iam_policies +WHERE project = '{{ project }}' +AND region = '{{ region }}' +AND resource = '{{ resource }}'; +``` diff --git a/docs/google-docs/providers/google/compute/region_backend_services_usable/index.md b/docs/google-docs/providers/google/compute/region_backend_services_usable/index.md index 72c3c8642d..9a2ff43781 100644 --- a/docs/google-docs/providers/google/compute/region_backend_services_usable/index.md +++ b/docs/google-docs/providers/google/compute/region_backend_services_usable/index.md @@ -1,3 +1,4 @@ + --- title: region_backend_services_usable hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - region_backend_services_usable - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an region_backend_services_usable resource or lists region_backend_services_usable in a region ## Overview
@@ -53,7 +55,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] Type of resource. Always compute#backendService for backend services. | | | `string` | Specifies the load balancer type. A backend service created for one type of load balancer cannot be used with another. For more information, refer to Choosing a load balancer. | | | `array` | A list of locality load-balancing policies to be used in order of preference. When you use localityLbPolicies, you must set at least one value for either the localityLbPolicies[].policy or the localityLbPolicies[].customPolicy field. localityLbPolicies overrides any value set in the localityLbPolicy field. For an example of how to use this field, see Define a list of preferred policies. Caution: This field and its children are intended for use in a service mesh that includes gRPC clients only. Envoy proxies can't use backend services that have this configuration. | -| | `string` | The load balancing algorithm used within the scope of the locality. The possible values are: - ROUND_ROBIN: This is a simple policy in which each healthy backend is selected in round robin order. This is the default. - LEAST_REQUEST: An O(1) algorithm which selects two random healthy hosts and picks the host which has fewer active requests. - RING_HASH: The ring/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a host from a set of N hosts only affects 1/N of the requests. - RANDOM: The load balancer selects a random healthy host. - ORIGINAL_DESTINATION: Backend host is selected based on the client connection metadata, i.e., connections are opened to the same address as the destination address of the incoming connection before the connection was redirected to the load balancer. - MAGLEV: used as a drop in replacement for the ring hash load balancer. Maglev is not as stable as ring hash but has faster table lookup build times and host selection times. For more information about Maglev, see https://ai.google/research/pubs/pub44824 This field is applicable to either: - A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED, INTERNAL_MANAGED, or EXTERNAL_MANAGED. If sessionAffinity is not NONE, and this field is not set to MAGLEV or RING_HASH, session affinity settings will not take effect. Only ROUND_ROBIN and RING_HASH are supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. | +| | `string` | The load balancing algorithm used within the scope of the locality. The possible values are: - ROUND_ROBIN: This is a simple policy in which each healthy backend is selected in round robin order. This is the default. - LEAST_REQUEST: An O(1) algorithm which selects two random healthy hosts and picks the host which has fewer active requests. - RING_HASH: The ring/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a host from a set of N hosts only affects 1/N of the requests. - RANDOM: The load balancer selects a random healthy host. - ORIGINAL_DESTINATION: Backend host is selected based on the client connection metadata, i.e., connections are opened to the same address as the destination address of the incoming connection before the connection was redirected to the load balancer. - MAGLEV: used as a drop in replacement for the ring hash load balancer. Maglev is not as stable as ring hash but has faster table lookup build times and host selection times. For more information about Maglev, see https://ai.google/research/pubs/pub44824 This field is applicable to either: - A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED, INTERNAL_MANAGED, or EXTERNAL_MANAGED. If sessionAffinity is not configured—that is, if session affinity remains at the default value of NONE—then the default value for localityLbPolicy is ROUND_ROBIN. If session affinity is set to a value other than NONE, then the default value for localityLbPolicy is MAGLEV. Only ROUND_ROBIN and RING_HASH are supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. | | | `object` | The available logging options for the load balancer traffic served by this backend service. | | | `object` | A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like "day" or "month". Range is approximately 10,000 years. | | | `object` | Deployment metadata associated with the resource to be set by a GKE hub controller and read by the backend RCTH | @@ -71,8 +73,62 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Type of session affinity to use. The default is NONE. Only NONE and HEADER_FIELD are supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. For more details, see: [Session Affinity](https://cloud.google.com/load-balancing/docs/backend-service#session_affinity). | | | `object` | Subsetting configuration for this BackendService. Currently this is applicable only for Internal TCP/UDP load balancing, Internal HTTP(S) load balancing and Traffic Director. | | | `integer` | The backend service timeout has a different meaning depending on the type of load balancer. For more information see, Backend service settings. The default is 30 seconds. The full range of timeout values allowed goes from 1 through 2,147,483,647 seconds. This value can be overridden in the PathMatcher configuration of the UrlMap that references this backend service. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. Instead, use maxStreamDuration. | -| | `array` | | +| | `array` | [Output Only] List of resources referencing given backend service. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Retrieves a list of all usable backend services in the specified project in the given region. | + +## `SELECT` examples + +Retrieves a list of all usable backend services in the specified project in the given region. + +```sql +SELECT +id, +name, +description, +affinityCookieTtlSec, +backends, +cdnPolicy, +circuitBreakers, +compressionMode, +connectionDraining, +connectionTrackingPolicy, +consistentHash, +creationTimestamp, +customRequestHeaders, +customResponseHeaders, +edgeSecurityPolicy, +enableCDN, +failoverPolicy, +fingerprint, +healthChecks, +iap, +kind, +loadBalancingScheme, +localityLbPolicies, +localityLbPolicy, +logConfig, +maxStreamDuration, +metadatas, +network, +outlierDetection, +port, +portName, +protocol, +region, +securityPolicy, +securitySettings, +selfLink, +serviceBindings, +serviceLbPolicy, +sessionAffinity, +subsetting, +timeoutSec, +usedBy +FROM google.compute.region_backend_services_usable +WHERE project = '{{ project }}' +AND region = '{{ region }}'; +``` diff --git a/docs/google-docs/providers/google/compute/region_commitments/index.md b/docs/google-docs/providers/google/compute/region_commitments/index.md index 1305d10d66..6e88b9cda7 100644 --- a/docs/google-docs/providers/google/compute/region_commitments/index.md +++ b/docs/google-docs/providers/google/compute/region_commitments/index.md @@ -1,3 +1,4 @@ + --- title: region_commitments hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - region_commitments - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an region_commitment resource or lists region_commitments in a region ## Overview
@@ -51,6 +53,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] Status of the commitment with regards to eventual expiration (each commitment has an end date defined). One of the following values: NOT_YET_ACTIVE, ACTIVE, EXPIRED. | | | `string` | [Output Only] An optional, human-readable explanation of the status. | | | `string` | The type of commitment, which affects the discount rate and the eligible resources. Type MEMORY_OPTIMIZED specifies a commitment that will only apply to memory optimized machines. Type ACCELERATOR_OPTIMIZED specifies a commitment that will only apply to accelerator optimized machines. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -59,4 +62,188 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Retrieves a list of commitments contained within the specified region. | | | `INSERT` | | Creates a commitment in the specified project using the data included in the request. | | | `UPDATE` | | Updates the specified commitment with the data included in the request. Update is performed only on selected fields included as part of update-mask. Only the following fields can be modified: auto_renew. | -| | `EXEC` | | Retrieves an aggregated list of commitments by region. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. | + +## `SELECT` examples + +Retrieves an aggregated list of commitments by region. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. + +```sql +SELECT +id, +name, +description, +autoRenew, +category, +creationTimestamp, +endTimestamp, +existingReservations, +kind, +licenseResource, +mergeSourceCommitments, +plan, +region, +reservations, +resources, +selfLink, +splitSourceCommitment, +startTimestamp, +status, +statusMessage, +type +FROM google.compute.region_commitments +WHERE project = '{{ project }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new region_commitments resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.region_commitments ( +project, +region, +kind, +id, +creationTimestamp, +name, +description, +region, +selfLink, +status, +statusMessage, +plan, +startTimestamp, +endTimestamp, +resources, +type, +reservations, +category, +licenseResource, +autoRenew, +mergeSourceCommitments, +splitSourceCommitment, +existingReservations +) +SELECT +'{{ project }}', +'{{ region }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ name }}', +'{{ description }}', +'{{ region }}', +'{{ selfLink }}', +'{{ status }}', +'{{ statusMessage }}', +'{{ plan }}', +'{{ startTimestamp }}', +'{{ endTimestamp }}', +'{{ resources }}', +'{{ type }}', +'{{ reservations }}', +'{{ category }}', +'{{ licenseResource }}', +true|false, +'{{ mergeSourceCommitments }}', +'{{ splitSourceCommitment }}', +'{{ existingReservations }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: region + value: '{{ region }}' + - name: selfLink + value: '{{ selfLink }}' + - name: status + value: '{{ status }}' + - name: statusMessage + value: '{{ statusMessage }}' + - name: plan + value: '{{ plan }}' + - name: startTimestamp + value: '{{ startTimestamp }}' + - name: endTimestamp + value: '{{ endTimestamp }}' + - name: resources + value: '{{ resources }}' + - name: type + value: '{{ type }}' + - name: reservations + value: '{{ reservations }}' + - name: category + value: '{{ category }}' + - name: licenseResource + value: '{{ licenseResource }}' + - name: autoRenew + value: '{{ autoRenew }}' + - name: mergeSourceCommitments + value: '{{ mergeSourceCommitments }}' + - name: splitSourceCommitment + value: '{{ splitSourceCommitment }}' + - name: existingReservations + value: '{{ existingReservations }}' + +``` + + + +## `UPDATE` example + +Updates a region_commitment only if the necessary resources are available. + +```sql +UPDATE google.compute.region_commitments +SET +kind = '{{ kind }}', +id = '{{ id }}', +creationTimestamp = '{{ creationTimestamp }}', +name = '{{ name }}', +description = '{{ description }}', +region = '{{ region }}', +selfLink = '{{ selfLink }}', +status = '{{ status }}', +statusMessage = '{{ statusMessage }}', +plan = '{{ plan }}', +startTimestamp = '{{ startTimestamp }}', +endTimestamp = '{{ endTimestamp }}', +resources = '{{ resources }}', +type = '{{ type }}', +reservations = '{{ reservations }}', +category = '{{ category }}', +licenseResource = '{{ licenseResource }}', +autoRenew = true|false, +mergeSourceCommitments = '{{ mergeSourceCommitments }}', +splitSourceCommitment = '{{ splitSourceCommitment }}', +existingReservations = '{{ existingReservations }}' +WHERE +commitment = '{{ commitment }}' +AND project = '{{ project }}' +AND region = '{{ region }}'; +``` diff --git a/docs/google-docs/providers/google/compute/region_disk_types/index.md b/docs/google-docs/providers/google/compute/region_disk_types/index.md index defebc2660..be58ed0a6e 100644 --- a/docs/google-docs/providers/google/compute/region_disk_types/index.md +++ b/docs/google-docs/providers/google/compute/region_disk_types/index.md @@ -1,3 +1,4 @@ + --- title: region_disk_types hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - region_disk_types - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an region_disk_type resource or lists region_disk_types in a region ## Overview
@@ -41,8 +43,31 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] Server-defined URL for the resource. | | | `string` | [Output Only] An optional textual description of the valid disk size, such as "10GB-10TB". | | | `string` | [Output Only] URL of the zone where the disk type resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Returns the specified regional disk type. | | | `SELECT` | | Retrieves a list of regional disk types available to the specified project. | + +## `SELECT` examples + +Retrieves a list of regional disk types available to the specified project. + +```sql +SELECT +id, +name, +description, +creationTimestamp, +defaultDiskSizeGb, +deprecated, +kind, +region, +selfLink, +validDiskSize, +zone +FROM google.compute.region_disk_types +WHERE project = '{{ project }}' +AND region = '{{ region }}'; +``` diff --git a/docs/google-docs/providers/google/compute/region_disks/index.md b/docs/google-docs/providers/google/compute/region_disks/index.md index 46eb8a709c..e130eb216d 100644 --- a/docs/google-docs/providers/google/compute/region_disks/index.md +++ b/docs/google-docs/providers/google/compute/region_disks/index.md @@ -1,3 +1,4 @@ + --- title: region_disks hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - region_disks - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an region_disk resource or lists region_disks in a region ## Overview
@@ -80,17 +82,193 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | URL of the disk type resource describing which disk type to use to create the disk. Provide this when creating the disk. For example: projects/project /zones/zone/diskTypes/pd-ssd . See Persistent disk types. | | | `array` | [Output Only] Links to the users of the disk (attached instances) in form: projects/project/zones/zone/instances/instance | | | `string` | [Output Only] URL of the zone where the disk resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Returns a specified regional persistent disk. | | | `SELECT` | | Retrieves the list of persistent disks contained within the specified region. | +| | `INSERT` | | Bulk create a set of disks. | | | `INSERT` | | Creates a persistent regional disk in the specified project using the data included in the request. | | | `DELETE` | | Deletes the specified regional persistent disk. Deleting a regional disk removes all the replicas of its data permanently and is irreversible. However, deleting a disk does not delete any snapshots previously made from the disk. You must separately delete snapshots. | | | `UPDATE` | | Update the specified disk with the data included in the request. Update is performed only on selected fields included as part of update-mask. Only the following fields can be modified: user_license. | -| | `EXEC` | | Bulk create a set of disks. | | | `EXEC` | | Resizes the specified regional persistent disk. | | | `EXEC` | | Sets the labels on the target regional disk. | | | `EXEC` | | Starts asynchronous replication. Must be invoked on the primary disk. | | | `EXEC` | | Stops asynchronous replication. Can be invoked either on the primary or on the secondary disk. | | | `EXEC` | | Stops asynchronous replication for a consistency group of disks. Can be invoked either in the primary or secondary scope. | + +## `SELECT` examples + +Retrieves the list of persistent disks contained within the specified region. + +```sql +SELECT +id, +name, +description, +accessMode, +architecture, +asyncPrimaryDisk, +asyncSecondaryDisks, +creationTimestamp, +diskEncryptionKey, +enableConfidentialCompute, +guestOsFeatures, +kind, +labelFingerprint, +labels, +lastAttachTimestamp, +lastDetachTimestamp, +licenseCodes, +licenses, +locationHint, +options, +params, +physicalBlockSizeBytes, +provisionedIops, +provisionedThroughput, +region, +replicaZones, +resourcePolicies, +resourceStatus, +satisfiesPzi, +satisfiesPzs, +selfLink, +sizeGb, +sourceConsistencyGroupPolicy, +sourceConsistencyGroupPolicyId, +sourceDisk, +sourceDiskId, +sourceImage, +sourceImageEncryptionKey, +sourceImageId, +sourceInstantSnapshot, +sourceInstantSnapshotId, +sourceSnapshot, +sourceSnapshotEncryptionKey, +sourceSnapshotId, +sourceStorageObject, +status, +storagePool, +type, +users, +zone +FROM google.compute.region_disks +WHERE project = '{{ project }}' +AND region = '{{ region }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new region_disks resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.region_disks ( +project, +region, +sourceConsistencyGroupPolicy +) +SELECT +'{{ project }}', +'{{ region }}', +'{{ sourceConsistencyGroupPolicy }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: sourceConsistencyGroupPolicy + value: '{{ sourceConsistencyGroupPolicy }}' + +``` + + + +## `UPDATE` example + +Updates a region_disk only if the necessary resources are available. + +```sql +UPDATE google.compute.region_disks +SET +kind = '{{ kind }}', +id = '{{ id }}', +creationTimestamp = '{{ creationTimestamp }}', +name = '{{ name }}', +description = '{{ description }}', +sizeGb = '{{ sizeGb }}', +zone = '{{ zone }}', +status = '{{ status }}', +sourceSnapshot = '{{ sourceSnapshot }}', +sourceSnapshotId = '{{ sourceSnapshotId }}', +sourceStorageObject = '{{ sourceStorageObject }}', +options = '{{ options }}', +selfLink = '{{ selfLink }}', +sourceImage = '{{ sourceImage }}', +sourceImageId = '{{ sourceImageId }}', +type = '{{ type }}', +licenses = '{{ licenses }}', +guestOsFeatures = '{{ guestOsFeatures }}', +lastAttachTimestamp = '{{ lastAttachTimestamp }}', +lastDetachTimestamp = '{{ lastDetachTimestamp }}', +users = '{{ users }}', +diskEncryptionKey = '{{ diskEncryptionKey }}', +sourceImageEncryptionKey = '{{ sourceImageEncryptionKey }}', +sourceSnapshotEncryptionKey = '{{ sourceSnapshotEncryptionKey }}', +labels = '{{ labels }}', +labelFingerprint = '{{ labelFingerprint }}', +region = '{{ region }}', +replicaZones = '{{ replicaZones }}', +licenseCodes = '{{ licenseCodes }}', +physicalBlockSizeBytes = '{{ physicalBlockSizeBytes }}', +resourcePolicies = '{{ resourcePolicies }}', +sourceDisk = '{{ sourceDisk }}', +sourceDiskId = '{{ sourceDiskId }}', +provisionedIops = '{{ provisionedIops }}', +provisionedThroughput = '{{ provisionedThroughput }}', +enableConfidentialCompute = true|false, +sourceInstantSnapshot = '{{ sourceInstantSnapshot }}', +sourceInstantSnapshotId = '{{ sourceInstantSnapshotId }}', +satisfiesPzs = true|false, +satisfiesPzi = true|false, +locationHint = '{{ locationHint }}', +storagePool = '{{ storagePool }}', +accessMode = '{{ accessMode }}', +asyncPrimaryDisk = '{{ asyncPrimaryDisk }}', +asyncSecondaryDisks = '{{ asyncSecondaryDisks }}', +resourceStatus = '{{ resourceStatus }}', +sourceConsistencyGroupPolicy = '{{ sourceConsistencyGroupPolicy }}', +sourceConsistencyGroupPolicyId = '{{ sourceConsistencyGroupPolicyId }}', +architecture = '{{ architecture }}', +params = '{{ params }}' +WHERE +disk = '{{ disk }}' +AND project = '{{ project }}' +AND region = '{{ region }}'; +``` + +## `DELETE` example + +Deletes the specified region_disk resource. + +```sql +DELETE FROM google.compute.region_disks +WHERE disk = '{{ disk }}' +AND project = '{{ project }}' +AND region = '{{ region }}'; +``` diff --git a/docs/google-docs/providers/google/compute/region_disks_iam_policies/index.md b/docs/google-docs/providers/google/compute/region_disks_iam_policies/index.md index 9a10713fc2..73e973406d 100644 --- a/docs/google-docs/providers/google/compute/region_disks_iam_policies/index.md +++ b/docs/google-docs/providers/google/compute/region_disks_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: region_disks_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - region_disks_iam_policies - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an region_disks_iam_policy resource or lists region_disks_iam_policies in a region ## Overview
@@ -31,13 +33,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | Name | Datatype | Description | |:-----|:---------|:------------| | | `string` | This is deprecated and has no effect. Do not use. | -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. May be empty if no such policy or resource exists. | -| | `EXEC` | | Gets the access control policy for a resource. May be empty if no such policy or resource exists. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. | + +## `SELECT` examples + +Gets the access control policy for a resource. May be empty if no such policy or resource exists. + +```sql +SELECT +bindingId, +condition, +members, +role +FROM google.compute.region_disks_iam_policies +WHERE project = '{{ project }}' +AND region = '{{ region }}' +AND resource = '{{ resource }}'; +``` diff --git a/docs/google-docs/providers/google/compute/region_disks_resource_policies/index.md b/docs/google-docs/providers/google/compute/region_disks_resource_policies/index.md index 0d62d33869..9e4651e818 100644 --- a/docs/google-docs/providers/google/compute/region_disks_resource_policies/index.md +++ b/docs/google-docs/providers/google/compute/region_disks_resource_policies/index.md @@ -1,3 +1,4 @@ + --- title: region_disks_resource_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - region_disks_resource_policies - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an region_disks_resource_policy resource or lists region_disks_resource_policies in a region ## Overview
@@ -28,9 +30,64 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| -| | `EXEC` | | Adds existing resource policies to a regional disk. You can only add one policy which will be applied to this disk for scheduling snapshot creation. | -| | `EXEC` | | Removes resource policies from a regional disk. | +| | `INSERT` | | Adds existing resource policies to a regional disk. You can only add one policy which will be applied to this disk for scheduling snapshot creation. | +| | `DELETE` | | Removes resource policies from a regional disk. | + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new region_disks_resource_policies resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.region_disks_resource_policies ( +disk, +project, +region, +resourcePolicies +) +SELECT +'{{ disk }}', +'{{ project }}', +'{{ region }}', +'{{ resourcePolicies }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: resourcePolicies + value: '{{ resourcePolicies }}' + +``` + + + +## `DELETE` example + +Deletes the specified region_disks_resource_policy resource. + +```sql +DELETE FROM google.compute.region_disks_resource_policies +WHERE disk = '{{ disk }}' +AND project = '{{ project }}' +AND region = '{{ region }}'; +``` diff --git a/docs/google-docs/providers/google/compute/region_disks_snapshot/index.md b/docs/google-docs/providers/google/compute/region_disks_snapshot/index.md index 9b6ff6f00c..f4f9dfb428 100644 --- a/docs/google-docs/providers/google/compute/region_disks_snapshot/index.md +++ b/docs/google-docs/providers/google/compute/region_disks_snapshot/index.md @@ -1,3 +1,4 @@ + --- title: region_disks_snapshot hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - region_disks_snapshot - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an region_disks_snapshot resource or lists region_disks_snapshot in a region ## Overview @@ -28,8 +30,192 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `INSERT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `INSERT` | | Creates a snapshot of a specified persistent disk. For regular snapshot creation, consider using snapshots.insert instead, as that method supports more features, such as creating snapshots in a project different from the source disk project. | + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new region_disks_snapshot resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.region_disks_snapshot ( +disk, +project, +region, +kind, +id, +creationTimestamp, +name, +description, +status, +sourceDisk, +sourceDiskId, +diskSizeGb, +storageBytes, +storageBytesStatus, +licenses, +snapshotEncryptionKey, +sourceDiskEncryptionKey, +selfLink, +labels, +labelFingerprint, +licenseCodes, +storageLocations, +autoCreated, +guestOsFeatures, +downloadBytes, +chainName, +satisfiesPzs, +locationHint, +sourceSnapshotSchedulePolicy, +sourceSnapshotSchedulePolicyId, +sourceInstantSnapshot, +sourceInstantSnapshotId, +architecture, +snapshotType, +creationSizeBytes, +enableConfidentialCompute, +sourceDiskForRecoveryCheckpoint, +sourceInstantSnapshotEncryptionKey, +satisfiesPzi +) +SELECT +'{{ disk }}', +'{{ project }}', +'{{ region }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ name }}', +'{{ description }}', +'{{ status }}', +'{{ sourceDisk }}', +'{{ sourceDiskId }}', +'{{ diskSizeGb }}', +'{{ storageBytes }}', +'{{ storageBytesStatus }}', +'{{ licenses }}', +'{{ snapshotEncryptionKey }}', +'{{ sourceDiskEncryptionKey }}', +'{{ selfLink }}', +'{{ labels }}', +'{{ labelFingerprint }}', +'{{ licenseCodes }}', +'{{ storageLocations }}', +true|false, +'{{ guestOsFeatures }}', +'{{ downloadBytes }}', +'{{ chainName }}', +true|false, +'{{ locationHint }}', +'{{ sourceSnapshotSchedulePolicy }}', +'{{ sourceSnapshotSchedulePolicyId }}', +'{{ sourceInstantSnapshot }}', +'{{ sourceInstantSnapshotId }}', +'{{ architecture }}', +'{{ snapshotType }}', +'{{ creationSizeBytes }}', +true|false, +'{{ sourceDiskForRecoveryCheckpoint }}', +'{{ sourceInstantSnapshotEncryptionKey }}', +true|false +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: status + value: '{{ status }}' + - name: sourceDisk + value: '{{ sourceDisk }}' + - name: sourceDiskId + value: '{{ sourceDiskId }}' + - name: diskSizeGb + value: '{{ diskSizeGb }}' + - name: storageBytes + value: '{{ storageBytes }}' + - name: storageBytesStatus + value: '{{ storageBytesStatus }}' + - name: licenses + value: '{{ licenses }}' + - name: snapshotEncryptionKey + value: '{{ snapshotEncryptionKey }}' + - name: sourceDiskEncryptionKey + value: '{{ sourceDiskEncryptionKey }}' + - name: selfLink + value: '{{ selfLink }}' + - name: labels + value: '{{ labels }}' + - name: labelFingerprint + value: '{{ labelFingerprint }}' + - name: licenseCodes + value: '{{ licenseCodes }}' + - name: storageLocations + value: '{{ storageLocations }}' + - name: autoCreated + value: '{{ autoCreated }}' + - name: guestOsFeatures + value: '{{ guestOsFeatures }}' + - name: downloadBytes + value: '{{ downloadBytes }}' + - name: chainName + value: '{{ chainName }}' + - name: satisfiesPzs + value: '{{ satisfiesPzs }}' + - name: locationHint + value: '{{ locationHint }}' + - name: sourceSnapshotSchedulePolicy + value: '{{ sourceSnapshotSchedulePolicy }}' + - name: sourceSnapshotSchedulePolicyId + value: '{{ sourceSnapshotSchedulePolicyId }}' + - name: sourceInstantSnapshot + value: '{{ sourceInstantSnapshot }}' + - name: sourceInstantSnapshotId + value: '{{ sourceInstantSnapshotId }}' + - name: architecture + value: '{{ architecture }}' + - name: snapshotType + value: '{{ snapshotType }}' + - name: creationSizeBytes + value: '{{ creationSizeBytes }}' + - name: enableConfidentialCompute + value: '{{ enableConfidentialCompute }}' + - name: sourceDiskForRecoveryCheckpoint + value: '{{ sourceDiskForRecoveryCheckpoint }}' + - name: sourceInstantSnapshotEncryptionKey + value: '{{ sourceInstantSnapshotEncryptionKey }}' + - name: satisfiesPzi + value: '{{ satisfiesPzi }}' + +``` + + diff --git a/docs/google-docs/providers/google/compute/region_health_check_services/index.md b/docs/google-docs/providers/google/compute/region_health_check_services/index.md index aaeb44f16a..cd4103c02b 100644 --- a/docs/google-docs/providers/google/compute/region_health_check_services/index.md +++ b/docs/google-docs/providers/google/compute/region_health_check_services/index.md @@ -1,3 +1,4 @@ + --- title: region_health_check_services hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - region_health_check_services - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an region_health_check_service resource or lists region_health_check_services in a region ## Overview @@ -42,6 +44,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `array` | A list of URLs to the NotificationEndpoint resources. Must not have more than 10. A list of endpoints for receiving notifications of change in health status. For regional HealthCheckService, NotificationEndpoint must be regional and in the same region. For global HealthCheckService, NotificationEndpoint must be global. | | | `string` | [Output Only] URL of the region where the health check service resides. This field is not applicable to global health check services. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body. | | | `string` | [Output Only] Server-defined URL for the resource. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -50,3 +53,146 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a regional HealthCheckService resource in the specified project and region using the data included in the request. | | | `DELETE` | | Deletes the specified regional HealthCheckService. | | | `UPDATE` | | Updates the specified regional HealthCheckService resource with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules. | + +## `SELECT` examples + +Lists all the HealthCheckService resources that have been configured for the specified project in the given region. + +```sql +SELECT +id, +name, +description, +creationTimestamp, +fingerprint, +healthChecks, +healthStatusAggregationPolicy, +kind, +networkEndpointGroups, +notificationEndpoints, +region, +selfLink +FROM google.compute.region_health_check_services +WHERE project = '{{ project }}' +AND region = '{{ region }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new region_health_check_services resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.region_health_check_services ( +project, +region, +kind, +id, +creationTimestamp, +selfLink, +name, +description, +region, +healthStatusAggregationPolicy, +healthChecks, +networkEndpointGroups, +notificationEndpoints, +fingerprint +) +SELECT +'{{ project }}', +'{{ region }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ selfLink }}', +'{{ name }}', +'{{ description }}', +'{{ region }}', +'{{ healthStatusAggregationPolicy }}', +'{{ healthChecks }}', +'{{ networkEndpointGroups }}', +'{{ notificationEndpoints }}', +'{{ fingerprint }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: selfLink + value: '{{ selfLink }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: region + value: '{{ region }}' + - name: healthStatusAggregationPolicy + value: '{{ healthStatusAggregationPolicy }}' + - name: healthChecks + value: '{{ healthChecks }}' + - name: networkEndpointGroups + value: '{{ networkEndpointGroups }}' + - name: notificationEndpoints + value: '{{ notificationEndpoints }}' + - name: fingerprint + value: '{{ fingerprint }}' + +``` + + + +## `UPDATE` example + +Updates a region_health_check_service only if the necessary resources are available. + +```sql +UPDATE google.compute.region_health_check_services +SET +kind = '{{ kind }}', +id = '{{ id }}', +creationTimestamp = '{{ creationTimestamp }}', +selfLink = '{{ selfLink }}', +name = '{{ name }}', +description = '{{ description }}', +region = '{{ region }}', +healthStatusAggregationPolicy = '{{ healthStatusAggregationPolicy }}', +healthChecks = '{{ healthChecks }}', +networkEndpointGroups = '{{ networkEndpointGroups }}', +notificationEndpoints = '{{ notificationEndpoints }}', +fingerprint = '{{ fingerprint }}' +WHERE +healthCheckService = '{{ healthCheckService }}' +AND project = '{{ project }}' +AND region = '{{ region }}'; +``` + +## `DELETE` example + +Deletes the specified region_health_check_service resource. + +```sql +DELETE FROM google.compute.region_health_check_services +WHERE healthCheckService = '{{ healthCheckService }}' +AND project = '{{ project }}' +AND region = '{{ region }}'; +``` diff --git a/docs/google-docs/providers/google/compute/region_health_checks/index.md b/docs/google-docs/providers/google/compute/region_health_checks/index.md index e1c0844b5b..3d69e18b58 100644 --- a/docs/google-docs/providers/google/compute/region_health_checks/index.md +++ b/docs/google-docs/providers/google/compute/region_health_checks/index.md @@ -1,3 +1,4 @@ + --- title: region_health_checks hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - region_health_checks - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an region_health_check resource or lists region_health_checks in a region ## Overview
@@ -44,11 +46,13 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Configuration of logging on a health check. If logging is enabled, logs will be exported to Stackdriver. | | | `string` | [Output Only] Region where the health check resides. Not applicable to global health checks. | | | `string` | [Output Only] Server-defined URL for the resource. | +| | `array` | The list of cloud regions from which health checks are performed. If any regions are specified, then exactly 3 regions should be specified. The region names must be valid names of Google Cloud regions. This can only be set for global health check. If this list is non-empty, then there are restrictions on what other health check fields are supported and what other resources can use this health check: - SSL, HTTP2, and GRPC protocols are not supported. - The TCP request field is not supported. - The proxyHeader field for HTTP, HTTPS, and TCP is not supported. - The checkIntervalSec field must be at least 30. - The health check cannot be used with BackendService nor with managed instance group auto-healing. | | | `object` | | | | `object` | | | | `integer` | How long (in seconds) to wait before claiming failure. The default value is 5 seconds. It is invalid for timeoutSec to have greater value than checkIntervalSec. | | | `string` | Specifies the type of the healthCheck, either TCP, SSL, HTTP, HTTPS, HTTP2 or GRPC. Exactly one of the protocol-specific health check fields must be specified, which must match type field. | | | `integer` | A so-far healthy instance will be marked unhealthy after this many consecutive failures. The default value is 2. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -57,4 +61,195 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a HealthCheck resource in the specified project using the data included in the request. | | | `DELETE` | | Deletes the specified HealthCheck resource. | | | `UPDATE` | | Updates a HealthCheck resource in the specified project using the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules. | -| | `UPDATE` | | Updates a HealthCheck resource in the specified project using the data included in the request. | +| | `EXEC` | | Updates a HealthCheck resource in the specified project using the data included in the request. | + +## `SELECT` examples + +Retrieves the list of HealthCheck resources available to the specified project. + +```sql +SELECT +id, +name, +description, +checkIntervalSec, +creationTimestamp, +grpcHealthCheck, +healthyThreshold, +http2HealthCheck, +httpHealthCheck, +httpsHealthCheck, +kind, +logConfig, +region, +selfLink, +sourceRegions, +sslHealthCheck, +tcpHealthCheck, +timeoutSec, +type, +unhealthyThreshold +FROM google.compute.region_health_checks +WHERE project = '{{ project }}' +AND region = '{{ region }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new region_health_checks resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.region_health_checks ( +project, +region, +kind, +id, +creationTimestamp, +name, +description, +checkIntervalSec, +timeoutSec, +unhealthyThreshold, +healthyThreshold, +type, +tcpHealthCheck, +sslHealthCheck, +httpHealthCheck, +httpsHealthCheck, +http2HealthCheck, +grpcHealthCheck, +sourceRegions, +selfLink, +region, +logConfig +) +SELECT +'{{ project }}', +'{{ region }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ name }}', +'{{ description }}', +'{{ checkIntervalSec }}', +'{{ timeoutSec }}', +'{{ unhealthyThreshold }}', +'{{ healthyThreshold }}', +'{{ type }}', +'{{ tcpHealthCheck }}', +'{{ sslHealthCheck }}', +'{{ httpHealthCheck }}', +'{{ httpsHealthCheck }}', +'{{ http2HealthCheck }}', +'{{ grpcHealthCheck }}', +'{{ sourceRegions }}', +'{{ selfLink }}', +'{{ region }}', +'{{ logConfig }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: checkIntervalSec + value: '{{ checkIntervalSec }}' + - name: timeoutSec + value: '{{ timeoutSec }}' + - name: unhealthyThreshold + value: '{{ unhealthyThreshold }}' + - name: healthyThreshold + value: '{{ healthyThreshold }}' + - name: type + value: '{{ type }}' + - name: tcpHealthCheck + value: '{{ tcpHealthCheck }}' + - name: sslHealthCheck + value: '{{ sslHealthCheck }}' + - name: httpHealthCheck + value: '{{ httpHealthCheck }}' + - name: httpsHealthCheck + value: '{{ httpsHealthCheck }}' + - name: http2HealthCheck + value: '{{ http2HealthCheck }}' + - name: grpcHealthCheck + value: '{{ grpcHealthCheck }}' + - name: sourceRegions + value: '{{ sourceRegions }}' + - name: selfLink + value: '{{ selfLink }}' + - name: region + value: '{{ region }}' + - name: logConfig + value: '{{ logConfig }}' + +``` + + + +## `UPDATE` example + +Updates a region_health_check only if the necessary resources are available. + +```sql +UPDATE google.compute.region_health_checks +SET +kind = '{{ kind }}', +id = '{{ id }}', +creationTimestamp = '{{ creationTimestamp }}', +name = '{{ name }}', +description = '{{ description }}', +checkIntervalSec = '{{ checkIntervalSec }}', +timeoutSec = '{{ timeoutSec }}', +unhealthyThreshold = '{{ unhealthyThreshold }}', +healthyThreshold = '{{ healthyThreshold }}', +type = '{{ type }}', +tcpHealthCheck = '{{ tcpHealthCheck }}', +sslHealthCheck = '{{ sslHealthCheck }}', +httpHealthCheck = '{{ httpHealthCheck }}', +httpsHealthCheck = '{{ httpsHealthCheck }}', +http2HealthCheck = '{{ http2HealthCheck }}', +grpcHealthCheck = '{{ grpcHealthCheck }}', +sourceRegions = '{{ sourceRegions }}', +selfLink = '{{ selfLink }}', +region = '{{ region }}', +logConfig = '{{ logConfig }}' +WHERE +healthCheck = '{{ healthCheck }}' +AND project = '{{ project }}' +AND region = '{{ region }}'; +``` + +## `DELETE` example + +Deletes the specified region_health_check resource. + +```sql +DELETE FROM google.compute.region_health_checks +WHERE healthCheck = '{{ healthCheck }}' +AND project = '{{ project }}' +AND region = '{{ region }}'; +``` diff --git a/docs/google-docs/providers/google/compute/region_instance_group_managers/index.md b/docs/google-docs/providers/google/compute/region_instance_group_managers/index.md index f0cd8d5ec5..4436ff8e3b 100644 --- a/docs/google-docs/providers/google/compute/region_instance_group_managers/index.md +++ b/docs/google-docs/providers/google/compute/region_instance_group_managers/index.md @@ -1,3 +1,4 @@ + --- title: region_instance_group_managers hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - region_instance_group_managers - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an region_instance_group_manager resource or lists region_instance_group_managers in a region ## Overview
@@ -35,7 +37,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | An optional description of this resource. | | | `object` | | | | `array` | The autohealing policy for this managed instance group. You can specify only one value. | -| | `string` | The base instance name to use for instances in this group. The value must be 1-58 characters long. Instances are named by appending a hyphen and a random four-character string to the base instance name. The base instance name must comply with RFC1035. | +| | `string` | The base instance name is a prefix that you want to attach to the names of all VMs in a MIG. The maximum character length is 58 and the name must comply with RFC1035 format. When a VM is created in the group, the MIG appends a hyphen and a random four-character string to the base instance name. If you want the MIG to assign sequential numbers instead of a random string, then end the base instance name with a hyphen followed by one or more hash symbols. The hash symbols indicate the number of digits. For example, a base instance name of "vm-###" results in "vm-001" as a VM name. @pattern [a-z](([-a-z0-9]{0,57})|([-a-z0-9]{0,51}-#{1,10}(\\[[0-9]{1,10}\\])?)) | | | `string` | [Output Only] The creation timestamp for this managed instance group in RFC3339 text format. | | | `object` | | | | `object` | | @@ -57,6 +59,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | | | | `array` | Specifies the instance templates used by this managed instance group to create instances. Each version is defined by an instanceTemplate and a name. Every version can appear at most once per instance group. This field overrides the top-level instanceTemplate field. Read more about the relationships between these fields. Exactly one version must leave the targetSize field unset. That version will be applied to all remaining instances. For more information, read about canary updates. | | | `string` | [Output Only] The URL of a zone where the managed instance group is located (for zonal resources). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -65,10 +68,243 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a managed instance group using the information that you specify in the request. After the group is created, instances in the group are created using the specified instance template. This operation is marked as DONE when the group is created even if the instances in the group have not yet been created. You must separately verify the status of the individual instances with the listmanagedinstances method. A regional managed instance group can contain up to 2000 instances. | | | `DELETE` | | Deletes the specified managed instance group and all of the instances in that group. | | | `UPDATE` | | Updates a managed instance group using the information that you specify in the request. This operation is marked as DONE when the group is patched even if the instances in the group are still in the process of being patched. You must separately verify the status of the individual instances with the listmanagedinstances method. This method supports PATCH semantics and uses the JSON merge patch format and processing rules. If you update your group to specify a new template or instance configuration, it's possible that your intended specification for each VM in the group is different from the current state of that VM. To learn how to apply an updated configuration to the VMs in a MIG, see Updating instances in a MIG. | +| | `UPDATE` | | Inserts or patches per-instance configurations for the managed instance group. perInstanceConfig.name serves as a key used to distinguish whether to perform insert or patch. | | | `EXEC` | | Flags the specified instances to be immediately removed from the managed instance group. Abandoning an instance does not delete the instance, but it does remove the instance from any target pools that are applied by the managed instance group. This method reduces the targetSize of the managed instance group by the number of instances that you abandon. This operation is marked as DONE when the action is scheduled even if the instances have not yet been removed from the group. You must separately verify the status of the abandoning action with the listmanagedinstances method. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted. You can specify a maximum of 1000 instances with this method per request. | | | `EXEC` | | Apply updates to selected instances the managed instance group. | -| | `EXEC` | | Inserts or patches per-instance configurations for the managed instance group. perInstanceConfig.name serves as a key used to distinguish whether to perform insert or patch. | | | `EXEC` | | Flags the specified VM instances in the managed instance group to be immediately recreated. Each instance is recreated using the group's current configuration. This operation is marked as DONE when the flag is set even if the instances have not yet been recreated. You must separately verify the status of each instance by checking its currentAction field; for more information, see Checking the status of managed instances. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted. You can specify a maximum of 1000 instances with this method per request. | | | `EXEC` | | Changes the intended size of the managed instance group. If you increase the size, the group creates new instances using the current instance template. If you decrease the size, the group deletes one or more instances. The resize operation is marked DONE if the resize request is successful. The underlying actions take additional time. You must separately verify the status of the creating or deleting actions with the listmanagedinstances method. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted. | | | `EXEC` | | Sets the instance template to use when creating new instances or recreating instances in this group. Existing instances are not affected. | | | `EXEC` | | Modifies the target pools to which all new instances in this group are assigned. Existing instances in the group are not affected. | + +## `SELECT` examples + +Retrieves the list of managed instance groups that are contained within the specified region. + +```sql +SELECT +id, +name, +description, +allInstancesConfig, +autoHealingPolicies, +baseInstanceName, +creationTimestamp, +currentActions, +distributionPolicy, +fingerprint, +instanceGroup, +instanceLifecyclePolicy, +instanceTemplate, +kind, +listManagedInstancesResults, +namedPorts, +region, +satisfiesPzi, +satisfiesPzs, +selfLink, +statefulPolicy, +status, +targetPools, +targetSize, +updatePolicy, +versions, +zone +FROM google.compute.region_instance_group_managers +WHERE project = '{{ project }}' +AND region = '{{ region }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new region_instance_group_managers resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.region_instance_group_managers ( +project, +region, +kind, +id, +creationTimestamp, +name, +description, +zone, +region, +distributionPolicy, +instanceTemplate, +versions, +allInstancesConfig, +instanceGroup, +targetPools, +baseInstanceName, +fingerprint, +currentActions, +status, +targetSize, +listManagedInstancesResults, +selfLink, +autoHealingPolicies, +updatePolicy, +namedPorts, +statefulPolicy, +instanceLifecyclePolicy, +satisfiesPzi, +satisfiesPzs +) +SELECT +'{{ project }}', +'{{ region }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ name }}', +'{{ description }}', +'{{ zone }}', +'{{ region }}', +'{{ distributionPolicy }}', +'{{ instanceTemplate }}', +'{{ versions }}', +'{{ allInstancesConfig }}', +'{{ instanceGroup }}', +'{{ targetPools }}', +'{{ baseInstanceName }}', +'{{ fingerprint }}', +'{{ currentActions }}', +'{{ status }}', +'{{ targetSize }}', +'{{ listManagedInstancesResults }}', +'{{ selfLink }}', +'{{ autoHealingPolicies }}', +'{{ updatePolicy }}', +'{{ namedPorts }}', +'{{ statefulPolicy }}', +'{{ instanceLifecyclePolicy }}', +true|false, +true|false +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: zone + value: '{{ zone }}' + - name: region + value: '{{ region }}' + - name: distributionPolicy + value: '{{ distributionPolicy }}' + - name: instanceTemplate + value: '{{ instanceTemplate }}' + - name: versions + value: '{{ versions }}' + - name: allInstancesConfig + value: '{{ allInstancesConfig }}' + - name: instanceGroup + value: '{{ instanceGroup }}' + - name: targetPools + value: '{{ targetPools }}' + - name: baseInstanceName + value: '{{ baseInstanceName }}' + - name: fingerprint + value: '{{ fingerprint }}' + - name: currentActions + value: '{{ currentActions }}' + - name: status + value: '{{ status }}' + - name: targetSize + value: '{{ targetSize }}' + - name: listManagedInstancesResults + value: '{{ listManagedInstancesResults }}' + - name: selfLink + value: '{{ selfLink }}' + - name: autoHealingPolicies + value: '{{ autoHealingPolicies }}' + - name: updatePolicy + value: '{{ updatePolicy }}' + - name: namedPorts + value: '{{ namedPorts }}' + - name: statefulPolicy + value: '{{ statefulPolicy }}' + - name: instanceLifecyclePolicy + value: '{{ instanceLifecyclePolicy }}' + - name: satisfiesPzi + value: '{{ satisfiesPzi }}' + - name: satisfiesPzs + value: '{{ satisfiesPzs }}' + +``` + + + +## `UPDATE` example + +Updates a region_instance_group_manager only if the necessary resources are available. + +```sql +UPDATE google.compute.region_instance_group_managers +SET +kind = '{{ kind }}', +id = '{{ id }}', +creationTimestamp = '{{ creationTimestamp }}', +name = '{{ name }}', +description = '{{ description }}', +zone = '{{ zone }}', +region = '{{ region }}', +distributionPolicy = '{{ distributionPolicy }}', +instanceTemplate = '{{ instanceTemplate }}', +versions = '{{ versions }}', +allInstancesConfig = '{{ allInstancesConfig }}', +instanceGroup = '{{ instanceGroup }}', +targetPools = '{{ targetPools }}', +baseInstanceName = '{{ baseInstanceName }}', +fingerprint = '{{ fingerprint }}', +currentActions = '{{ currentActions }}', +status = '{{ status }}', +targetSize = '{{ targetSize }}', +listManagedInstancesResults = '{{ listManagedInstancesResults }}', +selfLink = '{{ selfLink }}', +autoHealingPolicies = '{{ autoHealingPolicies }}', +updatePolicy = '{{ updatePolicy }}', +namedPorts = '{{ namedPorts }}', +statefulPolicy = '{{ statefulPolicy }}', +instanceLifecyclePolicy = '{{ instanceLifecyclePolicy }}', +satisfiesPzi = true|false, +satisfiesPzs = true|false +WHERE +instanceGroupManager = '{{ instanceGroupManager }}' +AND project = '{{ project }}' +AND region = '{{ region }}'; +``` + +## `DELETE` example + +Deletes the specified region_instance_group_manager resource. + +```sql +DELETE FROM google.compute.region_instance_group_managers +WHERE instanceGroupManager = '{{ instanceGroupManager }}' +AND project = '{{ project }}' +AND region = '{{ region }}'; +``` diff --git a/docs/google-docs/providers/google/compute/region_instance_group_managers_errors/index.md b/docs/google-docs/providers/google/compute/region_instance_group_managers_errors/index.md index be9296c2a0..5868c09b1f 100644 --- a/docs/google-docs/providers/google/compute/region_instance_group_managers_errors/index.md +++ b/docs/google-docs/providers/google/compute/region_instance_group_managers_errors/index.md @@ -1,3 +1,4 @@ + --- title: region_instance_group_managers_errors hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - region_instance_group_managers_errors - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an region_instance_group_managers_error resource or lists region_instance_group_managers_errors in a region ## Overview
@@ -33,7 +35,23 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | | | | `object` | | | | `string` | [Output Only] The time that this error occurred. This value is in RFC3339 text format. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists all errors thrown by actions on instances for a given regional managed instance group. The filter and orderBy query parameters are not supported. | + +## `SELECT` examples + +Lists all errors thrown by actions on instances for a given regional managed instance group. The filter and orderBy query parameters are not supported. + +```sql +SELECT +error, +instanceActionDetails, +timestamp +FROM google.compute.region_instance_group_managers_errors +WHERE instanceGroupManager = '{{ instanceGroupManager }}' +AND project = '{{ project }}' +AND region = '{{ region }}'; +``` diff --git a/docs/google-docs/providers/google/compute/region_instance_group_managers_instances/index.md b/docs/google-docs/providers/google/compute/region_instance_group_managers_instances/index.md index d622ebb8da..33de6b4fb1 100644 --- a/docs/google-docs/providers/google/compute/region_instance_group_managers_instances/index.md +++ b/docs/google-docs/providers/google/compute/region_instance_group_managers_instances/index.md @@ -1,3 +1,4 @@ + --- title: region_instance_group_managers_instances hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - region_instance_group_managers_instances - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an region_instance_group_managers_instance resource or lists region_instance_group_managers_instances in a region ## Overview
@@ -28,9 +30,64 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `INSERT` | | Creates instances with per-instance configurations in this regional managed instance group. Instances are created using the current instance template. The create instances operation is marked DONE if the createInstances request is successful. The underlying actions take additional time. You must separately verify the status of the creating or actions with the listmanagedinstances method. | -| | `EXEC` | | Flags the specified instances in the managed instance group to be immediately deleted. The instances are also removed from any target pools of which they were a member. This method reduces the targetSize of the managed instance group by the number of instances that you delete. The deleteInstances operation is marked DONE if the deleteInstances request is successful. The underlying actions take additional time. You must separately verify the status of the deleting action with the listmanagedinstances method. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted. You can specify a maximum of 1000 instances with this method per request. | +| | `DELETE` | | Flags the specified instances in the managed instance group to be immediately deleted. The instances are also removed from any target pools of which they were a member. This method reduces the targetSize of the managed instance group by the number of instances that you delete. The deleteInstances operation is marked DONE if the deleteInstances request is successful. The underlying actions take additional time. You must separately verify the status of the deleting action with the listmanagedinstances method. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted. You can specify a maximum of 1000 instances with this method per request. | + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new region_instance_group_managers_instances resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.region_instance_group_managers_instances ( +instanceGroupManager, +project, +region, +instances +) +SELECT +'{{ instanceGroupManager }}', +'{{ project }}', +'{{ region }}', +'{{ instances }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: instances + value: '{{ instances }}' + +``` + + + +## `DELETE` example + +Deletes the specified region_instance_group_managers_instance resource. + +```sql +DELETE FROM google.compute.region_instance_group_managers_instances +WHERE instanceGroupManager = '{{ instanceGroupManager }}' +AND project = '{{ project }}' +AND region = '{{ region }}'; +``` diff --git a/docs/google-docs/providers/google/compute/region_instance_group_managers_managed_instances/index.md b/docs/google-docs/providers/google/compute/region_instance_group_managers_managed_instances/index.md index a37603b97d..63a0d440f6 100644 --- a/docs/google-docs/providers/google/compute/region_instance_group_managers_managed_instances/index.md +++ b/docs/google-docs/providers/google/compute/region_instance_group_managers_managed_instances/index.md @@ -1,3 +1,4 @@ + --- title: region_instance_group_managers_managed_instances hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - region_instance_group_managers_managed_instances - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an region_instance_group_managers_managed_instance resource or lists region_instance_group_managers_managed_instances in a region ## Overview @@ -28,8 +30,26 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `array` | A list of managed instances. | +| | `string` | [Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists the instances in the managed instance group and instances that are scheduled to be created. The list includes any current actions that the group has scheduled for its instances. The orderBy query parameter is not supported. The `pageToken` query parameter is supported only if the group's `listManagedInstancesResults` field is set to `PAGINATED`. | + +## `SELECT` examples + +Lists the instances in the managed instance group and instances that are scheduled to be created. The list includes any current actions that the group has scheduled for its instances. The orderBy query parameter is not supported. The `pageToken` query parameter is supported only if the group's `listManagedInstancesResults` field is set to `PAGINATED`. + +```sql +SELECT +managedInstances, +nextPageToken +FROM google.compute.region_instance_group_managers_managed_instances +WHERE instanceGroupManager = '{{ instanceGroupManager }}' +AND project = '{{ project }}' +AND region = '{{ region }}'; +``` diff --git a/docs/google-docs/providers/google/compute/region_instance_group_managers_per_instance_configs/index.md b/docs/google-docs/providers/google/compute/region_instance_group_managers_per_instance_configs/index.md index 19bd93e300..4526c2cfad 100644 --- a/docs/google-docs/providers/google/compute/region_instance_group_managers_per_instance_configs/index.md +++ b/docs/google-docs/providers/google/compute/region_instance_group_managers_per_instance_configs/index.md @@ -1,3 +1,4 @@ + --- title: region_instance_group_managers_per_instance_configs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - region_instance_group_managers_per_instance_configs - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an region_instance_group_managers_per_instance_config resource or lists region_instance_group_managers_per_instance_configs in a region ## Overview @@ -28,10 +30,57 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | The name of a per-instance configuration and its corresponding instance. Serves as a merge key during UpdatePerInstanceConfigs operations, that is, if a per-instance configuration with the same name exists then it will be updated, otherwise a new one will be created for the VM instance with the same name. An attempt to create a per-instance configconfiguration for a VM instance that either doesn't exist or is not part of the group will result in an error. | +| | `string` | Fingerprint of this per-instance config. This field can be used in optimistic locking. It is ignored when inserting a per-instance config. An up-to-date fingerprint must be provided in order to update an existing per-instance configuration or the field needs to be unset. | +| | `object` | Preserved state for a given instance. | +| | `string` | The status of applying this per-instance configuration on the corresponding managed instance. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| -| | `EXEC` | | Deletes selected per-instance configurations for the managed instance group. | -| | `EXEC` | | Lists all of the per-instance configurations defined for the managed instance group. The orderBy query parameter is not supported. | -| | `EXEC` | | Inserts or updates per-instance configurations for the managed instance group. perInstanceConfig.name serves as a key used to distinguish whether to perform insert or patch. | +| | `SELECT` | | Lists all of the per-instance configurations defined for the managed instance group. The orderBy query parameter is not supported. | +| | `DELETE` | | Deletes selected per-instance configurations for the managed instance group. | +| | `UPDATE` | | Inserts or updates per-instance configurations for the managed instance group. perInstanceConfig.name serves as a key used to distinguish whether to perform insert or patch. | + +## `SELECT` examples + +Lists all of the per-instance configurations defined for the managed instance group. The orderBy query parameter is not supported. + +```sql +SELECT +name, +fingerprint, +preservedState, +status +FROM google.compute.region_instance_group_managers_per_instance_configs +WHERE instanceGroupManager = '{{ instanceGroupManager }}' +AND project = '{{ project }}' +AND region = '{{ region }}'; +``` + +## `UPDATE` example + +Updates a region_instance_group_managers_per_instance_config only if the necessary resources are available. + +```sql +UPDATE google.compute.region_instance_group_managers_per_instance_configs +SET +perInstanceConfigs = '{{ perInstanceConfigs }}' +WHERE +instanceGroupManager = '{{ instanceGroupManager }}' +AND project = '{{ project }}' +AND region = '{{ region }}'; +``` + +## `DELETE` example + +Deletes the specified region_instance_group_managers_per_instance_config resource. + +```sql +DELETE FROM google.compute.region_instance_group_managers_per_instance_configs +WHERE instanceGroupManager = '{{ instanceGroupManager }}' +AND project = '{{ project }}' +AND region = '{{ region }}'; +``` diff --git a/docs/google-docs/providers/google/compute/region_instance_groups/index.md b/docs/google-docs/providers/google/compute/region_instance_groups/index.md index d99c638707..79c6ec5e9a 100644 --- a/docs/google-docs/providers/google/compute/region_instance_groups/index.md +++ b/docs/google-docs/providers/google/compute/region_instance_groups/index.md @@ -1,3 +1,4 @@ + --- title: region_instance_groups hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - region_instance_groups - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an region_instance_group resource or lists region_instance_groups in a region ## Overview @@ -36,16 +38,41 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] The creation timestamp for this instance group in RFC3339 text format. | | | `string` | [Output Only] The fingerprint of the named ports. The system uses this fingerprint to detect conflicts when multiple users change the named ports concurrently. | | | `string` | [Output Only] The resource type, which is always compute#instanceGroup for instance groups. | -| | `array` | Assigns a name to a port number. For example: {name: "http", port: 80} This allows the system to reference ports by the assigned name instead of a port number. Named ports can also contain multiple ports. For example: [{name: "app1", port: 8080}, {name: "app1", port: 8081}, {name: "app2", port: 8082}] Named ports apply to all instances in this instance group. | +| | `array` | Assigns a name to a port number. For example: {name: "http", port: 80} This allows the system to reference ports by the assigned name instead of a port number. Named ports can also contain multiple ports. For example: [{name: "app1", port: 8080}, {name: "app1", port: 8081}, {name: "app2", port: 8082}] Named ports apply to all instances in this instance group. | | | `string` | [Output Only] The URL of the network to which all instances in the instance group belong. If your instance has multiple network interfaces, then the network and subnetwork fields only refer to the network and subnet used by your primary interface (nic0). | | | `string` | [Output Only] The URL of the region where the instance group is located (for regional resources). | | | `string` | [Output Only] The URL for this instance group. The server generates this URL. | | | `integer` | [Output Only] The total number of instances in the instance group. | | | `string` | [Output Only] The URL of the subnetwork to which all instances in the instance group belong. If your instance has multiple network interfaces, then the network and subnetwork fields only refer to the network and subnet used by your primary interface (nic0). | | | `string` | [Output Only] The URL of the zone where the instance group is located (for zonal resources). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Returns the specified instance group resource. | | | `SELECT` | | Retrieves the list of instance group resources contained within the specified region. | | | `EXEC` | | Sets the named ports for the specified regional instance group. | + +## `SELECT` examples + +Retrieves the list of instance group resources contained within the specified region. + +```sql +SELECT +id, +name, +description, +creationTimestamp, +fingerprint, +kind, +namedPorts, +network, +region, +selfLink, +size, +subnetwork, +zone +FROM google.compute.region_instance_groups +WHERE project = '{{ project }}' +AND region = '{{ region }}'; +``` diff --git a/docs/google-docs/providers/google/compute/region_instance_groups_instances/index.md b/docs/google-docs/providers/google/compute/region_instance_groups_instances/index.md index f020c3d77b..b85a8a044b 100644 --- a/docs/google-docs/providers/google/compute/region_instance_groups_instances/index.md +++ b/docs/google-docs/providers/google/compute/region_instance_groups_instances/index.md @@ -1,3 +1,4 @@ + --- title: region_instance_groups_instances hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - region_instance_groups_instances - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an region_instance_groups_instance resource or lists region_instance_groups_instances in a region ## Overview
@@ -28,8 +30,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | [Output Only] The URL of the instance. | +| | `array` | [Output Only] The named ports that belong to this instance group. | +| | `string` | [Output Only] The status of the instance. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists the instances in the specified instance group and displays information about the named ports. Depending on the specified options, this method can list all instances or only the instances that are running. The orderBy query parameter is not supported. | + +## `SELECT` examples + +Lists the instances in the specified instance group and displays information about the named ports. Depending on the specified options, this method can list all instances or only the instances that are running. The orderBy query parameter is not supported. + +```sql +SELECT +instance, +namedPorts, +status +FROM google.compute.region_instance_groups_instances +WHERE instanceGroup = '{{ instanceGroup }}' +AND project = '{{ project }}' +AND region = '{{ region }}'; +``` diff --git a/docs/google-docs/providers/google/compute/region_instance_templates/index.md b/docs/google-docs/providers/google/compute/region_instance_templates/index.md index 304898e744..59fff2f914 100644 --- a/docs/google-docs/providers/google/compute/region_instance_templates/index.md +++ b/docs/google-docs/providers/google/compute/region_instance_templates/index.md @@ -1,3 +1,4 @@ + --- title: region_instance_templates hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - region_instance_templates - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an region_instance_template resource or lists region_instance_templates in a region ## Overview @@ -40,6 +42,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] The URL for this instance template. The server defines this URL. | | | `string` | The source instance used to create the template. You can provide this as a partial or full URL to the resource. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /instances/instance - projects/project/zones/zone/instances/instance | | | `object` | A specification of the parameters to use when creating the instance template from a source instance. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -47,3 +50,111 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Retrieves a list of instance templates that are contained within the specified project and region. | | | `INSERT` | | Creates an instance template in the specified project and region using the global instance template whose URL is included in the request. | | | `DELETE` | | Deletes the specified instance template. Deleting an instance template is permanent and cannot be undone. | + +## `SELECT` examples + +Retrieves a list of instance templates that are contained within the specified project and region. + +```sql +SELECT +id, +name, +description, +creationTimestamp, +kind, +properties, +region, +selfLink, +sourceInstance, +sourceInstanceParams +FROM google.compute.region_instance_templates +WHERE project = '{{ project }}' +AND region = '{{ region }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new region_instance_templates resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.region_instance_templates ( +project, +region, +kind, +id, +creationTimestamp, +name, +description, +properties, +selfLink, +sourceInstance, +sourceInstanceParams, +region +) +SELECT +'{{ project }}', +'{{ region }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ name }}', +'{{ description }}', +'{{ properties }}', +'{{ selfLink }}', +'{{ sourceInstance }}', +'{{ sourceInstanceParams }}', +'{{ region }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: properties + value: '{{ properties }}' + - name: selfLink + value: '{{ selfLink }}' + - name: sourceInstance + value: '{{ sourceInstance }}' + - name: sourceInstanceParams + value: '{{ sourceInstanceParams }}' + - name: region + value: '{{ region }}' + +``` + + + +## `DELETE` example + +Deletes the specified region_instance_template resource. + +```sql +DELETE FROM google.compute.region_instance_templates +WHERE instanceTemplate = '{{ instanceTemplate }}' +AND project = '{{ project }}' +AND region = '{{ region }}'; +``` diff --git a/docs/google-docs/providers/google/compute/region_instances/index.md b/docs/google-docs/providers/google/compute/region_instances/index.md index 79996e5be9..4a7a0b7d51 100644 --- a/docs/google-docs/providers/google/compute/region_instances/index.md +++ b/docs/google-docs/providers/google/compute/region_instances/index.md @@ -1,3 +1,4 @@ + --- title: region_instances hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - region_instances - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an region_instance resource or lists region_instances in a region ## Overview
@@ -28,8 +30,74 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `INSERT` | | Creates multiple instances in a given region. Count specifies the number of instances to create. | + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new region_instances resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.region_instances ( +project, +region, +count, +minCount, +namePattern, +perInstanceProperties, +sourceInstanceTemplate, +instanceProperties, +locationPolicy +) +SELECT +'{{ project }}', +'{{ region }}', +'{{ count }}', +'{{ minCount }}', +'{{ namePattern }}', +'{{ perInstanceProperties }}', +'{{ sourceInstanceTemplate }}', +'{{ instanceProperties }}', +'{{ locationPolicy }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: count + value: '{{ count }}' + - name: minCount + value: '{{ minCount }}' + - name: namePattern + value: '{{ namePattern }}' + - name: perInstanceProperties + value: '{{ perInstanceProperties }}' + - name: sourceInstanceTemplate + value: '{{ sourceInstanceTemplate }}' + - name: instanceProperties + value: '{{ instanceProperties }}' + - name: locationPolicy + value: '{{ locationPolicy }}' + +``` + + diff --git a/docs/google-docs/providers/google/compute/region_instant_snapshots/index.md b/docs/google-docs/providers/google/compute/region_instant_snapshots/index.md index 9c3c19c913..9c294ab08c 100644 --- a/docs/google-docs/providers/google/compute/region_instant_snapshots/index.md +++ b/docs/google-docs/providers/google/compute/region_instant_snapshots/index.md @@ -1,3 +1,4 @@ + --- title: region_instant_snapshots hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - region_instant_snapshots - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an region_instant_snapshot resource or lists region_instant_snapshots in a region ## Overview @@ -49,6 +51,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] The ID value of the disk used to create this InstantSnapshot. This value may be used to determine whether the InstantSnapshot was taken from the current or a previous instance of a given disk name. | | | `string` | [Output Only] The status of the instantSnapshot. This can be CREATING, DELETING, FAILED, or READY. | | | `string` | [Output Only] URL of the zone where the instant snapshot resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -57,3 +60,156 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates an instant snapshot in the specified region. | | | `DELETE` | | Deletes the specified InstantSnapshot resource. Keep in mind that deleting a single instantSnapshot might not necessarily delete all the data on that instantSnapshot. If any data on the instantSnapshot that is marked for deletion is needed for subsequent instantSnapshots, the data will be moved to the next corresponding instantSnapshot. For more information, see Deleting instantSnapshots. | | | `EXEC` | | Sets the labels on a instantSnapshot in the given region. To learn more about labels, read the Labeling Resources documentation. | + +## `SELECT` examples + +Retrieves the list of InstantSnapshot resources contained within the specified region. + +```sql +SELECT +id, +name, +description, +architecture, +creationTimestamp, +diskSizeGb, +kind, +labelFingerprint, +labels, +region, +resourceStatus, +satisfiesPzi, +satisfiesPzs, +selfLink, +selfLinkWithId, +sourceDisk, +sourceDiskId, +status, +zone +FROM google.compute.region_instant_snapshots +WHERE project = '{{ project }}' +AND region = '{{ region }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new region_instant_snapshots resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.region_instant_snapshots ( +project, +region, +kind, +id, +creationTimestamp, +name, +description, +status, +sourceDisk, +sourceDiskId, +diskSizeGb, +selfLink, +selfLinkWithId, +labels, +labelFingerprint, +zone, +region, +satisfiesPzs, +architecture, +resourceStatus, +satisfiesPzi +) +SELECT +'{{ project }}', +'{{ region }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ name }}', +'{{ description }}', +'{{ status }}', +'{{ sourceDisk }}', +'{{ sourceDiskId }}', +'{{ diskSizeGb }}', +'{{ selfLink }}', +'{{ selfLinkWithId }}', +'{{ labels }}', +'{{ labelFingerprint }}', +'{{ zone }}', +'{{ region }}', +true|false, +'{{ architecture }}', +'{{ resourceStatus }}', +true|false +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: status + value: '{{ status }}' + - name: sourceDisk + value: '{{ sourceDisk }}' + - name: sourceDiskId + value: '{{ sourceDiskId }}' + - name: diskSizeGb + value: '{{ diskSizeGb }}' + - name: selfLink + value: '{{ selfLink }}' + - name: selfLinkWithId + value: '{{ selfLinkWithId }}' + - name: labels + value: '{{ labels }}' + - name: labelFingerprint + value: '{{ labelFingerprint }}' + - name: zone + value: '{{ zone }}' + - name: region + value: '{{ region }}' + - name: satisfiesPzs + value: '{{ satisfiesPzs }}' + - name: architecture + value: '{{ architecture }}' + - name: resourceStatus + value: '{{ resourceStatus }}' + - name: satisfiesPzi + value: '{{ satisfiesPzi }}' + +``` + + + +## `DELETE` example + +Deletes the specified region_instant_snapshot resource. + +```sql +DELETE FROM google.compute.region_instant_snapshots +WHERE instantSnapshot = '{{ instantSnapshot }}' +AND project = '{{ project }}' +AND region = '{{ region }}'; +``` diff --git a/docs/google-docs/providers/google/compute/region_instant_snapshots_iam_policies/index.md b/docs/google-docs/providers/google/compute/region_instant_snapshots_iam_policies/index.md index 5c1f5a0271..f2bac4cdba 100644 --- a/docs/google-docs/providers/google/compute/region_instant_snapshots_iam_policies/index.md +++ b/docs/google-docs/providers/google/compute/region_instant_snapshots_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: region_instant_snapshots_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - region_instant_snapshots_iam_policies - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an region_instant_snapshots_iam_policy resource or lists region_instant_snapshots_iam_policies in a region ## Overview
@@ -31,13 +33,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | Name | Datatype | Description | |:-----|:---------|:------------| | | `string` | This is deprecated and has no effect. Do not use. | -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. May be empty if no such policy or resource exists. | -| | `EXEC` | | Gets the access control policy for a resource. May be empty if no such policy or resource exists. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. | + +## `SELECT` examples + +Gets the access control policy for a resource. May be empty if no such policy or resource exists. + +```sql +SELECT +bindingId, +condition, +members, +role +FROM google.compute.region_instant_snapshots_iam_policies +WHERE project = '{{ project }}' +AND region = '{{ region }}' +AND resource = '{{ resource }}'; +``` diff --git a/docs/google-docs/providers/google/compute/region_network_endpoint_groups/index.md b/docs/google-docs/providers/google/compute/region_network_endpoint_groups/index.md index a2f6b48ae2..cd3f784816 100644 --- a/docs/google-docs/providers/google/compute/region_network_endpoint_groups/index.md +++ b/docs/google-docs/providers/google/compute/region_network_endpoint_groups/index.md @@ -1,3 +1,4 @@ + --- title: region_network_endpoint_groups hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - region_network_endpoint_groups - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an region_network_endpoint_group resource or lists region_network_endpoint_groups in a region ## Overview
@@ -49,6 +51,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `integer` | [Output only] Number of network endpoints in the network endpoint group. | | | `string` | Optional URL of the subnetwork to which all network endpoints in the NEG belong. | | | `string` | [Output Only] The URL of the zone where the network endpoint group is located. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -58,3 +61,156 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `DELETE` | | Deletes the specified network endpoint group. Note that the NEG cannot be deleted if it is configured as a backend of a backend service. | | | `EXEC` | | Attach a list of network endpoints to the specified network endpoint group. | | | `EXEC` | | Detach the network endpoint from the specified network endpoint group. | + +## `SELECT` examples + +Retrieves the list of regional network endpoint groups available to the specified project in the given region. + +```sql +SELECT +id, +name, +description, +annotations, +appEngine, +cloudFunction, +cloudRun, +creationTimestamp, +defaultPort, +kind, +network, +networkEndpointType, +pscData, +pscTargetService, +region, +selfLink, +size, +subnetwork, +zone +FROM google.compute.region_network_endpoint_groups +WHERE project = '{{ project }}' +AND region = '{{ region }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new region_network_endpoint_groups resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.region_network_endpoint_groups ( +project, +region, +kind, +id, +creationTimestamp, +selfLink, +name, +description, +networkEndpointType, +size, +region, +zone, +network, +subnetwork, +defaultPort, +annotations, +cloudRun, +appEngine, +cloudFunction, +pscTargetService, +pscData +) +SELECT +'{{ project }}', +'{{ region }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ selfLink }}', +'{{ name }}', +'{{ description }}', +'{{ networkEndpointType }}', +'{{ size }}', +'{{ region }}', +'{{ zone }}', +'{{ network }}', +'{{ subnetwork }}', +'{{ defaultPort }}', +'{{ annotations }}', +'{{ cloudRun }}', +'{{ appEngine }}', +'{{ cloudFunction }}', +'{{ pscTargetService }}', +'{{ pscData }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: selfLink + value: '{{ selfLink }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: networkEndpointType + value: '{{ networkEndpointType }}' + - name: size + value: '{{ size }}' + - name: region + value: '{{ region }}' + - name: zone + value: '{{ zone }}' + - name: network + value: '{{ network }}' + - name: subnetwork + value: '{{ subnetwork }}' + - name: defaultPort + value: '{{ defaultPort }}' + - name: annotations + value: '{{ annotations }}' + - name: cloudRun + value: '{{ cloudRun }}' + - name: appEngine + value: '{{ appEngine }}' + - name: cloudFunction + value: '{{ cloudFunction }}' + - name: pscTargetService + value: '{{ pscTargetService }}' + - name: pscData + value: '{{ pscData }}' + +``` + + + +## `DELETE` example + +Deletes the specified region_network_endpoint_group resource. + +```sql +DELETE FROM google.compute.region_network_endpoint_groups +WHERE networkEndpointGroup = '{{ networkEndpointGroup }}' +AND project = '{{ project }}' +AND region = '{{ region }}'; +``` diff --git a/docs/google-docs/providers/google/compute/region_network_endpoint_groups_network_endpoints/index.md b/docs/google-docs/providers/google/compute/region_network_endpoint_groups_network_endpoints/index.md index 6ec3effd11..2256cb5074 100644 --- a/docs/google-docs/providers/google/compute/region_network_endpoint_groups_network_endpoints/index.md +++ b/docs/google-docs/providers/google/compute/region_network_endpoint_groups_network_endpoints/index.md @@ -1,3 +1,4 @@ + --- title: region_network_endpoint_groups_network_endpoints hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - region_network_endpoint_groups_network_endpoints - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an region_network_endpoint_groups_network_endpoint resource or lists region_network_endpoint_groups_network_endpoints in a region ## Overview
@@ -28,8 +30,26 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `array` | [Output only] The health status of network endpoint; | +| | `object` | The network endpoint. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists the network endpoints in the specified network endpoint group. | + +## `SELECT` examples + +Lists the network endpoints in the specified network endpoint group. + +```sql +SELECT +healths, +networkEndpoint +FROM google.compute.region_network_endpoint_groups_network_endpoints +WHERE networkEndpointGroup = '{{ networkEndpointGroup }}' +AND project = '{{ project }}' +AND region = '{{ region }}'; +``` diff --git a/docs/google-docs/providers/google/compute/region_network_firewall_policies/index.md b/docs/google-docs/providers/google/compute/region_network_firewall_policies/index.md index b3ea11dab1..2897b251c1 100644 --- a/docs/google-docs/providers/google/compute/region_network_firewall_policies/index.md +++ b/docs/google-docs/providers/google/compute/region_network_firewall_policies/index.md @@ -1,3 +1,4 @@ + --- title: region_network_firewall_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - region_network_firewall_policies - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an region_network_firewall_policy resource or lists region_network_firewall_policies in a region ## Overview @@ -45,6 +47,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] Server-defined URL for the resource. | | | `string` | [Output Only] Server-defined URL for this resource with the resource id. | | | `string` | User-provided name of the Organization firewall policy. The name should be unique in the organization in which the firewall policy is created. This field is not applicable to network firewall policies. This name must be set on creation and cannot be changed. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -53,5 +56,166 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new network firewall policy in the specified project and region. | | | `DELETE` | | Deletes the specified network firewall policy. | | | `UPDATE` | | Patches the specified network firewall policy. | +| | `UPDATE` | | Patches a rule of the specified priority. | | | `EXEC` | | Copies rules to the specified network firewall policy. | -| | `EXEC` | | Patches a rule of the specified priority. | + +## `SELECT` examples + +Lists all the network firewall policies that have been configured for the specified project in the given region. + +```sql +SELECT +id, +name, +description, +associations, +creationTimestamp, +displayName, +fingerprint, +kind, +parent, +region, +ruleTupleCount, +rules, +selfLink, +selfLinkWithId, +shortName +FROM google.compute.region_network_firewall_policies +WHERE project = '{{ project }}' +AND region = '{{ region }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new region_network_firewall_policies resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.region_network_firewall_policies ( +project, +region, +kind, +id, +creationTimestamp, +name, +description, +rules, +fingerprint, +selfLink, +selfLinkWithId, +associations, +ruleTupleCount, +shortName, +displayName, +parent, +region +) +SELECT +'{{ project }}', +'{{ region }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ name }}', +'{{ description }}', +'{{ rules }}', +'{{ fingerprint }}', +'{{ selfLink }}', +'{{ selfLinkWithId }}', +'{{ associations }}', +'{{ ruleTupleCount }}', +'{{ shortName }}', +'{{ displayName }}', +'{{ parent }}', +'{{ region }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: rules + value: '{{ rules }}' + - name: fingerprint + value: '{{ fingerprint }}' + - name: selfLink + value: '{{ selfLink }}' + - name: selfLinkWithId + value: '{{ selfLinkWithId }}' + - name: associations + value: '{{ associations }}' + - name: ruleTupleCount + value: '{{ ruleTupleCount }}' + - name: shortName + value: '{{ shortName }}' + - name: displayName + value: '{{ displayName }}' + - name: parent + value: '{{ parent }}' + - name: region + value: '{{ region }}' + +``` + + + +## `UPDATE` example + +Updates a region_network_firewall_policy only if the necessary resources are available. + +```sql +UPDATE google.compute.region_network_firewall_policies +SET +kind = '{{ kind }}', +id = '{{ id }}', +creationTimestamp = '{{ creationTimestamp }}', +name = '{{ name }}', +description = '{{ description }}', +rules = '{{ rules }}', +fingerprint = '{{ fingerprint }}', +selfLink = '{{ selfLink }}', +selfLinkWithId = '{{ selfLinkWithId }}', +associations = '{{ associations }}', +ruleTupleCount = '{{ ruleTupleCount }}', +shortName = '{{ shortName }}', +displayName = '{{ displayName }}', +parent = '{{ parent }}', +region = '{{ region }}' +WHERE +firewallPolicy = '{{ firewallPolicy }}' +AND project = '{{ project }}' +AND region = '{{ region }}'; +``` + +## `DELETE` example + +Deletes the specified region_network_firewall_policy resource. + +```sql +DELETE FROM google.compute.region_network_firewall_policies +WHERE firewallPolicy = '{{ firewallPolicy }}' +AND project = '{{ project }}' +AND region = '{{ region }}'; +``` diff --git a/docs/google-docs/providers/google/compute/region_network_firewall_policies_association/index.md b/docs/google-docs/providers/google/compute/region_network_firewall_policies_association/index.md index 8cb1548826..4958acebb4 100644 --- a/docs/google-docs/providers/google/compute/region_network_firewall_policies_association/index.md +++ b/docs/google-docs/providers/google/compute/region_network_firewall_policies_association/index.md @@ -1,3 +1,4 @@ + --- title: region_network_firewall_policies_association hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - region_network_firewall_policies_association - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an region_network_firewall_policies_association resource or lists region_network_firewall_policies_association in a region ## Overview
@@ -35,9 +37,96 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] Deprecated, please use short name instead. The display name of the firewall policy of the association. | | | `string` | [Output Only] The firewall policy ID of the association. | | | `string` | [Output Only] The short name of the firewall policy of the association. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets an association with the specified name. | -| | `EXEC` | | Inserts an association for the specified network firewall policy. | -| | `EXEC` | | Removes an association for the specified network firewall policy. | +| | `INSERT` | | Inserts an association for the specified network firewall policy. | +| | `DELETE` | | Removes an association for the specified network firewall policy. | + +## `SELECT` examples + +Gets an association with the specified name. + +```sql +SELECT +name, +attachmentTarget, +displayName, +firewallPolicyId, +shortName +FROM google.compute.region_network_firewall_policies_association +WHERE firewallPolicy = '{{ firewallPolicy }}' +AND project = '{{ project }}' +AND region = '{{ region }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new region_network_firewall_policies_association resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.region_network_firewall_policies_association ( +firewallPolicy, +project, +region, +name, +attachmentTarget, +firewallPolicyId, +shortName, +displayName +) +SELECT +'{{ firewallPolicy }}', +'{{ project }}', +'{{ region }}', +'{{ name }}', +'{{ attachmentTarget }}', +'{{ firewallPolicyId }}', +'{{ shortName }}', +'{{ displayName }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: attachmentTarget + value: '{{ attachmentTarget }}' + - name: firewallPolicyId + value: '{{ firewallPolicyId }}' + - name: shortName + value: '{{ shortName }}' + - name: displayName + value: '{{ displayName }}' + +``` + + + +## `DELETE` example + +Deletes the specified region_network_firewall_policies_association resource. + +```sql +DELETE FROM google.compute.region_network_firewall_policies_association +WHERE firewallPolicy = '{{ firewallPolicy }}' +AND project = '{{ project }}' +AND region = '{{ region }}'; +``` diff --git a/docs/google-docs/providers/google/compute/region_network_firewall_policies_effective_firewalls/index.md b/docs/google-docs/providers/google/compute/region_network_firewall_policies_effective_firewalls/index.md index ea23f76460..9d82dd8675 100644 --- a/docs/google-docs/providers/google/compute/region_network_firewall_policies_effective_firewalls/index.md +++ b/docs/google-docs/providers/google/compute/region_network_firewall_policies_effective_firewalls/index.md @@ -1,3 +1,4 @@ + --- title: region_network_firewall_policies_effective_firewalls hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - region_network_firewall_policies_effective_firewalls - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an region_network_firewall_policies_effective_firewall resource or lists region_network_firewall_policies_effective_firewalls in a region ## Overview
@@ -32,7 +34,22 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `array` | Effective firewalls from firewall policy. | | | `array` | Effective firewalls on the network. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Returns the effective firewalls on a given network. | + +## `SELECT` examples + +Returns the effective firewalls on a given network. + +```sql +SELECT +firewallPolicys, +firewalls +FROM google.compute.region_network_firewall_policies_effective_firewalls +WHERE network = '{{ network }}' +AND project = '{{ project }}' +AND region = '{{ region }}'; +``` diff --git a/docs/google-docs/providers/google/compute/region_network_firewall_policies_iam_policies/index.md b/docs/google-docs/providers/google/compute/region_network_firewall_policies_iam_policies/index.md index 3ee5de2c70..5aad48c076 100644 --- a/docs/google-docs/providers/google/compute/region_network_firewall_policies_iam_policies/index.md +++ b/docs/google-docs/providers/google/compute/region_network_firewall_policies_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: region_network_firewall_policies_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - region_network_firewall_policies_iam_policies - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an region_network_firewall_policies_iam_policy resource or lists region_network_firewall_policies_iam_policies in a region ## Overview
@@ -31,13 +33,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | Name | Datatype | Description | |:-----|:---------|:------------| | | `string` | This is deprecated and has no effect. Do not use. | -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. May be empty if no such policy or resource exists. | -| | `EXEC` | | Gets the access control policy for a resource. May be empty if no such policy or resource exists. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. | + +## `SELECT` examples + +Gets the access control policy for a resource. May be empty if no such policy or resource exists. + +```sql +SELECT +bindingId, +condition, +members, +role +FROM google.compute.region_network_firewall_policies_iam_policies +WHERE project = '{{ project }}' +AND region = '{{ region }}' +AND resource = '{{ resource }}'; +``` diff --git a/docs/google-docs/providers/google/compute/region_network_firewall_policies_rule/index.md b/docs/google-docs/providers/google/compute/region_network_firewall_policies_rule/index.md index 3f1e165672..21af95d391 100644 --- a/docs/google-docs/providers/google/compute/region_network_firewall_policies_rule/index.md +++ b/docs/google-docs/providers/google/compute/region_network_firewall_policies_rule/index.md @@ -1,3 +1,4 @@ + --- title: region_network_firewall_policies_rule hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - region_network_firewall_policies_rule - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an region_network_firewall_policies_rule resource or lists region_network_firewall_policies_rule in a region ## Overview
@@ -31,23 +33,160 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | Name | Datatype | Description | |:-----|:---------|:------------| | | `string` | An optional description for this resource. | -| | `string` | The Action to perform when the client connection triggers the rule. Valid actions are "allow", "deny" and "goto_next". | +| | `string` | The Action to perform when the client connection triggers the rule. Valid actions for firewall rules are: "allow", "deny", "apply_security_profile_group" and "goto_next". Valid actions for packet mirroring rules are: "mirror", "do_not_mirror" and "goto_next". | | | `string` | The direction in which this rule applies. | | | `boolean` | 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. | | | `boolean` | 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. | -| | `string` | [Output only] Type of the resource. Always compute#firewallPolicyRule for firewall policy rules | +| | `string` | [Output only] Type of the resource. Returns compute#firewallPolicyRule for firewall rules and compute#packetMirroringRule for packet mirroring rules. | | | `object` | Represents a match condition that incoming traffic is evaluated against. Exactly one field must be specified. | -| | `integer` | An integer indicating the priority of a rule in the list. The priority must be a positive value between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest prority. | +| | `integer` | An integer indicating the priority of a rule in the list. The priority must be a positive value between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest priority. | | | `string` | An optional name for the rule. This field is not a unique identifier and can be updated. | | | `integer` | [Output Only] Calculation of the complexity of a single firewall policy rule. | -| | `string` | A fully-qualified URL of a SecurityProfile resource instance. Example: https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group Must be specified if action = 'apply_security_profile_group' and cannot be specified for other actions. | +| | `string` | A fully-qualified URL of a SecurityProfile resource instance. Example: https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group Must be specified if action is one of 'apply_security_profile_group' or 'mirror'. Cannot be specified for other actions. | | | `array` | A list of network resource URLs to which this rule applies. This field allows you to control which network's VMs get this rule. If this field is left blank, all VMs within the organization will receive the rule. | | | `array` | 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. | | | `array` | A list of service accounts indicating the sets of instances that are applied with this rule. | | | `boolean` | Boolean flag indicating if the traffic should be TLS decrypted. Can be set only if action = 'apply_security_profile_group' and cannot be set for other actions. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets a rule of the specified priority. | -| | `EXEC` | | Inserts a rule into a network firewall policy. | -| | `EXEC` | | Deletes a rule of the specified priority. | +| | `INSERT` | | Inserts a rule into a network firewall policy. | +| | `DELETE` | | Deletes a rule of the specified priority. | + +## `SELECT` examples + +Gets a rule of the specified priority. + +```sql +SELECT +description, +action, +direction, +disabled, +enableLogging, +kind, +match, +priority, +ruleName, +ruleTupleCount, +securityProfileGroup, +targetResources, +targetSecureTags, +targetServiceAccounts, +tlsInspect +FROM google.compute.region_network_firewall_policies_rule +WHERE firewallPolicy = '{{ firewallPolicy }}' +AND project = '{{ project }}' +AND region = '{{ region }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new region_network_firewall_policies_rule resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.region_network_firewall_policies_rule ( +firewallPolicy, +project, +region, +kind, +ruleName, +description, +priority, +match, +action, +securityProfileGroup, +tlsInspect, +direction, +targetResources, +enableLogging, +ruleTupleCount, +targetServiceAccounts, +targetSecureTags, +disabled +) +SELECT +'{{ firewallPolicy }}', +'{{ project }}', +'{{ region }}', +'{{ kind }}', +'{{ ruleName }}', +'{{ description }}', +'{{ priority }}', +'{{ match }}', +'{{ action }}', +'{{ securityProfileGroup }}', +true|false, +'{{ direction }}', +'{{ targetResources }}', +true|false, +'{{ ruleTupleCount }}', +'{{ targetServiceAccounts }}', +'{{ targetSecureTags }}', +true|false +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: ruleName + value: '{{ ruleName }}' + - name: description + value: '{{ description }}' + - name: priority + value: '{{ priority }}' + - name: match + value: '{{ match }}' + - name: action + value: '{{ action }}' + - name: securityProfileGroup + value: '{{ securityProfileGroup }}' + - name: tlsInspect + value: '{{ tlsInspect }}' + - name: direction + value: '{{ direction }}' + - name: targetResources + value: '{{ targetResources }}' + - name: enableLogging + value: '{{ enableLogging }}' + - name: ruleTupleCount + value: '{{ ruleTupleCount }}' + - name: targetServiceAccounts + value: '{{ targetServiceAccounts }}' + - name: targetSecureTags + value: '{{ targetSecureTags }}' + - name: disabled + value: '{{ disabled }}' + +``` + + + +## `DELETE` example + +Deletes the specified region_network_firewall_policies_rule resource. + +```sql +DELETE FROM google.compute.region_network_firewall_policies_rule +WHERE firewallPolicy = '{{ firewallPolicy }}' +AND project = '{{ project }}' +AND region = '{{ region }}'; +``` diff --git a/docs/google-docs/providers/google/compute/region_notification_endpoints/index.md b/docs/google-docs/providers/google/compute/region_notification_endpoints/index.md index ae09fd2d2e..dd29d398e5 100644 --- a/docs/google-docs/providers/google/compute/region_notification_endpoints/index.md +++ b/docs/google-docs/providers/google/compute/region_notification_endpoints/index.md @@ -1,3 +1,4 @@ + --- title: region_notification_endpoints hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - region_notification_endpoints - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an region_notification_endpoint resource or lists region_notification_endpoints in a region ## Overview
@@ -38,6 +40,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] Type of the resource. Always compute#notificationEndpoint for notification endpoints. | | | `string` | [Output Only] URL of the region where the notification endpoint resides. This field applies only to the regional resource. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body. | | | `string` | [Output Only] Server-defined URL for the resource. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -45,3 +48,101 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists the NotificationEndpoints for a project in the given region. | | | `INSERT` | | Create a NotificationEndpoint in the specified project in the given region using the parameters that are included in the request. | | | `DELETE` | | Deletes the specified NotificationEndpoint in the given region | + +## `SELECT` examples + +Lists the NotificationEndpoints for a project in the given region. + +```sql +SELECT +id, +name, +description, +creationTimestamp, +grpcSettings, +kind, +region, +selfLink +FROM google.compute.region_notification_endpoints +WHERE project = '{{ project }}' +AND region = '{{ region }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new region_notification_endpoints resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.region_notification_endpoints ( +project, +region, +kind, +id, +creationTimestamp, +name, +description, +selfLink, +region, +grpcSettings +) +SELECT +'{{ project }}', +'{{ region }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ name }}', +'{{ description }}', +'{{ selfLink }}', +'{{ region }}', +'{{ grpcSettings }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: selfLink + value: '{{ selfLink }}' + - name: region + value: '{{ region }}' + - name: grpcSettings + value: '{{ grpcSettings }}' + +``` + + + +## `DELETE` example + +Deletes the specified region_notification_endpoint resource. + +```sql +DELETE FROM google.compute.region_notification_endpoints +WHERE notificationEndpoint = '{{ notificationEndpoint }}' +AND project = '{{ project }}' +AND region = '{{ region }}'; +``` diff --git a/docs/google-docs/providers/google/compute/region_operations/index.md b/docs/google-docs/providers/google/compute/region_operations/index.md index 0e21a7c129..29ba854861 100644 --- a/docs/google-docs/providers/google/compute/region_operations/index.md +++ b/docs/google-docs/providers/google/compute/region_operations/index.md @@ -1,3 +1,4 @@ + --- title: region_operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - region_operations - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an region_operation resource or lists region_operations in a region ## Overview
@@ -56,6 +58,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] User who requested the operation, for example: `user@example.com` or `alice_smith_identifier (global/workforcePools/example-com-us-employees)`. | | | `array` | [Output Only] If warning messages are generated during processing of the operation, this field will be populated. | | | `string` | [Output Only] The URL of the zone where the operation resides. Only applicable when performing per-zone operations. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -63,3 +66,51 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Retrieves a list of Operation resources contained within the specified region. | | | `DELETE` | | Deletes the specified region-specific Operations resource. | | | `EXEC` | | Waits for the specified Operation resource to return as `DONE` or for the request to approach the 2 minute deadline, and retrieves the specified Operation resource. This method differs from the `GET` method in that it waits for no more than the default deadline (2 minutes) and then returns the current state of the operation, which might be `DONE` or still in progress. This method is called on a best-effort basis. Specifically: - In uncommon cases, when the server is overloaded, the request might return before the default deadline is reached, or might return after zero seconds. - If the default deadline is reached, there is no guarantee that the operation is actually done when the method returns. Be prepared to retry if the operation is not `DONE`. | + +## `SELECT` examples + +Retrieves a list of Operation resources contained within the specified region. + +```sql +SELECT +id, +name, +description, +clientOperationId, +creationTimestamp, +endTime, +error, +httpErrorMessage, +httpErrorStatusCode, +insertTime, +instancesBulkInsertOperationMetadata, +kind, +operationGroupId, +operationType, +progress, +region, +selfLink, +setCommonInstanceMetadataOperationMetadata, +startTime, +status, +statusMessage, +targetId, +targetLink, +user, +warnings, +zone +FROM google.compute.region_operations +WHERE project = '{{ project }}' +AND region = '{{ region }}'; +``` + +## `DELETE` example + +Deletes the specified region_operation resource. + +```sql +DELETE FROM google.compute.region_operations +WHERE operation = '{{ operation }}' +AND project = '{{ project }}' +AND region = '{{ region }}'; +``` diff --git a/docs/google-docs/providers/google/compute/region_security_policies/index.md b/docs/google-docs/providers/google/compute/region_security_policies/index.md index 64d4850ebe..3e0060c3fb 100644 --- a/docs/google-docs/providers/google/compute/region_security_policies/index.md +++ b/docs/google-docs/providers/google/compute/region_security_policies/index.md @@ -1,3 +1,4 @@ + --- title: region_security_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - region_security_policies - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an region_security_policy resource or lists region_security_policies in a region ## Overview
@@ -47,6 +49,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] Server-defined URL for the resource. | | | `string` | The type indicates the intended use of the security policy. - CLOUD_ARMOR: Cloud Armor backend security policies can be configured to filter incoming HTTP requests targeting backend services. They filter requests before they hit the origin servers. - CLOUD_ARMOR_EDGE: Cloud Armor edge security policies can be configured to filter incoming HTTP requests targeting backend services (including Cloud CDN-enabled) as well as backend buckets (Cloud Storage). They filter requests before the request is served from Google's cache. - CLOUD_ARMOR_INTERNAL_SERVICE: Cloud Armor internal service policies can be configured to filter HTTP requests targeting services managed by Traffic Director in a service mesh. They filter requests before the request is served from the application. - CLOUD_ARMOR_NETWORK: Cloud Armor network policies can be configured to filter packets targeting network load balancing resources such as backend services, target pools, target instances, and instances with external IPs. They filter requests before the request is served from the application. This field can be set only at resource creation time. | | | `array` | Definitions of user-defined fields for CLOUD_ARMOR_NETWORK policies. A user-defined field consists of up to 4 bytes extracted from a fixed offset in the packet, relative to the IPv4, IPv6, TCP, or UDP header, with an optional mask to select certain bits. Rules may then specify matching values for these fields. Example: userDefinedFields: - name: "ipv4_fragment_offset" base: IPV4 offset: 6 size: 2 mask: "0x1fff" | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -55,4 +58,177 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new policy in the specified project using the data included in the request. | | | `DELETE` | | Deletes the specified policy. | | | `UPDATE` | | Patches the specified policy with the data included in the request. To clear fields in the policy, leave the fields empty and specify them in the updateMask. This cannot be used to be update the rules in the policy. Please use the per rule methods like addRule, patchRule, and removeRule instead. | -| | `EXEC` | | Patches a rule at the specified priority. To clear fields in the rule, leave the fields empty and specify them in the updateMask. | +| | `UPDATE` | | Patches a rule at the specified priority. To clear fields in the rule, leave the fields empty and specify them in the updateMask. | + +## `SELECT` examples + +List all the policies that have been configured for the specified project and region. + +```sql +SELECT +id, +name, +description, +adaptiveProtectionConfig, +advancedOptionsConfig, +creationTimestamp, +ddosProtectionConfig, +fingerprint, +kind, +labelFingerprint, +labels, +recaptchaOptionsConfig, +region, +rules, +selfLink, +type, +userDefinedFields +FROM google.compute.region_security_policies +WHERE project = '{{ project }}' +AND region = '{{ region }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new region_security_policies resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.region_security_policies ( +project, +region, +userDefinedFields, +kind, +id, +creationTimestamp, +name, +description, +rules, +adaptiveProtectionConfig, +ddosProtectionConfig, +advancedOptionsConfig, +recaptchaOptionsConfig, +fingerprint, +selfLink, +type, +labels, +labelFingerprint, +region +) +SELECT +'{{ project }}', +'{{ region }}', +'{{ userDefinedFields }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ name }}', +'{{ description }}', +'{{ rules }}', +'{{ adaptiveProtectionConfig }}', +'{{ ddosProtectionConfig }}', +'{{ advancedOptionsConfig }}', +'{{ recaptchaOptionsConfig }}', +'{{ fingerprint }}', +'{{ selfLink }}', +'{{ type }}', +'{{ labels }}', +'{{ labelFingerprint }}', +'{{ region }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: userDefinedFields + value: '{{ userDefinedFields }}' + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: rules + value: '{{ rules }}' + - name: adaptiveProtectionConfig + value: '{{ adaptiveProtectionConfig }}' + - name: ddosProtectionConfig + value: '{{ ddosProtectionConfig }}' + - name: advancedOptionsConfig + value: '{{ advancedOptionsConfig }}' + - name: recaptchaOptionsConfig + value: '{{ recaptchaOptionsConfig }}' + - name: fingerprint + value: '{{ fingerprint }}' + - name: selfLink + value: '{{ selfLink }}' + - name: type + value: '{{ type }}' + - name: labels + value: '{{ labels }}' + - name: labelFingerprint + value: '{{ labelFingerprint }}' + - name: region + value: '{{ region }}' + +``` + + + +## `UPDATE` example + +Updates a region_security_policy only if the necessary resources are available. + +```sql +UPDATE google.compute.region_security_policies +SET +userDefinedFields = '{{ userDefinedFields }}', +kind = '{{ kind }}', +id = '{{ id }}', +creationTimestamp = '{{ creationTimestamp }}', +name = '{{ name }}', +description = '{{ description }}', +rules = '{{ rules }}', +adaptiveProtectionConfig = '{{ adaptiveProtectionConfig }}', +ddosProtectionConfig = '{{ ddosProtectionConfig }}', +advancedOptionsConfig = '{{ advancedOptionsConfig }}', +recaptchaOptionsConfig = '{{ recaptchaOptionsConfig }}', +fingerprint = '{{ fingerprint }}', +selfLink = '{{ selfLink }}', +type = '{{ type }}', +labels = '{{ labels }}', +labelFingerprint = '{{ labelFingerprint }}', +region = '{{ region }}' +WHERE +project = '{{ project }}' +AND region = '{{ region }}' +AND securityPolicy = '{{ securityPolicy }}'; +``` + +## `DELETE` example + +Deletes the specified region_security_policy resource. + +```sql +DELETE FROM google.compute.region_security_policies +WHERE project = '{{ project }}' +AND region = '{{ region }}' +AND securityPolicy = '{{ securityPolicy }}'; +``` diff --git a/docs/google-docs/providers/google/compute/region_security_policies_rule/index.md b/docs/google-docs/providers/google/compute/region_security_policies_rule/index.md index 680ec5ac12..9f0c294a4b 100644 --- a/docs/google-docs/providers/google/compute/region_security_policies_rule/index.md +++ b/docs/google-docs/providers/google/compute/region_security_policies_rule/index.md @@ -1,3 +1,4 @@ + --- title: region_security_policies_rule hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - region_security_policies_rule - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an region_security_policies_rule resource or lists region_security_policies_rule in a region ## Overview
@@ -41,9 +43,126 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `integer` | An integer indicating the priority of a rule in the list. The priority must be a positive value between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest priority. | | | `object` | | | | `object` | | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets a rule at the specified priority. | -| | `EXEC` | | Inserts a rule into a security policy. | -| | `EXEC` | | Deletes a rule at the specified priority. | +| | `INSERT` | | Inserts a rule into a security policy. | +| | `DELETE` | | Deletes a rule at the specified priority. | + +## `SELECT` examples + +Gets a rule at the specified priority. + +```sql +SELECT +description, +action, +headerAction, +kind, +match, +networkMatch, +preconfiguredWafConfig, +preview, +priority, +rateLimitOptions, +redirectOptions +FROM google.compute.region_security_policies_rule +WHERE project = '{{ project }}' +AND region = '{{ region }}' +AND securityPolicy = '{{ securityPolicy }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new region_security_policies_rule resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.region_security_policies_rule ( +project, +region, +securityPolicy, +kind, +description, +priority, +match, +networkMatch, +action, +preview, +rateLimitOptions, +headerAction, +redirectOptions, +preconfiguredWafConfig +) +SELECT +'{{ project }}', +'{{ region }}', +'{{ securityPolicy }}', +'{{ kind }}', +'{{ description }}', +'{{ priority }}', +'{{ match }}', +'{{ networkMatch }}', +'{{ action }}', +true|false, +'{{ rateLimitOptions }}', +'{{ headerAction }}', +'{{ redirectOptions }}', +'{{ preconfiguredWafConfig }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: description + value: '{{ description }}' + - name: priority + value: '{{ priority }}' + - name: match + value: '{{ match }}' + - name: networkMatch + value: '{{ networkMatch }}' + - name: action + value: '{{ action }}' + - name: preview + value: '{{ preview }}' + - name: rateLimitOptions + value: '{{ rateLimitOptions }}' + - name: headerAction + value: '{{ headerAction }}' + - name: redirectOptions + value: '{{ redirectOptions }}' + - name: preconfiguredWafConfig + value: '{{ preconfiguredWafConfig }}' + +``` + + + +## `DELETE` example + +Deletes the specified region_security_policies_rule resource. + +```sql +DELETE FROM google.compute.region_security_policies_rule +WHERE project = '{{ project }}' +AND region = '{{ region }}' +AND securityPolicy = '{{ securityPolicy }}'; +``` diff --git a/docs/google-docs/providers/google/compute/region_ssl_certificates/index.md b/docs/google-docs/providers/google/compute/region_ssl_certificates/index.md index 4a85fad379..222c467120 100644 --- a/docs/google-docs/providers/google/compute/region_ssl_certificates/index.md +++ b/docs/google-docs/providers/google/compute/region_ssl_certificates/index.md @@ -1,3 +1,4 @@ + --- title: region_ssl_certificates hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - region_ssl_certificates - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an region_ssl_certificate resource or lists region_ssl_certificates in a region ## Overview
@@ -44,6 +46,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Configuration and status of a self-managed SSL certificate. | | | `array` | [Output Only] Domains associated with the certificate via Subject Alternative Name. | | | `string` | (Optional) Specifies the type of SSL certificate, either "SELF_MANAGED" or "MANAGED". If not specified, the certificate is self-managed and the fields certificate and private_key are used. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -51,3 +54,131 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Retrieves the list of SslCertificate resources available to the specified project in the specified region. | | | `INSERT` | | Creates a SslCertificate resource in the specified project and region using the data included in the request | | | `DELETE` | | Deletes the specified SslCertificate resource in the region. | + +## `SELECT` examples + +Retrieves the list of SslCertificate resources available to the specified project in the specified region. + +```sql +SELECT +id, +name, +description, +certificate, +creationTimestamp, +expireTime, +kind, +managed, +privateKey, +region, +selfLink, +selfManaged, +subjectAlternativeNames, +type +FROM google.compute.region_ssl_certificates +WHERE project = '{{ project }}' +AND region = '{{ region }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new region_ssl_certificates resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.region_ssl_certificates ( +project, +region, +kind, +id, +creationTimestamp, +name, +description, +selfLink, +certificate, +privateKey, +managed, +selfManaged, +type, +subjectAlternativeNames, +expireTime, +region +) +SELECT +'{{ project }}', +'{{ region }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ name }}', +'{{ description }}', +'{{ selfLink }}', +'{{ certificate }}', +'{{ privateKey }}', +'{{ managed }}', +'{{ selfManaged }}', +'{{ type }}', +'{{ subjectAlternativeNames }}', +'{{ expireTime }}', +'{{ region }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: selfLink + value: '{{ selfLink }}' + - name: certificate + value: '{{ certificate }}' + - name: privateKey + value: '{{ privateKey }}' + - name: managed + value: '{{ managed }}' + - name: selfManaged + value: '{{ selfManaged }}' + - name: type + value: '{{ type }}' + - name: subjectAlternativeNames + value: '{{ subjectAlternativeNames }}' + - name: expireTime + value: '{{ expireTime }}' + - name: region + value: '{{ region }}' + +``` + + + +## `DELETE` example + +Deletes the specified region_ssl_certificate resource. + +```sql +DELETE FROM google.compute.region_ssl_certificates +WHERE project = '{{ project }}' +AND region = '{{ region }}' +AND sslCertificate = '{{ sslCertificate }}'; +``` diff --git a/docs/google-docs/providers/google/compute/region_ssl_policies/index.md b/docs/google-docs/providers/google/compute/region_ssl_policies/index.md index 542b53db86..877448bf79 100644 --- a/docs/google-docs/providers/google/compute/region_ssl_policies/index.md +++ b/docs/google-docs/providers/google/compute/region_ssl_policies/index.md @@ -1,3 +1,4 @@ + --- title: region_ssl_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - region_ssl_policies - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an region_ssl_policy resource or lists region_ssl_policies in a region ## Overview
@@ -43,6 +45,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] URL of the region where the regional SSL policy resides. This field is not applicable to global SSL policies. | | | `string` | [Output Only] Server-defined URL for the resource. | | | `array` | [Output Only] If potential misconfigurations are detected for this SSL policy, this field will be populated with warning messages. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -51,3 +54,162 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new policy in the specified project and region using the data included in the request. | | | `DELETE` | | Deletes the specified SSL policy. The SSL policy resource can be deleted only if it is not in use by any TargetHttpsProxy or TargetSslProxy resources. | | | `UPDATE` | | Patches the specified SSL policy with the data included in the request. | + +## `SELECT` examples + +Lists all the SSL policies that have been configured for the specified project and region. + +```sql +SELECT +id, +name, +description, +creationTimestamp, +customFeatures, +enabledFeatures, +fingerprint, +kind, +minTlsVersion, +profile, +region, +selfLink, +warnings +FROM google.compute.region_ssl_policies +WHERE project = '{{ project }}' +AND region = '{{ region }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new region_ssl_policies resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.region_ssl_policies ( +project, +region, +kind, +id, +creationTimestamp, +selfLink, +name, +description, +profile, +minTlsVersion, +enabledFeatures, +customFeatures, +fingerprint, +warnings, +region +) +SELECT +'{{ project }}', +'{{ region }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ selfLink }}', +'{{ name }}', +'{{ description }}', +'{{ profile }}', +'{{ minTlsVersion }}', +'{{ enabledFeatures }}', +'{{ customFeatures }}', +'{{ fingerprint }}', +'{{ warnings }}', +'{{ region }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: selfLink + value: '{{ selfLink }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: profile + value: '{{ profile }}' + - name: minTlsVersion + value: '{{ minTlsVersion }}' + - name: enabledFeatures + value: '{{ enabledFeatures }}' + - name: customFeatures + value: '{{ customFeatures }}' + - name: fingerprint + value: '{{ fingerprint }}' + - name: warnings + value: + - - name: code + value: '{{ code }}' + - name: message + value: '{{ message }}' + - name: data + value: + - - name: key + value: '{{ key }}' + - name: value + value: '{{ value }}' + - name: region + value: '{{ region }}' + +``` + + + +## `UPDATE` example + +Updates a region_ssl_policy only if the necessary resources are available. + +```sql +UPDATE google.compute.region_ssl_policies +SET +kind = '{{ kind }}', +id = '{{ id }}', +creationTimestamp = '{{ creationTimestamp }}', +selfLink = '{{ selfLink }}', +name = '{{ name }}', +description = '{{ description }}', +profile = '{{ profile }}', +minTlsVersion = '{{ minTlsVersion }}', +enabledFeatures = '{{ enabledFeatures }}', +customFeatures = '{{ customFeatures }}', +fingerprint = '{{ fingerprint }}', +warnings = '{{ warnings }}', +region = '{{ region }}' +WHERE +project = '{{ project }}' +AND region = '{{ region }}' +AND sslPolicy = '{{ sslPolicy }}'; +``` + +## `DELETE` example + +Deletes the specified region_ssl_policy resource. + +```sql +DELETE FROM google.compute.region_ssl_policies +WHERE project = '{{ project }}' +AND region = '{{ region }}' +AND sslPolicy = '{{ sslPolicy }}'; +``` diff --git a/docs/google-docs/providers/google/compute/region_ssl_policies_available_features/index.md b/docs/google-docs/providers/google/compute/region_ssl_policies_available_features/index.md index eec95241df..607d95e685 100644 --- a/docs/google-docs/providers/google/compute/region_ssl_policies_available_features/index.md +++ b/docs/google-docs/providers/google/compute/region_ssl_policies_available_features/index.md @@ -1,3 +1,4 @@ + --- title: region_ssl_policies_available_features hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - region_ssl_policies_available_features - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an region_ssl_policies_available_feature resource or lists region_ssl_policies_available_features in a region ## Overview
@@ -28,7 +30,23 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `array` | | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists all features that can be specified in the SSL policy when using custom profile. | + +## `SELECT` examples + +Lists all features that can be specified in the SSL policy when using custom profile. + +```sql +SELECT +features +FROM google.compute.region_ssl_policies_available_features +WHERE project = '{{ project }}' +AND region = '{{ region }}'; +``` diff --git a/docs/google-docs/providers/google/compute/region_target_http_proxies/index.md b/docs/google-docs/providers/google/compute/region_target_http_proxies/index.md index 59defffcdd..ae1fb174b7 100644 --- a/docs/google-docs/providers/google/compute/region_target_http_proxies/index.md +++ b/docs/google-docs/providers/google/compute/region_target_http_proxies/index.md @@ -1,3 +1,4 @@ + --- title: region_target_http_proxies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - region_target_http_proxies - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an region_target_http_proxy resource or lists region_target_http_proxies in a region ## Overview @@ -41,6 +43,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] URL of the region where the regional Target HTTP Proxy resides. This field is not applicable to global Target HTTP Proxies. | | | `string` | [Output Only] Server-defined URL for the resource. | | | `string` | URL to the UrlMap resource that defines the mapping from URL to the BackendService. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -49,3 +52,116 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a TargetHttpProxy resource in the specified project and region using the data included in the request. | | | `DELETE` | | Deletes the specified TargetHttpProxy resource. | | | `EXEC` | | Changes the URL map for TargetHttpProxy. | + +## `SELECT` examples + +Retrieves the list of TargetHttpProxy resources available to the specified project in the specified region. + +```sql +SELECT +id, +name, +description, +creationTimestamp, +fingerprint, +httpKeepAliveTimeoutSec, +kind, +proxyBind, +region, +selfLink, +urlMap +FROM google.compute.region_target_http_proxies +WHERE project = '{{ project }}' +AND region = '{{ region }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new region_target_http_proxies resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.region_target_http_proxies ( +project, +region, +kind, +id, +creationTimestamp, +name, +description, +selfLink, +urlMap, +region, +proxyBind, +fingerprint, +httpKeepAliveTimeoutSec +) +SELECT +'{{ project }}', +'{{ region }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ name }}', +'{{ description }}', +'{{ selfLink }}', +'{{ urlMap }}', +'{{ region }}', +true|false, +'{{ fingerprint }}', +'{{ httpKeepAliveTimeoutSec }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: selfLink + value: '{{ selfLink }}' + - name: urlMap + value: '{{ urlMap }}' + - name: region + value: '{{ region }}' + - name: proxyBind + value: '{{ proxyBind }}' + - name: fingerprint + value: '{{ fingerprint }}' + - name: httpKeepAliveTimeoutSec + value: '{{ httpKeepAliveTimeoutSec }}' + +``` + + + +## `DELETE` example + +Deletes the specified region_target_http_proxy resource. + +```sql +DELETE FROM google.compute.region_target_http_proxies +WHERE project = '{{ project }}' +AND region = '{{ region }}' +AND targetHttpProxy = '{{ targetHttpProxy }}'; +``` diff --git a/docs/google-docs/providers/google/compute/region_target_https_proxies/index.md b/docs/google-docs/providers/google/compute/region_target_https_proxies/index.md index 935bd8dc1e..40adeaead7 100644 --- a/docs/google-docs/providers/google/compute/region_target_https_proxies/index.md +++ b/docs/google-docs/providers/google/compute/region_target_https_proxies/index.md @@ -1,3 +1,4 @@ + --- title: region_target_https_proxies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - region_target_https_proxies - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an region_target_https_proxy resource or lists region_target_https_proxies in a region ## Overview
@@ -34,7 +36,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. | | | `string` | An optional description of this resource. Provide this property when you create the resource. | | | `string` | Optional. A URL referring to a networksecurity.AuthorizationPolicy resource that describes how the proxy should authorize inbound traffic. If left blank, access will not be restricted by an authorization policy. Refer to the AuthorizationPolicy resource for additional details. authorizationPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED. Note: This field currently has no impact. | -| | `string` | URL of a certificate map that identifies a certificate map associated with the given target proxy. This field can only be set for global target proxies. If set, sslCertificates will be ignored. Accepted format is //certificatemanager.googleapis.com/projects/{project }/locations/{location}/certificateMaps/{resourceName}. | +| | `string` | URL of a certificate map that identifies a certificate map associated with the given target proxy. This field can only be set for Global external Application Load Balancer or Classic Application Load Balancer. For other products use Certificate Manager Certificates instead. If set, sslCertificates will be ignored. Accepted format is //certificatemanager.googleapis.com/projects/{project }/locations/{location}/certificateMaps/{resourceName}. | | | `string` | [Output Only] Creation timestamp in RFC3339 text format. | | | `string` | Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a TargetHttpsProxy. An up-to-date fingerprint must be provided in order to patch the TargetHttpsProxy; otherwise, the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve the TargetHttpsProxy. | | | `integer` | Specifies how long to keep a connection open, after completing a response, while there is no matching traffic (in seconds). If an HTTP keep-alive is not specified, a default value (610 seconds) will be used. For global external Application Load Balancers, the minimum allowed value is 5 seconds and the maximum allowed value is 1200 seconds. For classic Application Load Balancers, this option is not supported. | @@ -44,10 +46,11 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] URL of the region where the regional TargetHttpsProxy resides. This field is not applicable to global TargetHttpsProxies. | | | `string` | [Output Only] Server-defined URL for the resource. | | | `string` | Optional. A URL referring to a networksecurity.ServerTlsPolicy resource that describes how the proxy should authenticate inbound traffic. serverTlsPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED or EXTERNAL or EXTERNAL_MANAGED. For details which ServerTlsPolicy resources are accepted with INTERNAL_SELF_MANAGED and which with EXTERNAL, EXTERNAL_MANAGED loadBalancingScheme consult ServerTlsPolicy documentation. If left blank, communications are not encrypted. | -| | `array` | URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates. sslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED. | +| | `array` | URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. SslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED. The URLs should refer to a SSL Certificate resource or Certificate Manager Certificate resource. Mixing Classic Certificates and Certificate Manager Certificates is not allowed. Certificate Manager Certificates must include the certificatemanager API. Certificate Manager Certificates are not supported by Global external Application Load Balancer or Classic Application Load Balancer, use certificate_map instead. Currently, you may specify up to 15 Classic SSL Certificates. Certificate Manager Certificates accepted formats are: - //certificatemanager.googleapis.com/projects/{project}/locations/{ location}/certificates/{resourceName}. - https://certificatemanager.googleapis.com/v1alpha1/projects/{project }/locations/{location}/certificates/{resourceName}. | | | `string` | URL of SslPolicy resource that will be associated with the TargetHttpsProxy resource. If not set, the TargetHttpsProxy resource has no SSL policy configured. | | | `string` | Specifies whether TLS 1.3 0-RTT Data ("Early Data") should be accepted for this service. Early Data allows a TLS resumption handshake to include the initial application payload (a HTTP request) alongside the handshake, reducing the effective round trips to "zero". This applies to TLS 1.3 connections over TCP (HTTP/2) as well as over UDP (QUIC/h3). This can improve application performance, especially on networks where interruptions may be common, such as on mobile. Requests with Early Data will have the "Early-Data" HTTP header set on the request, with a value of "1", to allow the backend to determine whether Early Data was included. Note: TLS Early Data may allow requests to be replayed, as the data is sent to the backend before the handshake has fully completed. Applications that allow idempotent HTTP methods to make non-idempotent changes, such as a GET request updating a database, should not accept Early Data on those requests, and reject requests with the "Early-Data: 1" HTTP header by returning a HTTP 425 (Too Early) status code, in order to remain RFC compliant. The default value is DISABLED. | | | `string` | A fully-qualified or valid partial URL to the UrlMap resource that defines the mapping from URL to the BackendService. For example, the following are all valid URLs for specifying a URL map: - https://www.googleapis.compute/v1/projects/project/global/urlMaps/ url-map - projects/project/global/urlMaps/url-map - global/urlMaps/url-map | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -58,3 +61,182 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `UPDATE` | | Patches the specified regional TargetHttpsProxy resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules. | | | `EXEC` | | Replaces SslCertificates for TargetHttpsProxy. | | | `EXEC` | | Changes the URL map for TargetHttpsProxy. | + +## `SELECT` examples + +Retrieves the list of TargetHttpsProxy resources available to the specified project in the specified region. + +```sql +SELECT +id, +name, +description, +authorizationPolicy, +certificateMap, +creationTimestamp, +fingerprint, +httpKeepAliveTimeoutSec, +kind, +proxyBind, +quicOverride, +region, +selfLink, +serverTlsPolicy, +sslCertificates, +sslPolicy, +tlsEarlyData, +urlMap +FROM google.compute.region_target_https_proxies +WHERE project = '{{ project }}' +AND region = '{{ region }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new region_target_https_proxies resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.region_target_https_proxies ( +project, +region, +kind, +id, +creationTimestamp, +name, +description, +selfLink, +urlMap, +sslCertificates, +certificateMap, +quicOverride, +sslPolicy, +region, +proxyBind, +serverTlsPolicy, +authorizationPolicy, +fingerprint, +httpKeepAliveTimeoutSec, +tlsEarlyData +) +SELECT +'{{ project }}', +'{{ region }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ name }}', +'{{ description }}', +'{{ selfLink }}', +'{{ urlMap }}', +'{{ sslCertificates }}', +'{{ certificateMap }}', +'{{ quicOverride }}', +'{{ sslPolicy }}', +'{{ region }}', +true|false, +'{{ serverTlsPolicy }}', +'{{ authorizationPolicy }}', +'{{ fingerprint }}', +'{{ httpKeepAliveTimeoutSec }}', +'{{ tlsEarlyData }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: selfLink + value: '{{ selfLink }}' + - name: urlMap + value: '{{ urlMap }}' + - name: sslCertificates + value: '{{ sslCertificates }}' + - name: certificateMap + value: '{{ certificateMap }}' + - name: quicOverride + value: '{{ quicOverride }}' + - name: sslPolicy + value: '{{ sslPolicy }}' + - name: region + value: '{{ region }}' + - name: proxyBind + value: '{{ proxyBind }}' + - name: serverTlsPolicy + value: '{{ serverTlsPolicy }}' + - name: authorizationPolicy + value: '{{ authorizationPolicy }}' + - name: fingerprint + value: '{{ fingerprint }}' + - name: httpKeepAliveTimeoutSec + value: '{{ httpKeepAliveTimeoutSec }}' + - name: tlsEarlyData + value: '{{ tlsEarlyData }}' + +``` + + + +## `UPDATE` example + +Updates a region_target_https_proxy only if the necessary resources are available. + +```sql +UPDATE google.compute.region_target_https_proxies +SET +kind = '{{ kind }}', +id = '{{ id }}', +creationTimestamp = '{{ creationTimestamp }}', +name = '{{ name }}', +description = '{{ description }}', +selfLink = '{{ selfLink }}', +urlMap = '{{ urlMap }}', +sslCertificates = '{{ sslCertificates }}', +certificateMap = '{{ certificateMap }}', +quicOverride = '{{ quicOverride }}', +sslPolicy = '{{ sslPolicy }}', +region = '{{ region }}', +proxyBind = true|false, +serverTlsPolicy = '{{ serverTlsPolicy }}', +authorizationPolicy = '{{ authorizationPolicy }}', +fingerprint = '{{ fingerprint }}', +httpKeepAliveTimeoutSec = '{{ httpKeepAliveTimeoutSec }}', +tlsEarlyData = '{{ tlsEarlyData }}' +WHERE +project = '{{ project }}' +AND region = '{{ region }}' +AND targetHttpsProxy = '{{ targetHttpsProxy }}'; +``` + +## `DELETE` example + +Deletes the specified region_target_https_proxy resource. + +```sql +DELETE FROM google.compute.region_target_https_proxies +WHERE project = '{{ project }}' +AND region = '{{ region }}' +AND targetHttpsProxy = '{{ targetHttpsProxy }}'; +``` diff --git a/docs/google-docs/providers/google/compute/region_target_tcp_proxies/index.md b/docs/google-docs/providers/google/compute/region_target_tcp_proxies/index.md index 8c4ffcf342..62b9863aca 100644 --- a/docs/google-docs/providers/google/compute/region_target_tcp_proxies/index.md +++ b/docs/google-docs/providers/google/compute/region_target_tcp_proxies/index.md @@ -1,3 +1,4 @@ + --- title: region_target_tcp_proxies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - region_target_tcp_proxies - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an region_target_tcp_proxy resource or lists region_target_tcp_proxies in a region ## Overview
@@ -40,6 +42,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] URL of the region where the regional TCP proxy resides. This field is not applicable to global TCP proxy. | | | `string` | [Output Only] Server-defined URL for the resource. | | | `string` | URL to the BackendService resource. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -47,3 +50,111 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Retrieves a list of TargetTcpProxy resources available to the specified project in a given region. | | | `INSERT` | | Creates a TargetTcpProxy resource in the specified project and region using the data included in the request. | | | `DELETE` | | Deletes the specified TargetTcpProxy resource. | + +## `SELECT` examples + +Retrieves a list of TargetTcpProxy resources available to the specified project in a given region. + +```sql +SELECT +id, +name, +description, +creationTimestamp, +kind, +proxyBind, +proxyHeader, +region, +selfLink, +service +FROM google.compute.region_target_tcp_proxies +WHERE project = '{{ project }}' +AND region = '{{ region }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new region_target_tcp_proxies resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.region_target_tcp_proxies ( +project, +region, +kind, +id, +creationTimestamp, +name, +description, +selfLink, +service, +proxyHeader, +proxyBind, +region +) +SELECT +'{{ project }}', +'{{ region }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ name }}', +'{{ description }}', +'{{ selfLink }}', +'{{ service }}', +'{{ proxyHeader }}', +true|false, +'{{ region }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: selfLink + value: '{{ selfLink }}' + - name: service + value: '{{ service }}' + - name: proxyHeader + value: '{{ proxyHeader }}' + - name: proxyBind + value: '{{ proxyBind }}' + - name: region + value: '{{ region }}' + +``` + + + +## `DELETE` example + +Deletes the specified region_target_tcp_proxy resource. + +```sql +DELETE FROM google.compute.region_target_tcp_proxies +WHERE project = '{{ project }}' +AND region = '{{ region }}' +AND targetTcpProxy = '{{ targetTcpProxy }}'; +``` diff --git a/docs/google-docs/providers/google/compute/region_url_maps/index.md b/docs/google-docs/providers/google/compute/region_url_maps/index.md index c100529dc4..bf7fd4b7a3 100644 --- a/docs/google-docs/providers/google/compute/region_url_maps/index.md +++ b/docs/google-docs/providers/google/compute/region_url_maps/index.md @@ -1,3 +1,4 @@ + --- title: region_url_maps hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - region_url_maps - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an region_url_map resource or lists region_url_maps in a region ## Overview
@@ -34,8 +36,9 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. | | | `string` | An optional description of this resource. Provide this property when you create the resource. | | | `string` | [Output Only] Creation timestamp in RFC3339 text format. | +| | `object` | Specifies the custom error response policy that must be applied when the backend service or backend bucket responds with an error. | | | `object` | | -| | `string` | The full or partial URL of the defaultService resource to which traffic is directed if none of the hostRules match. If defaultRouteAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. However, if defaultService is specified, defaultRouteAction cannot contain any weightedBackendServices. Conversely, if routeAction specifies any weightedBackendServices, service must not be specified. If defaultService is specified, then set either defaultUrlRedirect , or defaultRouteAction.weightedBackendService Don't set both. defaultService has no effect when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true. | +| | `string` | The full or partial URL of the defaultService resource to which traffic is directed if none of the hostRules match. If defaultRouteAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. However, if defaultService is specified, defaultRouteAction cannot contain any defaultRouteAction.weightedBackendServices. Conversely, if defaultRouteAction specifies any defaultRouteAction.weightedBackendServices, defaultService must not be specified. If defaultService is specified, then set either defaultUrlRedirect , or defaultRouteAction.weightedBackendService Don't set both. defaultService has no effect when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true. | | | `object` | Specifies settings for an HTTP redirect. | | | `string` | Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field is ignored when inserting a UrlMap. An up-to-date fingerprint must be provided in order to update the UrlMap, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a UrlMap. | | | `object` | The request and response header transformations that take effect before the request is passed along to the selected backendService. | @@ -45,6 +48,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] URL of the region where the regional URL map resides. This field is not applicable to global URL maps. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body. | | | `string` | [Output Only] Server-defined URL for the resource. | | | `array` | The list of expected URL mapping tests. Request to update the UrlMap succeeds only if all test cases pass. You can specify a maximum of 100 tests per UrlMap. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -53,5 +57,172 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a UrlMap resource in the specified project using the data included in the request. | | | `DELETE` | | Deletes the specified UrlMap resource. | | | `UPDATE` | | Patches the specified UrlMap resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules. | -| | `UPDATE` | | Updates the specified UrlMap resource with the data included in the request. | +| | `EXEC` | | Updates the specified UrlMap resource with the data included in the request. | | | `EXEC` | | Runs static validation for the UrlMap. In particular, the tests of the provided UrlMap will be run. Calling this method does NOT create the UrlMap. | + +## `SELECT` examples + +Retrieves the list of UrlMap resources available to the specified project in the specified region. + +```sql +SELECT +id, +name, +description, +creationTimestamp, +defaultCustomErrorResponsePolicy, +defaultRouteAction, +defaultService, +defaultUrlRedirect, +fingerprint, +headerAction, +hostRules, +kind, +pathMatchers, +region, +selfLink, +tests +FROM google.compute.region_url_maps +WHERE project = '{{ project }}' +AND region = '{{ region }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new region_url_maps resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.region_url_maps ( +project, +region, +kind, +id, +creationTimestamp, +name, +description, +selfLink, +hostRules, +pathMatchers, +tests, +defaultService, +defaultRouteAction, +defaultUrlRedirect, +headerAction, +defaultCustomErrorResponsePolicy, +fingerprint, +region +) +SELECT +'{{ project }}', +'{{ region }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ name }}', +'{{ description }}', +'{{ selfLink }}', +'{{ hostRules }}', +'{{ pathMatchers }}', +'{{ tests }}', +'{{ defaultService }}', +'{{ defaultRouteAction }}', +'{{ defaultUrlRedirect }}', +'{{ headerAction }}', +'{{ defaultCustomErrorResponsePolicy }}', +'{{ fingerprint }}', +'{{ region }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: selfLink + value: '{{ selfLink }}' + - name: hostRules + value: '{{ hostRules }}' + - name: pathMatchers + value: '{{ pathMatchers }}' + - name: tests + value: '{{ tests }}' + - name: defaultService + value: '{{ defaultService }}' + - name: defaultRouteAction + value: '{{ defaultRouteAction }}' + - name: defaultUrlRedirect + value: '{{ defaultUrlRedirect }}' + - name: headerAction + value: '{{ headerAction }}' + - name: defaultCustomErrorResponsePolicy + value: '{{ defaultCustomErrorResponsePolicy }}' + - name: fingerprint + value: '{{ fingerprint }}' + - name: region + value: '{{ region }}' + +``` + + + +## `UPDATE` example + +Updates a region_url_map only if the necessary resources are available. + +```sql +UPDATE google.compute.region_url_maps +SET +kind = '{{ kind }}', +id = '{{ id }}', +creationTimestamp = '{{ creationTimestamp }}', +name = '{{ name }}', +description = '{{ description }}', +selfLink = '{{ selfLink }}', +hostRules = '{{ hostRules }}', +pathMatchers = '{{ pathMatchers }}', +tests = '{{ tests }}', +defaultService = '{{ defaultService }}', +defaultRouteAction = '{{ defaultRouteAction }}', +defaultUrlRedirect = '{{ defaultUrlRedirect }}', +headerAction = '{{ headerAction }}', +defaultCustomErrorResponsePolicy = '{{ defaultCustomErrorResponsePolicy }}', +fingerprint = '{{ fingerprint }}', +region = '{{ region }}' +WHERE +project = '{{ project }}' +AND region = '{{ region }}' +AND urlMap = '{{ urlMap }}'; +``` + +## `DELETE` example + +Deletes the specified region_url_map resource. + +```sql +DELETE FROM google.compute.region_url_maps +WHERE project = '{{ project }}' +AND region = '{{ region }}' +AND urlMap = '{{ urlMap }}'; +``` diff --git a/docs/google-docs/providers/google/compute/region_zones/index.md b/docs/google-docs/providers/google/compute/region_zones/index.md index 44ab93e6d0..56dbb088ed 100644 --- a/docs/google-docs/providers/google/compute/region_zones/index.md +++ b/docs/google-docs/providers/google/compute/region_zones/index.md @@ -1,3 +1,4 @@ + --- title: region_zones hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - region_zones - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an region_zone resource or lists region_zones in a region ## Overview
@@ -41,7 +43,30 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] Server-defined URL for the resource. | | | `string` | [Output Only] Status of the zone, either UP or DOWN. | | | `boolean` | [Output Only] Reserved for future use. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Retrieves the list of Zone resources under the specific region available to the specified project. | + +## `SELECT` examples + +Retrieves the list of Zone resources under the specific region available to the specified project. + +```sql +SELECT +id, +name, +description, +availableCpuPlatforms, +creationTimestamp, +deprecated, +kind, +region, +selfLink, +status, +supportsPzs +FROM google.compute.region_zones +WHERE project = '{{ project }}' +AND region = '{{ region }}'; +``` diff --git a/docs/google-docs/providers/google/compute/regions/index.md b/docs/google-docs/providers/google/compute/regions/index.md index 0695542593..e42e4c8c9c 100644 --- a/docs/google-docs/providers/google/compute/regions/index.md +++ b/docs/google-docs/providers/google/compute/regions/index.md @@ -1,3 +1,4 @@ + --- title: regions hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - regions - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an region resource or lists regions in a region ## Overview
@@ -42,8 +44,31 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] Status of the region, either UP or DOWN. | | | `boolean` | [Output Only] Reserved for future use. | | | `array` | [Output Only] A list of zones available in this region, in the form of resource URLs. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| -| | `SELECT` | | Returns the specified Region resource. To decrease latency for this method, you can optionally omit any unneeded information from the response by using a field mask. This practice is especially recommended for unused quota information (the `quotas` field). To exclude one or more fields, set your request's `fields` query parameter to only include the fields you need. For example, to only include the `id` and `selfLink` fields, add the query parameter `?fields=id,selfLink` to your request. | +| | `SELECT` | | Returns the specified Region resource. To decrease latency for this method, you can optionally omit any unneeded information from the response by using a field mask. This practice is especially recommended for unused quota information (the `quotas` field). To exclude one or more fields, set your request's `fields` query parameter to only include the fields you need. For example, to only include the `id` and `selfLink` fields, add the query parameter `?fields=id,selfLink` to your request. This method fails if the quota information is unavailable for the region and if the organization policy constraint compute.requireBasicQuotaInResponse is enforced. This constraint, when enforced, disables the fail-open behaviour when quota information (the `items.quotas` field) is unavailable for the region. It is recommended to use the default setting for the constraint unless your application requires the fail-closed behaviour for this method. | | | `SELECT` | | Retrieves the list of region resources available to the specified project. To decrease latency for this method, you can optionally omit any unneeded information from the response by using a field mask. This practice is especially recommended for unused quota information (the `items.quotas` field). To exclude one or more fields, set your request's `fields` query parameter to only include the fields you need. For example, to only include the `id` and `selfLink` fields, add the query parameter `?fields=id,selfLink` to your request. This method fails if the quota information is unavailable for the region and if the organization policy constraint compute.requireBasicQuotaInResponse is enforced. This constraint, when enforced, disables the fail-open behaviour when quota information (the `items.quotas` field) is unavailable for the region. It is recommended to use the default setting for the constraint unless your application requires the fail-closed behaviour for this method. | + +## `SELECT` examples + +Retrieves the list of region resources available to the specified project. To decrease latency for this method, you can optionally omit any unneeded information from the response by using a field mask. This practice is especially recommended for unused quota information (the `items.quotas` field). To exclude one or more fields, set your request's `fields` query parameter to only include the fields you need. For example, to only include the `id` and `selfLink` fields, add the query parameter `?fields=id,selfLink` to your request. This method fails if the quota information is unavailable for the region and if the organization policy constraint compute.requireBasicQuotaInResponse is enforced. This constraint, when enforced, disables the fail-open behaviour when quota information (the `items.quotas` field) is unavailable for the region. It is recommended to use the default setting for the constraint unless your application requires the fail-closed behaviour for this method. + +```sql +SELECT +id, +name, +description, +creationTimestamp, +deprecated, +kind, +quotaStatusWarning, +quotas, +selfLink, +status, +supportsPzs, +zones +FROM google.compute.regions +WHERE project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/compute/reservations/index.md b/docs/google-docs/providers/google/compute/reservations/index.md index c45ea7a8b2..530627b8d0 100644 --- a/docs/google-docs/providers/google/compute/reservations/index.md +++ b/docs/google-docs/providers/google/compute/reservations/index.md @@ -1,3 +1,4 @@ + --- title: reservations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - reservations - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an reservation resource or lists reservations in a region ## Overview
@@ -46,6 +48,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `boolean` | Indicates whether the reservation can be consumed by VMs with affinity for "any" reservation. If the field is set, then only VMs that target the reservation by name can consume from this reservation. | | | `string` | [Output Only] The status of the reservation. | | | `string` | Zone in which the reservation resides. A zone must be provided if the reservation is created within a commitment. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -55,5 +58,170 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new reservation. For more information, read Reserving zonal resources. | | | `DELETE` | | Deletes the specified reservation. | | | `UPDATE` | | Update share settings of the reservation. | -| | `EXEC` | | Retrieves an aggregated list of reservations. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. | | | `EXEC` | | Resizes the reservation (applicable to standalone reservations only). For more information, read Modifying reservations. | + +## `SELECT` examples + +Retrieves an aggregated list of reservations. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. + +```sql +SELECT +id, +name, +description, +aggregateReservation, +commitment, +creationTimestamp, +kind, +resourcePolicies, +resourceStatus, +satisfiesPzs, +selfLink, +shareSettings, +specificReservation, +specificReservationRequired, +status, +zone +FROM google.compute.reservations +WHERE project = '{{ project }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new reservations resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.reservations ( +project, +zone, +kind, +id, +creationTimestamp, +selfLink, +zone, +description, +name, +specificReservation, +aggregateReservation, +commitment, +specificReservationRequired, +status, +shareSettings, +satisfiesPzs, +resourcePolicies, +resourceStatus +) +SELECT +'{{ project }}', +'{{ zone }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ selfLink }}', +'{{ zone }}', +'{{ description }}', +'{{ name }}', +'{{ specificReservation }}', +'{{ aggregateReservation }}', +'{{ commitment }}', +true|false, +'{{ status }}', +'{{ shareSettings }}', +true|false, +'{{ resourcePolicies }}', +'{{ resourceStatus }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: selfLink + value: '{{ selfLink }}' + - name: zone + value: '{{ zone }}' + - name: description + value: '{{ description }}' + - name: name + value: '{{ name }}' + - name: specificReservation + value: '{{ specificReservation }}' + - name: aggregateReservation + value: '{{ aggregateReservation }}' + - name: commitment + value: '{{ commitment }}' + - name: specificReservationRequired + value: '{{ specificReservationRequired }}' + - name: status + value: '{{ status }}' + - name: shareSettings + value: '{{ shareSettings }}' + - name: satisfiesPzs + value: '{{ satisfiesPzs }}' + - name: resourcePolicies + value: '{{ resourcePolicies }}' + - name: resourceStatus + value: '{{ resourceStatus }}' + +``` + + + +## `UPDATE` example + +Updates a reservation only if the necessary resources are available. + +```sql +UPDATE google.compute.reservations +SET +kind = '{{ kind }}', +id = '{{ id }}', +creationTimestamp = '{{ creationTimestamp }}', +selfLink = '{{ selfLink }}', +zone = '{{ zone }}', +description = '{{ description }}', +name = '{{ name }}', +specificReservation = '{{ specificReservation }}', +aggregateReservation = '{{ aggregateReservation }}', +commitment = '{{ commitment }}', +specificReservationRequired = true|false, +status = '{{ status }}', +shareSettings = '{{ shareSettings }}', +satisfiesPzs = true|false, +resourcePolicies = '{{ resourcePolicies }}', +resourceStatus = '{{ resourceStatus }}' +WHERE +project = '{{ project }}' +AND reservation = '{{ reservation }}' +AND zone = '{{ zone }}'; +``` + +## `DELETE` example + +Deletes the specified reservation resource. + +```sql +DELETE FROM google.compute.reservations +WHERE project = '{{ project }}' +AND reservation = '{{ reservation }}' +AND zone = '{{ zone }}'; +``` diff --git a/docs/google-docs/providers/google/compute/reservations_iam_policies/index.md b/docs/google-docs/providers/google/compute/reservations_iam_policies/index.md index a342105e0e..2b982da120 100644 --- a/docs/google-docs/providers/google/compute/reservations_iam_policies/index.md +++ b/docs/google-docs/providers/google/compute/reservations_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: reservations_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - reservations_iam_policies - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an reservations_iam_policy resource or lists reservations_iam_policies in a region ## Overview
@@ -31,13 +33,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | Name | Datatype | Description | |:-----|:---------|:------------| | | `string` | This is deprecated and has no effect. Do not use. | -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. May be empty if no such policy or resource exists. | -| | `EXEC` | | Gets the access control policy for a resource. May be empty if no such policy or resource exists. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. | + +## `SELECT` examples + +Gets the access control policy for a resource. May be empty if no such policy or resource exists. + +```sql +SELECT +bindingId, +condition, +members, +role +FROM google.compute.reservations_iam_policies +WHERE project = '{{ project }}' +AND resource = '{{ resource }}' +AND zone = '{{ zone }}'; +``` diff --git a/docs/google-docs/providers/google/compute/resource_policies/index.md b/docs/google-docs/providers/google/compute/resource_policies/index.md index 6e5a28d873..f805a6e344 100644 --- a/docs/google-docs/providers/google/compute/resource_policies/index.md +++ b/docs/google-docs/providers/google/compute/resource_policies/index.md @@ -1,3 +1,4 @@ + --- title: resource_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - resource_policies - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an resource_policy resource or lists resource_policies in a region ## Overview
@@ -43,6 +45,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] Server-defined fully-qualified URL for this resource. | | | `object` | A snapshot schedule policy specifies when and how frequently snapshots are to be created for the target disk. Also specifies how many and how long these scheduled snapshots should be retained. | | | `string` | [Output Only] The status of resource policy creation. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -52,4 +55,151 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new resource policy. | | | `DELETE` | | Deletes the specified resource policy. | | | `UPDATE` | | Modify the specified resource policy. | -| | `EXEC` | | Retrieves an aggregated list of resource policies. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. | + +## `SELECT` examples + +Retrieves an aggregated list of resource policies. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. + +```sql +SELECT +id, +name, +description, +creationTimestamp, +diskConsistencyGroupPolicy, +groupPlacementPolicy, +instanceSchedulePolicy, +kind, +region, +resourceStatus, +selfLink, +snapshotSchedulePolicy, +status +FROM google.compute.resource_policies +WHERE project = '{{ project }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new resource_policies resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.resource_policies ( +project, +region, +kind, +id, +creationTimestamp, +selfLink, +region, +description, +name, +snapshotSchedulePolicy, +groupPlacementPolicy, +instanceSchedulePolicy, +diskConsistencyGroupPolicy, +status, +resourceStatus +) +SELECT +'{{ project }}', +'{{ region }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ selfLink }}', +'{{ region }}', +'{{ description }}', +'{{ name }}', +'{{ snapshotSchedulePolicy }}', +'{{ groupPlacementPolicy }}', +'{{ instanceSchedulePolicy }}', +'{{ diskConsistencyGroupPolicy }}', +'{{ status }}', +'{{ resourceStatus }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: selfLink + value: '{{ selfLink }}' + - name: region + value: '{{ region }}' + - name: description + value: '{{ description }}' + - name: name + value: '{{ name }}' + - name: snapshotSchedulePolicy + value: '{{ snapshotSchedulePolicy }}' + - name: groupPlacementPolicy + value: '{{ groupPlacementPolicy }}' + - name: instanceSchedulePolicy + value: '{{ instanceSchedulePolicy }}' + - name: diskConsistencyGroupPolicy + value: '{{ diskConsistencyGroupPolicy }}' + - name: status + value: '{{ status }}' + - name: resourceStatus + value: '{{ resourceStatus }}' + +``` + + + +## `UPDATE` example + +Updates a resource_policy only if the necessary resources are available. + +```sql +UPDATE google.compute.resource_policies +SET +kind = '{{ kind }}', +id = '{{ id }}', +creationTimestamp = '{{ creationTimestamp }}', +selfLink = '{{ selfLink }}', +region = '{{ region }}', +description = '{{ description }}', +name = '{{ name }}', +snapshotSchedulePolicy = '{{ snapshotSchedulePolicy }}', +groupPlacementPolicy = '{{ groupPlacementPolicy }}', +instanceSchedulePolicy = '{{ instanceSchedulePolicy }}', +diskConsistencyGroupPolicy = '{{ diskConsistencyGroupPolicy }}', +status = '{{ status }}', +resourceStatus = '{{ resourceStatus }}' +WHERE +project = '{{ project }}' +AND region = '{{ region }}' +AND resourcePolicy = '{{ resourcePolicy }}'; +``` + +## `DELETE` example + +Deletes the specified resource_policy resource. + +```sql +DELETE FROM google.compute.resource_policies +WHERE project = '{{ project }}' +AND region = '{{ region }}' +AND resourcePolicy = '{{ resourcePolicy }}'; +``` diff --git a/docs/google-docs/providers/google/compute/resource_policies_iam_policies/index.md b/docs/google-docs/providers/google/compute/resource_policies_iam_policies/index.md index cac9e78078..7075e77a00 100644 --- a/docs/google-docs/providers/google/compute/resource_policies_iam_policies/index.md +++ b/docs/google-docs/providers/google/compute/resource_policies_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: resource_policies_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - resource_policies_iam_policies - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an resource_policies_iam_policy resource or lists resource_policies_iam_policies in a region ## Overview
@@ -31,13 +33,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | Name | Datatype | Description | |:-----|:---------|:------------| | | `string` | This is deprecated and has no effect. Do not use. | -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. May be empty if no such policy or resource exists. | -| | `EXEC` | | Gets the access control policy for a resource. May be empty if no such policy or resource exists. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. | + +## `SELECT` examples + +Gets the access control policy for a resource. May be empty if no such policy or resource exists. + +```sql +SELECT +bindingId, +condition, +members, +role +FROM google.compute.resource_policies_iam_policies +WHERE project = '{{ project }}' +AND region = '{{ region }}' +AND resource = '{{ resource }}'; +``` diff --git a/docs/google-docs/providers/google/compute/routers/index.md b/docs/google-docs/providers/google/compute/routers/index.md index 5ef3d59e54..0b3db3c6da 100644 --- a/docs/google-docs/providers/google/compute/routers/index.md +++ b/docs/google-docs/providers/google/compute/routers/index.md @@ -1,3 +1,4 @@ + --- title: routers hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - routers - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an router resource or lists routers in a region ## Overview
@@ -44,6 +46,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | URI of the network to which this router belongs. | | | `string` | [Output Only] URI of the region where the router resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body. | | | `string` | [Output Only] Server-defined URL for the resource. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -53,6 +56,159 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a Router resource in the specified project and region using the data included in the request. | | | `DELETE` | | Deletes the specified Router resource. | | | `UPDATE` | | Patches the specified Router resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules. | -| | `UPDATE` | | Updates the specified Router resource with the data included in the request. This method conforms to PUT semantics, which requests that the state of the target resource be created or replaced with the state defined by the representation enclosed in the request message payload. | -| | `EXEC` | | Retrieves an aggregated list of routers. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. | | | `EXEC` | | Preview fields auto-generated during router create and update operations. Calling this method does NOT create or update the router. | +| | `EXEC` | | Updates the specified Router resource with the data included in the request. This method conforms to PUT semantics, which requests that the state of the target resource be created or replaced with the state defined by the representation enclosed in the request message payload. | + +## `SELECT` examples + +Retrieves an aggregated list of routers. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. + +```sql +SELECT +id, +name, +description, +bgp, +bgpPeers, +creationTimestamp, +encryptedInterconnectRouter, +interfaces, +kind, +md5AuthenticationKeys, +nats, +network, +region, +selfLink +FROM google.compute.routers +WHERE project = '{{ project }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new routers resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.routers ( +project, +region, +kind, +id, +creationTimestamp, +name, +description, +region, +network, +interfaces, +bgpPeers, +bgp, +selfLink, +nats, +encryptedInterconnectRouter, +md5AuthenticationKeys +) +SELECT +'{{ project }}', +'{{ region }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ name }}', +'{{ description }}', +'{{ region }}', +'{{ network }}', +'{{ interfaces }}', +'{{ bgpPeers }}', +'{{ bgp }}', +'{{ selfLink }}', +'{{ nats }}', +true|false, +'{{ md5AuthenticationKeys }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: region + value: '{{ region }}' + - name: network + value: '{{ network }}' + - name: interfaces + value: '{{ interfaces }}' + - name: bgpPeers + value: '{{ bgpPeers }}' + - name: bgp + value: '{{ bgp }}' + - name: selfLink + value: '{{ selfLink }}' + - name: nats + value: '{{ nats }}' + - name: encryptedInterconnectRouter + value: '{{ encryptedInterconnectRouter }}' + - name: md5AuthenticationKeys + value: '{{ md5AuthenticationKeys }}' + +``` + + + +## `UPDATE` example + +Updates a router only if the necessary resources are available. + +```sql +UPDATE google.compute.routers +SET +kind = '{{ kind }}', +id = '{{ id }}', +creationTimestamp = '{{ creationTimestamp }}', +name = '{{ name }}', +description = '{{ description }}', +region = '{{ region }}', +network = '{{ network }}', +interfaces = '{{ interfaces }}', +bgpPeers = '{{ bgpPeers }}', +bgp = '{{ bgp }}', +selfLink = '{{ selfLink }}', +nats = '{{ nats }}', +encryptedInterconnectRouter = true|false, +md5AuthenticationKeys = '{{ md5AuthenticationKeys }}' +WHERE +project = '{{ project }}' +AND region = '{{ region }}' +AND router = '{{ router }}'; +``` + +## `DELETE` example + +Deletes the specified router resource. + +```sql +DELETE FROM google.compute.routers +WHERE project = '{{ project }}' +AND region = '{{ region }}' +AND router = '{{ router }}'; +``` diff --git a/docs/google-docs/providers/google/compute/routers_nat_ip_info/index.md b/docs/google-docs/providers/google/compute/routers_nat_ip_info/index.md index 45c3cb090f..231ace0468 100644 --- a/docs/google-docs/providers/google/compute/routers_nat_ip_info/index.md +++ b/docs/google-docs/providers/google/compute/routers_nat_ip_info/index.md @@ -1,3 +1,4 @@ + --- title: routers_nat_ip_info hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - routers_nat_ip_info - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an routers_nat_ip_info resource or lists routers_nat_ip_info in a region ## Overview
@@ -28,7 +30,24 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `array` | [Output Only] A list of NAT IP information. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Retrieves runtime NAT IP information. | + +## `SELECT` examples + +Retrieves runtime NAT IP information. + +```sql +SELECT +result +FROM google.compute.routers_nat_ip_info +WHERE project = '{{ project }}' +AND region = '{{ region }}' +AND router = '{{ router }}'; +``` diff --git a/docs/google-docs/providers/google/compute/routers_nat_mapping_info/index.md b/docs/google-docs/providers/google/compute/routers_nat_mapping_info/index.md index bdc472d76a..4e8014cc00 100644 --- a/docs/google-docs/providers/google/compute/routers_nat_mapping_info/index.md +++ b/docs/google-docs/providers/google/compute/routers_nat_mapping_info/index.md @@ -1,3 +1,4 @@ + --- title: routers_nat_mapping_info hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - routers_nat_mapping_info - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an routers_nat_mapping_info resource or lists routers_nat_mapping_info in a region ## Overview @@ -32,8 +34,22 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Name of the VM instance which the endpoint belongs to | | | `array` | | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Retrieves runtime Nat mapping information of VM endpoints. | + +## `SELECT` examples + +Retrieves runtime Nat mapping information of VM endpoints. + +```sql +SELECT +instanceName, +interfaceNatMappings +FROM google.compute.routers_nat_mapping_info +WHERE project = '{{ project }}' +AND region = '{{ region }}' +AND router = '{{ router }}'; +``` diff --git a/docs/google-docs/providers/google/compute/routers_router_status/index.md b/docs/google-docs/providers/google/compute/routers_router_status/index.md index 4ab274590e..a0b7ec938d 100644 --- a/docs/google-docs/providers/google/compute/routers_router_status/index.md +++ b/docs/google-docs/providers/google/compute/routers_router_status/index.md @@ -1,3 +1,4 @@ + --- title: routers_router_status hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - routers_router_status - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an routers_router_status resource or lists routers_router_status in a region ## Overview
@@ -32,7 +34,22 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Type of resource. | | | `object` | | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Retrieves runtime information of the specified router. | + +## `SELECT` examples + +Retrieves runtime information of the specified router. + +```sql +SELECT +kind, +result +FROM google.compute.routers_router_status +WHERE project = '{{ project }}' +AND region = '{{ region }}' +AND router = '{{ router }}'; +``` diff --git a/docs/google-docs/providers/google/compute/routes/index.md b/docs/google-docs/providers/google/compute/routes/index.md index ff5b27b463..d4e7672708 100644 --- a/docs/google-docs/providers/google/compute/routes/index.md +++ b/docs/google-docs/providers/google/compute/routes/index.md @@ -1,3 +1,4 @@ + --- title: routes hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - routes - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an route resource or lists routes in a region ## Overview
@@ -40,7 +42,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Fully-qualified URL of the network that this route applies to. | | | `string` | The URL to a gateway that should handle matching packets. You can only specify the internet gateway using a full or partial valid URL: projects/ project/global/gateways/default-internet-gateway | | | `string` | [Output Only] The full resource name of the Network Connectivity Center hub that will handle matching packets. | -| | `string` | The URL to a forwarding rule of type loadBalancingScheme=INTERNAL that should handle matching packets or the IP address of the forwarding Rule. For example, the following are all valid URLs: - 10.128.0.56 - https://www.googleapis.com/compute/v1/projects/project/regions/region /forwardingRules/forwardingRule - regions/region/forwardingRules/forwardingRule | +| | `string` | The URL to a forwarding rule of type loadBalancingScheme=INTERNAL that should handle matching packets or the IP address of the forwarding Rule. For example, the following are all valid URLs: - https://www.googleapis.com/compute/v1/projects/project/regions/region /forwardingRules/forwardingRule - regions/region/forwardingRules/forwardingRule If an IP address is provided, must specify an IPv4 address in dot-decimal notation or an IPv6 address in RFC 4291 format. For example, the following are all valid IP addresses: - 10.128.0.56 - 2001:db8::2d9:51:0:0 - 2001:db8:0:0:2d9:51:0:0 IPv6 addresses will be displayed using RFC 5952 compressed format (e.g. 2001:db8::2d9:51:0:0). Should never be an IPv4-mapped IPv6 address. | | | `string` | The URL to an instance that should handle matching packets. You can specify this as a full or partial URL. For example: https://www.googleapis.com/compute/v1/projects/project/zones/zone/instances/ | | | `string` | The network IP address of an instance that should handle matching packets. Both IPv6 address and IPv4 addresses are supported. Must specify an IPv4 address in dot-decimal notation (e.g. 192.0.2.99) or an IPv6 address in RFC 4291 format (e.g. 2001:db8::2d9:51:0:0 or 2001:db8:0:0:2d9:51:0:0). IPv6 addresses will be displayed using RFC 5952 compressed format (e.g. 2001:db8::2d9:51:0:0). Should never be an IPv4-mapped IPv6 address. | | | `string` | The URL of the local network if it should handle matching packets. | @@ -52,6 +54,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] Server-defined fully-qualified URL for this resource. | | | `array` | A list of instance tags to which this route applies. | | | `array` | [Output Only] If potential misconfigurations are detected for this route, this field will be populated with warning messages. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -59,3 +62,177 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Retrieves the list of Route resources available to the specified project. | | | `INSERT` | | Creates a Route resource in the specified project using the data included in the request. | | | `DELETE` | | Deletes the specified Route resource. | + +## `SELECT` examples + +Retrieves the list of Route resources available to the specified project. + +```sql +SELECT +id, +name, +description, +asPaths, +creationTimestamp, +destRange, +kind, +network, +nextHopGateway, +nextHopHub, +nextHopIlb, +nextHopInstance, +nextHopIp, +nextHopNetwork, +nextHopPeering, +nextHopVpnTunnel, +priority, +routeStatus, +routeType, +selfLink, +tags, +warnings +FROM google.compute.routes +WHERE project = '{{ project }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new routes resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.routes ( +project, +kind, +id, +creationTimestamp, +name, +description, +network, +tags, +destRange, +priority, +nextHopInstance, +nextHopIp, +nextHopNetwork, +nextHopGateway, +nextHopPeering, +nextHopIlb, +warnings, +nextHopVpnTunnel, +nextHopHub, +selfLink, +routeType, +asPaths, +routeStatus +) +SELECT +'{{ project }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ name }}', +'{{ description }}', +'{{ network }}', +'{{ tags }}', +'{{ destRange }}', +'{{ priority }}', +'{{ nextHopInstance }}', +'{{ nextHopIp }}', +'{{ nextHopNetwork }}', +'{{ nextHopGateway }}', +'{{ nextHopPeering }}', +'{{ nextHopIlb }}', +'{{ warnings }}', +'{{ nextHopVpnTunnel }}', +'{{ nextHopHub }}', +'{{ selfLink }}', +'{{ routeType }}', +'{{ asPaths }}', +'{{ routeStatus }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: network + value: '{{ network }}' + - name: tags + value: '{{ tags }}' + - name: destRange + value: '{{ destRange }}' + - name: priority + value: '{{ priority }}' + - name: nextHopInstance + value: '{{ nextHopInstance }}' + - name: nextHopIp + value: '{{ nextHopIp }}' + - name: nextHopNetwork + value: '{{ nextHopNetwork }}' + - name: nextHopGateway + value: '{{ nextHopGateway }}' + - name: nextHopPeering + value: '{{ nextHopPeering }}' + - name: nextHopIlb + value: '{{ nextHopIlb }}' + - name: warnings + value: + - - name: code + value: '{{ code }}' + - name: message + value: '{{ message }}' + - name: data + value: + - - name: key + value: '{{ key }}' + - name: value + value: '{{ value }}' + - name: nextHopVpnTunnel + value: '{{ nextHopVpnTunnel }}' + - name: nextHopHub + value: '{{ nextHopHub }}' + - name: selfLink + value: '{{ selfLink }}' + - name: routeType + value: '{{ routeType }}' + - name: asPaths + value: '{{ asPaths }}' + - name: routeStatus + value: '{{ routeStatus }}' + +``` + + + +## `DELETE` example + +Deletes the specified route resource. + +```sql +DELETE FROM google.compute.routes +WHERE project = '{{ project }}' +AND route = '{{ route }}'; +``` diff --git a/docs/google-docs/providers/google/compute/security_policies/index.md b/docs/google-docs/providers/google/compute/security_policies/index.md index 5e23931ed7..8ce391bc94 100644 --- a/docs/google-docs/providers/google/compute/security_policies/index.md +++ b/docs/google-docs/providers/google/compute/security_policies/index.md @@ -1,3 +1,4 @@ + --- title: security_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - security_policies - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an security_policy resource or lists security_policies in a region ## Overview
@@ -47,6 +49,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] Server-defined URL for the resource. | | | `string` | The type indicates the intended use of the security policy. - CLOUD_ARMOR: Cloud Armor backend security policies can be configured to filter incoming HTTP requests targeting backend services. They filter requests before they hit the origin servers. - CLOUD_ARMOR_EDGE: Cloud Armor edge security policies can be configured to filter incoming HTTP requests targeting backend services (including Cloud CDN-enabled) as well as backend buckets (Cloud Storage). They filter requests before the request is served from Google's cache. - CLOUD_ARMOR_INTERNAL_SERVICE: Cloud Armor internal service policies can be configured to filter HTTP requests targeting services managed by Traffic Director in a service mesh. They filter requests before the request is served from the application. - CLOUD_ARMOR_NETWORK: Cloud Armor network policies can be configured to filter packets targeting network load balancing resources such as backend services, target pools, target instances, and instances with external IPs. They filter requests before the request is served from the application. This field can be set only at resource creation time. | | | `array` | Definitions of user-defined fields for CLOUD_ARMOR_NETWORK policies. A user-defined field consists of up to 4 bytes extracted from a fixed offset in the packet, relative to the IPv4, IPv6, TCP, or UDP header, with an optional mask to select certain bits. Rules may then specify matching values for these fields. Example: userDefinedFields: - name: "ipv4_fragment_offset" base: IPV4 offset: 6 size: 2 mask: "0x1fff" | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -55,5 +58,173 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new policy in the specified project using the data included in the request. | | | `DELETE` | | Deletes the specified policy. | | | `UPDATE` | | Patches the specified policy with the data included in the request. To clear fields in the policy, leave the fields empty and specify them in the updateMask. This cannot be used to be update the rules in the policy. Please use the per rule methods like addRule, patchRule, and removeRule instead. | -| | `EXEC` | | Patches a rule at the specified priority. To clear fields in the rule, leave the fields empty and specify them in the updateMask. | +| | `UPDATE` | | Patches a rule at the specified priority. To clear fields in the rule, leave the fields empty and specify them in the updateMask. | | | `EXEC` | | Sets the labels on a security policy. To learn more about labels, read the Labeling Resources documentation. | + +## `SELECT` examples + +List all the policies that have been configured for the specified project. + +```sql +SELECT +id, +name, +description, +adaptiveProtectionConfig, +advancedOptionsConfig, +creationTimestamp, +ddosProtectionConfig, +fingerprint, +kind, +labelFingerprint, +labels, +recaptchaOptionsConfig, +region, +rules, +selfLink, +type, +userDefinedFields +FROM google.compute.security_policies +WHERE project = '{{ project }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new security_policies resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.security_policies ( +project, +userDefinedFields, +kind, +id, +creationTimestamp, +name, +description, +rules, +adaptiveProtectionConfig, +ddosProtectionConfig, +advancedOptionsConfig, +recaptchaOptionsConfig, +fingerprint, +selfLink, +type, +labels, +labelFingerprint, +region +) +SELECT +'{{ project }}', +'{{ userDefinedFields }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ name }}', +'{{ description }}', +'{{ rules }}', +'{{ adaptiveProtectionConfig }}', +'{{ ddosProtectionConfig }}', +'{{ advancedOptionsConfig }}', +'{{ recaptchaOptionsConfig }}', +'{{ fingerprint }}', +'{{ selfLink }}', +'{{ type }}', +'{{ labels }}', +'{{ labelFingerprint }}', +'{{ region }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: userDefinedFields + value: '{{ userDefinedFields }}' + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: rules + value: '{{ rules }}' + - name: adaptiveProtectionConfig + value: '{{ adaptiveProtectionConfig }}' + - name: ddosProtectionConfig + value: '{{ ddosProtectionConfig }}' + - name: advancedOptionsConfig + value: '{{ advancedOptionsConfig }}' + - name: recaptchaOptionsConfig + value: '{{ recaptchaOptionsConfig }}' + - name: fingerprint + value: '{{ fingerprint }}' + - name: selfLink + value: '{{ selfLink }}' + - name: type + value: '{{ type }}' + - name: labels + value: '{{ labels }}' + - name: labelFingerprint + value: '{{ labelFingerprint }}' + - name: region + value: '{{ region }}' + +``` + + + +## `UPDATE` example + +Updates a security_policy only if the necessary resources are available. + +```sql +UPDATE google.compute.security_policies +SET +userDefinedFields = '{{ userDefinedFields }}', +kind = '{{ kind }}', +id = '{{ id }}', +creationTimestamp = '{{ creationTimestamp }}', +name = '{{ name }}', +description = '{{ description }}', +rules = '{{ rules }}', +adaptiveProtectionConfig = '{{ adaptiveProtectionConfig }}', +ddosProtectionConfig = '{{ ddosProtectionConfig }}', +advancedOptionsConfig = '{{ advancedOptionsConfig }}', +recaptchaOptionsConfig = '{{ recaptchaOptionsConfig }}', +fingerprint = '{{ fingerprint }}', +selfLink = '{{ selfLink }}', +type = '{{ type }}', +labels = '{{ labels }}', +labelFingerprint = '{{ labelFingerprint }}', +region = '{{ region }}' +WHERE +project = '{{ project }}' +AND securityPolicy = '{{ securityPolicy }}'; +``` + +## `DELETE` example + +Deletes the specified security_policy resource. + +```sql +DELETE FROM google.compute.security_policies +WHERE project = '{{ project }}' +AND securityPolicy = '{{ securityPolicy }}'; +``` diff --git a/docs/google-docs/providers/google/compute/security_policies_aggregated/index.md b/docs/google-docs/providers/google/compute/security_policies_aggregated/index.md index 166199db0d..75107785a9 100644 --- a/docs/google-docs/providers/google/compute/security_policies_aggregated/index.md +++ b/docs/google-docs/providers/google/compute/security_policies_aggregated/index.md @@ -1,3 +1,4 @@ + --- title: security_policies_aggregated hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - security_policies_aggregated - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an security_policies_aggregated resource or lists security_policies_aggregated in a region ## Overview
@@ -47,8 +49,35 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] Server-defined URL for the resource. | | | `string` | The type indicates the intended use of the security policy. - CLOUD_ARMOR: Cloud Armor backend security policies can be configured to filter incoming HTTP requests targeting backend services. They filter requests before they hit the origin servers. - CLOUD_ARMOR_EDGE: Cloud Armor edge security policies can be configured to filter incoming HTTP requests targeting backend services (including Cloud CDN-enabled) as well as backend buckets (Cloud Storage). They filter requests before the request is served from Google's cache. - CLOUD_ARMOR_INTERNAL_SERVICE: Cloud Armor internal service policies can be configured to filter HTTP requests targeting services managed by Traffic Director in a service mesh. They filter requests before the request is served from the application. - CLOUD_ARMOR_NETWORK: Cloud Armor network policies can be configured to filter packets targeting network load balancing resources such as backend services, target pools, target instances, and instances with external IPs. They filter requests before the request is served from the application. This field can be set only at resource creation time. | | | `array` | Definitions of user-defined fields for CLOUD_ARMOR_NETWORK policies. A user-defined field consists of up to 4 bytes extracted from a fixed offset in the packet, relative to the IPv4, IPv6, TCP, or UDP header, with an optional mask to select certain bits. Rules may then specify matching values for these fields. Example: userDefinedFields: - name: "ipv4_fragment_offset" base: IPV4 offset: 6 size: 2 mask: "0x1fff" | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Retrieves the list of all SecurityPolicy resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. | + +## `SELECT` examples + +Retrieves the list of all SecurityPolicy resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. + +```sql +SELECT +id, +name, +description, +adaptiveProtectionConfig, +advancedOptionsConfig, +creationTimestamp, +ddosProtectionConfig, +fingerprint, +kind, +labelFingerprint, +labels, +recaptchaOptionsConfig, +region, +rules, +selfLink, +type, +userDefinedFields +FROM google.compute.security_policies_aggregated +WHERE project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/compute/security_policies_preconfigured_expression_sets/index.md b/docs/google-docs/providers/google/compute/security_policies_preconfigured_expression_sets/index.md index 87644d183e..dfbd12860e 100644 --- a/docs/google-docs/providers/google/compute/security_policies_preconfigured_expression_sets/index.md +++ b/docs/google-docs/providers/google/compute/security_policies_preconfigured_expression_sets/index.md @@ -1,3 +1,4 @@ + --- title: security_policies_preconfigured_expression_sets hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - security_policies_preconfigured_expression_sets - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an security_policies_preconfigured_expression_set resource or lists security_policies_preconfigured_expression_sets in a region ## Overview
@@ -28,7 +30,22 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `object` | | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets the current list of preconfigured Web Application Firewall (WAF) expressions. | + +## `SELECT` examples + +Gets the current list of preconfigured Web Application Firewall (WAF) expressions. + +```sql +SELECT +preconfiguredExpressionSets +FROM google.compute.security_policies_preconfigured_expression_sets +WHERE project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/compute/security_policies_rule/index.md b/docs/google-docs/providers/google/compute/security_policies_rule/index.md index d554e7189c..e4d37d6ee0 100644 --- a/docs/google-docs/providers/google/compute/security_policies_rule/index.md +++ b/docs/google-docs/providers/google/compute/security_policies_rule/index.md @@ -1,3 +1,4 @@ + --- title: security_policies_rule hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - security_policies_rule - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an security_policies_rule resource or lists security_policies_rule in a region ## Overview @@ -41,9 +43,122 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `integer` | An integer indicating the priority of a rule in the list. The priority must be a positive value between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest priority. | | | `object` | | | | `object` | | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets a rule at the specified priority. | -| | `EXEC` | | Inserts a rule into a security policy. | -| | `EXEC` | | Deletes a rule at the specified priority. | +| | `INSERT` | | Inserts a rule into a security policy. | +| | `DELETE` | | Deletes a rule at the specified priority. | + +## `SELECT` examples + +Gets a rule at the specified priority. + +```sql +SELECT +description, +action, +headerAction, +kind, +match, +networkMatch, +preconfiguredWafConfig, +preview, +priority, +rateLimitOptions, +redirectOptions +FROM google.compute.security_policies_rule +WHERE project = '{{ project }}' +AND securityPolicy = '{{ securityPolicy }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new security_policies_rule resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.security_policies_rule ( +project, +securityPolicy, +kind, +description, +priority, +match, +networkMatch, +action, +preview, +rateLimitOptions, +headerAction, +redirectOptions, +preconfiguredWafConfig +) +SELECT +'{{ project }}', +'{{ securityPolicy }}', +'{{ kind }}', +'{{ description }}', +'{{ priority }}', +'{{ match }}', +'{{ networkMatch }}', +'{{ action }}', +true|false, +'{{ rateLimitOptions }}', +'{{ headerAction }}', +'{{ redirectOptions }}', +'{{ preconfiguredWafConfig }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: description + value: '{{ description }}' + - name: priority + value: '{{ priority }}' + - name: match + value: '{{ match }}' + - name: networkMatch + value: '{{ networkMatch }}' + - name: action + value: '{{ action }}' + - name: preview + value: '{{ preview }}' + - name: rateLimitOptions + value: '{{ rateLimitOptions }}' + - name: headerAction + value: '{{ headerAction }}' + - name: redirectOptions + value: '{{ redirectOptions }}' + - name: preconfiguredWafConfig + value: '{{ preconfiguredWafConfig }}' + +``` + + + +## `DELETE` example + +Deletes the specified security_policies_rule resource. + +```sql +DELETE FROM google.compute.security_policies_rule +WHERE project = '{{ project }}' +AND securityPolicy = '{{ securityPolicy }}'; +``` diff --git a/docs/google-docs/providers/google/compute/service_attachments/index.md b/docs/google-docs/providers/google/compute/service_attachments/index.md index cfc21f613c..ed911fb8bb 100644 --- a/docs/google-docs/providers/google/compute/service_attachments/index.md +++ b/docs/google-docs/providers/google/compute/service_attachments/index.md @@ -1,3 +1,4 @@ + --- title: service_attachments hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - service_attachments - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an service_attachment resource or lists service_attachments in a region ## Overview
@@ -49,6 +51,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] URL of the region where the service attachment resides. This field applies only to the region resource. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body. | | | `string` | [Output Only] Server-defined URL for the resource. | | | `string` | The URL of a service serving the endpoint identified by this service attachment. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -58,4 +61,187 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a ServiceAttachment in the specified project in the given scope using the parameters that are included in the request. | | | `DELETE` | | Deletes the specified ServiceAttachment in the given scope | | | `UPDATE` | | Patches the specified ServiceAttachment resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules. | -| | `EXEC` | | Retrieves the list of all ServiceAttachment resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. | + +## `SELECT` examples + +Retrieves the list of all ServiceAttachment resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. + +```sql +SELECT +id, +name, +description, +connectedEndpoints, +connectionPreference, +consumerAcceptLists, +consumerRejectLists, +creationTimestamp, +domainNames, +enableProxyProtocol, +fingerprint, +kind, +natSubnets, +producerForwardingRule, +pscServiceAttachmentId, +reconcileConnections, +region, +selfLink, +targetService +FROM google.compute.service_attachments +WHERE project = '{{ project }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new service_attachments resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.service_attachments ( +project, +region, +kind, +id, +creationTimestamp, +name, +description, +selfLink, +region, +producerForwardingRule, +targetService, +connectionPreference, +connectedEndpoints, +natSubnets, +enableProxyProtocol, +consumerRejectLists, +consumerAcceptLists, +pscServiceAttachmentId, +fingerprint, +domainNames, +reconcileConnections +) +SELECT +'{{ project }}', +'{{ region }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ name }}', +'{{ description }}', +'{{ selfLink }}', +'{{ region }}', +'{{ producerForwardingRule }}', +'{{ targetService }}', +'{{ connectionPreference }}', +'{{ connectedEndpoints }}', +'{{ natSubnets }}', +true|false, +'{{ consumerRejectLists }}', +'{{ consumerAcceptLists }}', +'{{ pscServiceAttachmentId }}', +'{{ fingerprint }}', +'{{ domainNames }}', +true|false +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: selfLink + value: '{{ selfLink }}' + - name: region + value: '{{ region }}' + - name: producerForwardingRule + value: '{{ producerForwardingRule }}' + - name: targetService + value: '{{ targetService }}' + - name: connectionPreference + value: '{{ connectionPreference }}' + - name: connectedEndpoints + value: '{{ connectedEndpoints }}' + - name: natSubnets + value: '{{ natSubnets }}' + - name: enableProxyProtocol + value: '{{ enableProxyProtocol }}' + - name: consumerRejectLists + value: '{{ consumerRejectLists }}' + - name: consumerAcceptLists + value: '{{ consumerAcceptLists }}' + - name: pscServiceAttachmentId + value: '{{ pscServiceAttachmentId }}' + - name: fingerprint + value: '{{ fingerprint }}' + - name: domainNames + value: '{{ domainNames }}' + - name: reconcileConnections + value: '{{ reconcileConnections }}' + +``` + + + +## `UPDATE` example + +Updates a service_attachment only if the necessary resources are available. + +```sql +UPDATE google.compute.service_attachments +SET +kind = '{{ kind }}', +id = '{{ id }}', +creationTimestamp = '{{ creationTimestamp }}', +name = '{{ name }}', +description = '{{ description }}', +selfLink = '{{ selfLink }}', +region = '{{ region }}', +producerForwardingRule = '{{ producerForwardingRule }}', +targetService = '{{ targetService }}', +connectionPreference = '{{ connectionPreference }}', +connectedEndpoints = '{{ connectedEndpoints }}', +natSubnets = '{{ natSubnets }}', +enableProxyProtocol = true|false, +consumerRejectLists = '{{ consumerRejectLists }}', +consumerAcceptLists = '{{ consumerAcceptLists }}', +pscServiceAttachmentId = '{{ pscServiceAttachmentId }}', +fingerprint = '{{ fingerprint }}', +domainNames = '{{ domainNames }}', +reconcileConnections = true|false +WHERE +project = '{{ project }}' +AND region = '{{ region }}' +AND serviceAttachment = '{{ serviceAttachment }}'; +``` + +## `DELETE` example + +Deletes the specified service_attachment resource. + +```sql +DELETE FROM google.compute.service_attachments +WHERE project = '{{ project }}' +AND region = '{{ region }}' +AND serviceAttachment = '{{ serviceAttachment }}'; +``` diff --git a/docs/google-docs/providers/google/compute/service_attachments_iam_policies/index.md b/docs/google-docs/providers/google/compute/service_attachments_iam_policies/index.md index 3af823ce64..75a1e7e999 100644 --- a/docs/google-docs/providers/google/compute/service_attachments_iam_policies/index.md +++ b/docs/google-docs/providers/google/compute/service_attachments_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: service_attachments_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - service_attachments_iam_policies - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an service_attachments_iam_policy resource or lists service_attachments_iam_policies in a region ## Overview
@@ -31,13 +33,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | Name | Datatype | Description | |:-----|:---------|:------------| | | `string` | This is deprecated and has no effect. Do not use. | -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. May be empty if no such policy or resource exists. | -| | `EXEC` | | Gets the access control policy for a resource. May be empty if no such policy or resource exists. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. | + +## `SELECT` examples + +Gets the access control policy for a resource. May be empty if no such policy or resource exists. + +```sql +SELECT +bindingId, +condition, +members, +role +FROM google.compute.service_attachments_iam_policies +WHERE project = '{{ project }}' +AND region = '{{ region }}' +AND resource = '{{ resource }}'; +``` diff --git a/docs/google-docs/providers/google/compute/snapshot_settings/index.md b/docs/google-docs/providers/google/compute/snapshot_settings/index.md index ee57d8953e..f329278c70 100644 --- a/docs/google-docs/providers/google/compute/snapshot_settings/index.md +++ b/docs/google-docs/providers/google/compute/snapshot_settings/index.md @@ -1,3 +1,4 @@ + --- title: snapshot_settings hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - snapshot_settings - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an snapshot_setting resource or lists snapshot_settings in a region ## Overview
@@ -28,8 +30,35 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `object` | | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Get snapshot settings. | | | `UPDATE` | | Patch snapshot settings. | + +## `SELECT` examples + +Get snapshot settings. + +```sql +SELECT +storageLocation +FROM google.compute.snapshot_settings +WHERE project = '{{ project }}'; +``` + +## `UPDATE` example + +Updates a snapshot_setting only if the necessary resources are available. + +```sql +UPDATE google.compute.snapshot_settings +SET +storageLocation = '{{ storageLocation }}' +WHERE +project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/compute/snapshots/index.md b/docs/google-docs/providers/google/compute/snapshots/index.md index 84b7c0eced..7cc51ea092 100644 --- a/docs/google-docs/providers/google/compute/snapshots/index.md +++ b/docs/google-docs/providers/google/compute/snapshots/index.md @@ -1,3 +1,4 @@ + --- title: snapshots hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - snapshots - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an snapshot resource or lists snapshots in a region ## Overview @@ -66,6 +68,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] A size of the storage used by the snapshot. As snapshots share storage, this number is expected to change with snapshot creation/deletion. | | | `string` | [Output Only] An indicator whether storageBytes is in a stable state or it is being adjusted as a result of shared storage reallocation. This status can either be UPDATING, meaning the size of the snapshot is being updated, or UP_TO_DATE, meaning the size of the snapshot is up-to-date. | | | `array` | Cloud Storage bucket storage location of the snapshot (regional or multi-regional). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -74,3 +77,237 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a snapshot in the specified project using the data included in the request. For regular snapshot creation, consider using this method instead of disks.createSnapshot, as this method supports more features, such as creating snapshots in a project different from the source disk project. | | | `DELETE` | | Deletes the specified Snapshot resource. Keep in mind that deleting a single snapshot might not necessarily delete all the data on that snapshot. If any data on the snapshot that is marked for deletion is needed for subsequent snapshots, the data will be moved to the next corresponding snapshot. For more information, see Deleting snapshots. | | | `EXEC` | | Sets the labels on a snapshot. To learn more about labels, read the Labeling Resources documentation. | + +## `SELECT` examples + +Retrieves the list of Snapshot resources contained within the specified project. + +```sql +SELECT +id, +name, +description, +architecture, +autoCreated, +chainName, +creationSizeBytes, +creationTimestamp, +diskSizeGb, +downloadBytes, +enableConfidentialCompute, +guestOsFeatures, +kind, +labelFingerprint, +labels, +licenseCodes, +licenses, +locationHint, +satisfiesPzi, +satisfiesPzs, +selfLink, +snapshotEncryptionKey, +snapshotType, +sourceDisk, +sourceDiskEncryptionKey, +sourceDiskForRecoveryCheckpoint, +sourceDiskId, +sourceInstantSnapshot, +sourceInstantSnapshotEncryptionKey, +sourceInstantSnapshotId, +sourceSnapshotSchedulePolicy, +sourceSnapshotSchedulePolicyId, +status, +storageBytes, +storageBytesStatus, +storageLocations +FROM google.compute.snapshots +WHERE project = '{{ project }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new snapshots resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.snapshots ( +project, +kind, +id, +creationTimestamp, +name, +description, +status, +sourceDisk, +sourceDiskId, +diskSizeGb, +storageBytes, +storageBytesStatus, +licenses, +snapshotEncryptionKey, +sourceDiskEncryptionKey, +selfLink, +labels, +labelFingerprint, +licenseCodes, +storageLocations, +autoCreated, +guestOsFeatures, +downloadBytes, +chainName, +satisfiesPzs, +locationHint, +sourceSnapshotSchedulePolicy, +sourceSnapshotSchedulePolicyId, +sourceInstantSnapshot, +sourceInstantSnapshotId, +architecture, +snapshotType, +creationSizeBytes, +enableConfidentialCompute, +sourceDiskForRecoveryCheckpoint, +sourceInstantSnapshotEncryptionKey, +satisfiesPzi +) +SELECT +'{{ project }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ name }}', +'{{ description }}', +'{{ status }}', +'{{ sourceDisk }}', +'{{ sourceDiskId }}', +'{{ diskSizeGb }}', +'{{ storageBytes }}', +'{{ storageBytesStatus }}', +'{{ licenses }}', +'{{ snapshotEncryptionKey }}', +'{{ sourceDiskEncryptionKey }}', +'{{ selfLink }}', +'{{ labels }}', +'{{ labelFingerprint }}', +'{{ licenseCodes }}', +'{{ storageLocations }}', +true|false, +'{{ guestOsFeatures }}', +'{{ downloadBytes }}', +'{{ chainName }}', +true|false, +'{{ locationHint }}', +'{{ sourceSnapshotSchedulePolicy }}', +'{{ sourceSnapshotSchedulePolicyId }}', +'{{ sourceInstantSnapshot }}', +'{{ sourceInstantSnapshotId }}', +'{{ architecture }}', +'{{ snapshotType }}', +'{{ creationSizeBytes }}', +true|false, +'{{ sourceDiskForRecoveryCheckpoint }}', +'{{ sourceInstantSnapshotEncryptionKey }}', +true|false +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: status + value: '{{ status }}' + - name: sourceDisk + value: '{{ sourceDisk }}' + - name: sourceDiskId + value: '{{ sourceDiskId }}' + - name: diskSizeGb + value: '{{ diskSizeGb }}' + - name: storageBytes + value: '{{ storageBytes }}' + - name: storageBytesStatus + value: '{{ storageBytesStatus }}' + - name: licenses + value: '{{ licenses }}' + - name: snapshotEncryptionKey + value: '{{ snapshotEncryptionKey }}' + - name: sourceDiskEncryptionKey + value: '{{ sourceDiskEncryptionKey }}' + - name: selfLink + value: '{{ selfLink }}' + - name: labels + value: '{{ labels }}' + - name: labelFingerprint + value: '{{ labelFingerprint }}' + - name: licenseCodes + value: '{{ licenseCodes }}' + - name: storageLocations + value: '{{ storageLocations }}' + - name: autoCreated + value: '{{ autoCreated }}' + - name: guestOsFeatures + value: '{{ guestOsFeatures }}' + - name: downloadBytes + value: '{{ downloadBytes }}' + - name: chainName + value: '{{ chainName }}' + - name: satisfiesPzs + value: '{{ satisfiesPzs }}' + - name: locationHint + value: '{{ locationHint }}' + - name: sourceSnapshotSchedulePolicy + value: '{{ sourceSnapshotSchedulePolicy }}' + - name: sourceSnapshotSchedulePolicyId + value: '{{ sourceSnapshotSchedulePolicyId }}' + - name: sourceInstantSnapshot + value: '{{ sourceInstantSnapshot }}' + - name: sourceInstantSnapshotId + value: '{{ sourceInstantSnapshotId }}' + - name: architecture + value: '{{ architecture }}' + - name: snapshotType + value: '{{ snapshotType }}' + - name: creationSizeBytes + value: '{{ creationSizeBytes }}' + - name: enableConfidentialCompute + value: '{{ enableConfidentialCompute }}' + - name: sourceDiskForRecoveryCheckpoint + value: '{{ sourceDiskForRecoveryCheckpoint }}' + - name: sourceInstantSnapshotEncryptionKey + value: '{{ sourceInstantSnapshotEncryptionKey }}' + - name: satisfiesPzi + value: '{{ satisfiesPzi }}' + +``` + + + +## `DELETE` example + +Deletes the specified snapshot resource. + +```sql +DELETE FROM google.compute.snapshots +WHERE project = '{{ project }}' +AND snapshot = '{{ snapshot }}'; +``` diff --git a/docs/google-docs/providers/google/compute/snapshots_iam_policies/index.md b/docs/google-docs/providers/google/compute/snapshots_iam_policies/index.md index ebc9b2b955..813ae30752 100644 --- a/docs/google-docs/providers/google/compute/snapshots_iam_policies/index.md +++ b/docs/google-docs/providers/google/compute/snapshots_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: snapshots_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - snapshots_iam_policies - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an snapshots_iam_policy resource or lists snapshots_iam_policies in a region ## Overview
@@ -31,13 +33,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | Name | Datatype | Description | |:-----|:---------|:------------| | | `string` | This is deprecated and has no effect. Do not use. | -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. May be empty if no such policy or resource exists. | -| | `EXEC` | | Gets the access control policy for a resource. May be empty if no such policy or resource exists. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. | + +## `SELECT` examples + +Gets the access control policy for a resource. May be empty if no such policy or resource exists. + +```sql +SELECT +bindingId, +condition, +members, +role +FROM google.compute.snapshots_iam_policies +WHERE project = '{{ project }}' +AND resource = '{{ resource }}'; +``` diff --git a/docs/google-docs/providers/google/compute/ssl_certificates/index.md b/docs/google-docs/providers/google/compute/ssl_certificates/index.md index 83899fe749..334874fa98 100644 --- a/docs/google-docs/providers/google/compute/ssl_certificates/index.md +++ b/docs/google-docs/providers/google/compute/ssl_certificates/index.md @@ -1,3 +1,4 @@ + --- title: ssl_certificates hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - ssl_certificates - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an ssl_certificate resource or lists ssl_certificates in a region ## Overview
@@ -44,6 +46,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Configuration and status of a self-managed SSL certificate. | | | `array` | [Output Only] Domains associated with the certificate via Subject Alternative Name. | | | `string` | (Optional) Specifies the type of SSL certificate, either "SELF_MANAGED" or "MANAGED". If not specified, the certificate is self-managed and the fields certificate and private_key are used. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -51,3 +54,127 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Retrieves the list of SslCertificate resources available to the specified project. | | | `INSERT` | | Creates a SslCertificate resource in the specified project using the data included in the request. | | | `DELETE` | | Deletes the specified SslCertificate resource. | + +## `SELECT` examples + +Retrieves the list of SslCertificate resources available to the specified project. + +```sql +SELECT +id, +name, +description, +certificate, +creationTimestamp, +expireTime, +kind, +managed, +privateKey, +region, +selfLink, +selfManaged, +subjectAlternativeNames, +type +FROM google.compute.ssl_certificates +WHERE project = '{{ project }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new ssl_certificates resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.ssl_certificates ( +project, +kind, +id, +creationTimestamp, +name, +description, +selfLink, +certificate, +privateKey, +managed, +selfManaged, +type, +subjectAlternativeNames, +expireTime, +region +) +SELECT +'{{ project }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ name }}', +'{{ description }}', +'{{ selfLink }}', +'{{ certificate }}', +'{{ privateKey }}', +'{{ managed }}', +'{{ selfManaged }}', +'{{ type }}', +'{{ subjectAlternativeNames }}', +'{{ expireTime }}', +'{{ region }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: selfLink + value: '{{ selfLink }}' + - name: certificate + value: '{{ certificate }}' + - name: privateKey + value: '{{ privateKey }}' + - name: managed + value: '{{ managed }}' + - name: selfManaged + value: '{{ selfManaged }}' + - name: type + value: '{{ type }}' + - name: subjectAlternativeNames + value: '{{ subjectAlternativeNames }}' + - name: expireTime + value: '{{ expireTime }}' + - name: region + value: '{{ region }}' + +``` + + + +## `DELETE` example + +Deletes the specified ssl_certificate resource. + +```sql +DELETE FROM google.compute.ssl_certificates +WHERE project = '{{ project }}' +AND sslCertificate = '{{ sslCertificate }}'; +``` diff --git a/docs/google-docs/providers/google/compute/ssl_certificates_aggregated/index.md b/docs/google-docs/providers/google/compute/ssl_certificates_aggregated/index.md index a294fc4614..53b921d5ab 100644 --- a/docs/google-docs/providers/google/compute/ssl_certificates_aggregated/index.md +++ b/docs/google-docs/providers/google/compute/ssl_certificates_aggregated/index.md @@ -1,3 +1,4 @@ + --- title: ssl_certificates_aggregated hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - ssl_certificates_aggregated - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an ssl_certificates_aggregated resource or lists ssl_certificates_aggregated in a region ## Overview
@@ -44,8 +46,32 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Configuration and status of a self-managed SSL certificate. | | | `array` | [Output Only] Domains associated with the certificate via Subject Alternative Name. | | | `string` | (Optional) Specifies the type of SSL certificate, either "SELF_MANAGED" or "MANAGED". If not specified, the certificate is self-managed and the fields certificate and private_key are used. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Retrieves the list of all SslCertificate resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. | + +## `SELECT` examples + +Retrieves the list of all SslCertificate resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. + +```sql +SELECT +id, +name, +description, +certificate, +creationTimestamp, +expireTime, +kind, +managed, +privateKey, +region, +selfLink, +selfManaged, +subjectAlternativeNames, +type +FROM google.compute.ssl_certificates_aggregated +WHERE project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/compute/ssl_policies/index.md b/docs/google-docs/providers/google/compute/ssl_policies/index.md index d5a2164789..91b4de23ed 100644 --- a/docs/google-docs/providers/google/compute/ssl_policies/index.md +++ b/docs/google-docs/providers/google/compute/ssl_policies/index.md @@ -1,3 +1,4 @@ + --- title: ssl_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - ssl_policies - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an ssl_policy resource or lists ssl_policies in a region ## Overview
@@ -43,6 +45,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] URL of the region where the regional SSL policy resides. This field is not applicable to global SSL policies. | | | `string` | [Output Only] Server-defined URL for the resource. | | | `array` | [Output Only] If potential misconfigurations are detected for this SSL policy, this field will be populated with warning messages. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -51,3 +54,157 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Returns the specified SSL policy resource. | | | `DELETE` | | Deletes the specified SSL policy. The SSL policy resource can be deleted only if it is not in use by any TargetHttpsProxy or TargetSslProxy resources. | | | `UPDATE` | | Patches the specified SSL policy with the data included in the request. | + +## `SELECT` examples + +Lists all the SSL policies that have been configured for the specified project. + +```sql +SELECT +id, +name, +description, +creationTimestamp, +customFeatures, +enabledFeatures, +fingerprint, +kind, +minTlsVersion, +profile, +region, +selfLink, +warnings +FROM google.compute.ssl_policies +WHERE project = '{{ project }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new ssl_policies resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.ssl_policies ( +project, +kind, +id, +creationTimestamp, +selfLink, +name, +description, +profile, +minTlsVersion, +enabledFeatures, +customFeatures, +fingerprint, +warnings, +region +) +SELECT +'{{ project }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ selfLink }}', +'{{ name }}', +'{{ description }}', +'{{ profile }}', +'{{ minTlsVersion }}', +'{{ enabledFeatures }}', +'{{ customFeatures }}', +'{{ fingerprint }}', +'{{ warnings }}', +'{{ region }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: selfLink + value: '{{ selfLink }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: profile + value: '{{ profile }}' + - name: minTlsVersion + value: '{{ minTlsVersion }}' + - name: enabledFeatures + value: '{{ enabledFeatures }}' + - name: customFeatures + value: '{{ customFeatures }}' + - name: fingerprint + value: '{{ fingerprint }}' + - name: warnings + value: + - - name: code + value: '{{ code }}' + - name: message + value: '{{ message }}' + - name: data + value: + - - name: key + value: '{{ key }}' + - name: value + value: '{{ value }}' + - name: region + value: '{{ region }}' + +``` + + + +## `UPDATE` example + +Updates a ssl_policy only if the necessary resources are available. + +```sql +UPDATE google.compute.ssl_policies +SET +kind = '{{ kind }}', +id = '{{ id }}', +creationTimestamp = '{{ creationTimestamp }}', +selfLink = '{{ selfLink }}', +name = '{{ name }}', +description = '{{ description }}', +profile = '{{ profile }}', +minTlsVersion = '{{ minTlsVersion }}', +enabledFeatures = '{{ enabledFeatures }}', +customFeatures = '{{ customFeatures }}', +fingerprint = '{{ fingerprint }}', +warnings = '{{ warnings }}', +region = '{{ region }}' +WHERE +project = '{{ project }}' +AND sslPolicy = '{{ sslPolicy }}'; +``` + +## `DELETE` example + +Deletes the specified ssl_policy resource. + +```sql +DELETE FROM google.compute.ssl_policies +WHERE project = '{{ project }}' +AND sslPolicy = '{{ sslPolicy }}'; +``` diff --git a/docs/google-docs/providers/google/compute/ssl_policies_aggregated/index.md b/docs/google-docs/providers/google/compute/ssl_policies_aggregated/index.md index ad4ccb956b..9ce9b815b7 100644 --- a/docs/google-docs/providers/google/compute/ssl_policies_aggregated/index.md +++ b/docs/google-docs/providers/google/compute/ssl_policies_aggregated/index.md @@ -1,3 +1,4 @@ + --- title: ssl_policies_aggregated hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - ssl_policies_aggregated - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an ssl_policies_aggregated resource or lists ssl_policies_aggregated in a region ## Overview
@@ -43,8 +45,31 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] URL of the region where the regional SSL policy resides. This field is not applicable to global SSL policies. | | | `string` | [Output Only] Server-defined URL for the resource. | | | `array` | [Output Only] If potential misconfigurations are detected for this SSL policy, this field will be populated with warning messages. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Retrieves the list of all SslPolicy resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. | + +## `SELECT` examples + +Retrieves the list of all SslPolicy resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. + +```sql +SELECT +id, +name, +description, +creationTimestamp, +customFeatures, +enabledFeatures, +fingerprint, +kind, +minTlsVersion, +profile, +region, +selfLink, +warnings +FROM google.compute.ssl_policies_aggregated +WHERE project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/compute/ssl_policies_available_features/index.md b/docs/google-docs/providers/google/compute/ssl_policies_available_features/index.md index 32caddd8b0..0d88a02199 100644 --- a/docs/google-docs/providers/google/compute/ssl_policies_available_features/index.md +++ b/docs/google-docs/providers/google/compute/ssl_policies_available_features/index.md @@ -1,3 +1,4 @@ + --- title: ssl_policies_available_features hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - ssl_policies_available_features - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an ssl_policies_available_feature resource or lists ssl_policies_available_features in a region ## Overview
@@ -28,7 +30,22 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `array` | | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists all features that can be specified in the SSL policy when using custom profile. | + +## `SELECT` examples + +Lists all features that can be specified in the SSL policy when using custom profile. + +```sql +SELECT +features +FROM google.compute.ssl_policies_available_features +WHERE project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/compute/storage_pool_types/index.md b/docs/google-docs/providers/google/compute/storage_pool_types/index.md index a3ebe457fe..2b97c454bf 100644 --- a/docs/google-docs/providers/google/compute/storage_pool_types/index.md +++ b/docs/google-docs/providers/google/compute/storage_pool_types/index.md @@ -1,3 +1,4 @@ + --- title: storage_pool_types hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - storage_pool_types - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an storage_pool_type resource or lists storage_pool_types in a region ## Overview @@ -47,10 +49,37 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] Server-defined URL for this resource with the resource id. | | | `array` | [Output Only] The list of disk types supported in this storage pool type. | | | `string` | [Output Only] URL of the zone where the storage pool type resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Retrieves an aggregated list of storage pool types. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. | | | `SELECT` | | Returns the specified storage pool type. | | | `SELECT` | | Retrieves a list of storage pool types available to the specified project. | -| | `EXEC` | | Retrieves an aggregated list of storage pool types. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. | + +## `SELECT` examples + +Retrieves an aggregated list of storage pool types. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. + +```sql +SELECT +id, +name, +description, +creationTimestamp, +deprecated, +kind, +maxPoolProvisionedCapacityGb, +maxPoolProvisionedIops, +maxPoolProvisionedThroughput, +minPoolProvisionedCapacityGb, +minPoolProvisionedIops, +minPoolProvisionedThroughput, +minSizeGb, +selfLink, +selfLinkWithId, +supportedDiskTypes, +zone +FROM google.compute.storage_pool_types +WHERE project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/compute/storage_pools/index.md b/docs/google-docs/providers/google/compute/storage_pools/index.md index 36263bcfe1..2459fb27a9 100644 --- a/docs/google-docs/providers/google/compute/storage_pools/index.md +++ b/docs/google-docs/providers/google/compute/storage_pools/index.md @@ -1,3 +1,4 @@ + --- title: storage_pools hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - storage_pools - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an storage_pool resource or lists storage_pools in a region ## Overview
@@ -39,7 +41,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | A fingerprint for the labels being applied to this storage pool, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a storage pool. | | | `object` | Labels to apply to this storage pool. These can be later modified by the setLabels method. | | | `string` | Provisioning type of the performance-related parameters of the pool, such as throughput and IOPS. | -| | `string` | Size, in GiB, of the storage pool. | +| | `string` | Size, in GiB, of the storage pool. For more information about the size limits, see https://cloud.google.com/compute/docs/disks/storage-pools. | | | `string` | Provisioned IOPS of the storage pool. Only relevant if the storage pool type is hyperdisk-balanced. | | | `string` | Provisioned throughput of the storage pool. Only relevant if the storage pool type is hyperdisk-balanced or hyperdisk-throughput. | | | `object` | [Output Only] Contains output only fields. | @@ -49,6 +51,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | [Output Only] Contains output only fields. | | | `string` | Type of the storage pool. | | | `string` | [Output Only] URL of the zone where the storage pool resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -57,5 +60,188 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Retrieves a list of storage pools contained within the specified zone. | | | `INSERT` | | Creates a storage pool in the specified project using the data in the request. | | | `DELETE` | | Deletes the specified storage pool. Deleting a storagePool removes its data permanently and is irreversible. However, deleting a storagePool does not delete any snapshots previously made from the storagePool. You must separately delete snapshots. | -| | `UPDATE` | | Updates the specified storagePool with the data included in the request. The update is performed only on selected fields included as part of update-mask. Only the following fields can be modified: size_tb and provisioned_iops. | -| | `EXEC` | | Retrieves an aggregated list of storage pools. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. | +| | `UPDATE` | | Updates the specified storagePool with the data included in the request. The update is performed only on selected fields included as part of update-mask. Only the following fields can be modified: pool_provisioned_capacity_gb, pool_provisioned_iops and pool_provisioned_throughput. | + +## `SELECT` examples + +Retrieves an aggregated list of storage pools. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. + +```sql +SELECT +id, +name, +description, +capacityProvisioningType, +creationTimestamp, +kind, +labelFingerprint, +labels, +performanceProvisioningType, +poolProvisionedCapacityGb, +poolProvisionedIops, +poolProvisionedThroughput, +resourceStatus, +selfLink, +selfLinkWithId, +state, +status, +storagePoolType, +zone +FROM google.compute.storage_pools +WHERE project = '{{ project }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new storage_pools resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.storage_pools ( +project, +zone, +kind, +id, +creationTimestamp, +name, +description, +poolProvisionedCapacityGb, +poolProvisionedIops, +poolProvisionedThroughput, +zone, +state, +selfLink, +selfLinkWithId, +labels, +labelFingerprint, +resourceStatus, +storagePoolType, +status, +capacityProvisioningType, +performanceProvisioningType +) +SELECT +'{{ project }}', +'{{ zone }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ name }}', +'{{ description }}', +'{{ poolProvisionedCapacityGb }}', +'{{ poolProvisionedIops }}', +'{{ poolProvisionedThroughput }}', +'{{ zone }}', +'{{ state }}', +'{{ selfLink }}', +'{{ selfLinkWithId }}', +'{{ labels }}', +'{{ labelFingerprint }}', +'{{ resourceStatus }}', +'{{ storagePoolType }}', +'{{ status }}', +'{{ capacityProvisioningType }}', +'{{ performanceProvisioningType }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: poolProvisionedCapacityGb + value: '{{ poolProvisionedCapacityGb }}' + - name: poolProvisionedIops + value: '{{ poolProvisionedIops }}' + - name: poolProvisionedThroughput + value: '{{ poolProvisionedThroughput }}' + - name: zone + value: '{{ zone }}' + - name: state + value: '{{ state }}' + - name: selfLink + value: '{{ selfLink }}' + - name: selfLinkWithId + value: '{{ selfLinkWithId }}' + - name: labels + value: '{{ labels }}' + - name: labelFingerprint + value: '{{ labelFingerprint }}' + - name: resourceStatus + value: '{{ resourceStatus }}' + - name: storagePoolType + value: '{{ storagePoolType }}' + - name: status + value: '{{ status }}' + - name: capacityProvisioningType + value: '{{ capacityProvisioningType }}' + - name: performanceProvisioningType + value: '{{ performanceProvisioningType }}' + +``` + + + +## `UPDATE` example + +Updates a storage_pool only if the necessary resources are available. + +```sql +UPDATE google.compute.storage_pools +SET +kind = '{{ kind }}', +id = '{{ id }}', +creationTimestamp = '{{ creationTimestamp }}', +name = '{{ name }}', +description = '{{ description }}', +poolProvisionedCapacityGb = '{{ poolProvisionedCapacityGb }}', +poolProvisionedIops = '{{ poolProvisionedIops }}', +poolProvisionedThroughput = '{{ poolProvisionedThroughput }}', +zone = '{{ zone }}', +state = '{{ state }}', +selfLink = '{{ selfLink }}', +selfLinkWithId = '{{ selfLinkWithId }}', +labels = '{{ labels }}', +labelFingerprint = '{{ labelFingerprint }}', +resourceStatus = '{{ resourceStatus }}', +storagePoolType = '{{ storagePoolType }}', +status = '{{ status }}', +capacityProvisioningType = '{{ capacityProvisioningType }}', +performanceProvisioningType = '{{ performanceProvisioningType }}' +WHERE +project = '{{ project }}' +AND storagePool = '{{ storagePool }}' +AND zone = '{{ zone }}'; +``` + +## `DELETE` example + +Deletes the specified storage_pool resource. + +```sql +DELETE FROM google.compute.storage_pools +WHERE project = '{{ project }}' +AND storagePool = '{{ storagePool }}' +AND zone = '{{ zone }}'; +``` diff --git a/docs/google-docs/providers/google/compute/storage_pools_disks/index.md b/docs/google-docs/providers/google/compute/storage_pools_disks/index.md index e80eb13eb2..1604bde711 100644 --- a/docs/google-docs/providers/google/compute/storage_pools_disks/index.md +++ b/docs/google-docs/providers/google/compute/storage_pools_disks/index.md @@ -1,3 +1,4 @@ + --- title: storage_pools_disks hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - storage_pools_disks - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an storage_pools_disk resource or lists storage_pools_disks in a region ## Overview
@@ -41,7 +43,31 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] The disk status. | | | `string` | [Output Only] The disk type. | | | `string` | [Output Only] Amount of disk space used. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists the disks in a specified storage pool. | + +## `SELECT` examples + +Lists the disks in a specified storage pool. + +```sql +SELECT +name, +attachedInstances, +creationTimestamp, +disk, +provisionedIops, +provisionedThroughput, +resourcePolicies, +sizeGb, +status, +type, +usedBytes +FROM google.compute.storage_pools_disks +WHERE project = '{{ project }}' +AND storagePool = '{{ storagePool }}' +AND zone = '{{ zone }}'; +``` diff --git a/docs/google-docs/providers/google/compute/storage_pools_iam_policies/index.md b/docs/google-docs/providers/google/compute/storage_pools_iam_policies/index.md index f9d9e34975..82d48e67ed 100644 --- a/docs/google-docs/providers/google/compute/storage_pools_iam_policies/index.md +++ b/docs/google-docs/providers/google/compute/storage_pools_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: storage_pools_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - storage_pools_iam_policies - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an storage_pools_iam_policy resource or lists storage_pools_iam_policies in a region ## Overview
@@ -31,13 +33,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | Name | Datatype | Description | |:-----|:---------|:------------| | | `string` | This is deprecated and has no effect. Do not use. | -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. May be empty if no such policy or resource exists. | -| | `EXEC` | | Gets the access control policy for a resource. May be empty if no such policy or resource exists. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. | + +## `SELECT` examples + +Gets the access control policy for a resource. May be empty if no such policy or resource exists. + +```sql +SELECT +bindingId, +condition, +members, +role +FROM google.compute.storage_pools_iam_policies +WHERE project = '{{ project }}' +AND resource = '{{ resource }}' +AND zone = '{{ zone }}'; +``` diff --git a/docs/google-docs/providers/google/compute/subnetworks/index.md b/docs/google-docs/providers/google/compute/subnetworks/index.md index 2c578ac409..317689e2ba 100644 --- a/docs/google-docs/providers/google/compute/subnetworks/index.md +++ b/docs/google-docs/providers/google/compute/subnetworks/index.md @@ -1,3 +1,4 @@ + --- title: subnetworks hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - subnetworks - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an subnetwork resource or lists subnetworks in a region ## Overview
@@ -38,7 +40,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The external IPv6 address range that is owned by this subnetwork. | | | `string` | Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a Subnetwork. An up-to-date fingerprint must be provided in order to update the Subnetwork, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a Subnetwork. | | | `string` | [Output Only] The gateway address for default routes to reach destination addresses outside this subnetwork. | -| | `string` | [Output Only] The internal IPv6 address range that is assigned to this subnetwork. | +| | `string` | The internal IPv6 address range that is owned by this subnetwork. | | | `string` | The range of internal addresses that are owned by this subnetwork. Provide this property when you create the subnetwork. For example, 10.0.0.0/8 or 100.64.0.0/10. Ranges must be unique and non-overlapping within a network. Only IPv4 is supported. This field is set at resource creation time. The range can be any range listed in the Valid ranges list. The range can be expanded after creation using expandIpCidrRange. | | | `string` | The access type of IPv6 address this subnet holds. It's immutable and can only be specified during creation or the first time the subnet is updated into IPV4_IPV6 dual stack. | | | `string` | [Output Only] This field is for internal use. | @@ -55,6 +57,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] Server-defined URL for the resource. | | | `string` | The stack type for the subnet. If set to IPV4_ONLY, new VMs in the subnet are assigned IPv4 addresses only. If set to IPV4_IPV6, new VMs in the subnet can be assigned both IPv4 and IPv6 addresses. If not specified, IPV4_ONLY is used. This field can be both set at resource creation time and updated using patch. | | | `string` | [Output Only] The state of the subnetwork, which can be one of the following values: READY: Subnetwork is created and ready to use DRAINING: only applicable to subnetworks that have the purpose set to INTERNAL_HTTPS_LOAD_BALANCER and indicates that connections to the load balancer are being drained. A subnetwork that is draining cannot be used or modified until it reaches a status of READY | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -64,6 +67,225 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a subnetwork in the specified project using the data included in the request. | | | `DELETE` | | Deletes the specified subnetwork. | | | `UPDATE` | | Patches the specified subnetwork with the data included in the request. Only certain fields can be updated with a patch request as indicated in the field descriptions. You must specify the current fingerprint of the subnetwork resource being patched. | -| | `EXEC` | | Retrieves an aggregated list of subnetworks. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. | | | `EXEC` | | Expands the IP CIDR range of the subnetwork to a specified value. | | | `EXEC` | | Set whether VMs in this subnet can access Google services without assigning external IP addresses through Private Google Access. | + +## `SELECT` examples + +Retrieves an aggregated list of subnetworks. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. + +```sql +SELECT +id, +name, +description, +creationTimestamp, +enableFlowLogs, +externalIpv6Prefix, +fingerprint, +gatewayAddress, +internalIpv6Prefix, +ipCidrRange, +ipv6AccessType, +ipv6CidrRange, +kind, +logConfig, +network, +privateIpGoogleAccess, +privateIpv6GoogleAccess, +purpose, +region, +reservedInternalRange, +role, +secondaryIpRanges, +selfLink, +stackType, +state +FROM google.compute.subnetworks +WHERE project = '{{ project }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new subnetworks resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.subnetworks ( +project, +region, +kind, +id, +creationTimestamp, +name, +description, +network, +ipCidrRange, +reservedInternalRange, +gatewayAddress, +region, +selfLink, +privateIpGoogleAccess, +secondaryIpRanges, +fingerprint, +enableFlowLogs, +privateIpv6GoogleAccess, +ipv6CidrRange, +externalIpv6Prefix, +internalIpv6Prefix, +purpose, +role, +state, +logConfig, +stackType, +ipv6AccessType +) +SELECT +'{{ project }}', +'{{ region }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ name }}', +'{{ description }}', +'{{ network }}', +'{{ ipCidrRange }}', +'{{ reservedInternalRange }}', +'{{ gatewayAddress }}', +'{{ region }}', +'{{ selfLink }}', +true|false, +'{{ secondaryIpRanges }}', +'{{ fingerprint }}', +true|false, +'{{ privateIpv6GoogleAccess }}', +'{{ ipv6CidrRange }}', +'{{ externalIpv6Prefix }}', +'{{ internalIpv6Prefix }}', +'{{ purpose }}', +'{{ role }}', +'{{ state }}', +'{{ logConfig }}', +'{{ stackType }}', +'{{ ipv6AccessType }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: network + value: '{{ network }}' + - name: ipCidrRange + value: '{{ ipCidrRange }}' + - name: reservedInternalRange + value: '{{ reservedInternalRange }}' + - name: gatewayAddress + value: '{{ gatewayAddress }}' + - name: region + value: '{{ region }}' + - name: selfLink + value: '{{ selfLink }}' + - name: privateIpGoogleAccess + value: '{{ privateIpGoogleAccess }}' + - name: secondaryIpRanges + value: '{{ secondaryIpRanges }}' + - name: fingerprint + value: '{{ fingerprint }}' + - name: enableFlowLogs + value: '{{ enableFlowLogs }}' + - name: privateIpv6GoogleAccess + value: '{{ privateIpv6GoogleAccess }}' + - name: ipv6CidrRange + value: '{{ ipv6CidrRange }}' + - name: externalIpv6Prefix + value: '{{ externalIpv6Prefix }}' + - name: internalIpv6Prefix + value: '{{ internalIpv6Prefix }}' + - name: purpose + value: '{{ purpose }}' + - name: role + value: '{{ role }}' + - name: state + value: '{{ state }}' + - name: logConfig + value: '{{ logConfig }}' + - name: stackType + value: '{{ stackType }}' + - name: ipv6AccessType + value: '{{ ipv6AccessType }}' + +``` + + + +## `UPDATE` example + +Updates a subnetwork only if the necessary resources are available. + +```sql +UPDATE google.compute.subnetworks +SET +kind = '{{ kind }}', +id = '{{ id }}', +creationTimestamp = '{{ creationTimestamp }}', +name = '{{ name }}', +description = '{{ description }}', +network = '{{ network }}', +ipCidrRange = '{{ ipCidrRange }}', +reservedInternalRange = '{{ reservedInternalRange }}', +gatewayAddress = '{{ gatewayAddress }}', +region = '{{ region }}', +selfLink = '{{ selfLink }}', +privateIpGoogleAccess = true|false, +secondaryIpRanges = '{{ secondaryIpRanges }}', +fingerprint = '{{ fingerprint }}', +enableFlowLogs = true|false, +privateIpv6GoogleAccess = '{{ privateIpv6GoogleAccess }}', +ipv6CidrRange = '{{ ipv6CidrRange }}', +externalIpv6Prefix = '{{ externalIpv6Prefix }}', +internalIpv6Prefix = '{{ internalIpv6Prefix }}', +purpose = '{{ purpose }}', +role = '{{ role }}', +state = '{{ state }}', +logConfig = '{{ logConfig }}', +stackType = '{{ stackType }}', +ipv6AccessType = '{{ ipv6AccessType }}' +WHERE +project = '{{ project }}' +AND region = '{{ region }}' +AND subnetwork = '{{ subnetwork }}'; +``` + +## `DELETE` example + +Deletes the specified subnetwork resource. + +```sql +DELETE FROM google.compute.subnetworks +WHERE project = '{{ project }}' +AND region = '{{ region }}' +AND subnetwork = '{{ subnetwork }}'; +``` diff --git a/docs/google-docs/providers/google/compute/subnetworks_iam_policies/index.md b/docs/google-docs/providers/google/compute/subnetworks_iam_policies/index.md index 0e84342c58..c39889f3fa 100644 --- a/docs/google-docs/providers/google/compute/subnetworks_iam_policies/index.md +++ b/docs/google-docs/providers/google/compute/subnetworks_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: subnetworks_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - subnetworks_iam_policies - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an subnetworks_iam_policy resource or lists subnetworks_iam_policies in a region ## Overview
@@ -31,13 +33,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | Name | Datatype | Description | |:-----|:---------|:------------| | | `string` | This is deprecated and has no effect. Do not use. | -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. May be empty if no such policy or resource exists. | -| | `EXEC` | | Gets the access control policy for a resource. May be empty if no such policy or resource exists. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. | + +## `SELECT` examples + +Gets the access control policy for a resource. May be empty if no such policy or resource exists. + +```sql +SELECT +bindingId, +condition, +members, +role +FROM google.compute.subnetworks_iam_policies +WHERE project = '{{ project }}' +AND region = '{{ region }}' +AND resource = '{{ resource }}'; +``` diff --git a/docs/google-docs/providers/google/compute/subnetworks_usable/index.md b/docs/google-docs/providers/google/compute/subnetworks_usable/index.md index 04dce1de9e..c80bd7a6b4 100644 --- a/docs/google-docs/providers/google/compute/subnetworks_usable/index.md +++ b/docs/google-docs/providers/google/compute/subnetworks_usable/index.md @@ -1,3 +1,4 @@ + --- title: subnetworks_usable hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - subnetworks_usable - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an subnetworks_usable resource or lists subnetworks_usable in a region ## Overview
@@ -40,7 +42,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `array` | Secondary IP ranges. | | | `string` | The stack type for the subnet. If set to IPV4_ONLY, new VMs in the subnet are assigned IPv4 addresses only. If set to IPV4_IPV6, new VMs in the subnet can be assigned both IPv4 and IPv6 addresses. If not specified, IPV4_ONLY is used. This field can be both set at resource creation time and updated using patch. | | | `string` | Subnetwork URL. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Retrieves an aggregated list of all usable subnetworks in the project. | + +## `SELECT` examples + +Retrieves an aggregated list of all usable subnetworks in the project. + +```sql +SELECT +externalIpv6Prefix, +internalIpv6Prefix, +ipCidrRange, +ipv6AccessType, +network, +purpose, +role, +secondaryIpRanges, +stackType, +subnetwork +FROM google.compute.subnetworks_usable +WHERE project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/compute/target_grpc_proxies/index.md b/docs/google-docs/providers/google/compute/target_grpc_proxies/index.md index 6d5d27b5ac..2ce9f060d8 100644 --- a/docs/google-docs/providers/google/compute/target_grpc_proxies/index.md +++ b/docs/google-docs/providers/google/compute/target_grpc_proxies/index.md @@ -1,3 +1,4 @@ + --- title: target_grpc_proxies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - target_grpc_proxies - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an target_grpc_proxy resource or lists target_grpc_proxies in a region ## Overview
@@ -40,6 +42,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] Server-defined URL with id for the resource. | | | `string` | URL to the UrlMap resource that defines the mapping from URL to the BackendService. The protocol field in the BackendService must be set to GRPC. | | | `boolean` | If true, indicates that the BackendServices referenced by the urlMap may be accessed by gRPC applications without using a sidecar proxy. This will enable configuration checks on urlMap and its referenced BackendServices to not allow unsupported features. A gRPC application must use "xds:///" scheme in the target URI of the service it is connecting to. If false, indicates that the BackendServices referenced by the urlMap will be accessed by gRPC applications via a sidecar proxy. In this case, a gRPC application must not use "xds:///" scheme in the target URI of the service it is connecting to | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -48,3 +51,129 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a TargetGrpcProxy in the specified project in the given scope using the parameters that are included in the request. | | | `DELETE` | | Deletes the specified TargetGrpcProxy in the given scope | | | `UPDATE` | | Patches the specified TargetGrpcProxy resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules. | + +## `SELECT` examples + +Lists the TargetGrpcProxies for a project in the given scope. + +```sql +SELECT +id, +name, +description, +creationTimestamp, +fingerprint, +kind, +selfLink, +selfLinkWithId, +urlMap, +validateForProxyless +FROM google.compute.target_grpc_proxies +WHERE project = '{{ project }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new target_grpc_proxies resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.target_grpc_proxies ( +project, +kind, +id, +creationTimestamp, +name, +description, +selfLink, +selfLinkWithId, +urlMap, +validateForProxyless, +fingerprint +) +SELECT +'{{ project }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ name }}', +'{{ description }}', +'{{ selfLink }}', +'{{ selfLinkWithId }}', +'{{ urlMap }}', +true|false, +'{{ fingerprint }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: selfLink + value: '{{ selfLink }}' + - name: selfLinkWithId + value: '{{ selfLinkWithId }}' + - name: urlMap + value: '{{ urlMap }}' + - name: validateForProxyless + value: '{{ validateForProxyless }}' + - name: fingerprint + value: '{{ fingerprint }}' + +``` + + + +## `UPDATE` example + +Updates a target_grpc_proxy only if the necessary resources are available. + +```sql +UPDATE google.compute.target_grpc_proxies +SET +kind = '{{ kind }}', +id = '{{ id }}', +creationTimestamp = '{{ creationTimestamp }}', +name = '{{ name }}', +description = '{{ description }}', +selfLink = '{{ selfLink }}', +selfLinkWithId = '{{ selfLinkWithId }}', +urlMap = '{{ urlMap }}', +validateForProxyless = true|false, +fingerprint = '{{ fingerprint }}' +WHERE +project = '{{ project }}' +AND targetGrpcProxy = '{{ targetGrpcProxy }}'; +``` + +## `DELETE` example + +Deletes the specified target_grpc_proxy resource. + +```sql +DELETE FROM google.compute.target_grpc_proxies +WHERE project = '{{ project }}' +AND targetGrpcProxy = '{{ targetGrpcProxy }}'; +``` diff --git a/docs/google-docs/providers/google/compute/target_http_proxies/index.md b/docs/google-docs/providers/google/compute/target_http_proxies/index.md index cb76bed04c..eb962f52c1 100644 --- a/docs/google-docs/providers/google/compute/target_http_proxies/index.md +++ b/docs/google-docs/providers/google/compute/target_http_proxies/index.md @@ -1,3 +1,4 @@ + --- title: target_http_proxies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - target_http_proxies - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an target_http_proxy resource or lists target_http_proxies in a region ## Overview
@@ -41,6 +43,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] URL of the region where the regional Target HTTP Proxy resides. This field is not applicable to global Target HTTP Proxies. | | | `string` | [Output Only] Server-defined URL for the resource. | | | `string` | URL to the UrlMap resource that defines the mapping from URL to the BackendService. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -50,3 +53,135 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `DELETE` | | Deletes the specified TargetHttpProxy resource. | | | `UPDATE` | | Patches the specified TargetHttpProxy resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules. | | | `EXEC` | | Changes the URL map for TargetHttpProxy. | + +## `SELECT` examples + +Retrieves the list of TargetHttpProxy resources available to the specified project. + +```sql +SELECT +id, +name, +description, +creationTimestamp, +fingerprint, +httpKeepAliveTimeoutSec, +kind, +proxyBind, +region, +selfLink, +urlMap +FROM google.compute.target_http_proxies +WHERE project = '{{ project }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new target_http_proxies resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.target_http_proxies ( +project, +kind, +id, +creationTimestamp, +name, +description, +selfLink, +urlMap, +region, +proxyBind, +fingerprint, +httpKeepAliveTimeoutSec +) +SELECT +'{{ project }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ name }}', +'{{ description }}', +'{{ selfLink }}', +'{{ urlMap }}', +'{{ region }}', +true|false, +'{{ fingerprint }}', +'{{ httpKeepAliveTimeoutSec }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: selfLink + value: '{{ selfLink }}' + - name: urlMap + value: '{{ urlMap }}' + - name: region + value: '{{ region }}' + - name: proxyBind + value: '{{ proxyBind }}' + - name: fingerprint + value: '{{ fingerprint }}' + - name: httpKeepAliveTimeoutSec + value: '{{ httpKeepAliveTimeoutSec }}' + +``` + + + +## `UPDATE` example + +Updates a target_http_proxy only if the necessary resources are available. + +```sql +UPDATE google.compute.target_http_proxies +SET +kind = '{{ kind }}', +id = '{{ id }}', +creationTimestamp = '{{ creationTimestamp }}', +name = '{{ name }}', +description = '{{ description }}', +selfLink = '{{ selfLink }}', +urlMap = '{{ urlMap }}', +region = '{{ region }}', +proxyBind = true|false, +fingerprint = '{{ fingerprint }}', +httpKeepAliveTimeoutSec = '{{ httpKeepAliveTimeoutSec }}' +WHERE +project = '{{ project }}' +AND targetHttpProxy = '{{ targetHttpProxy }}'; +``` + +## `DELETE` example + +Deletes the specified target_http_proxy resource. + +```sql +DELETE FROM google.compute.target_http_proxies +WHERE project = '{{ project }}' +AND targetHttpProxy = '{{ targetHttpProxy }}'; +``` diff --git a/docs/google-docs/providers/google/compute/target_http_proxies_aggregated/index.md b/docs/google-docs/providers/google/compute/target_http_proxies_aggregated/index.md index 7db06bc55d..34b899fc24 100644 --- a/docs/google-docs/providers/google/compute/target_http_proxies_aggregated/index.md +++ b/docs/google-docs/providers/google/compute/target_http_proxies_aggregated/index.md @@ -1,3 +1,4 @@ + --- title: target_http_proxies_aggregated hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - target_http_proxies_aggregated - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an target_http_proxies_aggregated resource or lists target_http_proxies_aggregated in a region ## Overview
@@ -41,8 +43,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] URL of the region where the regional Target HTTP Proxy resides. This field is not applicable to global Target HTTP Proxies. | | | `string` | [Output Only] Server-defined URL for the resource. | | | `string` | URL to the UrlMap resource that defines the mapping from URL to the BackendService. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Retrieves the list of all TargetHttpProxy resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. | + +## `SELECT` examples + +Retrieves the list of all TargetHttpProxy resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. + +```sql +SELECT +id, +name, +description, +creationTimestamp, +fingerprint, +httpKeepAliveTimeoutSec, +kind, +proxyBind, +region, +selfLink, +urlMap +FROM google.compute.target_http_proxies_aggregated +WHERE project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/compute/target_https_proxies/index.md b/docs/google-docs/providers/google/compute/target_https_proxies/index.md index ccf4c1b4f9..a98496953f 100644 --- a/docs/google-docs/providers/google/compute/target_https_proxies/index.md +++ b/docs/google-docs/providers/google/compute/target_https_proxies/index.md @@ -1,3 +1,4 @@ + --- title: target_https_proxies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - target_https_proxies - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an target_https_proxy resource or lists target_https_proxies in a region ## Overview
@@ -34,7 +36,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. | | | `string` | An optional description of this resource. Provide this property when you create the resource. | | | `string` | Optional. A URL referring to a networksecurity.AuthorizationPolicy resource that describes how the proxy should authorize inbound traffic. If left blank, access will not be restricted by an authorization policy. Refer to the AuthorizationPolicy resource for additional details. authorizationPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED. Note: This field currently has no impact. | -| | `string` | URL of a certificate map that identifies a certificate map associated with the given target proxy. This field can only be set for global target proxies. If set, sslCertificates will be ignored. Accepted format is //certificatemanager.googleapis.com/projects/{project }/locations/{location}/certificateMaps/{resourceName}. | +| | `string` | URL of a certificate map that identifies a certificate map associated with the given target proxy. This field can only be set for Global external Application Load Balancer or Classic Application Load Balancer. For other products use Certificate Manager Certificates instead. If set, sslCertificates will be ignored. Accepted format is //certificatemanager.googleapis.com/projects/{project }/locations/{location}/certificateMaps/{resourceName}. | | | `string` | [Output Only] Creation timestamp in RFC3339 text format. | | | `string` | Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a TargetHttpsProxy. An up-to-date fingerprint must be provided in order to patch the TargetHttpsProxy; otherwise, the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve the TargetHttpsProxy. | | | `integer` | Specifies how long to keep a connection open, after completing a response, while there is no matching traffic (in seconds). If an HTTP keep-alive is not specified, a default value (610 seconds) will be used. For global external Application Load Balancers, the minimum allowed value is 5 seconds and the maximum allowed value is 1200 seconds. For classic Application Load Balancers, this option is not supported. | @@ -44,10 +46,11 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] URL of the region where the regional TargetHttpsProxy resides. This field is not applicable to global TargetHttpsProxies. | | | `string` | [Output Only] Server-defined URL for the resource. | | | `string` | Optional. A URL referring to a networksecurity.ServerTlsPolicy resource that describes how the proxy should authenticate inbound traffic. serverTlsPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED or EXTERNAL or EXTERNAL_MANAGED. For details which ServerTlsPolicy resources are accepted with INTERNAL_SELF_MANAGED and which with EXTERNAL, EXTERNAL_MANAGED loadBalancingScheme consult ServerTlsPolicy documentation. If left blank, communications are not encrypted. | -| | `array` | URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates. sslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED. | +| | `array` | URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. SslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED. The URLs should refer to a SSL Certificate resource or Certificate Manager Certificate resource. Mixing Classic Certificates and Certificate Manager Certificates is not allowed. Certificate Manager Certificates must include the certificatemanager API. Certificate Manager Certificates are not supported by Global external Application Load Balancer or Classic Application Load Balancer, use certificate_map instead. Currently, you may specify up to 15 Classic SSL Certificates. Certificate Manager Certificates accepted formats are: - //certificatemanager.googleapis.com/projects/{project}/locations/{ location}/certificates/{resourceName}. - https://certificatemanager.googleapis.com/v1alpha1/projects/{project }/locations/{location}/certificates/{resourceName}. | | | `string` | URL of SslPolicy resource that will be associated with the TargetHttpsProxy resource. If not set, the TargetHttpsProxy resource has no SSL policy configured. | | | `string` | Specifies whether TLS 1.3 0-RTT Data ("Early Data") should be accepted for this service. Early Data allows a TLS resumption handshake to include the initial application payload (a HTTP request) alongside the handshake, reducing the effective round trips to "zero". This applies to TLS 1.3 connections over TCP (HTTP/2) as well as over UDP (QUIC/h3). This can improve application performance, especially on networks where interruptions may be common, such as on mobile. Requests with Early Data will have the "Early-Data" HTTP header set on the request, with a value of "1", to allow the backend to determine whether Early Data was included. Note: TLS Early Data may allow requests to be replayed, as the data is sent to the backend before the handshake has fully completed. Applications that allow idempotent HTTP methods to make non-idempotent changes, such as a GET request updating a database, should not accept Early Data on those requests, and reject requests with the "Early-Data: 1" HTTP header by returning a HTTP 425 (Too Early) status code, in order to remain RFC compliant. The default value is DISABLED. | | | `string` | A fully-qualified or valid partial URL to the UrlMap resource that defines the mapping from URL to the BackendService. For example, the following are all valid URLs for specifying a URL map: - https://www.googleapis.compute/v1/projects/project/global/urlMaps/ url-map - projects/project/global/urlMaps/url-map - global/urlMaps/url-map | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -61,3 +64,177 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `EXEC` | | Replaces SslCertificates for TargetHttpsProxy. | | | `EXEC` | | Sets the SSL policy for TargetHttpsProxy. The SSL policy specifies the server-side support for SSL features. This affects connections between clients and the HTTPS proxy load balancer. They do not affect the connection between the load balancer and the backends. | | | `EXEC` | | Changes the URL map for TargetHttpsProxy. | + +## `SELECT` examples + +Retrieves the list of TargetHttpsProxy resources available to the specified project. + +```sql +SELECT +id, +name, +description, +authorizationPolicy, +certificateMap, +creationTimestamp, +fingerprint, +httpKeepAliveTimeoutSec, +kind, +proxyBind, +quicOverride, +region, +selfLink, +serverTlsPolicy, +sslCertificates, +sslPolicy, +tlsEarlyData, +urlMap +FROM google.compute.target_https_proxies +WHERE project = '{{ project }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new target_https_proxies resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.target_https_proxies ( +project, +kind, +id, +creationTimestamp, +name, +description, +selfLink, +urlMap, +sslCertificates, +certificateMap, +quicOverride, +sslPolicy, +region, +proxyBind, +serverTlsPolicy, +authorizationPolicy, +fingerprint, +httpKeepAliveTimeoutSec, +tlsEarlyData +) +SELECT +'{{ project }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ name }}', +'{{ description }}', +'{{ selfLink }}', +'{{ urlMap }}', +'{{ sslCertificates }}', +'{{ certificateMap }}', +'{{ quicOverride }}', +'{{ sslPolicy }}', +'{{ region }}', +true|false, +'{{ serverTlsPolicy }}', +'{{ authorizationPolicy }}', +'{{ fingerprint }}', +'{{ httpKeepAliveTimeoutSec }}', +'{{ tlsEarlyData }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: selfLink + value: '{{ selfLink }}' + - name: urlMap + value: '{{ urlMap }}' + - name: sslCertificates + value: '{{ sslCertificates }}' + - name: certificateMap + value: '{{ certificateMap }}' + - name: quicOverride + value: '{{ quicOverride }}' + - name: sslPolicy + value: '{{ sslPolicy }}' + - name: region + value: '{{ region }}' + - name: proxyBind + value: '{{ proxyBind }}' + - name: serverTlsPolicy + value: '{{ serverTlsPolicy }}' + - name: authorizationPolicy + value: '{{ authorizationPolicy }}' + - name: fingerprint + value: '{{ fingerprint }}' + - name: httpKeepAliveTimeoutSec + value: '{{ httpKeepAliveTimeoutSec }}' + - name: tlsEarlyData + value: '{{ tlsEarlyData }}' + +``` + + + +## `UPDATE` example + +Updates a target_https_proxy only if the necessary resources are available. + +```sql +UPDATE google.compute.target_https_proxies +SET +kind = '{{ kind }}', +id = '{{ id }}', +creationTimestamp = '{{ creationTimestamp }}', +name = '{{ name }}', +description = '{{ description }}', +selfLink = '{{ selfLink }}', +urlMap = '{{ urlMap }}', +sslCertificates = '{{ sslCertificates }}', +certificateMap = '{{ certificateMap }}', +quicOverride = '{{ quicOverride }}', +sslPolicy = '{{ sslPolicy }}', +region = '{{ region }}', +proxyBind = true|false, +serverTlsPolicy = '{{ serverTlsPolicy }}', +authorizationPolicy = '{{ authorizationPolicy }}', +fingerprint = '{{ fingerprint }}', +httpKeepAliveTimeoutSec = '{{ httpKeepAliveTimeoutSec }}', +tlsEarlyData = '{{ tlsEarlyData }}' +WHERE +project = '{{ project }}' +AND targetHttpsProxy = '{{ targetHttpsProxy }}'; +``` + +## `DELETE` example + +Deletes the specified target_https_proxy resource. + +```sql +DELETE FROM google.compute.target_https_proxies +WHERE project = '{{ project }}' +AND targetHttpsProxy = '{{ targetHttpsProxy }}'; +``` diff --git a/docs/google-docs/providers/google/compute/target_https_proxies_aggregated/index.md b/docs/google-docs/providers/google/compute/target_https_proxies_aggregated/index.md index ad79b0d0f7..c5a83c8571 100644 --- a/docs/google-docs/providers/google/compute/target_https_proxies_aggregated/index.md +++ b/docs/google-docs/providers/google/compute/target_https_proxies_aggregated/index.md @@ -1,3 +1,4 @@ + --- title: target_https_proxies_aggregated hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - target_https_proxies_aggregated - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an target_https_proxies_aggregated resource or lists target_https_proxies_aggregated in a region ## Overview
@@ -34,7 +36,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. | | | `string` | An optional description of this resource. Provide this property when you create the resource. | | | `string` | Optional. A URL referring to a networksecurity.AuthorizationPolicy resource that describes how the proxy should authorize inbound traffic. If left blank, access will not be restricted by an authorization policy. Refer to the AuthorizationPolicy resource for additional details. authorizationPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED. Note: This field currently has no impact. | -| | `string` | URL of a certificate map that identifies a certificate map associated with the given target proxy. This field can only be set for global target proxies. If set, sslCertificates will be ignored. Accepted format is //certificatemanager.googleapis.com/projects/{project }/locations/{location}/certificateMaps/{resourceName}. | +| | `string` | URL of a certificate map that identifies a certificate map associated with the given target proxy. This field can only be set for Global external Application Load Balancer or Classic Application Load Balancer. For other products use Certificate Manager Certificates instead. If set, sslCertificates will be ignored. Accepted format is //certificatemanager.googleapis.com/projects/{project }/locations/{location}/certificateMaps/{resourceName}. | | | `string` | [Output Only] Creation timestamp in RFC3339 text format. | | | `string` | Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a TargetHttpsProxy. An up-to-date fingerprint must be provided in order to patch the TargetHttpsProxy; otherwise, the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve the TargetHttpsProxy. | | | `integer` | Specifies how long to keep a connection open, after completing a response, while there is no matching traffic (in seconds). If an HTTP keep-alive is not specified, a default value (610 seconds) will be used. For global external Application Load Balancers, the minimum allowed value is 5 seconds and the maximum allowed value is 1200 seconds. For classic Application Load Balancers, this option is not supported. | @@ -44,12 +46,40 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] URL of the region where the regional TargetHttpsProxy resides. This field is not applicable to global TargetHttpsProxies. | | | `string` | [Output Only] Server-defined URL for the resource. | | | `string` | Optional. A URL referring to a networksecurity.ServerTlsPolicy resource that describes how the proxy should authenticate inbound traffic. serverTlsPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED or EXTERNAL or EXTERNAL_MANAGED. For details which ServerTlsPolicy resources are accepted with INTERNAL_SELF_MANAGED and which with EXTERNAL, EXTERNAL_MANAGED loadBalancingScheme consult ServerTlsPolicy documentation. If left blank, communications are not encrypted. | -| | `array` | URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates. sslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED. | +| | `array` | URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. SslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED. The URLs should refer to a SSL Certificate resource or Certificate Manager Certificate resource. Mixing Classic Certificates and Certificate Manager Certificates is not allowed. Certificate Manager Certificates must include the certificatemanager API. Certificate Manager Certificates are not supported by Global external Application Load Balancer or Classic Application Load Balancer, use certificate_map instead. Currently, you may specify up to 15 Classic SSL Certificates. Certificate Manager Certificates accepted formats are: - //certificatemanager.googleapis.com/projects/{project}/locations/{ location}/certificates/{resourceName}. - https://certificatemanager.googleapis.com/v1alpha1/projects/{project }/locations/{location}/certificates/{resourceName}. | | | `string` | URL of SslPolicy resource that will be associated with the TargetHttpsProxy resource. If not set, the TargetHttpsProxy resource has no SSL policy configured. | | | `string` | Specifies whether TLS 1.3 0-RTT Data ("Early Data") should be accepted for this service. Early Data allows a TLS resumption handshake to include the initial application payload (a HTTP request) alongside the handshake, reducing the effective round trips to "zero". This applies to TLS 1.3 connections over TCP (HTTP/2) as well as over UDP (QUIC/h3). This can improve application performance, especially on networks where interruptions may be common, such as on mobile. Requests with Early Data will have the "Early-Data" HTTP header set on the request, with a value of "1", to allow the backend to determine whether Early Data was included. Note: TLS Early Data may allow requests to be replayed, as the data is sent to the backend before the handshake has fully completed. Applications that allow idempotent HTTP methods to make non-idempotent changes, such as a GET request updating a database, should not accept Early Data on those requests, and reject requests with the "Early-Data: 1" HTTP header by returning a HTTP 425 (Too Early) status code, in order to remain RFC compliant. The default value is DISABLED. | | | `string` | A fully-qualified or valid partial URL to the UrlMap resource that defines the mapping from URL to the BackendService. For example, the following are all valid URLs for specifying a URL map: - https://www.googleapis.compute/v1/projects/project/global/urlMaps/ url-map - projects/project/global/urlMaps/url-map - global/urlMaps/url-map | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Retrieves the list of all TargetHttpsProxy resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. | + +## `SELECT` examples + +Retrieves the list of all TargetHttpsProxy resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. + +```sql +SELECT +id, +name, +description, +authorizationPolicy, +certificateMap, +creationTimestamp, +fingerprint, +httpKeepAliveTimeoutSec, +kind, +proxyBind, +quicOverride, +region, +selfLink, +serverTlsPolicy, +sslCertificates, +sslPolicy, +tlsEarlyData, +urlMap +FROM google.compute.target_https_proxies_aggregated +WHERE project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/compute/target_instances/index.md b/docs/google-docs/providers/google/compute/target_instances/index.md index 634b00dddc..c702b91034 100644 --- a/docs/google-docs/providers/google/compute/target_instances/index.md +++ b/docs/google-docs/providers/google/compute/target_instances/index.md @@ -1,3 +1,4 @@ + --- title: target_instances hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - target_instances - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an target_instance resource or lists target_instances in a region ## Overview
@@ -41,6 +43,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] The resource URL for the security policy associated with this target instance. | | | `string` | [Output Only] Server-defined URL for the resource. | | | `string` | [Output Only] URL of the zone where the target instance resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -49,5 +52,116 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Retrieves a list of TargetInstance resources available to the specified project and zone. | | | `INSERT` | | Creates a TargetInstance resource in the specified project and zone using the data included in the request. | | | `DELETE` | | Deletes the specified TargetInstance resource. | -| | `EXEC` | | Retrieves an aggregated list of target instances. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. | | | `EXEC` | | Sets the Google Cloud Armor security policy for the specified target instance. For more information, see Google Cloud Armor Overview | + +## `SELECT` examples + +Retrieves an aggregated list of target instances. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. + +```sql +SELECT +id, +name, +description, +creationTimestamp, +instance, +kind, +natPolicy, +network, +securityPolicy, +selfLink, +zone +FROM google.compute.target_instances +WHERE project = '{{ project }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new target_instances resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.target_instances ( +project, +zone, +kind, +id, +creationTimestamp, +name, +description, +zone, +natPolicy, +instance, +selfLink, +network, +securityPolicy +) +SELECT +'{{ project }}', +'{{ zone }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ name }}', +'{{ description }}', +'{{ zone }}', +'{{ natPolicy }}', +'{{ instance }}', +'{{ selfLink }}', +'{{ network }}', +'{{ securityPolicy }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: zone + value: '{{ zone }}' + - name: natPolicy + value: '{{ natPolicy }}' + - name: instance + value: '{{ instance }}' + - name: selfLink + value: '{{ selfLink }}' + - name: network + value: '{{ network }}' + - name: securityPolicy + value: '{{ securityPolicy }}' + +``` + + + +## `DELETE` example + +Deletes the specified target_instance resource. + +```sql +DELETE FROM google.compute.target_instances +WHERE project = '{{ project }}' +AND targetInstance = '{{ targetInstance }}' +AND zone = '{{ zone }}'; +``` diff --git a/docs/google-docs/providers/google/compute/target_pools/index.md b/docs/google-docs/providers/google/compute/target_pools/index.md index b7069c44a1..bbb5bc8bcd 100644 --- a/docs/google-docs/providers/google/compute/target_pools/index.md +++ b/docs/google-docs/providers/google/compute/target_pools/index.md @@ -1,3 +1,4 @@ + --- title: target_pools hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - target_pools - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an target_pool resource or lists target_pools in a region ## Overview
@@ -43,6 +45,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] The resource URL for the security policy associated with this target pool. | | | `string` | [Output Only] Server-defined URL for the resource. | | | `string` | Session affinity option, must be one of the following values: NONE: Connections from the same client IP may go to any instance in the pool. CLIENT_IP: Connections from the same client IP will go to the same instance in the pool while that instance remains healthy. CLIENT_IP_PROTO: Connections from the same client IP with the same IP protocol will go to the same instance in the pool while that instance remains healthy. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -51,6 +54,127 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Retrieves a list of target pools available to the specified project and region. | | | `INSERT` | | Creates a target pool in the specified project and region using the data included in the request. | | | `DELETE` | | Deletes the specified target pool. | -| | `EXEC` | | Retrieves an aggregated list of target pools. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. | | | `EXEC` | | Changes a backup target pool's configurations. | | | `EXEC` | | Sets the Google Cloud Armor security policy for the specified target pool. For more information, see Google Cloud Armor Overview | + +## `SELECT` examples + +Retrieves an aggregated list of target pools. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. + +```sql +SELECT +id, +name, +description, +backupPool, +creationTimestamp, +failoverRatio, +healthChecks, +instances, +kind, +region, +securityPolicy, +selfLink, +sessionAffinity +FROM google.compute.target_pools +WHERE project = '{{ project }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new target_pools resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.target_pools ( +project, +region, +kind, +id, +creationTimestamp, +name, +description, +region, +healthChecks, +instances, +sessionAffinity, +failoverRatio, +backupPool, +selfLink, +securityPolicy +) +SELECT +'{{ project }}', +'{{ region }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ name }}', +'{{ description }}', +'{{ region }}', +'{{ healthChecks }}', +'{{ instances }}', +'{{ sessionAffinity }}', +number, +'{{ backupPool }}', +'{{ selfLink }}', +'{{ securityPolicy }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: region + value: '{{ region }}' + - name: healthChecks + value: '{{ healthChecks }}' + - name: instances + value: '{{ instances }}' + - name: sessionAffinity + value: '{{ sessionAffinity }}' + - name: failoverRatio + value: '{{ failoverRatio }}' + - name: backupPool + value: '{{ backupPool }}' + - name: selfLink + value: '{{ selfLink }}' + - name: securityPolicy + value: '{{ securityPolicy }}' + +``` + + + +## `DELETE` example + +Deletes the specified target_pool resource. + +```sql +DELETE FROM google.compute.target_pools +WHERE project = '{{ project }}' +AND region = '{{ region }}' +AND targetPool = '{{ targetPool }}'; +``` diff --git a/docs/google-docs/providers/google/compute/target_pools_health/index.md b/docs/google-docs/providers/google/compute/target_pools_health/index.md index 0c44cc6ba8..6acd0fdf68 100644 --- a/docs/google-docs/providers/google/compute/target_pools_health/index.md +++ b/docs/google-docs/providers/google/compute/target_pools_health/index.md @@ -1,3 +1,4 @@ + --- title: target_pools_health hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - target_pools_health - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an target_pools_health resource or lists target_pools_health in a region ## Overview
@@ -28,8 +30,26 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `array` | | +| | `string` | [Output Only] Type of resource. Always compute#targetPoolInstanceHealth when checking the health of an instance. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets the most recent health check results for each IP for the instance that is referenced by the given target pool. | + +## `SELECT` examples + +Gets the most recent health check results for each IP for the instance that is referenced by the given target pool. + +```sql +SELECT +healthStatus, +kind +FROM google.compute.target_pools_health +WHERE project = '{{ project }}' +AND region = '{{ region }}' +AND targetPool = '{{ targetPool }}'; +``` diff --git a/docs/google-docs/providers/google/compute/target_pools_health_check/index.md b/docs/google-docs/providers/google/compute/target_pools_health_check/index.md index 74d311fcf6..0911a81a95 100644 --- a/docs/google-docs/providers/google/compute/target_pools_health_check/index.md +++ b/docs/google-docs/providers/google/compute/target_pools_health_check/index.md @@ -1,3 +1,4 @@ + --- title: target_pools_health_check hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - target_pools_health_check - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an target_pools_health_check resource or lists target_pools_health_check in a region ## Overview @@ -28,9 +30,64 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| -| | `EXEC` | | Adds health check URLs to a target pool. | -| | `EXEC` | | Removes health check URL from a target pool. | +| | `INSERT` | | Adds health check URLs to a target pool. | +| | `DELETE` | | Removes health check URL from a target pool. | + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new target_pools_health_check resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.target_pools_health_check ( +project, +region, +targetPool, +healthChecks +) +SELECT +'{{ project }}', +'{{ region }}', +'{{ targetPool }}', +'{{ healthChecks }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: healthChecks + value: '{{ healthChecks }}' + +``` + + + +## `DELETE` example + +Deletes the specified target_pools_health_check resource. + +```sql +DELETE FROM google.compute.target_pools_health_check +WHERE project = '{{ project }}' +AND region = '{{ region }}' +AND targetPool = '{{ targetPool }}'; +``` diff --git a/docs/google-docs/providers/google/compute/target_pools_instance/index.md b/docs/google-docs/providers/google/compute/target_pools_instance/index.md index 4c8a558145..10976f75b8 100644 --- a/docs/google-docs/providers/google/compute/target_pools_instance/index.md +++ b/docs/google-docs/providers/google/compute/target_pools_instance/index.md @@ -1,3 +1,4 @@ + --- title: target_pools_instance hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - target_pools_instance - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an target_pools_instance resource or lists target_pools_instance in a region ## Overview @@ -28,9 +30,64 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| -| | `EXEC` | | Adds an instance to a target pool. | -| | `EXEC` | | Removes instance URL from a target pool. | +| | `INSERT` | | Adds an instance to a target pool. | +| | `DELETE` | | Removes instance URL from a target pool. | + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new target_pools_instance resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.target_pools_instance ( +project, +region, +targetPool, +instances +) +SELECT +'{{ project }}', +'{{ region }}', +'{{ targetPool }}', +'{{ instances }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: instances + value: '{{ instances }}' + +``` + + + +## `DELETE` example + +Deletes the specified target_pools_instance resource. + +```sql +DELETE FROM google.compute.target_pools_instance +WHERE project = '{{ project }}' +AND region = '{{ region }}' +AND targetPool = '{{ targetPool }}'; +``` diff --git a/docs/google-docs/providers/google/compute/target_ssl_proxies/index.md b/docs/google-docs/providers/google/compute/target_ssl_proxies/index.md index 708d66981e..1c3740c643 100644 --- a/docs/google-docs/providers/google/compute/target_ssl_proxies/index.md +++ b/docs/google-docs/providers/google/compute/target_ssl_proxies/index.md @@ -1,3 +1,4 @@ + --- title: target_ssl_proxies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - target_ssl_proxies - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an target_ssl_proxy resource or lists target_ssl_proxies in a region ## Overview @@ -33,7 +35,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] The unique identifier for the resource. This identifier is defined by the server. | | | `string` | Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. | | | `string` | An optional description of this resource. Provide this property when you create the resource. | -| | `string` | URL of a certificate map that identifies a certificate map associated with the given target proxy. This field can only be set for global target proxies. If set, sslCertificates will be ignored. Accepted format is //certificatemanager.googleapis.com/projects/{project }/locations/{location}/certificateMaps/{resourceName}. | +| | `string` | URL of a certificate map that identifies a certificate map associated with the given target proxy. This field can only be set for global target proxies. If set, sslCertificates will be ignored. Accepted format is //certificatemanager.googleapis.com/projects/{project }/locations/{location}/certificateMaps/{resourceName}. | | | `string` | [Output Only] Creation timestamp in RFC3339 text format. | | | `string` | [Output Only] Type of the resource. Always compute#targetSslProxy for target SSL proxies. | | | `string` | Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE. | @@ -41,6 +43,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | URL to the BackendService resource. | | | `array` | URLs to SslCertificate resources that are used to authenticate connections to Backends. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates. sslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED. | | | `string` | URL of SslPolicy resource that will be associated with the TargetSslProxy resource. If not set, the TargetSslProxy resource will not have any SSL policy configured. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -53,3 +56,112 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `EXEC` | | Changes the ProxyHeaderType for TargetSslProxy. | | | `EXEC` | | Changes SslCertificates for TargetSslProxy. | | | `EXEC` | | Sets the SSL policy for TargetSslProxy. The SSL policy specifies the server-side support for SSL features. This affects connections between clients and the load balancer. They do not affect the connection between the load balancer and the backends. | + +## `SELECT` examples + +Retrieves the list of TargetSslProxy resources available to the specified project. + +```sql +SELECT +id, +name, +description, +certificateMap, +creationTimestamp, +kind, +proxyHeader, +selfLink, +service, +sslCertificates, +sslPolicy +FROM google.compute.target_ssl_proxies +WHERE project = '{{ project }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new target_ssl_proxies resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.target_ssl_proxies ( +project, +kind, +id, +creationTimestamp, +name, +description, +selfLink, +service, +sslCertificates, +certificateMap, +proxyHeader, +sslPolicy +) +SELECT +'{{ project }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ name }}', +'{{ description }}', +'{{ selfLink }}', +'{{ service }}', +'{{ sslCertificates }}', +'{{ certificateMap }}', +'{{ proxyHeader }}', +'{{ sslPolicy }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: selfLink + value: '{{ selfLink }}' + - name: service + value: '{{ service }}' + - name: sslCertificates + value: '{{ sslCertificates }}' + - name: certificateMap + value: '{{ certificateMap }}' + - name: proxyHeader + value: '{{ proxyHeader }}' + - name: sslPolicy + value: '{{ sslPolicy }}' + +``` + + + +## `DELETE` example + +Deletes the specified target_ssl_proxy resource. + +```sql +DELETE FROM google.compute.target_ssl_proxies +WHERE project = '{{ project }}' +AND targetSslProxy = '{{ targetSslProxy }}'; +``` diff --git a/docs/google-docs/providers/google/compute/target_tcp_proxies/index.md b/docs/google-docs/providers/google/compute/target_tcp_proxies/index.md index a4fde27817..801824e32c 100644 --- a/docs/google-docs/providers/google/compute/target_tcp_proxies/index.md +++ b/docs/google-docs/providers/google/compute/target_tcp_proxies/index.md @@ -1,3 +1,4 @@ + --- title: target_tcp_proxies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - target_tcp_proxies - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an target_tcp_proxy resource or lists target_tcp_proxies in a region ## Overview
@@ -40,6 +42,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] URL of the region where the regional TCP proxy resides. This field is not applicable to global TCP proxy. | | | `string` | [Output Only] Server-defined URL for the resource. | | | `string` | URL to the BackendService resource. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -49,3 +52,107 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `DELETE` | | Deletes the specified TargetTcpProxy resource. | | | `EXEC` | | Changes the BackendService for TargetTcpProxy. | | | `EXEC` | | Changes the ProxyHeaderType for TargetTcpProxy. | + +## `SELECT` examples + +Retrieves the list of TargetTcpProxy resources available to the specified project. + +```sql +SELECT +id, +name, +description, +creationTimestamp, +kind, +proxyBind, +proxyHeader, +region, +selfLink, +service +FROM google.compute.target_tcp_proxies +WHERE project = '{{ project }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new target_tcp_proxies resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.target_tcp_proxies ( +project, +kind, +id, +creationTimestamp, +name, +description, +selfLink, +service, +proxyHeader, +proxyBind, +region +) +SELECT +'{{ project }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ name }}', +'{{ description }}', +'{{ selfLink }}', +'{{ service }}', +'{{ proxyHeader }}', +true|false, +'{{ region }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: selfLink + value: '{{ selfLink }}' + - name: service + value: '{{ service }}' + - name: proxyHeader + value: '{{ proxyHeader }}' + - name: proxyBind + value: '{{ proxyBind }}' + - name: region + value: '{{ region }}' + +``` + + + +## `DELETE` example + +Deletes the specified target_tcp_proxy resource. + +```sql +DELETE FROM google.compute.target_tcp_proxies +WHERE project = '{{ project }}' +AND targetTcpProxy = '{{ targetTcpProxy }}'; +``` diff --git a/docs/google-docs/providers/google/compute/target_tcp_proxies_aggregated/index.md b/docs/google-docs/providers/google/compute/target_tcp_proxies_aggregated/index.md index 6d3293a922..dff64fc2e6 100644 --- a/docs/google-docs/providers/google/compute/target_tcp_proxies_aggregated/index.md +++ b/docs/google-docs/providers/google/compute/target_tcp_proxies_aggregated/index.md @@ -1,3 +1,4 @@ + --- title: target_tcp_proxies_aggregated hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - target_tcp_proxies_aggregated - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an target_tcp_proxies_aggregated resource or lists target_tcp_proxies_aggregated in a region ## Overview
@@ -40,8 +42,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] URL of the region where the regional TCP proxy resides. This field is not applicable to global TCP proxy. | | | `string` | [Output Only] Server-defined URL for the resource. | | | `string` | URL to the BackendService resource. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Retrieves the list of all TargetTcpProxy resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. | + +## `SELECT` examples + +Retrieves the list of all TargetTcpProxy resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. + +```sql +SELECT +id, +name, +description, +creationTimestamp, +kind, +proxyBind, +proxyHeader, +region, +selfLink, +service +FROM google.compute.target_tcp_proxies_aggregated +WHERE project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/compute/target_vpn_gateways/index.md b/docs/google-docs/providers/google/compute/target_vpn_gateways/index.md index b0c1ef8a0e..cf6dcc3c90 100644 --- a/docs/google-docs/providers/google/compute/target_vpn_gateways/index.md +++ b/docs/google-docs/providers/google/compute/target_vpn_gateways/index.md @@ -1,3 +1,4 @@ + --- title: target_vpn_gateways hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - target_vpn_gateways - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an target_vpn_gateway resource or lists target_vpn_gateways in a region ## Overview
@@ -43,6 +45,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] Server-defined URL for the resource. | | | `string` | [Output Only] The status of the VPN gateway, which can be one of the following: CREATING, READY, FAILED, or DELETING. | | | `array` | [Output Only] A list of URLs to VpnTunnel resources. VpnTunnels are created using the compute.vpntunnels.insert method and associated with a VPN gateway. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -51,5 +54,126 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Retrieves a list of target VPN gateways available to the specified project and region. | | | `INSERT` | | Creates a target VPN gateway in the specified project and region using the data included in the request. | | | `DELETE` | | Deletes the specified target VPN gateway. | -| | `EXEC` | | Retrieves an aggregated list of target VPN gateways. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. | | | `EXEC` | | Sets the labels on a TargetVpnGateway. To learn more about labels, read the Labeling Resources documentation. | + +## `SELECT` examples + +Retrieves an aggregated list of target VPN gateways. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. + +```sql +SELECT +id, +name, +description, +creationTimestamp, +forwardingRules, +kind, +labelFingerprint, +labels, +network, +region, +selfLink, +status, +tunnels +FROM google.compute.target_vpn_gateways +WHERE project = '{{ project }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new target_vpn_gateways resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.target_vpn_gateways ( +project, +region, +kind, +id, +creationTimestamp, +name, +description, +region, +network, +tunnels, +status, +selfLink, +forwardingRules, +labels, +labelFingerprint +) +SELECT +'{{ project }}', +'{{ region }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ name }}', +'{{ description }}', +'{{ region }}', +'{{ network }}', +'{{ tunnels }}', +'{{ status }}', +'{{ selfLink }}', +'{{ forwardingRules }}', +'{{ labels }}', +'{{ labelFingerprint }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: region + value: '{{ region }}' + - name: network + value: '{{ network }}' + - name: tunnels + value: '{{ tunnels }}' + - name: status + value: '{{ status }}' + - name: selfLink + value: '{{ selfLink }}' + - name: forwardingRules + value: '{{ forwardingRules }}' + - name: labels + value: '{{ labels }}' + - name: labelFingerprint + value: '{{ labelFingerprint }}' + +``` + + + +## `DELETE` example + +Deletes the specified target_vpn_gateway resource. + +```sql +DELETE FROM google.compute.target_vpn_gateways +WHERE project = '{{ project }}' +AND region = '{{ region }}' +AND targetVpnGateway = '{{ targetVpnGateway }}'; +``` diff --git a/docs/google-docs/providers/google/compute/url_maps/index.md b/docs/google-docs/providers/google/compute/url_maps/index.md index b3ba74fe88..0c1671eb03 100644 --- a/docs/google-docs/providers/google/compute/url_maps/index.md +++ b/docs/google-docs/providers/google/compute/url_maps/index.md @@ -1,3 +1,4 @@ + --- title: url_maps hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - url_maps - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an url_map resource or lists url_maps in a region ## Overview
@@ -34,8 +36,9 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. | | | `string` | An optional description of this resource. Provide this property when you create the resource. | | | `string` | [Output Only] Creation timestamp in RFC3339 text format. | +| | `object` | Specifies the custom error response policy that must be applied when the backend service or backend bucket responds with an error. | | | `object` | | -| | `string` | The full or partial URL of the defaultService resource to which traffic is directed if none of the hostRules match. If defaultRouteAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. However, if defaultService is specified, defaultRouteAction cannot contain any weightedBackendServices. Conversely, if routeAction specifies any weightedBackendServices, service must not be specified. If defaultService is specified, then set either defaultUrlRedirect , or defaultRouteAction.weightedBackendService Don't set both. defaultService has no effect when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true. | +| | `string` | The full or partial URL of the defaultService resource to which traffic is directed if none of the hostRules match. If defaultRouteAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. However, if defaultService is specified, defaultRouteAction cannot contain any defaultRouteAction.weightedBackendServices. Conversely, if defaultRouteAction specifies any defaultRouteAction.weightedBackendServices, defaultService must not be specified. If defaultService is specified, then set either defaultUrlRedirect , or defaultRouteAction.weightedBackendService Don't set both. defaultService has no effect when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true. | | | `object` | Specifies settings for an HTTP redirect. | | | `string` | Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field is ignored when inserting a UrlMap. An up-to-date fingerprint must be provided in order to update the UrlMap, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a UrlMap. | | | `object` | The request and response header transformations that take effect before the request is passed along to the selected backendService. | @@ -45,6 +48,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] URL of the region where the regional URL map resides. This field is not applicable to global URL maps. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body. | | | `string` | [Output Only] Server-defined URL for the resource. | | | `array` | The list of expected URL mapping tests. Request to update the UrlMap succeeds only if all test cases pass. You can specify a maximum of 100 tests per UrlMap. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -53,6 +57,168 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a UrlMap resource in the specified project using the data included in the request. | | | `DELETE` | | Deletes the specified UrlMap resource. | | | `UPDATE` | | Patches the specified UrlMap resource with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules. | -| | `UPDATE` | | Updates the specified UrlMap resource with the data included in the request. | | | `EXEC` | | Initiates a cache invalidation operation, invalidating the specified path, scoped to the specified UrlMap. For more information, see [Invalidating cached content](/cdn/docs/invalidating-cached-content). | +| | `EXEC` | | Updates the specified UrlMap resource with the data included in the request. | | | `EXEC` | | Runs static validation for the UrlMap. In particular, the tests of the provided UrlMap will be run. Calling this method does NOT create the UrlMap. | + +## `SELECT` examples + +Retrieves the list of UrlMap resources available to the specified project. + +```sql +SELECT +id, +name, +description, +creationTimestamp, +defaultCustomErrorResponsePolicy, +defaultRouteAction, +defaultService, +defaultUrlRedirect, +fingerprint, +headerAction, +hostRules, +kind, +pathMatchers, +region, +selfLink, +tests +FROM google.compute.url_maps +WHERE project = '{{ project }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new url_maps resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.url_maps ( +project, +kind, +id, +creationTimestamp, +name, +description, +selfLink, +hostRules, +pathMatchers, +tests, +defaultService, +defaultRouteAction, +defaultUrlRedirect, +headerAction, +defaultCustomErrorResponsePolicy, +fingerprint, +region +) +SELECT +'{{ project }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ name }}', +'{{ description }}', +'{{ selfLink }}', +'{{ hostRules }}', +'{{ pathMatchers }}', +'{{ tests }}', +'{{ defaultService }}', +'{{ defaultRouteAction }}', +'{{ defaultUrlRedirect }}', +'{{ headerAction }}', +'{{ defaultCustomErrorResponsePolicy }}', +'{{ fingerprint }}', +'{{ region }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: selfLink + value: '{{ selfLink }}' + - name: hostRules + value: '{{ hostRules }}' + - name: pathMatchers + value: '{{ pathMatchers }}' + - name: tests + value: '{{ tests }}' + - name: defaultService + value: '{{ defaultService }}' + - name: defaultRouteAction + value: '{{ defaultRouteAction }}' + - name: defaultUrlRedirect + value: '{{ defaultUrlRedirect }}' + - name: headerAction + value: '{{ headerAction }}' + - name: defaultCustomErrorResponsePolicy + value: '{{ defaultCustomErrorResponsePolicy }}' + - name: fingerprint + value: '{{ fingerprint }}' + - name: region + value: '{{ region }}' + +``` + + + +## `UPDATE` example + +Updates a url_map only if the necessary resources are available. + +```sql +UPDATE google.compute.url_maps +SET +kind = '{{ kind }}', +id = '{{ id }}', +creationTimestamp = '{{ creationTimestamp }}', +name = '{{ name }}', +description = '{{ description }}', +selfLink = '{{ selfLink }}', +hostRules = '{{ hostRules }}', +pathMatchers = '{{ pathMatchers }}', +tests = '{{ tests }}', +defaultService = '{{ defaultService }}', +defaultRouteAction = '{{ defaultRouteAction }}', +defaultUrlRedirect = '{{ defaultUrlRedirect }}', +headerAction = '{{ headerAction }}', +defaultCustomErrorResponsePolicy = '{{ defaultCustomErrorResponsePolicy }}', +fingerprint = '{{ fingerprint }}', +region = '{{ region }}' +WHERE +project = '{{ project }}' +AND urlMap = '{{ urlMap }}'; +``` + +## `DELETE` example + +Deletes the specified url_map resource. + +```sql +DELETE FROM google.compute.url_maps +WHERE project = '{{ project }}' +AND urlMap = '{{ urlMap }}'; +``` diff --git a/docs/google-docs/providers/google/compute/url_maps_aggregated/index.md b/docs/google-docs/providers/google/compute/url_maps_aggregated/index.md index 4dfb0e98da..6faeecc572 100644 --- a/docs/google-docs/providers/google/compute/url_maps_aggregated/index.md +++ b/docs/google-docs/providers/google/compute/url_maps_aggregated/index.md @@ -1,3 +1,4 @@ + --- title: url_maps_aggregated hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - url_maps_aggregated - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an url_maps_aggregated resource or lists url_maps_aggregated in a region ## Overview
@@ -34,8 +36,9 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. | | | `string` | An optional description of this resource. Provide this property when you create the resource. | | | `string` | [Output Only] Creation timestamp in RFC3339 text format. | +| | `object` | Specifies the custom error response policy that must be applied when the backend service or backend bucket responds with an error. | | | `object` | | -| | `string` | The full or partial URL of the defaultService resource to which traffic is directed if none of the hostRules match. If defaultRouteAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. However, if defaultService is specified, defaultRouteAction cannot contain any weightedBackendServices. Conversely, if routeAction specifies any weightedBackendServices, service must not be specified. If defaultService is specified, then set either defaultUrlRedirect , or defaultRouteAction.weightedBackendService Don't set both. defaultService has no effect when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true. | +| | `string` | The full or partial URL of the defaultService resource to which traffic is directed if none of the hostRules match. If defaultRouteAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. However, if defaultService is specified, defaultRouteAction cannot contain any defaultRouteAction.weightedBackendServices. Conversely, if defaultRouteAction specifies any defaultRouteAction.weightedBackendServices, defaultService must not be specified. If defaultService is specified, then set either defaultUrlRedirect , or defaultRouteAction.weightedBackendService Don't set both. defaultService has no effect when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true. | | | `object` | Specifies settings for an HTTP redirect. | | | `string` | Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field is ignored when inserting a UrlMap. An up-to-date fingerprint must be provided in order to update the UrlMap, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a UrlMap. | | | `object` | The request and response header transformations that take effect before the request is passed along to the selected backendService. | @@ -45,8 +48,34 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] URL of the region where the regional URL map resides. This field is not applicable to global URL maps. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body. | | | `string` | [Output Only] Server-defined URL for the resource. | | | `array` | The list of expected URL mapping tests. Request to update the UrlMap succeeds only if all test cases pass. You can specify a maximum of 100 tests per UrlMap. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Retrieves the list of all UrlMap resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. | + +## `SELECT` examples + +Retrieves the list of all UrlMap resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. + +```sql +SELECT +id, +name, +description, +creationTimestamp, +defaultCustomErrorResponsePolicy, +defaultRouteAction, +defaultService, +defaultUrlRedirect, +fingerprint, +headerAction, +hostRules, +kind, +pathMatchers, +region, +selfLink, +tests +FROM google.compute.url_maps_aggregated +WHERE project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/compute/vpn_gateways/index.md b/docs/google-docs/providers/google/compute/vpn_gateways/index.md index 3a8d8524fe..794084291b 100644 --- a/docs/google-docs/providers/google/compute/vpn_gateways/index.md +++ b/docs/google-docs/providers/google/compute/vpn_gateways/index.md @@ -1,3 +1,4 @@ + --- title: vpn_gateways hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - vpn_gateways - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an vpn_gateway resource or lists vpn_gateways in a region ## Overview
@@ -41,8 +43,9 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | URL of the network to which this VPN gateway is attached. Provided by the client when the VPN gateway is created. | | | `string` | [Output Only] URL of the region where the VPN gateway resides. | | | `string` | [Output Only] Server-defined URL for the resource. | -| | `string` | The stack type for this VPN gateway to identify the IP protocols that are enabled. Possible values are: IPV4_ONLY, IPV4_IPV6. If not specified, IPV4_ONLY will be used. | +| | `string` | The stack type for this VPN gateway to identify the IP protocols that are enabled. Possible values are: IPV4_ONLY, IPV4_IPV6, IPV6_ONLY. If not specified, IPV4_ONLY is used if the gateway IP version is IPV4, or IPV4_IPV6 if the gateway IP version is IPV6. | | | `array` | The list of VPN interfaces associated with this VPN gateway. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -51,5 +54,126 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Retrieves a list of VPN gateways available to the specified project and region. | | | `INSERT` | | Creates a VPN gateway in the specified project and region using the data included in the request. | | | `DELETE` | | Deletes the specified VPN gateway. | -| | `EXEC` | | Retrieves an aggregated list of VPN gateways. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. | | | `EXEC` | | Sets the labels on a VpnGateway. To learn more about labels, read the Labeling Resources documentation. | + +## `SELECT` examples + +Retrieves an aggregated list of VPN gateways. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. + +```sql +SELECT +id, +name, +description, +creationTimestamp, +gatewayIpVersion, +kind, +labelFingerprint, +labels, +network, +region, +selfLink, +stackType, +vpnInterfaces +FROM google.compute.vpn_gateways +WHERE project = '{{ project }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new vpn_gateways resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.vpn_gateways ( +project, +region, +kind, +id, +creationTimestamp, +name, +description, +region, +network, +selfLink, +labels, +labelFingerprint, +vpnInterfaces, +stackType, +gatewayIpVersion +) +SELECT +'{{ project }}', +'{{ region }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ name }}', +'{{ description }}', +'{{ region }}', +'{{ network }}', +'{{ selfLink }}', +'{{ labels }}', +'{{ labelFingerprint }}', +'{{ vpnInterfaces }}', +'{{ stackType }}', +'{{ gatewayIpVersion }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: region + value: '{{ region }}' + - name: network + value: '{{ network }}' + - name: selfLink + value: '{{ selfLink }}' + - name: labels + value: '{{ labels }}' + - name: labelFingerprint + value: '{{ labelFingerprint }}' + - name: vpnInterfaces + value: '{{ vpnInterfaces }}' + - name: stackType + value: '{{ stackType }}' + - name: gatewayIpVersion + value: '{{ gatewayIpVersion }}' + +``` + + + +## `DELETE` example + +Deletes the specified vpn_gateway resource. + +```sql +DELETE FROM google.compute.vpn_gateways +WHERE project = '{{ project }}' +AND region = '{{ region }}' +AND vpnGateway = '{{ vpnGateway }}'; +``` diff --git a/docs/google-docs/providers/google/compute/vpn_gateways_iam_policies/index.md b/docs/google-docs/providers/google/compute/vpn_gateways_iam_policies/index.md index 6fcdd2e043..43d32741f7 100644 --- a/docs/google-docs/providers/google/compute/vpn_gateways_iam_policies/index.md +++ b/docs/google-docs/providers/google/compute/vpn_gateways_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: vpn_gateways_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - vpn_gateways_iam_policies - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an vpn_gateways_iam_policy resource or lists vpn_gateways_iam_policies in a region ## Overview
@@ -28,8 +30,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Returns permissions that a caller has on the specified resource. | diff --git a/docs/google-docs/providers/google/compute/vpn_gateways_status/index.md b/docs/google-docs/providers/google/compute/vpn_gateways_status/index.md index 2c9a621818..f13bfc8d7f 100644 --- a/docs/google-docs/providers/google/compute/vpn_gateways_status/index.md +++ b/docs/google-docs/providers/google/compute/vpn_gateways_status/index.md @@ -1,3 +1,4 @@ + --- title: vpn_gateways_status hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - vpn_gateways_status - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an vpn_gateways_status resource or lists vpn_gateways_status in a region ## Overview @@ -28,7 +30,24 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `object` | | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Returns the status for the specified VPN gateway. | + +## `SELECT` examples + +Returns the status for the specified VPN gateway. + +```sql +SELECT +result +FROM google.compute.vpn_gateways_status +WHERE project = '{{ project }}' +AND region = '{{ region }}' +AND vpnGateway = '{{ vpnGateway }}'; +``` diff --git a/docs/google-docs/providers/google/compute/vpn_tunnels/index.md b/docs/google-docs/providers/google/compute/vpn_tunnels/index.md index 31d7654987..5fd97f683d 100644 --- a/docs/google-docs/providers/google/compute/vpn_tunnels/index.md +++ b/docs/google-docs/providers/google/compute/vpn_tunnels/index.md @@ -1,3 +1,4 @@ + --- title: vpn_tunnels hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - vpn_tunnels - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an vpn_tunnel resource or lists vpn_tunnels in a region ## Overview @@ -39,21 +41,22 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] Type of resource. Always compute#vpnTunnel for VPN tunnels. | | | `string` | A fingerprint for the labels being applied to this VpnTunnel, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a VpnTunnel. | | | `object` | Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty. | -| | `array` | Local traffic selector to use when establishing the VPN tunnel with the peer VPN gateway. The value should be a CIDR formatted string, for example: 192.168.0.0/16. The ranges must be disjoint. Only IPv4 is supported. | +| | `array` | Local traffic selector to use when establishing the VPN tunnel with the peer VPN gateway. The value should be a CIDR formatted string, for example: 192.168.0.0/16. The ranges must be disjoint. Only IPv4 is supported for Classic VPN tunnels. This field is output only for HA VPN tunnels. | | | `string` | URL of the peer side external VPN gateway to which this VPN tunnel is connected. Provided by the client when the VPN tunnel is created. This field is exclusive with the field peerGcpGateway. | | | `integer` | The interface ID of the external VPN gateway to which this VPN tunnel is connected. Provided by the client when the VPN tunnel is created. Possible values are: `0`, `1`, `2`, `3`. The number of IDs in use depends on the external VPN gateway redundancy type. | | | `string` | URL of the peer side HA VPN gateway to which this VPN tunnel is connected. Provided by the client when the VPN tunnel is created. This field can be used when creating highly available VPN from VPC network to VPC network, the field is exclusive with the field peerExternalGateway. If provided, the VPN tunnel will automatically use the same vpnGatewayInterface ID in the peer Google Cloud VPN gateway. | -| | `string` | IP address of the peer VPN gateway. Only IPv4 is supported. | +| | `string` | IP address of the peer VPN gateway. Only IPv4 is supported. This field can be set only for Classic VPN tunnels. | | | `string` | [Output Only] URL of the region where the VPN tunnel resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body. | -| | `array` | Remote traffic selectors to use when establishing the VPN tunnel with the peer VPN gateway. The value should be a CIDR formatted string, for example: 192.168.0.0/16. The ranges should be disjoint. Only IPv4 is supported. | +| | `array` | Remote traffic selectors to use when establishing the VPN tunnel with the peer VPN gateway. The value should be a CIDR formatted string, for example: 192.168.0.0/16. The ranges should be disjoint. Only IPv4 is supported for Classic VPN tunnels. This field is output only for HA VPN tunnels. | | | `string` | URL of the router resource to be used for dynamic routing. | | | `string` | [Output Only] Server-defined URL for the resource. | | | `string` | Shared secret used to set the secure session between the Cloud VPN gateway and the peer VPN gateway. | | | `string` | Hash of the shared secret. | | | `string` | [Output Only] The status of the VPN tunnel, which can be one of the following: - PROVISIONING: Resource is being allocated for the VPN tunnel. - WAITING_FOR_FULL_CONFIG: Waiting to receive all VPN-related configs from the user. Network, TargetVpnGateway, VpnTunnel, ForwardingRule, and Route resources are needed to setup the VPN tunnel. - FIRST_HANDSHAKE: Successful first handshake with the peer VPN. - ESTABLISHED: Secure session is successfully established with the peer VPN. - NETWORK_ERROR: Deprecated, replaced by NO_INCOMING_PACKETS - AUTHORIZATION_ERROR: Auth error (for example, bad shared secret). - NEGOTIATION_FAILURE: Handshake failed. - DEPROVISIONING: Resources are being deallocated for the VPN tunnel. - FAILED: Tunnel creation has failed and the tunnel is not ready to be used. - NO_INCOMING_PACKETS: No incoming packets from peer. - REJECTED: Tunnel configuration was rejected, can be result of being denied access. - ALLOCATING_RESOURCES: Cloud VPN is in the process of allocating all required resources. - STOPPED: Tunnel is stopped due to its Forwarding Rules being deleted for Classic VPN tunnels or the project is in frozen state. - PEER_IDENTITY_MISMATCH: Peer identity does not match peer IP, probably behind NAT. - TS_NARROWING_NOT_ALLOWED: Traffic selector narrowing not allowed for an HA-VPN tunnel. | -| | `string` | URL of the Target VPN gateway with which this VPN tunnel is associated. Provided by the client when the VPN tunnel is created. | +| | `string` | URL of the Target VPN gateway with which this VPN tunnel is associated. Provided by the client when the VPN tunnel is created. This field can be set only for Classic VPN tunnels. | | | `string` | URL of the VPN gateway with which this VPN tunnel is associated. Provided by the client when the VPN tunnel is created. This must be used (instead of target_vpn_gateway) if a High Availability VPN gateway resource is created. | | | `integer` | The interface ID of the VPN gateway with which this VPN tunnel is associated. Possible values are: `0`, `1`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -62,5 +65,181 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Retrieves a list of VpnTunnel resources contained in the specified project and region. | | | `INSERT` | | Creates a VpnTunnel resource in the specified project and region using the data included in the request. | | | `DELETE` | | Deletes the specified VpnTunnel resource. | -| | `EXEC` | | Retrieves an aggregated list of VPN tunnels. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. | | | `EXEC` | | Sets the labels on a VpnTunnel. To learn more about labels, read the Labeling Resources documentation. | + +## `SELECT` examples + +Retrieves an aggregated list of VPN tunnels. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. + +```sql +SELECT +id, +name, +description, +creationTimestamp, +detailedStatus, +ikeVersion, +kind, +labelFingerprint, +labels, +localTrafficSelector, +peerExternalGateway, +peerExternalGatewayInterface, +peerGcpGateway, +peerIp, +region, +remoteTrafficSelector, +router, +selfLink, +sharedSecret, +sharedSecretHash, +status, +targetVpnGateway, +vpnGateway, +vpnGatewayInterface +FROM google.compute.vpn_tunnels +WHERE project = '{{ project }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new vpn_tunnels resource. + + + + +```sql +/*+ create */ +INSERT INTO google.compute.vpn_tunnels ( +project, +region, +kind, +id, +creationTimestamp, +name, +description, +region, +targetVpnGateway, +vpnGateway, +vpnGatewayInterface, +peerExternalGateway, +peerExternalGatewayInterface, +peerGcpGateway, +router, +peerIp, +sharedSecret, +sharedSecretHash, +status, +selfLink, +ikeVersion, +detailedStatus, +localTrafficSelector, +remoteTrafficSelector, +labels, +labelFingerprint +) +SELECT +'{{ project }}', +'{{ region }}', +'{{ kind }}', +'{{ id }}', +'{{ creationTimestamp }}', +'{{ name }}', +'{{ description }}', +'{{ region }}', +'{{ targetVpnGateway }}', +'{{ vpnGateway }}', +'{{ vpnGatewayInterface }}', +'{{ peerExternalGateway }}', +'{{ peerExternalGatewayInterface }}', +'{{ peerGcpGateway }}', +'{{ router }}', +'{{ peerIp }}', +'{{ sharedSecret }}', +'{{ sharedSecretHash }}', +'{{ status }}', +'{{ selfLink }}', +'{{ ikeVersion }}', +'{{ detailedStatus }}', +'{{ localTrafficSelector }}', +'{{ remoteTrafficSelector }}', +'{{ labels }}', +'{{ labelFingerprint }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: creationTimestamp + value: '{{ creationTimestamp }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: region + value: '{{ region }}' + - name: targetVpnGateway + value: '{{ targetVpnGateway }}' + - name: vpnGateway + value: '{{ vpnGateway }}' + - name: vpnGatewayInterface + value: '{{ vpnGatewayInterface }}' + - name: peerExternalGateway + value: '{{ peerExternalGateway }}' + - name: peerExternalGatewayInterface + value: '{{ peerExternalGatewayInterface }}' + - name: peerGcpGateway + value: '{{ peerGcpGateway }}' + - name: router + value: '{{ router }}' + - name: peerIp + value: '{{ peerIp }}' + - name: sharedSecret + value: '{{ sharedSecret }}' + - name: sharedSecretHash + value: '{{ sharedSecretHash }}' + - name: status + value: '{{ status }}' + - name: selfLink + value: '{{ selfLink }}' + - name: ikeVersion + value: '{{ ikeVersion }}' + - name: detailedStatus + value: '{{ detailedStatus }}' + - name: localTrafficSelector + value: '{{ localTrafficSelector }}' + - name: remoteTrafficSelector + value: '{{ remoteTrafficSelector }}' + - name: labels + value: '{{ labels }}' + - name: labelFingerprint + value: '{{ labelFingerprint }}' + +``` + + + +## `DELETE` example + +Deletes the specified vpn_tunnel resource. + +```sql +DELETE FROM google.compute.vpn_tunnels +WHERE project = '{{ project }}' +AND region = '{{ region }}' +AND vpnTunnel = '{{ vpnTunnel }}'; +``` diff --git a/docs/google-docs/providers/google/compute/xpn_host/index.md b/docs/google-docs/providers/google/compute/xpn_host/index.md index 904f095fcb..4c32c75b88 100644 --- a/docs/google-docs/providers/google/compute/xpn_host/index.md +++ b/docs/google-docs/providers/google/compute/xpn_host/index.md @@ -1,3 +1,4 @@ + --- title: xpn_host hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - xpn_host - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an xpn_host resource or lists xpn_host in a region ## Overview
@@ -45,7 +47,33 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | The location in Cloud Storage and naming method of the daily usage report. Contains bucket_name and report_name prefix. | | | `string` | [Output Only] Default internal DNS setting used by VMs running in this project. | | | `string` | [Output Only] The role this project has in a shared VPC configuration. Currently, only projects with the host role, which is specified by the value HOST, are differentiated. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets the shared VPC host project that this project links to. May be empty if no link exists. | + +## `SELECT` examples + +Gets the shared VPC host project that this project links to. May be empty if no link exists. + +```sql +SELECT +id, +name, +description, +cloudArmorTier, +commonInstanceMetadata, +creationTimestamp, +defaultNetworkTier, +defaultServiceAccount, +enabledFeatures, +kind, +quotas, +selfLink, +usageExportLocation, +vmDnsSetting, +xpnProjectStatus +FROM google.compute.xpn_host +WHERE project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/compute/xpn_hosts/index.md b/docs/google-docs/providers/google/compute/xpn_hosts/index.md index 06605a0c2c..336fe448a4 100644 --- a/docs/google-docs/providers/google/compute/xpn_hosts/index.md +++ b/docs/google-docs/providers/google/compute/xpn_hosts/index.md @@ -1,3 +1,4 @@ + --- title: xpn_hosts hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - xpn_hosts - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an xpn_host resource or lists xpn_hosts in a region ## Overview
@@ -28,8 +30,50 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | [Output Only] The unique identifier for the resource. This identifier is defined by the server. This is *not* the project ID, and is just a unique ID used by Compute Engine to identify resources. | +| | `string` | The project ID. For example: my-example-project. Use the project ID to make requests to Compute Engine. | +| | `string` | An optional textual description of the resource. | +| | `string` | [Output Only] The Cloud Armor tier for this project. It can be one of the following values: CA_STANDARD, CA_ENTERPRISE_PAYGO. If this field is not specified, it is assumed to be CA_STANDARD. | +| | `object` | A metadata key/value entry. | +| | `string` | [Output Only] Creation timestamp in RFC3339 text format. | +| | `string` | This signifies the default network tier used for configuring resources of the project and can only take the following values: PREMIUM, STANDARD. Initially the default network tier is PREMIUM. | +| | `string` | [Output Only] Default service account used by VMs running in this project. | +| | `array` | Restricted features enabled for use on this project. | +| | `string` | [Output Only] Type of the resource. Always compute#project for projects. | +| | `array` | [Output Only] Quotas assigned to this project. | +| | `string` | [Output Only] Server-defined URL for the resource. | +| | `object` | The location in Cloud Storage and naming method of the daily usage report. Contains bucket_name and report_name prefix. | +| | `string` | [Output Only] Default internal DNS setting used by VMs running in this project. | +| | `string` | [Output Only] The role this project has in a shared VPC configuration. Currently, only projects with the host role, which is specified by the value HOST, are differentiated. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists all shared VPC host projects visible to the user in an organization. | + +## `SELECT` examples + +Lists all shared VPC host projects visible to the user in an organization. + +```sql +SELECT +id, +name, +description, +cloudArmorTier, +commonInstanceMetadata, +creationTimestamp, +defaultNetworkTier, +defaultServiceAccount, +enabledFeatures, +kind, +quotas, +selfLink, +usageExportLocation, +vmDnsSetting, +xpnProjectStatus +FROM google.compute.xpn_hosts +WHERE project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/compute/xpn_resources/index.md b/docs/google-docs/providers/google/compute/xpn_resources/index.md index 453c4eb073..1a30ae2c5f 100644 --- a/docs/google-docs/providers/google/compute/xpn_resources/index.md +++ b/docs/google-docs/providers/google/compute/xpn_resources/index.md @@ -1,3 +1,4 @@ + --- title: xpn_resources hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - xpn_resources - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an xpn_resource resource or lists xpn_resources in a region ## Overview @@ -32,8 +34,20 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | The ID of the service resource. In the case of projects, this field supports project id (e.g., my-project-123) and project number (e.g. 12345678). | | | `string` | The type of the service resource. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets service resources (a.k.a service project) associated with this host project. | + +## `SELECT` examples + +Gets service resources (a.k.a service project) associated with this host project. + +```sql +SELECT +id, +type +FROM google.compute.xpn_resources +WHERE project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/compute/zone_operations/index.md b/docs/google-docs/providers/google/compute/zone_operations/index.md index ea8e7bcab6..d9d3e063e4 100644 --- a/docs/google-docs/providers/google/compute/zone_operations/index.md +++ b/docs/google-docs/providers/google/compute/zone_operations/index.md @@ -1,3 +1,4 @@ + --- title: zone_operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - zone_operations - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an zone_operation resource or lists zone_operations in a region ## Overview
@@ -56,6 +58,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] User who requested the operation, for example: `user@example.com` or `alice_smith_identifier (global/workforcePools/example-com-us-employees)`. | | | `array` | [Output Only] If warning messages are generated during processing of the operation, this field will be populated. | | | `string` | [Output Only] The URL of the zone where the operation resides. Only applicable when performing per-zone operations. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -63,3 +66,51 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Retrieves a list of Operation resources contained within the specified zone. | | | `DELETE` | | Deletes the specified zone-specific Operations resource. | | | `EXEC` | | Waits for the specified Operation resource to return as `DONE` or for the request to approach the 2 minute deadline, and retrieves the specified Operation resource. This method waits for no more than the 2 minutes and then returns the current state of the operation, which might be `DONE` or still in progress. This method is called on a best-effort basis. Specifically: - In uncommon cases, when the server is overloaded, the request might return before the default deadline is reached, or might return after zero seconds. - If the default deadline is reached, there is no guarantee that the operation is actually done when the method returns. Be prepared to retry if the operation is not `DONE`. | + +## `SELECT` examples + +Retrieves a list of Operation resources contained within the specified zone. + +```sql +SELECT +id, +name, +description, +clientOperationId, +creationTimestamp, +endTime, +error, +httpErrorMessage, +httpErrorStatusCode, +insertTime, +instancesBulkInsertOperationMetadata, +kind, +operationGroupId, +operationType, +progress, +region, +selfLink, +setCommonInstanceMetadataOperationMetadata, +startTime, +status, +statusMessage, +targetId, +targetLink, +user, +warnings, +zone +FROM google.compute.zone_operations +WHERE project = '{{ project }}' +AND zone = '{{ zone }}'; +``` + +## `DELETE` example + +Deletes the specified zone_operation resource. + +```sql +DELETE FROM google.compute.zone_operations +WHERE operation = '{{ operation }}' +AND project = '{{ project }}' +AND zone = '{{ zone }}'; +``` diff --git a/docs/google-docs/providers/google/compute/zones/index.md b/docs/google-docs/providers/google/compute/zones/index.md index d65f2a9814..aec3918fda 100644 --- a/docs/google-docs/providers/google/compute/zones/index.md +++ b/docs/google-docs/providers/google/compute/zones/index.md @@ -1,3 +1,4 @@ + --- title: zones hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - zones - compute - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an zone resource or lists zones in a region ## Overview
@@ -41,8 +43,30 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] Server-defined URL for the resource. | | | `string` | [Output Only] Status of the zone, either UP or DOWN. | | | `boolean` | [Output Only] Reserved for future use. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Returns the specified Zone resource. | | | `SELECT` | | Retrieves the list of Zone resources available to the specified project. | + +## `SELECT` examples + +Retrieves the list of Zone resources available to the specified project. + +```sql +SELECT +id, +name, +description, +availableCpuPlatforms, +creationTimestamp, +deprecated, +kind, +region, +selfLink, +status, +supportsPzs +FROM google.compute.zones +WHERE project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/config/deployments/index.md b/docs/google-docs/providers/google/config/deployments/index.md index 93d9b87494..69a470afd7 100644 --- a/docs/google-docs/providers/google/config/deployments/index.md +++ b/docs/google-docs/providers/google/config/deployments/index.md @@ -1,3 +1,4 @@ + --- title: deployments hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - deployments - config - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an deployment resource or lists deployments in a region ## Overview
@@ -30,21 +32,21 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Resource name of the deployment. Format: `projects/{project}/locations/{location}/deployments/{deployment}` | +| | `string` | Resource name of the deployment. Format: `projects/{project}/locations/{location}/deployments/{deployment}` | | | `object` | Optional. Arbitrary key-value metadata storage e.g. to help client tools identify deployments during automation. See https://google.aip.dev/148#annotations for details on format and size limitations. | -| | `string` | Optional. User-defined location of Cloud Build logs and artifacts in Google Cloud Storage. Format: `gs://{bucket}/{folder}` A default bucket will be bootstrapped if the field is not set or empty. Default bucket format: `gs://--blueprint-config` Constraints: - The bucket needs to be in the same project as the deployment - The path cannot be within the path of `gcs_source` - The field cannot be updated, including changing its presence | +| | `string` | Optional. User-defined location of Cloud Build logs and artifacts in Google Cloud Storage. Format: `gs://{bucket}/{folder}` A default bucket will be bootstrapped if the field is not set or empty. Default bucket format: `gs://--blueprint-config` Constraints: - The bucket needs to be in the same project as the deployment - The path cannot be within the path of `gcs_source` - The field cannot be updated, including changing its presence | | | `string` | Output only. Time when the deployment was created. | | | `string` | Output only. Cloud Build instance UUID associated with deleting this deployment. | -| | `string` | Output only. Location of Cloud Build logs in Google Cloud Storage, populated when deleting this deployment. Format: `gs://{bucket}/{object}`. | +| | `string` | Output only. Location of Cloud Build logs in Google Cloud Storage, populated when deleting this deployment. Format: `gs://{bucket}/{object}`. | | | `object` | Outputs and artifacts from applying a deployment. | | | `string` | Output only. Error code describing errors that may have occurred. | -| | `string` | Output only. Location of Terraform error logs in Google Cloud Storage. Format: `gs://{bucket}/{object}`. | +| | `string` | Output only. Location of Terraform error logs in Google Cloud Storage. Format: `gs://{bucket}/{object}`. | | | `boolean` | By default, Infra Manager will return a failure when Terraform encounters a 409 code (resource conflict error) during actuation. If this flag is set to true, Infra Manager will instead attempt to automatically import the resource into the Terraform state (for supported resource types) and continue actuation. Not all resource types are supported, refer to documentation. | | | `object` | User-defined metadata for the deployment. | -| | `string` | Output only. Revision name that was most recently applied. Format: `projects/{project}/locations/{location}/deployments/{deployment}/ revisions/{revision}` | +| | `string` | Output only. Revision name that was most recently applied. Format: `projects/{project}/locations/{location}/deployments/{deployment}/ revisions/{revision}` | | | `string` | Output only. Current lock state of the deployment. | | | `string` | Optional. Input to control quota checks for resources in terraform configuration files. There are limited resources on which quota validation applies. | -| | `string` | Optional. User-specified Service Account (SA) credentials to be used when actuating resources. Format: `projects/{projectID}/serviceAccounts/{serviceAccount}` | +| | `string` | Optional. User-specified Service Account (SA) credentials to be used when actuating resources. Format: `projects/{projectID}/serviceAccounts/{serviceAccount}` | | | `string` | Output only. Current state of the deployment. | | | `string` | Output only. Additional information regarding the current state. | | | `object` | TerraformBlueprint describes the source of a Terraform root module which describes the resources and configs to be deployed. | @@ -52,7 +54,8 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The current Terraform version set on the deployment. It is in the format of "Major.Minor.Patch", for example, "1.3.10". | | | `string` | Optional. The user-specified Terraform version constraint. Example: "=1.3.10". | | | `string` | Output only. Time when the deployment was last modified. | -| | `string` | Optional. The user-specified Cloud Build worker pool resource in which the Cloud Build job will execute. Format: `projects/{project}/locations/{location}/workerPools/{workerPoolId}`. If this field is unspecified, the default Cloud Build worker pool will be used. | +| | `string` | Optional. The user-specified Cloud Build worker pool resource in which the Cloud Build job will execute. Format: `projects/{project}/locations/{location}/workerPools/{workerPoolId}`. If this field is unspecified, the default Cloud Build worker pool will be used. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -61,9 +64,217 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a Deployment. | | | `DELETE` | | Deletes a Deployment. | | | `UPDATE` | | Updates a Deployment. | -| | `EXEC` | | Lists Deployments in a given project and location. | | | `EXEC` | | Exports the lock info on a locked deployment. | | | `EXEC` | | Exports Terraform state file from a given deployment. | | | `EXEC` | | Imports Terraform state file in a given deployment. The state file does not take effect until the Deployment has been unlocked. | | | `EXEC` | | Locks a deployment. | | | `EXEC` | | Unlocks a locked deployment. | + +## `SELECT` examples + +Lists Deployments in a given project and location. + +```sql +SELECT +name, +annotations, +artifactsGcsBucket, +createTime, +deleteBuild, +deleteLogs, +deleteResults, +errorCode, +errorLogs, +importExistingResources, +labels, +latestRevision, +lockState, +quotaValidation, +serviceAccount, +state, +stateDetail, +terraformBlueprint, +tfErrors, +tfVersion, +tfVersionConstraint, +updateTime, +workerPool +FROM google.config.deployments +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new deployments resource. + + + + +```sql +/*+ create */ +INSERT INTO google.config.deployments ( +locationsId, +projectsId, +terraformBlueprint, +name, +createTime, +updateTime, +labels, +state, +latestRevision, +stateDetail, +errorCode, +deleteResults, +deleteBuild, +deleteLogs, +tfErrors, +errorLogs, +artifactsGcsBucket, +serviceAccount, +importExistingResources, +workerPool, +lockState, +tfVersionConstraint, +tfVersion, +quotaValidation, +annotations +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ terraformBlueprint }}', +'{{ name }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ labels }}', +'{{ state }}', +'{{ latestRevision }}', +'{{ stateDetail }}', +'{{ errorCode }}', +'{{ deleteResults }}', +'{{ deleteBuild }}', +'{{ deleteLogs }}', +'{{ tfErrors }}', +'{{ errorLogs }}', +'{{ artifactsGcsBucket }}', +'{{ serviceAccount }}', +true|false, +'{{ workerPool }}', +'{{ lockState }}', +'{{ tfVersionConstraint }}', +'{{ tfVersion }}', +'{{ quotaValidation }}', +'{{ annotations }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: terraformBlueprint + value: '{{ terraformBlueprint }}' + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: labels + value: '{{ labels }}' + - name: state + value: '{{ state }}' + - name: latestRevision + value: '{{ latestRevision }}' + - name: stateDetail + value: '{{ stateDetail }}' + - name: errorCode + value: '{{ errorCode }}' + - name: deleteResults + value: '{{ deleteResults }}' + - name: deleteBuild + value: '{{ deleteBuild }}' + - name: deleteLogs + value: '{{ deleteLogs }}' + - name: tfErrors + value: '{{ tfErrors }}' + - name: errorLogs + value: '{{ errorLogs }}' + - name: artifactsGcsBucket + value: '{{ artifactsGcsBucket }}' + - name: serviceAccount + value: '{{ serviceAccount }}' + - name: importExistingResources + value: '{{ importExistingResources }}' + - name: workerPool + value: '{{ workerPool }}' + - name: lockState + value: '{{ lockState }}' + - name: tfVersionConstraint + value: '{{ tfVersionConstraint }}' + - name: tfVersion + value: '{{ tfVersion }}' + - name: quotaValidation + value: '{{ quotaValidation }}' + - name: annotations + value: '{{ annotations }}' + +``` + + + +## `UPDATE` example + +Updates a deployment only if the necessary resources are available. + +```sql +UPDATE google.config.deployments +SET +terraformBlueprint = '{{ terraformBlueprint }}', +name = '{{ name }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +labels = '{{ labels }}', +state = '{{ state }}', +latestRevision = '{{ latestRevision }}', +stateDetail = '{{ stateDetail }}', +errorCode = '{{ errorCode }}', +deleteResults = '{{ deleteResults }}', +deleteBuild = '{{ deleteBuild }}', +deleteLogs = '{{ deleteLogs }}', +tfErrors = '{{ tfErrors }}', +errorLogs = '{{ errorLogs }}', +artifactsGcsBucket = '{{ artifactsGcsBucket }}', +serviceAccount = '{{ serviceAccount }}', +importExistingResources = true|false, +workerPool = '{{ workerPool }}', +lockState = '{{ lockState }}', +tfVersionConstraint = '{{ tfVersionConstraint }}', +tfVersion = '{{ tfVersion }}', +quotaValidation = '{{ quotaValidation }}', +annotations = '{{ annotations }}' +WHERE +deploymentsId = '{{ deploymentsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified deployment resource. + +```sql +DELETE FROM google.config.deployments +WHERE deploymentsId = '{{ deploymentsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/config/deployments_iam_policies/index.md b/docs/google-docs/providers/google/config/deployments_iam_policies/index.md index af57b300ed..389b3cfd8f 100644 --- a/docs/google-docs/providers/google/config/deployments_iam_policies/index.md +++ b/docs/google-docs/providers/google/config/deployments_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: deployments_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - deployments_iam_policies - config - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an deployments_iam_policy resource or lists deployments_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.config.deployments_iam_policies +WHERE deploymentsId = '{{ deploymentsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/config/deployments_state/index.md b/docs/google-docs/providers/google/config/deployments_state/index.md index 6560efa399..be3aa54128 100644 --- a/docs/google-docs/providers/google/config/deployments_state/index.md +++ b/docs/google-docs/providers/google/config/deployments_state/index.md @@ -1,3 +1,4 @@ + --- title: deployments_state hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - deployments_state - config - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an deployments_state resource or lists deployments_state in a region ## Overview
@@ -28,8 +30,21 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `DELETE` | | Deletes Terraform state file in a given deployment. | + +## `DELETE` example + +Deletes the specified deployments_state resource. + +```sql +DELETE FROM google.config.deployments_state +WHERE deploymentsId = '{{ deploymentsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/config/index.md b/docs/google-docs/providers/google/config/index.md index f5e3c5d0b8..1b9602b7fc 100644 --- a/docs/google-docs/providers/google/config/index.md +++ b/docs/google-docs/providers/google/config/index.md @@ -9,34 +9,23 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Creates and manages Google Cloud Platform resources and infrastructure. - +The config service documentation. + :::info Service Summary
total resources: 9
-total selectable resources: 8
-total methods: 40
::: -## Overview - - - - - - -
Namegoogle.config
TypeService
TitleInfrastructure Manager API
DescriptionCreates and manages Google Cloud Platform resources and infrastructure.
Idconfig:v24.06.00236
- ## Resources
@@ -44,12 +33,12 @@ Creates and manages Google Cloud Platform resources and infrastructure. deployments_iam_policies
deployments_state
locations
-operations
+operations
+terraform_versions
+ \ No newline at end of file diff --git a/docs/google-docs/providers/google/config/locations/index.md b/docs/google-docs/providers/google/config/locations/index.md index 81aca42a7d..528e98b7b1 100644 --- a/docs/google-docs/providers/google/config/locations/index.md +++ b/docs/google-docs/providers/google/config/locations/index.md @@ -1,3 +1,4 @@ + --- title: locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - locations - config - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an location resource or lists locations in a region ## Overview @@ -32,12 +34,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` | | | `string` | The friendly name for this location, typically a nearby city name. For example, "Tokyo". | -| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | +| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | | | `string` | The canonical id for this location. For example: `"us-east1"`. | | | `object` | Service-specific metadata. For example the available capacity at the given location. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about a location. | | | `SELECT` | | Lists information about the supported locations for this service. | -| | `EXEC` | | Lists information about the supported locations for this service. | + +## `SELECT` examples + +Lists information about the supported locations for this service. + +```sql +SELECT +name, +displayName, +labels, +locationId, +metadata +FROM google.config.locations +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/config/operations/index.md b/docs/google-docs/providers/google/config/operations/index.md index 22825e74a1..ded0cd7db4 100644 --- a/docs/google-docs/providers/google/config/operations/index.md +++ b/docs/google-docs/providers/google/config/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - config - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview
@@ -30,16 +32,43 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.config.operations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified operation resource. + +```sql +DELETE FROM google.config.operations +WHERE locationsId = '{{ locationsId }}' +AND operationsId = '{{ operationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/config/previews/index.md b/docs/google-docs/providers/google/config/previews/index.md index bc8f370283..fc787b7f9f 100644 --- a/docs/google-docs/providers/google/config/previews/index.md +++ b/docs/google-docs/providers/google/config/previews/index.md @@ -1,3 +1,4 @@ + --- title: previews hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - previews - config - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an preview resource or lists previews in a region ## Overview
@@ -30,26 +32,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Identifier. Resource name of the preview. Resource name can be user provided or server generated ID if unspecified. Format: `projects/{project}/locations/{location}/previews/{preview}` | +| | `string` | Identifier. Resource name of the preview. Resource name can be user provided or server generated ID if unspecified. Format: `projects/{project}/locations/{location}/previews/{preview}` | | | `object` | Optional. Arbitrary key-value metadata storage e.g. to help client tools identifiy preview during automation. See https://google.aip.dev/148#annotations for details on format and size limitations. | -| | `string` | Optional. User-defined location of Cloud Build logs, artifacts, and in Google Cloud Storage. Format: `gs://{bucket}/{folder}` A default bucket will be bootstrapped if the field is not set or empty Default Bucket Format: `gs://--blueprint-config` Constraints: - The bucket needs to be in the same project as the deployment - The path cannot be within the path of `gcs_source` If omitted and deployment resource ref provided has artifacts_gcs_bucket defined, that artifact bucket is used. | +| | `string` | Optional. User-defined location of Cloud Build logs, artifacts, and in Google Cloud Storage. Format: `gs://{bucket}/{folder}` A default bucket will be bootstrapped if the field is not set or empty Default Bucket Format: `gs://--blueprint-config` Constraints: - The bucket needs to be in the same project as the deployment - The path cannot be within the path of `gcs_source` If omitted and deployment resource ref provided has artifacts_gcs_bucket defined, that artifact bucket is used. | | | `string` | Output only. Cloud Build instance UUID associated with this preview. | | | `string` | Output only. Time the preview was created. | | | `string` | Optional. Optional deployment reference. If specified, the preview will be performed using the provided deployment's current state and use any relevant fields from the deployment unless explicitly specified in the preview create request. | | | `string` | Output only. Code describing any errors that may have occurred. | -| | `string` | Output only. Link to tf-error.ndjson file, which contains the full list of the errors encountered during a Terraform preview. Format: `gs://{bucket}/{object}`. | +| | `string` | Output only. Link to tf-error.ndjson file, which contains the full list of the errors encountered during a Terraform preview. Format: `gs://{bucket}/{object}`. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Optional. User-defined labels for the preview. | -| | `string` | Output only. Location of preview logs in `gs://{bucket}/{object}` format. | +| | `string` | Output only. Location of preview logs in `gs://{bucket}/{object}` format. | | | `object` | Artifacts created by preview. | | | `string` | Optional. Current mode of preview. | -| | `string` | Optional. User-specified Service Account (SA) credentials to be used when previewing resources. Format: `projects/{projectID}/serviceAccounts/{serviceAccount}` | +| | `string` | Optional. User-specified Service Account (SA) credentials to be used when previewing resources. Format: `projects/{projectID}/serviceAccounts/{serviceAccount}` | | | `string` | Output only. Current state of the preview. | | | `object` | TerraformBlueprint describes the source of a Terraform root module which describes the resources and configs to be deployed. | | | `array` | Output only. Summary of errors encountered during Terraform preview. It has a size limit of 10, i.e. only top 10 errors will be summarized here. | | | `string` | Output only. The current Terraform version set on the preview. It is in the format of "Major.Minor.Patch", for example, "1.3.10". | | | `string` | Optional. The user-specified Terraform version constraint. Example: "=1.3.10". | -| | `string` | Optional. The user-specified Worker Pool resource in which the Cloud Build job will execute. Format projects/{project}/locations/{location}/workerPools/{workerPoolId} If this field is unspecified, the default Cloud Build worker pool will be used. If omitted and deployment resource ref provided has worker_pool defined, that worker pool is used. | +| | `string` | Optional. The user-specified Worker Pool resource in which the Cloud Build job will execute. Format projects/{project}/locations/{location}/workerPools/{workerPoolId} If this field is unspecified, the default Cloud Build worker pool will be used. If omitted and deployment resource ref provided has worker_pool defined, that worker pool is used. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -57,5 +60,162 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists Previews in a given project and location. | | | `INSERT` | | Creates a Preview. | | | `DELETE` | | Deletes a Preview. | -| | `EXEC` | | Lists Previews in a given project and location. | | | `EXEC` | | Export Preview results. | + +## `SELECT` examples + +Lists Previews in a given project and location. + +```sql +SELECT +name, +annotations, +artifactsGcsBucket, +build, +createTime, +deployment, +errorCode, +errorLogs, +errorStatus, +labels, +logs, +previewArtifacts, +previewMode, +serviceAccount, +state, +terraformBlueprint, +tfErrors, +tfVersion, +tfVersionConstraint, +workerPool +FROM google.config.previews +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new previews resource. + + + + +```sql +/*+ create */ +INSERT INTO google.config.previews ( +locationsId, +projectsId, +terraformBlueprint, +name, +createTime, +labels, +state, +deployment, +previewMode, +serviceAccount, +artifactsGcsBucket, +workerPool, +errorCode, +errorStatus, +build, +tfErrors, +errorLogs, +previewArtifacts, +logs, +tfVersion, +tfVersionConstraint, +annotations +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ terraformBlueprint }}', +'{{ name }}', +'{{ createTime }}', +'{{ labels }}', +'{{ state }}', +'{{ deployment }}', +'{{ previewMode }}', +'{{ serviceAccount }}', +'{{ artifactsGcsBucket }}', +'{{ workerPool }}', +'{{ errorCode }}', +'{{ errorStatus }}', +'{{ build }}', +'{{ tfErrors }}', +'{{ errorLogs }}', +'{{ previewArtifacts }}', +'{{ logs }}', +'{{ tfVersion }}', +'{{ tfVersionConstraint }}', +'{{ annotations }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: terraformBlueprint + value: '{{ terraformBlueprint }}' + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: labels + value: '{{ labels }}' + - name: state + value: '{{ state }}' + - name: deployment + value: '{{ deployment }}' + - name: previewMode + value: '{{ previewMode }}' + - name: serviceAccount + value: '{{ serviceAccount }}' + - name: artifactsGcsBucket + value: '{{ artifactsGcsBucket }}' + - name: workerPool + value: '{{ workerPool }}' + - name: errorCode + value: '{{ errorCode }}' + - name: errorStatus + value: '{{ errorStatus }}' + - name: build + value: '{{ build }}' + - name: tfErrors + value: '{{ tfErrors }}' + - name: errorLogs + value: '{{ errorLogs }}' + - name: previewArtifacts + value: '{{ previewArtifacts }}' + - name: logs + value: '{{ logs }}' + - name: tfVersion + value: '{{ tfVersion }}' + - name: tfVersionConstraint + value: '{{ tfVersionConstraint }}' + - name: annotations + value: '{{ annotations }}' + +``` + + + +## `DELETE` example + +Deletes the specified preview resource. + +```sql +DELETE FROM google.config.previews +WHERE locationsId = '{{ locationsId }}' +AND previewsId = '{{ previewsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/config/resources/index.md b/docs/google-docs/providers/google/config/resources/index.md index 14defe3b12..7fd3ea4b2d 100644 --- a/docs/google-docs/providers/google/config/resources/index.md +++ b/docs/google-docs/providers/google/config/resources/index.md @@ -1,3 +1,4 @@ + --- title: resources hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - resources - config - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an resource resource or lists resources in a region ## Overview
@@ -30,14 +32,32 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. Resource name. Format: `projects/{project}/locations/{location}/deployments/{deployment}/revisions/{revision}/resources/{resource}` | +| | `string` | Output only. Resource name. Format: `projects/{project}/locations/{location}/deployments/{deployment}/revisions/{revision}/resources/{resource}` | | | `object` | Output only. Map of Cloud Asset Inventory (CAI) type to CAI info (e.g. CAI ID). CAI type format follows https://cloud.google.com/asset-inventory/docs/supported-asset-types | | | `string` | Output only. Intent of the resource. | | | `string` | Output only. Current state of the resource. | | | `object` | Terraform info of a Resource. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets details about a Resource deployed by Infra Manager. | | | `SELECT` | | Lists Resources in a given revision. | -| | `EXEC` | | Lists Resources in a given revision. | + +## `SELECT` examples + +Lists Resources in a given revision. + +```sql +SELECT +name, +caiAssets, +intent, +state, +terraformInfo +FROM google.config.resources +WHERE deploymentsId = '{{ deploymentsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND revisionsId = '{{ revisionsId }}'; +``` diff --git a/docs/google-docs/providers/google/config/revisions/index.md b/docs/google-docs/providers/google/config/revisions/index.md index 5ee5051a15..bbe7c47560 100644 --- a/docs/google-docs/providers/google/config/revisions/index.md +++ b/docs/google-docs/providers/google/config/revisions/index.md @@ -1,3 +1,4 @@ + --- title: revisions hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - revisions - config - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an revision resource or lists revisions in a region ## Overview
@@ -30,18 +32,18 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Revision name. Format: `projects/{project}/locations/{location}/deployments/{deployment}/ revisions/{revision}` | +| | `string` | Revision name. Format: `projects/{project}/locations/{location}/deployments/{deployment}/ revisions/{revision}` | | | `string` | Output only. The action which created this revision | | | `object` | Outputs and artifacts from applying a deployment. | | | `string` | Output only. Cloud Build instance UUID associated with this revision. | | | `string` | Output only. Time when the revision was created. | | | `string` | Output only. Code describing any errors that may have occurred. | -| | `string` | Output only. Location of Terraform error logs in Google Cloud Storage. Format: `gs://{bucket}/{object}`. | +| | `string` | Output only. Location of Terraform error logs in Google Cloud Storage. Format: `gs://{bucket}/{object}`. | | | `boolean` | Output only. By default, Infra Manager will return a failure when Terraform encounters a 409 code (resource conflict error) during actuation. If this flag is set to true, Infra Manager will instead attempt to automatically import the resource into the Terraform state (for supported resource types) and continue actuation. Not all resource types are supported, refer to documentation. | -| | `string` | Output only. Location of Revision operation logs in `gs://{bucket}/{object}` format. | +| | `string` | Output only. Location of Revision operation logs in `gs://{bucket}/{object}` format. | | | `string` | Optional. Input to control quota checks for resources in terraform configuration files. There are limited resources on which quota validation applies. | -| | `string` | Output only. Cloud Storage path containing quota validation results. This field is set when a user sets Deployment.quota_validation field to ENABLED or ENFORCED. Format: `gs://{bucket}/{object}`. | -| | `string` | Output only. User-specified Service Account (SA) to be used as credential to manage resources. Format: `projects/{projectID}/serviceAccounts/{serviceAccount}` | +| | `string` | Output only. Cloud Storage path containing quota validation results. This field is set when a user sets Deployment.quota_validation field to ENABLED or ENFORCED. Format: `gs://{bucket}/{object}`. | +| | `string` | Output only. User-specified Service Account (SA) to be used as credential to manage resources. Format: `projects/{projectID}/serviceAccounts/{serviceAccount}` | | | `string` | Output only. Current state of the revision. | | | `string` | Output only. Additional info regarding the current state. | | | `object` | TerraformBlueprint describes the source of a Terraform root module which describes the resources and configs to be deployed. | @@ -49,11 +51,43 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The version of Terraform used to create the Revision. It is in the format of "Major.Minor.Patch", for example, "1.3.10". | | | `string` | Output only. The user-specified Terraform version constraint. Example: "=1.3.10". | | | `string` | Output only. Time when the revision was last modified. | -| | `string` | Output only. The user-specified Cloud Build worker pool resource in which the Cloud Build job will execute. Format: `projects/{project}/locations/{location}/workerPools/{workerPoolId}`. If this field is unspecified, the default Cloud Build worker pool will be used. | +| | `string` | Output only. The user-specified Cloud Build worker pool resource in which the Cloud Build job will execute. Format: `projects/{project}/locations/{location}/workerPools/{workerPoolId}`. If this field is unspecified, the default Cloud Build worker pool will be used. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets details about a Revision. | | | `SELECT` | | Lists Revisions of a deployment. | -| | `EXEC` | | Lists Revisions of a deployment. | | | `EXEC` | | Exports Terraform state file from a given revision. | + +## `SELECT` examples + +Lists Revisions of a deployment. + +```sql +SELECT +name, +action, +applyResults, +build, +createTime, +errorCode, +errorLogs, +importExistingResources, +logs, +quotaValidation, +quotaValidationResults, +serviceAccount, +state, +stateDetail, +terraformBlueprint, +tfErrors, +tfVersion, +tfVersionConstraint, +updateTime, +workerPool +FROM google.config.revisions +WHERE deploymentsId = '{{ deploymentsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/config/terraform_versions/index.md b/docs/google-docs/providers/google/config/terraform_versions/index.md index 035d3a3b5f..8d596e7361 100644 --- a/docs/google-docs/providers/google/config/terraform_versions/index.md +++ b/docs/google-docs/providers/google/config/terraform_versions/index.md @@ -1,3 +1,4 @@ + --- title: terraform_versions hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - terraform_versions - config - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an terraform_version resource or lists terraform_versions in a region ## Overview
@@ -30,14 +32,30 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Identifier. The version name is in the format: 'projects/{project_id}/locations/{location}/terraformVersions/{terraform_version}'. | +| | `string` | Identifier. The version name is in the format: 'projects/{project_id}/locations/{location}/terraformVersions/{terraform_version}'. | | | `string` | Output only. When the version is deprecated. | | | `string` | Output only. When the version is obsolete. | | | `string` | Output only. The state of the version, ACTIVE, DEPRECATED or OBSOLETE. | | | `string` | Output only. When the version is supported. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets details about a TerraformVersion. | | | `SELECT` | | Lists TerraformVersions in a given project and location. | -| | `EXEC` | | Lists TerraformVersions in a given project and location. | + +## `SELECT` examples + +Lists TerraformVersions in a given project and location. + +```sql +SELECT +name, +deprecateTime, +obsoleteTime, +state, +supportTime +FROM google.config.terraform_versions +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/connectors/actions/index.md b/docs/google-docs/providers/google/connectors/actions/index.md index 6fd3143c97..24ae3b5e79 100644 --- a/docs/google-docs/providers/google/connectors/actions/index.md +++ b/docs/google-docs/providers/google/connectors/actions/index.md @@ -1,3 +1,4 @@ + --- title: actions hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - actions - connectors - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an action resource or lists actions in a region ## Overview
@@ -37,10 +39,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `array` | List containing input parameter metadata. | | | `object` | JsonSchema representation of schema metadata | | | `array` | List containing the metadata of result fields. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the schema of the given action. | | | `SELECT` | | Gets the schema of all the actions supported by the connector. | -| | `EXEC` | | Gets the schema of all the actions supported by the connector. | | | `EXEC` | | Executes an action with the name specified in the request. The input parameters for executing the action are passed through the body of the ExecuteAction request. | + +## `SELECT` examples + +Gets the schema of all the actions supported by the connector. + +```sql +SELECT +name, +description, +displayName, +inputJsonSchema, +inputParameters, +resultJsonSchema, +resultMetadata +FROM google.connectors.actions +WHERE connectionsId = '{{ connectionsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/connectors/connections/index.md b/docs/google-docs/providers/google/connectors/connections/index.md index f7ea06d88a..724d452f34 100644 --- a/docs/google-docs/providers/google/connectors/connections/index.md +++ b/docs/google-docs/providers/google/connectors/connections/index.md @@ -1,3 +1,4 @@ + --- title: connections hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - connections - connectors - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an connection resource or lists connections in a region ## Overview
@@ -28,7 +30,9 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| diff --git a/docs/google-docs/providers/google/connectors/entities/index.md b/docs/google-docs/providers/google/connectors/entities/index.md index 780986e569..1d3a826626 100644 --- a/docs/google-docs/providers/google/connectors/entities/index.md +++ b/docs/google-docs/providers/google/connectors/entities/index.md @@ -1,3 +1,4 @@ + --- title: entities hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - entities - connectors - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an entity resource or lists entities in a region ## Overview @@ -30,8 +32,9 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. Resource name of the Entity. Format: projects/{project}/locations/{location}/connections/{connection}/entityTypes/{type}/entities/{id} | +| | `string` | Output only. Resource name of the Entity. Format: projects/{project}/locations/{location}/connections/{connection}/entityTypes/{type}/entities/{id} | | | `object` | Fields of the entity. The key is name of the field and the value contains the applicable `google.protobuf.Value` entry for this field. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -40,4 +43,96 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new entity row of the specified entity type in the external system. The field values for creating the row are contained in the body of the request. The response message contains a `Entity` message object returned as a response by the external system. | | | `DELETE` | | Deletes an existing entity row matching the entity type and entity id specified in the request. | | | `UPDATE` | | Updates an existing entity row matching the entity type and entity id specified in the request. The fields in the entity row that need to be modified are contained in the body of the request. All unspecified fields are left unchanged. The response message contains a `Entity` message object returned as a response by the external system. | -| | `EXEC` | | Lists entity rows of a particular entity type contained in the request. Note: 1. Currently, only max of one 'sort_by' column is supported. 2. If no 'sort_by' column is provided, the primary key of the table is used. If zero or more than one primary key is available, we default to the unpaginated list entities logic which only returns the first page. 3. The values of the 'sort_by' columns must uniquely identify an entity row, otherwise undefined behaviors may be observed during pagination. 4. Since transactions are not supported, any updates, inserts or deletes during pagination can lead to stale data being returned or other unexpected behaviors. | + +## `SELECT` examples + +Lists entity rows of a particular entity type contained in the request. Note: 1. Currently, only max of one 'sort_by' column is supported. 2. If no 'sort_by' column is provided, the primary key of the table is used. If zero or more than one primary key is available, we default to the unpaginated list entities logic which only returns the first page. 3. The values of the 'sort_by' columns must uniquely identify an entity row, otherwise undefined behaviors may be observed during pagination. 4. Since transactions are not supported, any updates, inserts or deletes during pagination can lead to stale data being returned or other unexpected behaviors. + +```sql +SELECT +name, +fields +FROM google.connectors.entities +WHERE connectionsId = '{{ connectionsId }}' +AND entityTypesId = '{{ entityTypesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new entities resource. + + + + +```sql +/*+ create */ +INSERT INTO google.connectors.entities ( +connectionsId, +entityTypesId, +locationsId, +projectsId, +name, +fields +) +SELECT +'{{ connectionsId }}', +'{{ entityTypesId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ fields }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: fields + value: '{{ fields }}' + +``` + + + +## `UPDATE` example + +Updates a entity only if the necessary resources are available. + +```sql +UPDATE google.connectors.entities +SET +name = '{{ name }}', +fields = '{{ fields }}' +WHERE +connectionsId = '{{ connectionsId }}' +AND entitiesId = '{{ entitiesId }}' +AND entityTypesId = '{{ entityTypesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified entity resource. + +```sql +DELETE FROM google.connectors.entities +WHERE connectionsId = '{{ connectionsId }}' +AND entitiesId = '{{ entitiesId }}' +AND entityTypesId = '{{ entityTypesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/connectors/entities_entities_with_conditions/index.md b/docs/google-docs/providers/google/connectors/entities_entities_with_conditions/index.md index e50ba05031..181c2d4efc 100644 --- a/docs/google-docs/providers/google/connectors/entities_entities_with_conditions/index.md +++ b/docs/google-docs/providers/google/connectors/entities_entities_with_conditions/index.md @@ -1,3 +1,4 @@ + --- title: entities_entities_with_conditions hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - entities_entities_with_conditions - connectors - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an entities_entities_with_condition resource or lists entities_entities_with_conditions in a region ## Overview
@@ -28,9 +30,39 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| -| | `EXEC` | | Deletes entities based on conditions specified in the request and not on entity id. | -| | `EXEC` | | Updates entities based on conditions specified in the request and not on entity id. | +| | `DELETE` | | Deletes entities based on conditions specified in the request and not on entity id. | +| | `UPDATE` | | Updates entities based on conditions specified in the request and not on entity id. | + +## `UPDATE` example + +Updates a entities_entities_with_condition only if the necessary resources are available. + +```sql +UPDATE google.connectors.entities_entities_with_conditions +SET +name = '{{ name }}', +fields = '{{ fields }}' +WHERE +connectionsId = '{{ connectionsId }}' +AND entityTypesId = '{{ entityTypesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified entities_entities_with_condition resource. + +```sql +DELETE FROM google.connectors.entities_entities_with_conditions +WHERE connectionsId = '{{ connectionsId }}' +AND entityTypesId = '{{ entityTypesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/connectors/entity_types/index.md b/docs/google-docs/providers/google/connectors/entity_types/index.md index d24f860f78..2d7c90f595 100644 --- a/docs/google-docs/providers/google/connectors/entity_types/index.md +++ b/docs/google-docs/providers/google/connectors/entity_types/index.md @@ -1,3 +1,4 @@ + --- title: entity_types hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - entity_types - connectors - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an entity_type resource or lists entity_types in a region ## Overview @@ -34,9 +36,25 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `array` | List containing metadata information about each field of the entity type. | | | `object` | JsonSchema representation of schema metadata | | | `array` | | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets metadata of given entity type | | | `SELECT` | | Lists metadata related to all entity types present in the external system. | -| | `EXEC` | | Lists metadata related to all entity types present in the external system. | + +## `SELECT` examples + +Lists metadata related to all entity types present in the external system. + +```sql +SELECT +name, +fields, +jsonSchema, +operations +FROM google.connectors.entity_types +WHERE connectionsId = '{{ connectionsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/connectors/index.md b/docs/google-docs/providers/google/connectors/index.md index 43d0fbb226..17645a4cc3 100644 --- a/docs/google-docs/providers/google/connectors/index.md +++ b/docs/google-docs/providers/google/connectors/index.md @@ -9,43 +9,32 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Enables users to create and manage connections to Google Cloud services and third-party business applications using the Connectors interface. - +The connectors service documentation. + :::info Service Summary
total resources: 5
-total selectable resources: 3
-total methods: 20
::: -## Overview -
- - - - - -
Namegoogle.connectors
TypeService
TitleConnectors API
DescriptionEnables users to create and manage connections to Google Cloud services and third-party business applications using the Connectors interface.
Idconnectors:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/contactcenteraiplatform/contact_centers/index.md b/docs/google-docs/providers/google/contactcenteraiplatform/contact_centers/index.md index b4d5c09626..3d4ed60190 100644 --- a/docs/google-docs/providers/google/contactcenteraiplatform/contact_centers/index.md +++ b/docs/google-docs/providers/google/contactcenteraiplatform/contact_centers/index.md @@ -1,3 +1,4 @@ + --- title: contact_centers hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - contact_centers - contactcenteraiplatform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an contact_center resource or lists contact_centers in a region ## Overview @@ -34,7 +36,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Message storing info about the first admin user. Next ID: 3 | | | `boolean` | Optional. Whether to enable users to be created in the CCAIP-instance concurrently to having users in Cloud identity | | | `string` | Output only. [Output only] Create time stamp | -| | `object` | Instances in this Channel will receive updates after all instances in `Critical` were updated + 2 days. They also will only be updated outside of their peak hours. | +| | `object` | Instances in this Channel will receive updates after all instances in `Normal` were updated. They also will only be updated outside of their peak hours. | | | `string` | Required. Immutable. At least 2 and max 16 char long, must conform to [RFC 1035](https://www.ietf.org/rfc/rfc1035.txt). | | | `string` | Required. A user friendly name for the ContactCenter. | | | `object` | LINT.IfChange First Channel to receive the updates. Meant to dev/test instances | @@ -43,12 +45,13 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Labels as key value pairs | | | `object` | Instances in this Channel will receive updates after all instances in `Early` were updated + 2 days. | | | `object` | Defines ingress and egress private traffic settings for CCAIP instances. | -| | `array` | Output only. A list of UJET components that should be privately accessed. This field is set by reading settings from the data plane. For more information about the format of the component please refer to go/ccaip-vpc-sc-org-policy. This field is must be fully populated only for Create/Update resource operations. The main use case for this field is OrgPolicy checks via CPE. | +| | `array` | Output only. TODO(b/283407860) Deprecate this field. | | | `object` | Message storing SAML params to enable Google as IDP. | | | `string` | Output only. The state of this contact center. | | | `string` | Output only. [Output only] Update time stamp | | | `object` | Message storing the URIs of the ContactCenter. | | | `string` | Optional. Email address of the first admin user. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -57,4 +60,188 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new ContactCenter in a given project and location. | | | `DELETE` | | Deletes a single ContactCenter. | | | `UPDATE` | | Updates the parameters of a single ContactCenter. | -| | `EXEC` | | Lists ContactCenters in a given project and location. | + +## `SELECT` examples + +Lists ContactCenters in a given project and location. + +```sql +SELECT +name, +adminUser, +ccaipManagedUsers, +createTime, +critical, +customerDomainPrefix, +displayName, +early, +instanceConfig, +kmsKey, +labels, +normal, +privateAccess, +privateComponents, +samlParams, +state, +updateTime, +uris, +userEmail +FROM google.contactcenteraiplatform.contact_centers +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new contact_centers resource. + + + + +```sql +/*+ create */ +INSERT INTO google.contactcenteraiplatform.contact_centers ( +locationsId, +projectsId, +name, +createTime, +updateTime, +labels, +uris, +state, +customerDomainPrefix, +displayName, +instanceConfig, +samlParams, +userEmail, +ccaipManagedUsers, +adminUser, +kmsKey, +privateComponents, +privateAccess, +early, +normal, +critical +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ labels }}', +'{{ uris }}', +'{{ state }}', +'{{ customerDomainPrefix }}', +'{{ displayName }}', +'{{ instanceConfig }}', +'{{ samlParams }}', +'{{ userEmail }}', +true|false, +'{{ adminUser }}', +'{{ kmsKey }}', +'{{ privateComponents }}', +'{{ privateAccess }}', +'{{ early }}', +'{{ normal }}', +'{{ critical }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: labels + value: '{{ labels }}' + - name: uris + value: '{{ uris }}' + - name: state + value: '{{ state }}' + - name: customerDomainPrefix + value: '{{ customerDomainPrefix }}' + - name: displayName + value: '{{ displayName }}' + - name: instanceConfig + value: '{{ instanceConfig }}' + - name: samlParams + value: '{{ samlParams }}' + - name: userEmail + value: '{{ userEmail }}' + - name: ccaipManagedUsers + value: '{{ ccaipManagedUsers }}' + - name: adminUser + value: '{{ adminUser }}' + - name: kmsKey + value: '{{ kmsKey }}' + - name: privateComponents + value: '{{ privateComponents }}' + - name: privateAccess + value: '{{ privateAccess }}' + - name: early + value: '{{ early }}' + - name: normal + value: '{{ normal }}' + - name: critical + value: '{{ critical }}' + +``` + + + +## `UPDATE` example + +Updates a contact_center only if the necessary resources are available. + +```sql +UPDATE google.contactcenteraiplatform.contact_centers +SET +name = '{{ name }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +labels = '{{ labels }}', +uris = '{{ uris }}', +state = '{{ state }}', +customerDomainPrefix = '{{ customerDomainPrefix }}', +displayName = '{{ displayName }}', +instanceConfig = '{{ instanceConfig }}', +samlParams = '{{ samlParams }}', +userEmail = '{{ userEmail }}', +ccaipManagedUsers = true|false, +adminUser = '{{ adminUser }}', +kmsKey = '{{ kmsKey }}', +privateComponents = '{{ privateComponents }}', +privateAccess = '{{ privateAccess }}', +early = '{{ early }}', +normal = '{{ normal }}', +critical = '{{ critical }}' +WHERE +contactCentersId = '{{ contactCentersId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified contact_center resource. + +```sql +DELETE FROM google.contactcenteraiplatform.contact_centers +WHERE contactCentersId = '{{ contactCentersId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/contactcenteraiplatform/index.md b/docs/google-docs/providers/google/contactcenteraiplatform/index.md index 729fe7f2c1..c08c82b5fd 100644 --- a/docs/google-docs/providers/google/contactcenteraiplatform/index.md +++ b/docs/google-docs/providers/google/contactcenteraiplatform/index.md @@ -9,41 +9,30 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- - - +The contactcenteraiplatform service documentation. + :::info Service Summary
total resources: 3
-total selectable resources: 3
-total methods: 15
::: -## Overview -
- - - - - -
Namegoogle.contactcenteraiplatform
TypeService
TitleContact Center AI Platform API
Description
Idcontactcenteraiplatform:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/contactcenteraiplatform/locations/index.md b/docs/google-docs/providers/google/contactcenteraiplatform/locations/index.md index 78c3c3d2be..684b4de2be 100644 --- a/docs/google-docs/providers/google/contactcenteraiplatform/locations/index.md +++ b/docs/google-docs/providers/google/contactcenteraiplatform/locations/index.md @@ -1,3 +1,4 @@ + --- title: locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - locations - contactcenteraiplatform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an location resource or lists locations in a region ## Overview @@ -30,15 +32,26 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` | -| | `string` | The friendly name for this location, typically a nearby city name. For example, "Tokyo". | -| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | -| | `string` | The canonical id for this location. For example: `"us-east1"`. | -| | `object` | Service-specific metadata. For example the available capacity at the given location. | +| | `integer` | Deprecated: Use the Quota fields instead. Reflects the count limit of contact centers on a billing account. | +| | `integer` | Deprecated: Use the Quota fields instead. Reflects the count sum of contact centers on a billing account. | +| | `array` | Quota details per contact center instance type. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about a location. | | | `SELECT` | | Lists information about the supported locations for this service. | -| | `EXEC` | | Lists information about the supported locations for this service. | -| | `EXEC` | | Queries the contact center quota, an aggregation over all the projects, that belongs to the billing account, which the input project belongs to. | +| | `SELECT` | | Queries the contact center quota, an aggregation over all the projects, that belongs to the billing account, which the input project belongs to. | + +## `SELECT` examples + +Lists information about the supported locations for this service. + +```sql +SELECT +contactCenterCountLimit, +contactCenterCountSum, +quotas +FROM google.contactcenteraiplatform.locations +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/contactcenteraiplatform/operations/index.md b/docs/google-docs/providers/google/contactcenteraiplatform/operations/index.md index 7c5c9ea241..d949bac626 100644 --- a/docs/google-docs/providers/google/contactcenteraiplatform/operations/index.md +++ b/docs/google-docs/providers/google/contactcenteraiplatform/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - contactcenteraiplatform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview
@@ -30,16 +32,43 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.contactcenteraiplatform.operations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified operation resource. + +```sql +DELETE FROM google.contactcenteraiplatform.operations +WHERE locationsId = '{{ locationsId }}' +AND operationsId = '{{ operationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/contactcenterinsights/analyses/index.md b/docs/google-docs/providers/google/contactcenterinsights/analyses/index.md index 25ade0a79d..4d2bad4676 100644 --- a/docs/google-docs/providers/google/contactcenterinsights/analyses/index.md +++ b/docs/google-docs/providers/google/contactcenterinsights/analyses/index.md @@ -1,3 +1,4 @@ + --- title: analyses hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - analyses - contactcenterinsights - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an analysis resource or lists analyses in a region ## Overview
@@ -30,11 +32,12 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Immutable. The resource name of the analysis. Format: projects/{project}/locations/{location}/conversations/{conversation}/analyses/{analysis} | +| | `string` | Immutable. The resource name of the analysis. Format: projects/{project}/locations/{location}/conversations/{conversation}/analyses/{analysis} | | | `object` | The result of an analysis. | | | `object` | Selector of all available annotators and phrase matchers to run. | | | `string` | Output only. The time at which the analysis was created, which occurs when the long-running operation completes. | | | `string` | Output only. The time at which the analysis was requested. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -42,4 +45,90 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists analyses. | | | `INSERT` | | Creates an analysis. The long running operation is done when the analysis has completed. | | | `DELETE` | | Deletes an analysis. | -| | `EXEC` | | Lists analyses. | + +## `SELECT` examples + +Lists analyses. + +```sql +SELECT +name, +analysisResult, +annotatorSelector, +createTime, +requestTime +FROM google.contactcenterinsights.analyses +WHERE conversationsId = '{{ conversationsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new analyses resource. + + + + +```sql +/*+ create */ +INSERT INTO google.contactcenterinsights.analyses ( +conversationsId, +locationsId, +projectsId, +requestTime, +name, +analysisResult, +createTime, +annotatorSelector +) +SELECT +'{{ conversationsId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ requestTime }}', +'{{ name }}', +'{{ analysisResult }}', +'{{ createTime }}', +'{{ annotatorSelector }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: requestTime + value: '{{ requestTime }}' + - name: name + value: '{{ name }}' + - name: analysisResult + value: '{{ analysisResult }}' + - name: createTime + value: '{{ createTime }}' + - name: annotatorSelector + value: '{{ annotatorSelector }}' + +``` + + + +## `DELETE` example + +Deletes the specified analysis resource. + +```sql +DELETE FROM google.contactcenterinsights.analyses +WHERE analysesId = '{{ analysesId }}' +AND conversationsId = '{{ conversationsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/contactcenterinsights/conversations/index.md b/docs/google-docs/providers/google/contactcenterinsights/conversations/index.md index 501d4ee62a..232fd0df66 100644 --- a/docs/google-docs/providers/google/contactcenterinsights/conversations/index.md +++ b/docs/google-docs/providers/google/contactcenterinsights/conversations/index.md @@ -1,3 +1,4 @@ + --- title: conversations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - conversations - contactcenterinsights - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an conversation resource or lists conversations in a region ## Overview
@@ -30,12 +32,12 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Immutable. The resource name of the conversation. Format: projects/{project}/locations/{location}/conversations/{conversation} | +| | `string` | Immutable. The resource name of the conversation. Format: projects/{project}/locations/{location}/conversations/{conversation} | | | `string` | An opaque, user-specified string representing the human agent who handled the conversation. | | | `object` | Call-specific metadata. | | | `string` | Output only. The time at which the conversation was created. | | | `object` | The conversation source, which is a combination of transcript and audio. | -| | `object` | Output only. All the matched Dialogflow intents in the call. The key corresponds to a Dialogflow intent, format: projects/{project}/agent/{agent}/intents/{intent} | +| | `object` | Output only. All the matched Dialogflow intents in the call. The key corresponds to a Dialogflow intent, format: projects/{project}/agent/{agent}/intents/{intent} | | | `string` | Output only. The duration of the conversation. | | | `string` | The time at which this conversation should expire. After this time, the conversation data and any associated analyses will be deleted. | | | `object` | A map for the user to specify any custom fields. A maximum of 20 labels per conversation is allowed, with a maximum of 256 characters per entry. | @@ -43,6 +45,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | The analysis resource. | | | `object` | Conversation summarization suggestion data. | | | `string` | Immutable. The conversation medium, if unspecified will default to PHONE_CALL. | +| | `string` | Input only. JSON Metadata encoded as a string. This field is primarily used by Insights integrations with various telphony systems and must be in one of Insights' supported formats. | | | `string` | Obfuscated user ID which the customer sent to us. | | | `object` | Conversation metadata related to quality management. | | | `array` | Output only. The annotations that were generated during the customer and agent interaction. | @@ -51,17 +54,219 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Input only. The TTL for this resource. If specified, then this TTL will be used to calculate the expire time. | | | `integer` | Output only. The number of turns in the conversation. | | | `string` | Output only. The most recent time at which the conversation was updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets a conversation. | | | `SELECT` | | Lists conversations. | -| | `INSERT` | | Creates a conversation. DEPRECATED: Use UploadConversation instead. CreateConversation does not support audio transcription or DLP redaction. | +| | `INSERT` | | Creates a conversation. Does not support audio transcription or DLP redaction. Use `conversations.upload` instead. | +| | `DELETE` | | Deletes multiple conversations in a single request. | | | `DELETE` | | Deletes a conversation. | | | `UPDATE` | | Updates a conversation. | -| | `EXEC` | | Lists conversations. | | | `EXEC` | | Analyzes multiple conversations in a single request. | -| | `EXEC` | | Deletes multiple conversations in a single request. | | | `EXEC` | | Gets conversation statistics. | | | `EXEC` | | Imports conversations and processes them according to the user's configuration. | -| | `EXEC` | | Create a longrunning conversation upload operation. This method differs from CreateConversation by allowing audio transcription and optional DLP redaction. | +| | `EXEC` | | Create a long-running conversation upload operation. This method differs from `CreateConversation` by allowing audio transcription and optional DLP redaction. | + +## `SELECT` examples + +Lists conversations. + +```sql +SELECT +name, +agentId, +callMetadata, +createTime, +dataSource, +dialogflowIntents, +duration, +expireTime, +labels, +languageCode, +latestAnalysis, +latestSummary, +medium, +metadataJson, +obfuscatedUserId, +qualityMetadata, +runtimeAnnotations, +startTime, +transcript, +ttl, +turnCount, +updateTime +FROM google.contactcenterinsights.conversations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new conversations resource. + + + + +```sql +/*+ create */ +INSERT INTO google.contactcenterinsights.conversations ( +locationsId, +projectsId, +transcript, +latestSummary, +expireTime, +startTime, +updateTime, +runtimeAnnotations, +turnCount, +qualityMetadata, +duration, +dataSource, +latestAnalysis, +metadataJson, +name, +labels, +createTime, +callMetadata, +obfuscatedUserId, +medium, +dialogflowIntents, +languageCode, +ttl, +agentId +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ transcript }}', +'{{ latestSummary }}', +'{{ expireTime }}', +'{{ startTime }}', +'{{ updateTime }}', +'{{ runtimeAnnotations }}', +'{{ turnCount }}', +'{{ qualityMetadata }}', +'{{ duration }}', +'{{ dataSource }}', +'{{ latestAnalysis }}', +'{{ metadataJson }}', +'{{ name }}', +'{{ labels }}', +'{{ createTime }}', +'{{ callMetadata }}', +'{{ obfuscatedUserId }}', +'{{ medium }}', +'{{ dialogflowIntents }}', +'{{ languageCode }}', +'{{ ttl }}', +'{{ agentId }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: transcript + value: '{{ transcript }}' + - name: latestSummary + value: '{{ latestSummary }}' + - name: expireTime + value: '{{ expireTime }}' + - name: startTime + value: '{{ startTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: runtimeAnnotations + value: '{{ runtimeAnnotations }}' + - name: turnCount + value: '{{ turnCount }}' + - name: qualityMetadata + value: '{{ qualityMetadata }}' + - name: duration + value: '{{ duration }}' + - name: dataSource + value: '{{ dataSource }}' + - name: latestAnalysis + value: '{{ latestAnalysis }}' + - name: metadataJson + value: '{{ metadataJson }}' + - name: name + value: '{{ name }}' + - name: labels + value: '{{ labels }}' + - name: createTime + value: '{{ createTime }}' + - name: callMetadata + value: '{{ callMetadata }}' + - name: obfuscatedUserId + value: '{{ obfuscatedUserId }}' + - name: medium + value: '{{ medium }}' + - name: dialogflowIntents + value: '{{ dialogflowIntents }}' + - name: languageCode + value: '{{ languageCode }}' + - name: ttl + value: '{{ ttl }}' + - name: agentId + value: '{{ agentId }}' + +``` + + + +## `UPDATE` example + +Updates a conversation only if the necessary resources are available. + +```sql +UPDATE google.contactcenterinsights.conversations +SET +transcript = '{{ transcript }}', +latestSummary = '{{ latestSummary }}', +expireTime = '{{ expireTime }}', +startTime = '{{ startTime }}', +updateTime = '{{ updateTime }}', +runtimeAnnotations = '{{ runtimeAnnotations }}', +turnCount = '{{ turnCount }}', +qualityMetadata = '{{ qualityMetadata }}', +duration = '{{ duration }}', +dataSource = '{{ dataSource }}', +latestAnalysis = '{{ latestAnalysis }}', +metadataJson = '{{ metadataJson }}', +name = '{{ name }}', +labels = '{{ labels }}', +createTime = '{{ createTime }}', +callMetadata = '{{ callMetadata }}', +obfuscatedUserId = '{{ obfuscatedUserId }}', +medium = '{{ medium }}', +dialogflowIntents = '{{ dialogflowIntents }}', +languageCode = '{{ languageCode }}', +ttl = '{{ ttl }}', +agentId = '{{ agentId }}' +WHERE +conversationsId = '{{ conversationsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified conversation resource. + +```sql +DELETE FROM google.contactcenterinsights.conversations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/contactcenterinsights/encryption_spec/index.md b/docs/google-docs/providers/google/contactcenterinsights/encryption_spec/index.md new file mode 100644 index 0000000000..44faf4371d --- /dev/null +++ b/docs/google-docs/providers/google/contactcenterinsights/encryption_spec/index.md @@ -0,0 +1,55 @@ + +--- +title: encryption_spec +hide_title: false +hide_table_of_contents: false +keywords: + - encryption_spec + - contactcenterinsights + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an encryption_spec resource or lists encryption_spec in a region + +## Overview +
+ + + +
Nameencryption_spec
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | Immutable. The resource name of the encryption key specification resource. Format: projects/{project}/locations/{location}/encryptionSpec | +| | `string` | Required. The name of customer-managed encryption key that is used to secure a resource and its sub-resources. If empty, the resource is secured by the default Google encryption key. Only the key in the same location as this resource is allowed to be used for encryption. Format: `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{key}` | + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets location-level encryption key specification. | +| | `EXEC` | | Initializes a location-level encryption key specification. An error will be thrown if the location has resources already created before the initialization. Once the encryption specification is initialized at a location, it is immutable and all newly created resources under the location will be encrypted with the existing specification. | + +## `SELECT` examples + +Gets location-level encryption key specification. + +```sql +SELECT +name, +kmsKey +FROM google.contactcenterinsights.encryption_spec +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/contactcenterinsights/index.md b/docs/google-docs/providers/google/contactcenterinsights/index.md index 2cdf8d3cd7..78756bb40c 100644 --- a/docs/google-docs/providers/google/contactcenterinsights/index.md +++ b/docs/google-docs/providers/google/contactcenterinsights/index.md @@ -9,47 +9,37 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- - - +The contactcenterinsights service documentation. + :::info Service Summary
-total resources: 9
-total selectable resources: 8
-total methods: 49
+total resources: 10
::: -## Overview - - - - - - -
Namegoogle.contactcenterinsights
TypeService
TitleContact Center AI Insights API
Description
Idcontactcenterinsights:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/contactcenterinsights/insightsdata/index.md b/docs/google-docs/providers/google/contactcenterinsights/insightsdata/index.md index 5b74efa54b..ef0d87b5e2 100644 --- a/docs/google-docs/providers/google/contactcenterinsights/insightsdata/index.md +++ b/docs/google-docs/providers/google/contactcenterinsights/insightsdata/index.md @@ -1,3 +1,4 @@ + --- title: insightsdata hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - insightsdata - contactcenterinsights - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an insightsdatum resource or lists insightsdata in a region ## Overview @@ -28,8 +30,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Export insights data to a destination defined in the request body. | diff --git a/docs/google-docs/providers/google/contactcenterinsights/issue_models/index.md b/docs/google-docs/providers/google/contactcenterinsights/issue_models/index.md index f81ab2c9b9..7fabd9b6c9 100644 --- a/docs/google-docs/providers/google/contactcenterinsights/issue_models/index.md +++ b/docs/google-docs/providers/google/contactcenterinsights/issue_models/index.md @@ -1,3 +1,4 @@ + --- title: issue_models hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - issue_models - contactcenterinsights - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an issue_model resource or lists issue_models in a region ## Overview @@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Immutable. The resource name of the issue model. Format: projects/{project}/locations/{location}/issueModels/{issue_model} | +| | `string` | Immutable. The resource name of the issue model. Format: projects/{project}/locations/{location}/issueModels/{issue_model} | | | `string` | Output only. The time at which this issue model was created. | | | `string` | The representative name for the issue model. | | | `object` | Configs for the input data used to create the issue model. | @@ -40,6 +42,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. State of the model. | | | `object` | Aggregated statistics about an issue model. | | | `string` | Output only. The most recent time at which the issue model was updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -53,3 +56,134 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `EXEC` | | Exports an issue model to the provided destination. | | | `EXEC` | | Imports an issue model from a Cloud Storage bucket. | | | `EXEC` | | Undeploys an issue model. An issue model can not be used in analysis after it has been undeployed. | + +## `SELECT` examples + +Lists issue models. + +```sql +SELECT +name, +createTime, +displayName, +inputDataConfig, +issueCount, +languageCode, +modelType, +state, +trainingStats, +updateTime +FROM google.contactcenterinsights.issue_models +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new issue_models resource. + + + + +```sql +/*+ create */ +INSERT INTO google.contactcenterinsights.issue_models ( +locationsId, +projectsId, +languageCode, +createTime, +updateTime, +inputDataConfig, +name, +issueCount, +state, +trainingStats, +modelType, +displayName +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ languageCode }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ inputDataConfig }}', +'{{ name }}', +'{{ issueCount }}', +'{{ state }}', +'{{ trainingStats }}', +'{{ modelType }}', +'{{ displayName }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: languageCode + value: '{{ languageCode }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: inputDataConfig + value: '{{ inputDataConfig }}' + - name: name + value: '{{ name }}' + - name: issueCount + value: '{{ issueCount }}' + - name: state + value: '{{ state }}' + - name: trainingStats + value: '{{ trainingStats }}' + - name: modelType + value: '{{ modelType }}' + - name: displayName + value: '{{ displayName }}' + +``` + + + +## `UPDATE` example + +Updates a issue_model only if the necessary resources are available. + +```sql +UPDATE google.contactcenterinsights.issue_models +SET +languageCode = '{{ languageCode }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +inputDataConfig = '{{ inputDataConfig }}', +name = '{{ name }}', +issueCount = '{{ issueCount }}', +state = '{{ state }}', +trainingStats = '{{ trainingStats }}', +modelType = '{{ modelType }}', +displayName = '{{ displayName }}' +WHERE +issueModelsId = '{{ issueModelsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified issue_model resource. + +```sql +DELETE FROM google.contactcenterinsights.issue_models +WHERE issueModelsId = '{{ issueModelsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/contactcenterinsights/issues/index.md b/docs/google-docs/providers/google/contactcenterinsights/issues/index.md index 2e9e48a4fd..9c87167276 100644 --- a/docs/google-docs/providers/google/contactcenterinsights/issues/index.md +++ b/docs/google-docs/providers/google/contactcenterinsights/issues/index.md @@ -1,3 +1,4 @@ + --- title: issues hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - issues - contactcenterinsights - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an issue resource or lists issues in a region ## Overview
@@ -30,11 +32,13 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Immutable. The resource name of the issue. Format: projects/{project}/locations/{location}/issueModels/{issue_model}/issues/{issue} | +| | `string` | Immutable. The resource name of the issue. Format: projects/{project}/locations/{location}/issueModels/{issue_model}/issues/{issue} | | | `string` | Output only. The time at which this issue was created. | +| | `string` | Representative description of the issue. | | | `string` | The representative name for the issue. | | | `array` | Output only. Resource names of the sample representative utterances that match to this issue. | | | `string` | Output only. The most recent time that this issue was updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -42,3 +46,53 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists issues. | | | `DELETE` | | Deletes an issue. | | | `UPDATE` | | Updates an issue. | + +## `SELECT` examples + +Lists issues. + +```sql +SELECT +name, +createTime, +displayDescription, +displayName, +sampleUtterances, +updateTime +FROM google.contactcenterinsights.issues +WHERE issueModelsId = '{{ issueModelsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `UPDATE` example + +Updates a issue only if the necessary resources are available. + +```sql +UPDATE google.contactcenterinsights.issues +SET +updateTime = '{{ updateTime }}', +createTime = '{{ createTime }}', +sampleUtterances = '{{ sampleUtterances }}', +displayDescription = '{{ displayDescription }}', +name = '{{ name }}', +displayName = '{{ displayName }}' +WHERE +issueModelsId = '{{ issueModelsId }}' +AND issuesId = '{{ issuesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified issue resource. + +```sql +DELETE FROM google.contactcenterinsights.issues +WHERE issueModelsId = '{{ issueModelsId }}' +AND issuesId = '{{ issuesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/contactcenterinsights/operations/index.md b/docs/google-docs/providers/google/contactcenterinsights/operations/index.md index 38c1f2d7c4..414c67d5cd 100644 --- a/docs/google-docs/providers/google/contactcenterinsights/operations/index.md +++ b/docs/google-docs/providers/google/contactcenterinsights/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - contactcenterinsights - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview
@@ -30,15 +32,31 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.contactcenterinsights.operations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/contactcenterinsights/phrase_matchers/index.md b/docs/google-docs/providers/google/contactcenterinsights/phrase_matchers/index.md index 6c9df0cd31..96a92607bb 100644 --- a/docs/google-docs/providers/google/contactcenterinsights/phrase_matchers/index.md +++ b/docs/google-docs/providers/google/contactcenterinsights/phrase_matchers/index.md @@ -1,3 +1,4 @@ + --- title: phrase_matchers hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - phrase_matchers - contactcenterinsights - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an phrase_matcher resource or lists phrase_matchers in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The resource name of the phrase matcher. Format: projects/{project}/locations/{location}/phraseMatchers/{phrase_matcher} | +| | `string` | The resource name of the phrase matcher. Format: projects/{project}/locations/{location}/phraseMatchers/{phrase_matcher} | | | `string` | Output only. The most recent time at which the activation status was updated. | | | `boolean` | Applies the phrase matcher only when it is active. | | | `string` | The human-readable name of the phrase matcher. | @@ -41,6 +43,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Required. The type of this phrase matcher. | | | `string` | Output only. The most recent time at which the phrase matcher was updated. | | | `string` | The customized version tag to use for the phrase matcher. If not specified, it will default to `revision_id`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -49,4 +52,140 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a phrase matcher. | | | `DELETE` | | Deletes a phrase matcher. | | | `UPDATE` | | Updates a phrase matcher. | -| | `EXEC` | | Lists phrase matchers. | + +## `SELECT` examples + +Lists phrase matchers. + +```sql +SELECT +name, +activationUpdateTime, +active, +displayName, +phraseMatchRuleGroups, +revisionCreateTime, +revisionId, +roleMatch, +type, +updateTime, +versionTag +FROM google.contactcenterinsights.phrase_matchers +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new phrase_matchers resource. + + + + +```sql +/*+ create */ +INSERT INTO google.contactcenterinsights.phrase_matchers ( +locationsId, +projectsId, +activationUpdateTime, +name, +displayName, +revisionCreateTime, +roleMatch, +updateTime, +phraseMatchRuleGroups, +revisionId, +active, +type, +versionTag +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ activationUpdateTime }}', +'{{ name }}', +'{{ displayName }}', +'{{ revisionCreateTime }}', +'{{ roleMatch }}', +'{{ updateTime }}', +'{{ phraseMatchRuleGroups }}', +'{{ revisionId }}', +true|false, +'{{ type }}', +'{{ versionTag }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: activationUpdateTime + value: '{{ activationUpdateTime }}' + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: revisionCreateTime + value: '{{ revisionCreateTime }}' + - name: roleMatch + value: '{{ roleMatch }}' + - name: updateTime + value: '{{ updateTime }}' + - name: phraseMatchRuleGroups + value: '{{ phraseMatchRuleGroups }}' + - name: revisionId + value: '{{ revisionId }}' + - name: active + value: '{{ active }}' + - name: type + value: '{{ type }}' + - name: versionTag + value: '{{ versionTag }}' + +``` + + + +## `UPDATE` example + +Updates a phrase_matcher only if the necessary resources are available. + +```sql +UPDATE google.contactcenterinsights.phrase_matchers +SET +activationUpdateTime = '{{ activationUpdateTime }}', +name = '{{ name }}', +displayName = '{{ displayName }}', +revisionCreateTime = '{{ revisionCreateTime }}', +roleMatch = '{{ roleMatch }}', +updateTime = '{{ updateTime }}', +phraseMatchRuleGroups = '{{ phraseMatchRuleGroups }}', +revisionId = '{{ revisionId }}', +active = true|false, +type = '{{ type }}', +versionTag = '{{ versionTag }}' +WHERE +locationsId = '{{ locationsId }}' +AND phraseMatchersId = '{{ phraseMatchersId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified phrase_matcher resource. + +```sql +DELETE FROM google.contactcenterinsights.phrase_matchers +WHERE locationsId = '{{ locationsId }}' +AND phraseMatchersId = '{{ phraseMatchersId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/contactcenterinsights/settings/index.md b/docs/google-docs/providers/google/contactcenterinsights/settings/index.md index e314e4fe0e..391a285463 100644 --- a/docs/google-docs/providers/google/contactcenterinsights/settings/index.md +++ b/docs/google-docs/providers/google/contactcenterinsights/settings/index.md @@ -1,3 +1,4 @@ + --- title: settings hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - settings - contactcenterinsights - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an setting resource or lists settings in a region ## Overview
@@ -30,17 +32,59 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Immutable. The resource name of the settings resource. Format: projects/{project}/locations/{location}/settings | +| | `string` | Immutable. The resource name of the settings resource. Format: projects/{project}/locations/{location}/settings | | | `object` | Default configuration when creating Analyses in Insights. | | | `string` | The default TTL for newly-created conversations. If a conversation has a specified expiration, that value will be used instead. Changing this value will not change the expiration of existing conversations. Conversations with no expire time persist until they are deleted. | | | `string` | Output only. The time at which the settings was created. | | | `string` | A language code to be applied to each transcript segment unless the segment already specifies a language code. Language code defaults to "en-US" if it is neither specified on the segment nor here. | -| | `object` | A map that maps a notification trigger to a Pub/Sub topic. Each time a specified trigger occurs, Insights will notify the corresponding Pub/Sub topic. Keys are notification triggers. Supported keys are: * "all-triggers": Notify each time any of the supported triggers occurs. * "create-analysis": Notify each time an analysis is created. * "create-conversation": Notify each time a conversation is created. * "export-insights-data": Notify each time an export is complete. * "ingest-conversations": Notify each time an IngestConversations LRO completes. * "update-conversation": Notify each time a conversation is updated via UpdateConversation. * "upload-conversation": Notify when an UploadConversation LRO completes. Values are Pub/Sub topics. The format of each Pub/Sub topic is: projects/{project}/topics/{topic} | -| | `object` | DLP resources used for redaction while ingesting conversations. DLP settings are applied to conversations ingested from the UploadConversation and IngestConversations endpoints, including conversation coming from CCAI Platform. They are not applied to conversations ingested from the CreateConversation endpoint or the Dialogflow / Agent Assist runtime integrations. When using Dialogflow / Agent Assist runtime integrations redaction should be performed in Dialogflow / Agent Assist. | -| | `object` | Speech-to-Text configuration. Speech-to-Text settings are applied to conversations ingested from the UploadConversation and IngestConversations endpoints, including conversation coming from CCAI Platform. They are not applied to conversations ingested from the CreateConversation endpoint. | +| | `object` | A map that maps a notification trigger to a Pub/Sub topic. Each time a specified trigger occurs, Insights will notify the corresponding Pub/Sub topic. Keys are notification triggers. Supported keys are: * "all-triggers": Notify each time any of the supported triggers occurs. * "create-analysis": Notify each time an analysis is created. * "create-conversation": Notify each time a conversation is created. * "export-insights-data": Notify each time an export is complete. * "ingest-conversations": Notify each time an IngestConversations LRO is complete. * "update-conversation": Notify each time a conversation is updated via UpdateConversation. * "upload-conversation": Notify when an UploadConversation LRO is complete. Values are Pub/Sub topics. The format of each Pub/Sub topic is: projects/{project}/topics/{topic} | +| | `object` | DLP resources used for redaction while ingesting conversations. DLP settings are applied to conversations ingested from the `UploadConversation` and `IngestConversations` endpoints, including conversation coming from CCAI Platform. They are not applied to conversations ingested from the `CreateConversation` endpoint or the Dialogflow / Agent Assist runtime integrations. When using Dialogflow / Agent Assist runtime integrations, redaction should be performed in Dialogflow / Agent Assist. | +| | `object` | Speech-to-Text configuration. Speech-to-Text settings are applied to conversations ingested from the `UploadConversation` and `IngestConversations` endpoints, including conversation coming from CCAI Platform. They are not applied to conversations ingested from the `CreateConversation` endpoint. | | | `string` | Output only. The time at which the settings were last updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets project-level settings. | -| | `EXEC` | | Updates project-level settings. | +| | `UPDATE` | | Updates project-level settings. | + +## `SELECT` examples + +Gets project-level settings. + +```sql +SELECT +name, +analysisConfig, +conversationTtl, +createTime, +languageCode, +pubsubNotificationSettings, +redactionConfig, +speechConfig, +updateTime +FROM google.contactcenterinsights.settings +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `UPDATE` example + +Updates a setting only if the necessary resources are available. + +```sql +UPDATE google.contactcenterinsights.settings +SET +analysisConfig = '{{ analysisConfig }}', +conversationTtl = '{{ conversationTtl }}', +redactionConfig = '{{ redactionConfig }}', +updateTime = '{{ updateTime }}', +speechConfig = '{{ speechConfig }}', +pubsubNotificationSettings = '{{ pubsubNotificationSettings }}', +languageCode = '{{ languageCode }}', +createTime = '{{ createTime }}', +name = '{{ name }}' +WHERE +locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/contactcenterinsights/views/index.md b/docs/google-docs/providers/google/contactcenterinsights/views/index.md index 81dedb46e2..559d337b4a 100644 --- a/docs/google-docs/providers/google/contactcenterinsights/views/index.md +++ b/docs/google-docs/providers/google/contactcenterinsights/views/index.md @@ -1,3 +1,4 @@ + --- title: views hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - views - contactcenterinsights - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an view resource or lists views in a region ## Overview
@@ -30,11 +32,12 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Immutable. The resource name of the view. Format: projects/{project}/locations/{location}/views/{view} | +| | `string` | Immutable. The resource name of the view. Format: projects/{project}/locations/{location}/views/{view} | | | `string` | Output only. The time at which this view was created. | | | `string` | The human-readable display name of the view. | | | `string` | Output only. The most recent time at which the view was updated. | | | `string` | String with specific view properties, must be non-empty. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -43,4 +46,104 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a view. | | | `DELETE` | | Deletes a view. | | | `UPDATE` | | Updates a view. | -| | `EXEC` | | Lists views. | + +## `SELECT` examples + +Lists views. + +```sql +SELECT +name, +createTime, +displayName, +updateTime, +value +FROM google.contactcenterinsights.views +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new views resource. + + + + +```sql +/*+ create */ +INSERT INTO google.contactcenterinsights.views ( +locationsId, +projectsId, +value, +name, +displayName, +createTime, +updateTime +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ value }}', +'{{ name }}', +'{{ displayName }}', +'{{ createTime }}', +'{{ updateTime }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: value + value: '{{ value }}' + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + +``` + + + +## `UPDATE` example + +Updates a view only if the necessary resources are available. + +```sql +UPDATE google.contactcenterinsights.views +SET +value = '{{ value }}', +name = '{{ name }}', +displayName = '{{ displayName }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}' +WHERE +locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND viewsId = '{{ viewsId }}'; +``` + +## `DELETE` example + +Deletes the specified view resource. + +```sql +DELETE FROM google.contactcenterinsights.views +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND viewsId = '{{ viewsId }}'; +``` diff --git a/docs/google-docs/providers/google/container/clusters/index.md b/docs/google-docs/providers/google/container/clusters/index.md index 52e0f2c4e1..a21283c738 100644 --- a/docs/google-docs/providers/google/container/clusters/index.md +++ b/docs/google-docs/providers/google/container/clusters/index.md @@ -1,3 +1,4 @@ + --- title: clusters hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - clusters - container - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an cluster resource or lists clusters in a region ## Overview
@@ -39,31 +41,32 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | ClusterAutoscaling contains global, per-cluster information required by Cluster Autoscaler to automatically adjust the size of the cluster and create/delete node pools based on the current needs. | | | `object` | Configuration for Binary Authorization. | | | `string` | The IP address range of the container pods in this cluster, in [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`). Leave blank to have one automatically chosen or specify a `/14` block in `10.0.0.0/8`. | +| | `object` | CompliancePostureConfig defines the settings needed to enable/disable features for the Compliance Posture. | | | `array` | Which conditions caused the current cluster state. | | | `object` | ConfidentialNodes is configuration for the confidential nodes feature, which makes nodes run on confidential VMs. | | | `object` | Configuration for fine-grained cost management feature. | -| | `string` | [Output only] The time the cluster was created, in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. | -| | `string` | [Output only] The current software version of the master endpoint. | -| | `integer` | [Output only] The number of nodes currently in the cluster. Deprecated. Call Kubernetes API directly to retrieve node information. | -| | `string` | [Output only] Deprecated, use [NodePools.version](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters.nodePools) instead. The current version of the node software components. If they are currently at multiple versions because they're in the process of being upgraded, this reflects the minimum version of all nodes. | +| | `string` | Output only. The time the cluster was created, in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. | +| | `string` | Output only. The current software version of the master endpoint. | +| | `integer` | Output only. The number of nodes currently in the cluster. Deprecated. Call Kubernetes API directly to retrieve node information. | +| | `string` | Output only. Deprecated, use [NodePools.version](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters.nodePools) instead. The current version of the node software components. If they are currently at multiple versions because they're in the process of being upgraded, this reflects the minimum version of all nodes. | | | `object` | Configuration of etcd encryption. | | | `object` | Constraints applied to pods. | | | `object` | K8sBetaAPIConfig , configuration for beta APIs | | | `boolean` | Kubernetes alpha features are enabled on this cluster. This includes alpha API groups (e.g. v1alpha1) and features that may not be production ready in the kubernetes version of the master and nodes. The cluster has no SLA for uptime and master/node upgrades are disabled. Alpha enabled clusters are automatically deleted thirty days after creation. | | | `boolean` | Enable the ability to use Cloud TPUs in this cluster. | -| | `string` | [Output only] The IP address of this cluster's master endpoint. The endpoint can be accessed from the internet at `https://username:password@endpoint/`. See the `masterAuth` property of this resource for username and password information. | +| | `string` | Output only. The IP address of this cluster's master endpoint. The endpoint can be accessed from the internet at `https://username:password@endpoint/`. See the `masterAuth` property of this resource for username and password information. | | | `object` | EnterpriseConfig is the cluster enterprise configuration. | | | `string` | This checksum is computed by the server based on the value of cluster fields, and may be sent on update requests to ensure the client has an up-to-date value before proceeding. | -| | `string` | [Output only] The time the cluster will be automatically deleted in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. | +| | `string` | Output only. The time the cluster will be automatically deleted in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. | | | `object` | Fleet is the fleet configuration for the cluster. | | | `object` | IdentityServiceConfig is configuration for Identity Service which allows customers to use external identity providers with the K8S API | | | `string` | The initial Kubernetes version for this cluster. Valid versions are those found in validMasterVersions returned by getServerConfig. The version can be upgraded over time; such upgrades are reflected in currentMasterVersion and currentNodeVersion. Users may specify either explicit versions offered by Kubernetes Engine or version aliases, which have the following behavior: - "latest": picks the highest valid Kubernetes version - "1.X": picks the highest valid patch+gke.N patch in the 1.X version - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version - "1.X.Y-gke.N": picks an explicit Kubernetes version - "","-": picks the default Kubernetes version | | | `integer` | The number of nodes to create in this cluster. You must ensure that your Compute Engine [resource quota](https://cloud.google.com/compute/quotas) is sufficient for this number of instances. You must also have available firewall and routes quota. For requests, this field should only be used in lieu of a "node_pool" object, since this configuration (along with the "node_config") will be used to create a "NodePool" object with an auto-generated name. Do not use this and a node_pool at the same time. This field is deprecated, use node_pool.initial_node_count instead. | -| | `array` | Deprecated. Use node_pools.instance_group_urls. | +| | `array` | Output only. Deprecated. Use node_pools.instance_group_urls. | | | `object` | Configuration for controlling how IPs are allocated in the cluster. | | | `string` | The fingerprint of the set of labels for this cluster. | | | `object` | Configuration for the legacy Attribute Based Access Control authorization mode. | -| | `string` | [Output only] The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available) or [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available) in which the cluster resides. | +| | `string` | Output only. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available) or [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available) in which the cluster resides. | | | `array` | The list of Google Compute Engine [zones](https://cloud.google.com/compute/docs/zones#available) in which the cluster's nodes should be located. This field provides a default value if [NodePool.Locations](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters.nodePools#NodePool.FIELDS.locations) are not specified during node pool creation. Warning: changing cluster locations will update the [NodePool.Locations](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters.nodePools#NodePool.FIELDS.locations) of all node pools and will result in nodes being added and/or removed. | | | `object` | LoggingConfig is cluster logging configuration. | | | `string` | The logging service the cluster should use to write logs. Currently available options: * `logging.googleapis.com/kubernetes` - The Cloud Logging service with a Kubernetes-native resource model * `logging.googleapis.com` - The legacy Cloud Logging service (no longer available as of GKE 1.15). * `none` - no logs will be exported from the cluster. If left as an empty string,`logging.googleapis.com/kubernetes` will be used for GKE 1.14+ or `logging.googleapis.com` for earlier versions. | @@ -77,29 +80,32 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | NetworkConfig reports the relative names of network & subnetwork. | | | `object` | Configuration options for the NetworkPolicy feature. https://kubernetes.io/docs/concepts/services-networking/networkpolicies/ | | | `object` | Parameters that describe the nodes in a cluster. GKE Autopilot clusters do not recognize parameters in `NodeConfig`. Use AutoprovisioningNodePoolDefaults instead. | -| | `integer` | [Output only] The size of the address space on each node for hosting containers. This is provisioned from within the `container_ipv4_cidr` range. This field will only be set when cluster is in route-based network mode. | +| | `integer` | Output only. The size of the address space on each node for hosting containers. This is provisioned from within the `container_ipv4_cidr` range. This field will only be set when cluster is in route-based network mode. | | | `object` | Node pool configs that apply to all auto-provisioned node pools in autopilot clusters and node auto-provisioning enabled clusters. | | | `object` | Subset of Nodepool message that has defaults. | | | `array` | The node pools associated with this cluster. This field should not be set if "node_config" or "initial_node_count" are specified. | | | `object` | NotificationConfig is the configuration of notifications. | | | `object` | ParentProductConfig is the configuration of the parent product of the cluster. This field is used by Google internal products that are built on top of a GKE cluster and take the ownership of the cluster. | | | `object` | Configuration options for private clusters. | +| | `object` | RBACBindingConfig allows user to restrict ClusterRoleBindings an RoleBindings that can be created. | | | `object` | ReleaseChannel indicates which release channel a cluster is subscribed to. Release channels are arranged in order of risk. When a cluster is subscribed to a release channel, Google maintains both the master version and the node version. Node auto-upgrade defaults to true and cannot be disabled. | | | `object` | The resource labels for the cluster to use to annotate any related Google Compute Engine resources. | | | `object` | Configuration for exporting cluster resource usages. | | | `boolean` | Output only. Reserved for future use. | | | `boolean` | Output only. Reserved for future use. | +| | `object` | SecretManagerConfig is config for secret manager enablement. | | | `object` | SecurityPostureConfig defines the flags needed to enable/disable features for the Security Posture API. | -| | `string` | [Output only] Server-defined URL for the resource. | -| | `string` | [Output only] The IP address range of the Kubernetes services in this cluster, in [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `1.2.3.4/29`). Service addresses are typically put in the last `/16` from the container CIDR. | +| | `string` | Output only. Server-defined URL for the resource. | +| | `string` | Output only. The IP address range of the Kubernetes services in this cluster, in [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `1.2.3.4/29`). Service addresses are typically put in the last `/16` from the container CIDR. | | | `object` | Configuration of Shielded Nodes feature. | -| | `string` | [Output only] The current status of this cluster. | -| | `string` | [Output only] Deprecated. Use conditions instead. Additional information about the current status of this cluster, if available. | +| | `string` | Output only. The current status of this cluster. | +| | `string` | Output only. Deprecated. Use conditions instead. Additional information about the current status of this cluster, if available. | | | `string` | The name of the Google Compute Engine [subnetwork](https://cloud.google.com/compute/docs/subnetworks) to which the cluster is connected. | -| | `string` | [Output only] The IP address range of the Cloud TPUs in this cluster, in [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `1.2.3.4/29`). | +| | `string` | Output only. The IP address range of the Cloud TPUs in this cluster, in [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `1.2.3.4/29`). | | | `object` | VerticalPodAutoscaling contains global, per-cluster information required by Vertical Pod Autoscaler to automatically adjust the resources of pods controlled by it. | | | `object` | Configuration for the use of Kubernetes Service Accounts in GCP IAM policies. | -| | `string` | [Output only] The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field is deprecated, use location instead. | +| | `string` | Output only. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field is deprecated, use location instead. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -111,9 +117,6 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a cluster, consisting of the specified number and type of Google Compute Engine instances. By default, the cluster is created in the project's [default network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks). One firewall is added for the cluster. After cluster creation, the Kubelet creates routes for each node to allow the containers on that node to communicate with all other instances in the cluster. Finally, an entry is added to the project's global metadata indicating which CIDR range the cluster is using. | | | `DELETE` | | Deletes the cluster, including the Kubernetes endpoint and all worker nodes. Firewalls and routes that were configured during cluster creation are also deleted. Other Google Compute Engine resources that might be in use by the cluster, such as load balancer resources, are not deleted if they weren't present when the cluster was initially created. | | | `DELETE` | | Deletes the cluster, including the Kubernetes endpoint and all worker nodes. Firewalls and routes that were configured during cluster creation are also deleted. Other Google Compute Engine resources that might be in use by the cluster, such as load balancer resources, are not deleted if they weren't present when the cluster was initially created. | -| | `UPDATE` | | Updates the settings of a specific cluster. | -| | `UPDATE` | | Updates the settings of a specific cluster. | -| | `EXEC` | | Lists all clusters owned by a project in either the specified zone or all zones. | | | `EXEC` | | Checks the cluster compatibility with Autopilot mode, and returns a list of compatibility issues. | | | `EXEC` | | Completes master IP rotation. | | | `EXEC` | | Sets the addons for a specific cluster. | @@ -126,6 +129,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `EXEC` | | Enables or disables Network Policy for a cluster. | | | `EXEC` | | Sets labels on a cluster. | | | `EXEC` | | Starts master IP rotation. | +| | `EXEC` | | Updates the settings of a specific cluster. | | | `EXEC` | | Completes master IP rotation. | | | `EXEC` | | Enables or disables the ABAC authorization mechanism on a cluster. | | | `EXEC` | | Sets the locations for a specific cluster. Deprecated. Use [projects.locations.clusters.update](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters/update) instead. | @@ -137,3 +141,151 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `EXEC` | | Sets master auth materials. Currently supports changing the admin password or a specific cluster, either via password generation or explicitly setting the password. | | | `EXEC` | | Enables or disables Network Policy for a cluster. | | | `EXEC` | | Starts master IP rotation. | +| | `EXEC` | | Updates the settings of a specific cluster. | + +## `SELECT` examples + +Lists all clusters owned by a project in either the specified zone or all zones. + +```sql +SELECT +id, +name, +description, +addonsConfig, +authenticatorGroupsConfig, +autopilot, +autoscaling, +binaryAuthorization, +clusterIpv4Cidr, +compliancePostureConfig, +conditions, +confidentialNodes, +costManagementConfig, +createTime, +currentMasterVersion, +currentNodeCount, +currentNodeVersion, +databaseEncryption, +defaultMaxPodsConstraint, +enableK8sBetaApis, +enableKubernetesAlpha, +enableTpu, +endpoint, +enterpriseConfig, +etag, +expireTime, +fleet, +identityServiceConfig, +initialClusterVersion, +initialNodeCount, +instanceGroupUrls, +ipAllocationPolicy, +labelFingerprint, +legacyAbac, +location, +locations, +loggingConfig, +loggingService, +maintenancePolicy, +masterAuth, +masterAuthorizedNetworksConfig, +meshCertificates, +monitoringConfig, +monitoringService, +network, +networkConfig, +networkPolicy, +nodeConfig, +nodeIpv4CidrSize, +nodePoolAutoConfig, +nodePoolDefaults, +nodePools, +notificationConfig, +parentProductConfig, +privateClusterConfig, +rbacBindingConfig, +releaseChannel, +resourceLabels, +resourceUsageExportConfig, +satisfiesPzi, +satisfiesPzs, +secretManagerConfig, +securityPostureConfig, +selfLink, +servicesIpv4Cidr, +shieldedNodes, +status, +statusMessage, +subnetwork, +tpuIpv4CidrBlock, +verticalPodAutoscaling, +workloadIdentityConfig, +zone +FROM google.container.clusters +WHERE projectId = '{{ projectId }}' +AND zone = '{{ zone }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new clusters resource. + + + + +```sql +/*+ create */ +INSERT INTO google.container.clusters ( +projectId, +zone, +projectId, +zone, +cluster, +parent +) +SELECT +'{{ projectId }}', +'{{ zone }}', +'{{ projectId }}', +'{{ zone }}', +'{{ cluster }}', +'{{ parent }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: projectId + value: '{{ projectId }}' + - name: zone + value: '{{ zone }}' + - name: cluster + value: '{{ cluster }}' + - name: parent + value: '{{ parent }}' + +``` + + + +## `DELETE` example + +Deletes the specified cluster resource. + +```sql +DELETE FROM google.container.clusters +WHERE clusterId = '{{ clusterId }}' +AND projectId = '{{ projectId }}' +AND zone = '{{ zone }}'; +``` diff --git a/docs/google-docs/providers/google/container/clusters_jwks/index.md b/docs/google-docs/providers/google/container/clusters_jwks/index.md index cf432d8eec..d524743e54 100644 --- a/docs/google-docs/providers/google/container/clusters_jwks/index.md +++ b/docs/google-docs/providers/google/container/clusters_jwks/index.md @@ -1,3 +1,4 @@ + --- title: clusters_jwks hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - clusters_jwks - container - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an clusters_jwk resource or lists clusters_jwks in a region ## Overview
@@ -32,7 +34,22 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `object` | RFC-2616: cache control support | | | `array` | The public component of the keys used by the cluster to sign token requests. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets the public component of the cluster signing keys in JSON Web Key format. | + +## `SELECT` examples + +Gets the public component of the cluster signing keys in JSON Web Key format. + +```sql +SELECT +cacheHeader, +keys +FROM google.container.clusters_jwks +WHERE clustersId = '{{ clustersId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/container/clusters_master/index.md b/docs/google-docs/providers/google/container/clusters_master/index.md index e121c86214..2d244a95c0 100644 --- a/docs/google-docs/providers/google/container/clusters_master/index.md +++ b/docs/google-docs/providers/google/container/clusters_master/index.md @@ -1,3 +1,4 @@ + --- title: clusters_master hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - clusters_master - container - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an clusters_master resource or lists clusters_master in a region ## Overview
@@ -28,8 +30,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `UPDATE` | | Updates the master for a specific cluster. | + +## `UPDATE` example + +Updates a clusters_master only if the necessary resources are available. + +```sql +UPDATE google.container.clusters_master +SET +projectId = '{{ projectId }}', +zone = '{{ zone }}', +clusterId = '{{ clusterId }}', +masterVersion = '{{ masterVersion }}', +name = '{{ name }}' +WHERE +clustersId = '{{ clustersId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/container/clusters_ons/index.md b/docs/google-docs/providers/google/container/clusters_ons/index.md index ea3ce0ae82..f44e0e703f 100644 --- a/docs/google-docs/providers/google/container/clusters_ons/index.md +++ b/docs/google-docs/providers/google/container/clusters_ons/index.md @@ -1,3 +1,4 @@ + --- title: clusters_ons hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - clusters_ons - container - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an clusters_on resource or lists clusters_ons in a region ## Overview @@ -28,8 +30,68 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `INSERT` | | Sets the addons for a specific cluster. | + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new clusters_ons resource. + + + + +```sql +/*+ create */ +INSERT INTO google.container.clusters_ons ( +clusterId, +projectId, +zone, +projectId, +zone, +clusterId, +addonsConfig, +name +) +SELECT +'{{ clusterId }}', +'{{ projectId }}', +'{{ zone }}', +'{{ projectId }}', +'{{ zone }}', +'{{ clusterId }}', +'{{ addonsConfig }}', +'{{ name }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: projectId + value: '{{ projectId }}' + - name: zone + value: '{{ zone }}' + - name: clusterId + value: '{{ clusterId }}' + - name: addonsConfig + value: '{{ addonsConfig }}' + - name: name + value: '{{ name }}' + +``` + + diff --git a/docs/google-docs/providers/google/container/index.md b/docs/google-docs/providers/google/container/index.md index 0a6d1008cf..f5650d0cbe 100644 --- a/docs/google-docs/providers/google/container/index.md +++ b/docs/google-docs/providers/google/container/index.md @@ -9,34 +9,23 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Builds and manages container-based applications, powered by the open source Kubernetes technology. - +The container service documentation. + :::info Service Summary
total resources: 10
-total selectable resources: 8
-total methods: 67
::: -## Overview - - - - - - -
Namegoogle.container
TypeService
TitleKubernetes Engine API
DescriptionBuilds and manages container-based applications, powered by the open source Kubernetes technology.
Idcontainer:v24.06.00236
- ## Resources
@@ -44,13 +33,13 @@ Builds and manages container-based applications, powered by the open source Kube clusters_jwks
clusters_master
clusters_ons
-node_pools
+node_pools
+zones_serverconfig
+ \ No newline at end of file diff --git a/docs/google-docs/providers/google/container/node_pools/index.md b/docs/google-docs/providers/google/container/node_pools/index.md index d3555b2d99..45f35e6141 100644 --- a/docs/google-docs/providers/google/container/node_pools/index.md +++ b/docs/google-docs/providers/google/container/node_pools/index.md @@ -1,3 +1,4 @@ + --- title: node_pools hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - node_pools - container - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an node_pool resource or lists node_pools in a region ## Overview @@ -37,20 +39,21 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Parameters that describe the nodes in a cluster. GKE Autopilot clusters do not recognize parameters in `NodeConfig`. Use AutoprovisioningNodePoolDefaults instead. | | | `string` | This checksum is computed by the server based on the value of node pool fields, and may be sent on update requests to ensure the client has an up-to-date value before proceeding. | | | `integer` | The initial node count for the pool. You must ensure that your Compute Engine [resource quota](https://cloud.google.com/compute/quotas) is sufficient for this number of instances. You must also have available firewall and routes quota. | -| | `array` | [Output only] The resource URLs of the [managed instance groups](https://cloud.google.com/compute/docs/instance-groups/creating-groups-of-managed-instances) associated with this node pool. During the node pool blue-green upgrade operation, the URLs contain both blue and green resources. | +| | `array` | Output only. The resource URLs of the [managed instance groups](https://cloud.google.com/compute/docs/instance-groups/creating-groups-of-managed-instances) associated with this node pool. During the node pool blue-green upgrade operation, the URLs contain both blue and green resources. | | | `array` | The list of Google Compute Engine [zones](https://cloud.google.com/compute/docs/zones#available) in which the NodePool's nodes should be located. If this value is unspecified during node pool creation, the [Cluster.Locations](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters#Cluster.FIELDS.locations) value will be used, instead. Warning: changing node pool locations will result in nodes being added and/or removed. | | | `object` | NodeManagement defines the set of node management services turned on for the node pool. | | | `object` | Constraints applied to pods. | | | `object` | Parameters for node pool-level network config. | | | `object` | PlacementPolicy defines the placement policy used by the node pool. | -| | `integer` | [Output only] The pod CIDR block size per node in this node pool. | +| | `integer` | Output only. The pod CIDR block size per node in this node pool. | | | `object` | QueuedProvisioning defines the queued provisioning used by the node pool. | -| | `string` | [Output only] Server-defined URL for the resource. | -| | `string` | [Output only] The status of the nodes in this pool instance. | -| | `string` | [Output only] Deprecated. Use conditions instead. Additional information about the current status of this node pool instance, if available. | +| | `string` | Output only. Server-defined URL for the resource. | +| | `string` | Output only. The status of the nodes in this pool instance. | +| | `string` | Output only. Deprecated. Use conditions instead. Additional information about the current status of this node pool instance, if available. | | | `object` | UpdateInfo contains resource (instance groups, etc), status and other intermediate information relevant to a node pool upgrade. | | | `object` | These upgrade settings control the level of parallelism and the level of disruption caused by an upgrade. maxUnavailable controls the number of nodes that can be simultaneously unavailable. maxSurge controls the number of additional nodes that can be added to the node pool temporarily for the time of the upgrade to increase the number of available nodes. (maxUnavailable + maxSurge) determines the level of parallelism (how many nodes are being upgraded at the same time). Note: upgrades inevitably introduce some disruption since workloads need to be moved from old nodes to new, upgraded ones. Even if maxUnavailable=0, this holds true. (Disruption stays within the limits of PodDisruptionBudget, if it is configured.) Consider a hypothetical node pool with 5 nodes having maxSurge=2, maxUnavailable=1. This means the upgrade process upgrades 3 nodes simultaneously. It creates 2 additional (upgraded) nodes, then it brings down 3 old (not yet upgraded) nodes at the same time. This ensures that there are always at least 4 nodes available. These upgrade settings configure the upgrade strategy for the node pool. Use strategy to switch between the strategies applied to the node pool. If the strategy is ROLLING, use max_surge and max_unavailable to control the level of parallelism and the level of disruption caused by upgrade. 1. maxSurge controls the number of additional nodes that can be added to the node pool temporarily for the time of the upgrade to increase the number of available nodes. 2. maxUnavailable controls the number of nodes that can be simultaneously unavailable. 3. (maxUnavailable + maxSurge) determines the level of parallelism (how many nodes are being upgraded at the same time). If the strategy is BLUE_GREEN, use blue_green_settings to configure the blue-green upgrade related settings. 1. standard_rollout_policy is the default policy. The policy is used to control the way blue pool gets drained. The draining is executed in the batch mode. The batch size could be specified as either percentage of the node pool size or the number of nodes. batch_soak_duration is the soak time after each batch gets drained. 2. node_pool_soak_duration is the soak time after all blue nodes are drained. After this period, the blue pool nodes will be deleted. | | | `string` | The version of Kubernetes running on this NodePool's nodes. If unspecified, it defaults as described [here](https://cloud.google.com/kubernetes-engine/versioning#specifying_node_version). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -62,14 +65,163 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a node pool for a cluster. | | | `DELETE` | | Deletes a node pool from a cluster. | | | `DELETE` | | Deletes a node pool from a cluster. | -| | `UPDATE` | | Updates the version and/or image type for the specified node pool. | | | `UPDATE` | | Updates the version and/or image type for the specified node pool. | | | `EXEC` | | CompleteNodePoolUpgrade will signal an on-going node pool upgrade to complete. | | | `EXEC` | | Rolls back a previously Aborted or Failed NodePool upgrade. This makes no changes if the last upgrade successfully completed. | | | `EXEC` | | Sets the autoscaling settings for the specified node pool. | | | `EXEC` | | Sets the NodeManagement options for a node pool. | | | `EXEC` | | Sets the size for a specific node pool. The new size will be used for all replicas, including future replicas created by modifying NodePool.locations. | +| | `EXEC` | | Updates the version and/or image type for the specified node pool. | | | `EXEC` | | Sets the autoscaling settings for the specified node pool. | | | `EXEC` | | Rolls back a previously Aborted or Failed NodePool upgrade. This makes no changes if the last upgrade successfully completed. | | | `EXEC` | | Sets the NodeManagement options for a node pool. | | | `EXEC` | | Sets the size for a specific node pool. The new size will be used for all replicas, including future replicas created by modifying NodePool.locations. | + +## `SELECT` examples + +Lists the node pools for a cluster. + +```sql +SELECT +name, +autoscaling, +bestEffortProvisioning, +conditions, +config, +etag, +initialNodeCount, +instanceGroupUrls, +locations, +management, +maxPodsConstraint, +networkConfig, +placementPolicy, +podIpv4CidrSize, +queuedProvisioning, +selfLink, +status, +statusMessage, +updateInfo, +upgradeSettings, +version +FROM google.container.node_pools +WHERE clusterId = '{{ clusterId }}' +AND projectId = '{{ projectId }}' +AND zone = '{{ zone }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new node_pools resource. + + + + +```sql +/*+ create */ +INSERT INTO google.container.node_pools ( +clusterId, +projectId, +zone, +projectId, +zone, +clusterId, +nodePool, +parent +) +SELECT +'{{ clusterId }}', +'{{ projectId }}', +'{{ zone }}', +'{{ projectId }}', +'{{ zone }}', +'{{ clusterId }}', +'{{ nodePool }}', +'{{ parent }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: projectId + value: '{{ projectId }}' + - name: zone + value: '{{ zone }}' + - name: clusterId + value: '{{ clusterId }}' + - name: nodePool + value: '{{ nodePool }}' + - name: parent + value: '{{ parent }}' + +``` + + + +## `UPDATE` example + +Updates a node_pool only if the necessary resources are available. + +```sql +UPDATE google.container.node_pools +SET +projectId = '{{ projectId }}', +zone = '{{ zone }}', +clusterId = '{{ clusterId }}', +nodePoolId = '{{ nodePoolId }}', +nodeVersion = '{{ nodeVersion }}', +imageType = '{{ imageType }}', +name = '{{ name }}', +locations = '{{ locations }}', +workloadMetadataConfig = '{{ workloadMetadataConfig }}', +upgradeSettings = '{{ upgradeSettings }}', +tags = '{{ tags }}', +taints = '{{ taints }}', +labels = '{{ labels }}', +linuxNodeConfig = '{{ linuxNodeConfig }}', +kubeletConfig = '{{ kubeletConfig }}', +nodeNetworkConfig = '{{ nodeNetworkConfig }}', +gcfsConfig = '{{ gcfsConfig }}', +confidentialNodes = '{{ confidentialNodes }}', +gvnic = '{{ gvnic }}', +etag = '{{ etag }}', +fastSocket = '{{ fastSocket }}', +loggingConfig = '{{ loggingConfig }}', +resourceLabels = '{{ resourceLabels }}', +windowsNodeConfig = '{{ windowsNodeConfig }}', +accelerators = '{{ accelerators }}', +machineType = '{{ machineType }}', +diskType = '{{ diskType }}', +diskSizeGb = '{{ diskSizeGb }}', +resourceManagerTags = '{{ resourceManagerTags }}', +containerdConfig = '{{ containerdConfig }}', +queuedProvisioning = '{{ queuedProvisioning }}', +storagePools = '{{ storagePools }}' +WHERE +clusterId = '{{ clusterId }}' +AND nodePoolId = '{{ nodePoolId }}' +AND projectId = '{{ projectId }}' +AND zone = '{{ zone }}'; +``` + +## `DELETE` example + +Deletes the specified node_pool resource. + +```sql +DELETE FROM google.container.node_pools +WHERE clusterId = '{{ clusterId }}' +AND nodePoolId = '{{ nodePoolId }}' +AND projectId = '{{ projectId }}' +AND zone = '{{ zone }}'; +``` diff --git a/docs/google-docs/providers/google/container/operations/index.md b/docs/google-docs/providers/google/container/operations/index.md index c0742ac67c..81748e5bc2 100644 --- a/docs/google-docs/providers/google/container/operations/index.md +++ b/docs/google-docs/providers/google/container/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - container - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview
@@ -30,21 +32,22 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned ID for the operation. | +| | `string` | Output only. The server-assigned ID for the operation. | | | `array` | Which conditions caused the current cluster state. Deprecated. Use field error instead. | -| | `string` | Detailed operation progress, if available. | -| | `string` | [Output only] The time the operation completed, in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. | +| | `string` | Output only. Detailed operation progress, if available. | +| | `string` | Output only. The time the operation completed, in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | -| | `string` | [Output only] The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available) or [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available) in which the cluster resides. | +| | `string` | Output only. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available) or [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available) in which the cluster resides. | | | `array` | Which conditions caused the current node pool state. Deprecated. Use field error instead. | -| | `string` | The operation type. | +| | `string` | Output only. The operation type. | | | `object` | Information about operation (or operation stage) progress. | -| | `string` | Server-defined URI for the operation. Example: `https://container.googleapis.com/v1alpha1/projects/123/locations/us-central1/operations/operation-123`. | -| | `string` | [Output only] The time the operation started, in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. | -| | `string` | The current status of the operation. | +| | `string` | Output only. Server-defined URI for the operation. Example: `https://container.googleapis.com/v1alpha1/projects/123/locations/us-central1/operations/operation-123`. | +| | `string` | Output only. The time the operation started, in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. | +| | `string` | Output only. The current status of the operation. | | | `string` | Output only. If an error has occurred, a textual description of the error. Deprecated. Use the field error instead. | -| | `string` | Server-defined URI for the target of the operation. The format of this is a URI to the resource being modified (such as a cluster, node pool, or node). For node pool repairs, there may be multiple nodes being repaired, but only one will be the target. Examples: - ## `https://container.googleapis.com/v1/projects/123/locations/us-central1/clusters/my-cluster` ## `https://container.googleapis.com/v1/projects/123/zones/us-central1-c/clusters/my-cluster/nodePools/my-np` `https://container.googleapis.com/v1/projects/123/zones/us-central1-c/clusters/my-cluster/nodePools/my-np/node/my-node` | -| | `string` | The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the operation is taking place. This field is deprecated, use location instead. | +| | `string` | Output only. Server-defined URI for the target of the operation. The format of this is a URI to the resource being modified (such as a cluster, node pool, or node). For node pool repairs, there may be multiple nodes being repaired, but only one will be the target. Examples: - ## `https://container.googleapis.com/v1/projects/123/locations/us-central1/clusters/my-cluster` ## `https://container.googleapis.com/v1/projects/123/zones/us-central1-c/clusters/my-cluster/nodePools/my-np` `https://container.googleapis.com/v1/projects/123/zones/us-central1-c/clusters/my-cluster/nodePools/my-np/node/my-node` | +| | `string` | Output only. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the operation is taking place. This field is deprecated, use location instead. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -54,3 +57,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists all operations in a project in a specific zone or all zones. | | | `EXEC` | | Cancels the specified operation. | | | `EXEC` | | Cancels the specified operation. | + +## `SELECT` examples + +Lists all operations in a project in a specific zone or all zones. + +```sql +SELECT +name, +clusterConditions, +detail, +endTime, +error, +location, +nodepoolConditions, +operationType, +progress, +selfLink, +startTime, +status, +statusMessage, +targetLink, +zone +FROM google.container.operations +WHERE projectId = '{{ projectId }}' +AND zone = '{{ zone }}'; +``` diff --git a/docs/google-docs/providers/google/container/server_config/index.md b/docs/google-docs/providers/google/container/server_config/index.md index c6141100b9..56353b118f 100644 --- a/docs/google-docs/providers/google/container/server_config/index.md +++ b/docs/google-docs/providers/google/container/server_config/index.md @@ -1,3 +1,4 @@ + --- title: server_config hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - server_config - container - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an server_config resource or lists server_config in a region ## Overview
@@ -36,7 +38,25 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `array` | List of valid image types. | | | `array` | List of valid master versions, in descending order. | | | `array` | List of valid node upgrade target versions, in descending order. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Returns configuration info about the Google Kubernetes Engine service. | + +## `SELECT` examples + +Returns configuration info about the Google Kubernetes Engine service. + +```sql +SELECT +channels, +defaultClusterVersion, +defaultImageType, +validImageTypes, +validMasterVersions, +validNodeVersions +FROM google.container.server_config +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/container/usable_subnetworks/index.md b/docs/google-docs/providers/google/container/usable_subnetworks/index.md index a2da928855..cdba4840d7 100644 --- a/docs/google-docs/providers/google/container/usable_subnetworks/index.md +++ b/docs/google-docs/providers/google/container/usable_subnetworks/index.md @@ -1,3 +1,4 @@ + --- title: usable_subnetworks hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - usable_subnetworks - container - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an usable_subnetwork resource or lists usable_subnetworks in a region ## Overview
@@ -35,8 +37,23 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `array` | Secondary IP ranges. | | | `string` | A human readable status message representing the reasons for cases where the caller cannot use the secondary ranges under the subnet. For example if the secondary_ip_ranges is empty due to a permission issue, an insufficient permission message will be given by status_message. | | | `string` | Subnetwork Name. Example: projects/my-project/regions/us-central1/subnetworks/my-subnet | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists subnetworks that are usable for creating clusters in a project. | + +## `SELECT` examples + +Lists subnetworks that are usable for creating clusters in a project. + +```sql +SELECT +ipCidrRange, +network, +secondaryIpRanges, +statusMessage, +subnetwork +FROM google.container.usable_subnetworks +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/container/well_known_openid_configuration/index.md b/docs/google-docs/providers/google/container/well_known_openid_configuration/index.md index b1a133fb4b..aacdd23320 100644 --- a/docs/google-docs/providers/google/container/well_known_openid_configuration/index.md +++ b/docs/google-docs/providers/google/container/well_known_openid_configuration/index.md @@ -1,3 +1,4 @@ + --- title: well_known_openid_configuration hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - well_known_openid_configuration - container - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an well_known_openid_configuration resource or lists well_known_openid_configuration in a region ## Overview
@@ -38,7 +40,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | JSON Web Key uri. | | | `array` | Supported response types. | | | `array` | Supported subject types. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets the OIDC discovery document for the cluster. See the [OpenID Connect Discovery 1.0 specification](https://openid.net/specs/openid-connect-discovery-1_0.html) for details. | + +## `SELECT` examples + +Gets the OIDC discovery document for the cluster. See the [OpenID Connect Discovery 1.0 specification](https://openid.net/specs/openid-connect-discovery-1_0.html) for details. + +```sql +SELECT +cacheHeader, +claims_supported, +grant_types, +id_token_signing_alg_values_supported, +issuer, +jwks_uri, +response_types_supported, +subject_types_supported +FROM google.container.well_known_openid_configuration +WHERE clustersId = '{{ clustersId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/container/zones_serverconfig/index.md b/docs/google-docs/providers/google/container/zones_serverconfig/index.md index 84eeb70ddb..ee4de3664e 100644 --- a/docs/google-docs/providers/google/container/zones_serverconfig/index.md +++ b/docs/google-docs/providers/google/container/zones_serverconfig/index.md @@ -1,3 +1,4 @@ + --- title: zones_serverconfig hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - zones_serverconfig - container - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an zones_serverconfig resource or lists zones_serverconfig in a region ## Overview
@@ -36,7 +38,25 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `array` | List of valid image types. | | | `array` | List of valid master versions, in descending order. | | | `array` | List of valid node upgrade target versions, in descending order. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Returns configuration info about the Google Kubernetes Engine service. | + +## `SELECT` examples + +Returns configuration info about the Google Kubernetes Engine service. + +```sql +SELECT +channels, +defaultClusterVersion, +defaultImageType, +validImageTypes, +validMasterVersions, +validNodeVersions +FROM google.container.zones_serverconfig +WHERE projectId = '{{ projectId }}' +AND zone = '{{ zone }}'; +``` diff --git a/docs/google-docs/providers/google/containeranalysis/index.md b/docs/google-docs/providers/google/containeranalysis/index.md index ef166d987d..7dbf85dc85 100644 --- a/docs/google-docs/providers/google/containeranalysis/index.md +++ b/docs/google-docs/providers/google/containeranalysis/index.md @@ -9,45 +9,34 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -This API is a prerequisite for leveraging Artifact Analysis scanning capabilities in both Artifact Registry and with Advanced Vulnerability Insights (runtime scanning) in GKE. In addition, the Container Analysis API is an implementation of the Grafeas API, which enables storing, querying, and retrieval of critical metadata about all of your software artifacts. - +The containeranalysis service documentation. + :::info Service Summary
total resources: 7
-total selectable resources: 6
-total methods: 38
::: -## Overview -
- - - - - -
Namegoogle.containeranalysis
TypeService
TitleContainer Analysis API
DescriptionThis API is a prerequisite for leveraging Artifact Analysis scanning capabilities in both Artifact Registry and with Advanced Vulnerability Insights (runtime scanning) in GKE. In addition, the Container Analysis API is an implementation of the Grafeas API, which enables storing, querying, and retrieval of critical metadata about all of your software artifacts.
Idcontaineranalysis:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/containeranalysis/notes/index.md b/docs/google-docs/providers/google/containeranalysis/notes/index.md index 08471c2dc6..4115dcbee2 100644 --- a/docs/google-docs/providers/google/containeranalysis/notes/index.md +++ b/docs/google-docs/providers/google/containeranalysis/notes/index.md @@ -1,3 +1,4 @@ + --- title: notes hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - notes - containeranalysis - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an note resource or lists notes in a region ## Overview @@ -51,6 +53,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | An Upgrade Note represents a potential upgrade of a package to a given version. For each package version combination (i.e. bash 4.0, bash 4.1, bash 4.1.2), there will be an Upgrade Note. For Windows, windows_update field represents the information related to the update. | | | `object` | A security vulnerability that can be found in resources. | | | `object` | A single VulnerabilityAssessmentNote represents one particular product's vulnerability assessment for one CVE. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -58,9 +61,123 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists notes for the specified project. | | | `SELECT` | | Gets the specified note. | | | `SELECT` | | Lists notes for the specified project. | +| | `INSERT` | | Creates new notes in batch. | +| | `INSERT` | | Creates a new note. | +| | `INSERT` | | Creates new notes in batch. | | | `INSERT` | | Creates a new note. | +| | `DELETE` | | Deletes the specified note. | | | `DELETE` | | Deletes the specified note. | +| | `UPDATE` | | Updates the specified note. | | | `UPDATE` | | Updates the specified note. | -| | `EXEC` | | Lists notes for the specified project. | -| | `EXEC` | | Lists notes for the specified project. | -| | `EXEC` | | Creates new notes in batch. | + +## `SELECT` examples + +Lists notes for the specified project. + +```sql +SELECT +name, +attestation, +build, +compliance, +createTime, +deployment, +discovery, +dsseAttestation, +expirationTime, +image, +kind, +longDescription, +package, +relatedNoteNames, +relatedUrl, +sbomReference, +shortDescription, +updateTime, +upgrade, +vulnerability, +vulnerabilityAssessment +FROM google.containeranalysis.notes +WHERE projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new notes resource. + + + + +```sql +/*+ create */ +INSERT INTO google.containeranalysis.notes ( +projectsId, +notes +) +SELECT +'{{ projectsId }}', +'{{ notes }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: notes + value: '{{ notes }}' + +``` + + + +## `UPDATE` example + +Updates a note only if the necessary resources are available. + +```sql +UPDATE google.containeranalysis.notes +SET +longDescription = '{{ longDescription }}', +vulnerability = '{{ vulnerability }}', +vulnerabilityAssessment = '{{ vulnerabilityAssessment }}', +discovery = '{{ discovery }}', +kind = '{{ kind }}', +dsseAttestation = '{{ dsseAttestation }}', +shortDescription = '{{ shortDescription }}', +build = '{{ build }}', +updateTime = '{{ updateTime }}', +name = '{{ name }}', +createTime = '{{ createTime }}', +relatedNoteNames = '{{ relatedNoteNames }}', +compliance = '{{ compliance }}', +sbomReference = '{{ sbomReference }}', +package = '{{ package }}', +upgrade = '{{ upgrade }}', +image = '{{ image }}', +attestation = '{{ attestation }}', +deployment = '{{ deployment }}', +relatedUrl = '{{ relatedUrl }}', +expirationTime = '{{ expirationTime }}' +WHERE +notesId = '{{ notesId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified note resource. + +```sql +DELETE FROM google.containeranalysis.notes +WHERE notesId = '{{ notesId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/containeranalysis/notes_iam_policies/index.md b/docs/google-docs/providers/google/containeranalysis/notes_iam_policies/index.md index 0278dbbbea..c2b270ba4c 100644 --- a/docs/google-docs/providers/google/containeranalysis/notes_iam_policies/index.md +++ b/docs/google-docs/providers/google/containeranalysis/notes_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: notes_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - notes_iam_policies - containeranalysis - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an notes_iam_policy resource or lists notes_iam_policies in a region ## Overview
@@ -30,13 +32,30 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets the access control policy for a note or an occurrence resource. Requires `containeranalysis.notes.setIamPolicy` or `containeranalysis.occurrences.setIamPolicy` permission if the resource is a note or occurrence, respectively. The resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` for notes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for occurrences. | | | `SELECT` | | Gets the access control policy for a note or an occurrence resource. Requires `containeranalysis.notes.setIamPolicy` or `containeranalysis.occurrences.setIamPolicy` permission if the resource is a note or occurrence, respectively. The resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` for notes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for occurrences. | -| | `EXEC` | | Gets the access control policy for a note or an occurrence resource. Requires `containeranalysis.notes.setIamPolicy` or `containeranalysis.occurrences.setIamPolicy` permission if the resource is a note or occurrence, respectively. The resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` for notes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for occurrences. | +| | `EXEC` | | Sets the access control policy on the specified note or occurrence. Requires `containeranalysis.notes.setIamPolicy` or `containeranalysis.occurrences.setIamPolicy` permission if the resource is a note or an occurrence, respectively. The resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` for notes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for occurrences. | +| | `EXEC` | | Returns the permissions that a caller has on the specified note or occurrence. Requires list permission on the project (for example, `containeranalysis.notes.list`). The resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` for notes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for occurrences. | | | `EXEC` | | Sets the access control policy on the specified note or occurrence. Requires `containeranalysis.notes.setIamPolicy` or `containeranalysis.occurrences.setIamPolicy` permission if the resource is a note or an occurrence, respectively. The resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` for notes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for occurrences. | | | `EXEC` | | Returns the permissions that a caller has on the specified note or occurrence. Requires list permission on the project (for example, `containeranalysis.notes.list`). The resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` for notes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for occurrences. | + +## `SELECT` examples + +Gets the access control policy for a note or an occurrence resource. Requires `containeranalysis.notes.setIamPolicy` or `containeranalysis.occurrences.setIamPolicy` permission if the resource is a note or occurrence, respectively. The resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` for notes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for occurrences. + +```sql +SELECT +condition, +members, +role +FROM google.containeranalysis.notes_iam_policies +WHERE notesId = '{{ notesId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/containeranalysis/occurrences/index.md b/docs/google-docs/providers/google/containeranalysis/occurrences/index.md index d391360f0c..7b0c76286c 100644 --- a/docs/google-docs/providers/google/containeranalysis/occurrences/index.md +++ b/docs/google-docs/providers/google/containeranalysis/occurrences/index.md @@ -1,3 +1,4 @@ + --- title: occurrences hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - occurrences - containeranalysis - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an occurrence resource or lists occurrences in a region ## Overview
@@ -49,6 +51,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The time this occurrence was last updated. | | | `object` | An Upgrade Occurrence represents that a specific resource_url could install a specific upgrade. This presence is supplied via local sources (i.e. it is present in the mirror and the running system has noticed its availability). For Windows, both distribution and windows_update contain information for the Windows update. | | | `object` | An occurrence of a severity vulnerability on a resource. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -58,11 +61,119 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists occurrences referencing the specified note. Provider projects can use this method to get all occurrences across consumer projects referencing the specified note. | | | `SELECT` | | Gets the specified occurrence. | | | `SELECT` | | Lists occurrences for the specified project. | +| | `INSERT` | | Creates new occurrences in batch. | +| | `INSERT` | | Creates a new occurrence. | +| | `INSERT` | | Creates new occurrences in batch. | | | `INSERT` | | Creates a new occurrence. | +| | `DELETE` | | Deletes the specified occurrence. For example, use this method to delete an occurrence when the occurrence is no longer applicable for the given resource. | | | `DELETE` | | Deletes the specified occurrence. For example, use this method to delete an occurrence when the occurrence is no longer applicable for the given resource. | +| | `UPDATE` | | Updates the specified occurrence. | | | `UPDATE` | | Updates the specified occurrence. | -| | `EXEC` | | Lists occurrences referencing the specified note. Provider projects can use this method to get all occurrences across consumer projects referencing the specified note. | -| | `EXEC` | | Lists occurrences for the specified project. | -| | `EXEC` | | Lists occurrences referencing the specified note. Provider projects can use this method to get all occurrences across consumer projects referencing the specified note. | -| | `EXEC` | | Lists occurrences for the specified project. | -| | `EXEC` | | Creates new occurrences in batch. | + +## `SELECT` examples + +Lists occurrences for the specified project. + +```sql +SELECT +name, +attestation, +build, +compliance, +createTime, +deployment, +discovery, +dsseAttestation, +envelope, +image, +kind, +noteName, +package, +remediation, +resourceUri, +sbomReference, +updateTime, +upgrade, +vulnerability +FROM google.containeranalysis.occurrences +WHERE projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new occurrences resource. + + + + +```sql +/*+ create */ +INSERT INTO google.containeranalysis.occurrences ( +projectsId, +occurrences +) +SELECT +'{{ projectsId }}', +'{{ occurrences }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: occurrences + value: '{{ occurrences }}' + +``` + + + +## `UPDATE` example + +Updates a occurrence only if the necessary resources are available. + +```sql +UPDATE google.containeranalysis.occurrences +SET +resourceUri = '{{ resourceUri }}', +discovery = '{{ discovery }}', +image = '{{ image }}', +vulnerability = '{{ vulnerability }}', +package = '{{ package }}', +attestation = '{{ attestation }}', +build = '{{ build }}', +kind = '{{ kind }}', +updateTime = '{{ updateTime }}', +createTime = '{{ createTime }}', +compliance = '{{ compliance }}', +remediation = '{{ remediation }}', +sbomReference = '{{ sbomReference }}', +name = '{{ name }}', +envelope = '{{ envelope }}', +upgrade = '{{ upgrade }}', +dsseAttestation = '{{ dsseAttestation }}', +deployment = '{{ deployment }}', +noteName = '{{ noteName }}' +WHERE +occurrencesId = '{{ occurrencesId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified occurrence resource. + +```sql +DELETE FROM google.containeranalysis.occurrences +WHERE occurrencesId = '{{ occurrencesId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/containeranalysis/occurrences_iam_policies/index.md b/docs/google-docs/providers/google/containeranalysis/occurrences_iam_policies/index.md index 2ce070a3ff..58a6709aef 100644 --- a/docs/google-docs/providers/google/containeranalysis/occurrences_iam_policies/index.md +++ b/docs/google-docs/providers/google/containeranalysis/occurrences_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: occurrences_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - occurrences_iam_policies - containeranalysis - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an occurrences_iam_policy resource or lists occurrences_iam_policies in a region ## Overview
@@ -30,13 +32,30 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets the access control policy for a note or an occurrence resource. Requires `containeranalysis.notes.setIamPolicy` or `containeranalysis.occurrences.setIamPolicy` permission if the resource is a note or occurrence, respectively. The resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` for notes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for occurrences. | | | `SELECT` | | Gets the access control policy for a note or an occurrence resource. Requires `containeranalysis.notes.setIamPolicy` or `containeranalysis.occurrences.setIamPolicy` permission if the resource is a note or occurrence, respectively. The resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` for notes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for occurrences. | -| | `EXEC` | | Gets the access control policy for a note or an occurrence resource. Requires `containeranalysis.notes.setIamPolicy` or `containeranalysis.occurrences.setIamPolicy` permission if the resource is a note or occurrence, respectively. The resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` for notes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for occurrences. | +| | `EXEC` | | Sets the access control policy on the specified note or occurrence. Requires `containeranalysis.notes.setIamPolicy` or `containeranalysis.occurrences.setIamPolicy` permission if the resource is a note or an occurrence, respectively. The resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` for notes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for occurrences. | +| | `EXEC` | | Returns the permissions that a caller has on the specified note or occurrence. Requires list permission on the project (for example, `containeranalysis.notes.list`). The resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` for notes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for occurrences. | | | `EXEC` | | Sets the access control policy on the specified note or occurrence. Requires `containeranalysis.notes.setIamPolicy` or `containeranalysis.occurrences.setIamPolicy` permission if the resource is a note or an occurrence, respectively. The resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` for notes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for occurrences. | | | `EXEC` | | Returns the permissions that a caller has on the specified note or occurrence. Requires list permission on the project (for example, `containeranalysis.notes.list`). The resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` for notes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for occurrences. | + +## `SELECT` examples + +Gets the access control policy for a note or an occurrence resource. Requires `containeranalysis.notes.setIamPolicy` or `containeranalysis.occurrences.setIamPolicy` permission if the resource is a note or occurrence, respectively. The resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` for notes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for occurrences. + +```sql +SELECT +condition, +members, +role +FROM google.containeranalysis.occurrences_iam_policies +WHERE occurrencesId = '{{ occurrencesId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/containeranalysis/occurrences_notes/index.md b/docs/google-docs/providers/google/containeranalysis/occurrences_notes/index.md index 8caa673c08..bf4b817a9a 100644 --- a/docs/google-docs/providers/google/containeranalysis/occurrences_notes/index.md +++ b/docs/google-docs/providers/google/containeranalysis/occurrences_notes/index.md @@ -1,3 +1,4 @@ + --- title: occurrences_notes hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - occurrences_notes - containeranalysis - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an occurrences_note resource or lists occurrences_notes in a region ## Overview
@@ -51,8 +53,41 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | An Upgrade Note represents a potential upgrade of a package to a given version. For each package version combination (i.e. bash 4.0, bash 4.1, bash 4.1.2), there will be an Upgrade Note. For Windows, windows_update field represents the information related to the update. | | | `object` | A security vulnerability that can be found in resources. | | | `object` | A single VulnerabilityAssessmentNote represents one particular product's vulnerability assessment for one CVE. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets the note attached to the specified occurrence. Consumer projects can use this method to get a note that belongs to a provider project. | +| | `SELECT` | | Gets the note attached to the specified occurrence. Consumer projects can use this method to get a note that belongs to a provider project. | + +## `SELECT` examples + +Gets the note attached to the specified occurrence. Consumer projects can use this method to get a note that belongs to a provider project. + +```sql +SELECT +name, +attestation, +build, +compliance, +createTime, +deployment, +discovery, +dsseAttestation, +expirationTime, +image, +kind, +longDescription, +package, +relatedNoteNames, +relatedUrl, +sbomReference, +shortDescription, +updateTime, +upgrade, +vulnerability, +vulnerabilityAssessment +FROM google.containeranalysis.occurrences_notes +WHERE occurrencesId = '{{ occurrencesId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/containeranalysis/occurrences_vulnerability_summary/index.md b/docs/google-docs/providers/google/containeranalysis/occurrences_vulnerability_summary/index.md index 6e7fec90c0..fb9ac2beb5 100644 --- a/docs/google-docs/providers/google/containeranalysis/occurrences_vulnerability_summary/index.md +++ b/docs/google-docs/providers/google/containeranalysis/occurrences_vulnerability_summary/index.md @@ -1,3 +1,4 @@ + --- title: occurrences_vulnerability_summary hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - occurrences_vulnerability_summary - containeranalysis - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an occurrences_vulnerability_summary resource or lists occurrences_vulnerability_summary in a region ## Overview
@@ -28,8 +30,23 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `array` | A listing by resource of the number of fixable and total vulnerabilities. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets a summary of the number and severity of occurrences. | +| | `SELECT` | | Gets a summary of the number and severity of occurrences. | + +## `SELECT` examples + +Gets a summary of the number and severity of occurrences. + +```sql +SELECT +counts +FROM google.containeranalysis.occurrences_vulnerability_summary +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/containeranalysis/resources/index.md b/docs/google-docs/providers/google/containeranalysis/resources/index.md index 8465003095..7cadd6d056 100644 --- a/docs/google-docs/providers/google/containeranalysis/resources/index.md +++ b/docs/google-docs/providers/google/containeranalysis/resources/index.md @@ -1,3 +1,4 @@ + --- title: resources hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - resources - containeranalysis - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an resource resource or lists resources in a region ## Overview @@ -28,9 +30,11 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Generates an SBOM for the given resource. | +| | `EXEC` | | Generates an SBOM for the given resource. | diff --git a/docs/google-docs/providers/google/contentwarehouse/acl/index.md b/docs/google-docs/providers/google/contentwarehouse/acl/index.md index 8b44bbc6e9..1637a2f4b9 100644 --- a/docs/google-docs/providers/google/contentwarehouse/acl/index.md +++ b/docs/google-docs/providers/google/contentwarehouse/acl/index.md @@ -1,3 +1,4 @@ + --- title: acl hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - acl - contentwarehouse - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an acl resource or lists acl in a region ## Overview @@ -28,8 +30,24 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `object` | Additional information returned to client, such as debugging information. | +| | `object` | An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets the access control policy for a resource. Returns NOT_FOUND error if the resource does not exist. Returns an empty policy if the resource exists but does not have a policy set. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns NOT_FOUND error if the resource does not exist. Returns an empty policy if the resource exists but does not have a policy set. + +```sql +SELECT +metadata, +policy +FROM google.contentwarehouse.acl +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/contentwarehouse/document_links/index.md b/docs/google-docs/providers/google/contentwarehouse/document_links/index.md index 5876b7881e..12de4689ee 100644 --- a/docs/google-docs/providers/google/contentwarehouse/document_links/index.md +++ b/docs/google-docs/providers/google/contentwarehouse/document_links/index.md @@ -1,3 +1,4 @@ + --- title: document_links hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - document_links - contentwarehouse - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an document_link resource or lists document_links in a region ## Overview @@ -28,9 +30,69 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `INSERT` | | Create a link between a source document and a target document. | | | `DELETE` | | Remove the link between the source and target documents. | + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new document_links resource. + + + + +```sql +/*+ create */ +INSERT INTO google.contentwarehouse.document_links ( +documentsId, +locationsId, +projectsId, +documentLink, +requestMetadata +) +SELECT +'{{ documentsId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ documentLink }}', +'{{ requestMetadata }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: documentLink + value: '{{ documentLink }}' + - name: requestMetadata + value: '{{ requestMetadata }}' + +``` + + + +## `DELETE` example + +Deletes the specified document_link resource. + +```sql +DELETE FROM google.contentwarehouse.document_links +WHERE documentLinksId = '{{ documentLinksId }}' +AND documentsId = '{{ documentsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/contentwarehouse/document_schemas/index.md b/docs/google-docs/providers/google/contentwarehouse/document_schemas/index.md index d65e5a7a06..1bfb0eeb67 100644 --- a/docs/google-docs/providers/google/contentwarehouse/document_schemas/index.md +++ b/docs/google-docs/providers/google/contentwarehouse/document_schemas/index.md @@ -1,3 +1,4 @@ + --- title: document_schemas hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - document_schemas - contentwarehouse - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an document_schema resource or lists document_schemas in a region ## Overview @@ -30,13 +32,14 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The resource name of the document schema. Format: projects/{project_number}/locations/{location}/documentSchemas/{document_schema_id}. The name is ignored when creating a document schema. | +| | `string` | The resource name of the document schema. Format: projects/{project_number}/locations/{location}/documentSchemas/{document_schema_id}. The name is ignored when creating a document schema. | | | `string` | Schema description. | | | `string` | Output only. The time when the document schema is created. | | | `string` | Required. Name of the schema given by the user. Must be unique per project. | | | `boolean` | Document Type, true refers the document is a folder, otherwise it is a typical document. | | | `array` | Document details. | | | `string` | Output only. The time when the document schema is last updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -45,4 +48,110 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a document schema. | | | `DELETE` | | Deletes a document schema. Returns NOT_FOUND if the document schema does not exist. Returns BAD_REQUEST if the document schema has documents depending on it. | | | `UPDATE` | | Updates a Document Schema. Returns INVALID_ARGUMENT if the name of the Document Schema is non-empty and does not equal the existing name. Supports only appending new properties, adding new ENUM possible values, and updating the EnumTypeOptions.validation_check_disabled flag for ENUM possible values. Updating existing properties will result into INVALID_ARGUMENT. | -| | `EXEC` | | Lists document schemas. | + +## `SELECT` examples + +Lists document schemas. + +```sql +SELECT +name, +description, +createTime, +displayName, +documentIsFolder, +propertyDefinitions, +updateTime +FROM google.contentwarehouse.document_schemas +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new document_schemas resource. + + + + +```sql +/*+ create */ +INSERT INTO google.contentwarehouse.document_schemas ( +locationsId, +projectsId, +name, +updateTime, +description, +createTime, +propertyDefinitions, +displayName, +documentIsFolder +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ updateTime }}', +'{{ description }}', +'{{ createTime }}', +'{{ propertyDefinitions }}', +'{{ displayName }}', +true|false +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: updateTime + value: '{{ updateTime }}' + - name: description + value: '{{ description }}' + - name: createTime + value: '{{ createTime }}' + - name: propertyDefinitions + value: '{{ propertyDefinitions }}' + - name: displayName + value: '{{ displayName }}' + - name: documentIsFolder + value: '{{ documentIsFolder }}' + +``` + + + +## `UPDATE` example + +Updates a document_schema only if the necessary resources are available. + +```sql +UPDATE google.contentwarehouse.document_schemas +SET +documentSchema = '{{ documentSchema }}' +WHERE +documentSchemasId = '{{ documentSchemasId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified document_schema resource. + +```sql +DELETE FROM google.contentwarehouse.document_schemas +WHERE documentSchemasId = '{{ documentSchemasId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/contentwarehouse/documents/index.md b/docs/google-docs/providers/google/contentwarehouse/documents/index.md index 6acb9ee1a7..2827de351d 100644 --- a/docs/google-docs/providers/google/contentwarehouse/documents/index.md +++ b/docs/google-docs/providers/google/contentwarehouse/documents/index.md @@ -1,3 +1,4 @@ + --- title: documents hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - documents - contentwarehouse - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an document resource or lists documents in a region ## Overview
@@ -27,6 +29,31 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
Id
+## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | The resource name of the document. Format: projects/{project_number}/locations/{location}/documents/{document_id}. The name is ignored when creating a document. | +| | `object` | Document represents the canonical document resource in Document AI. It is an interchange format that provides insights into documents and allows for collaboration between users and Document AI to iterate and optimize for quality. | +| | `string` | Indicates the category (image, audio, video etc.) of the original content. | +| | `string` | Output only. The time when the document is created. | +| | `string` | The user who creates the document. | +| | `string` | Required. Display name of the document given by the user. This name will be displayed in the UI. Customer can populate this field with the name of the document. This differs from the 'title' field as 'title' is optional and stores the top heading in the document. | +| | `string` | Uri to display the document, for example, in the UI. | +| | `string` | Output only. If linked to a Collection with RetentionPolicy, the date when the document becomes mutable. | +| | `string` | The Document schema name. Format: projects/{project_number}/locations/{location}/documentSchemas/{document_schema_id}. | +| | `string` | Raw document content. | +| | `boolean` | Output only. Indicates if the document has a legal hold on it. | +| | `string` | Other document format, such as PPTX, XLXS | +| | `array` | List of values that are user supplied metadata. | +| | `string` | This is used when DocAI was not used to load the document and parsing/ extracting is needed for the inline_raw_document. For example, if inline_raw_document is the byte representation of a PDF file, then this should be set to: RAW_DOCUMENT_FILE_TYPE_PDF. | +| | `string` | Raw document file in Cloud Storage path. | +| | `string` | The reference ID set by customers. Must be unique per project and location. | +| | `boolean` | If true, text extraction will not be performed. | +| | `boolean` | If true, text extraction will be performed. | +| | `string` | Title that describes the document. This can be the top heading or text that describes the document. | +| | `string` | Output only. The time when the document is last updated. | +| | `string` | The user who lastly updates the document. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -39,3 +66,120 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `EXEC` | | Lock the document so the document cannot be updated by other users. | | | `EXEC` | | Searches for documents using provided SearchDocumentsRequest. This call only returns documents that the caller has permission to search against. | | | `EXEC` | | Sets the access control policy for a resource. Replaces any existing policy. | + +## `SELECT` examples + +Gets a document. Returns NOT_FOUND if the document does not exist. + +```sql +SELECT +name, +cloudAiDocument, +contentCategory, +createTime, +creator, +displayName, +displayUri, +dispositionTime, +documentSchemaName, +inlineRawDocument, +legalHold, +plainText, +properties, +rawDocumentFileType, +rawDocumentPath, +referenceId, +textExtractionDisabled, +textExtractionEnabled, +title, +updateTime, +updater +FROM google.contentwarehouse.documents +WHERE documentsId = '{{ documentsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new documents resource. + + + + +```sql +/*+ create */ +INSERT INTO google.contentwarehouse.documents ( +locationsId, +projectsId, +cloudAiDocumentOption, +policy, +document, +requestMetadata, +createMask +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ cloudAiDocumentOption }}', +'{{ policy }}', +'{{ document }}', +'{{ requestMetadata }}', +'{{ createMask }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: cloudAiDocumentOption + value: '{{ cloudAiDocumentOption }}' + - name: policy + value: '{{ policy }}' + - name: document + value: '{{ document }}' + - name: requestMetadata + value: '{{ requestMetadata }}' + - name: createMask + value: '{{ createMask }}' + +``` + + + +## `UPDATE` example + +Updates a document only if the necessary resources are available. + +```sql +UPDATE google.contentwarehouse.documents +SET +updateOptions = '{{ updateOptions }}', +cloudAiDocumentOption = '{{ cloudAiDocumentOption }}', +requestMetadata = '{{ requestMetadata }}', +document = '{{ document }}' +WHERE +documentsId = '{{ documentsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified document resource. + +```sql +DELETE FROM google.contentwarehouse.documents +WHERE documentsId = '{{ documentsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/contentwarehouse/documents_acl/index.md b/docs/google-docs/providers/google/contentwarehouse/documents_acl/index.md index 60c98c0ef9..cfb5bfdbf1 100644 --- a/docs/google-docs/providers/google/contentwarehouse/documents_acl/index.md +++ b/docs/google-docs/providers/google/contentwarehouse/documents_acl/index.md @@ -1,3 +1,4 @@ + --- title: documents_acl hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - documents_acl - contentwarehouse - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an documents_acl resource or lists documents_acl in a region ## Overview @@ -28,8 +30,26 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `object` | Additional information returned to client, such as debugging information. | +| | `object` | An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets the access control policy for a resource. Returns NOT_FOUND error if the resource does not exist. Returns an empty policy if the resource exists but does not have a policy set. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns NOT_FOUND error if the resource does not exist. Returns an empty policy if the resource exists but does not have a policy set. + +```sql +SELECT +metadata, +policy +FROM google.contentwarehouse.documents_acl +WHERE documentsId = '{{ documentsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/contentwarehouse/index.md b/docs/google-docs/providers/google/contentwarehouse/index.md index 17f2e5ebe9..ce957d54a0 100644 --- a/docs/google-docs/providers/google/contentwarehouse/index.md +++ b/docs/google-docs/providers/google/contentwarehouse/index.md @@ -9,34 +9,23 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- - - +The contentwarehouse service documentation. + :::info Service Summary
total resources: 12
-total selectable resources: 5
-total methods: 39
::: -## Overview - - - - - - -
Namegoogle.contentwarehouse
TypeService
TitleDocument AI Warehouse API
Description
Idcontentwarehouse:v24.06.00236
- ## Resources
@@ -45,7 +34,7 @@ image: /img/providers/google/stackql-google-provider-featured-image.png document_schemas
documents
documents_acl
-locations
+locations
operations
@@ -53,6 +42,6 @@ image: /img/providers/google/stackql-google-provider-featured-image.png reference_id
rule_sets
status
-synonym_sets
-
+synonym_sets
+ \ No newline at end of file diff --git a/docs/google-docs/providers/google/contentwarehouse/locations/index.md b/docs/google-docs/providers/google/contentwarehouse/locations/index.md index 9670b3515b..ce996d9437 100644 --- a/docs/google-docs/providers/google/contentwarehouse/locations/index.md +++ b/docs/google-docs/providers/google/contentwarehouse/locations/index.md @@ -1,3 +1,4 @@ + --- title: locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - locations - contentwarehouse - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an location resource or lists locations in a region ## Overview @@ -28,7 +30,9 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| diff --git a/docs/google-docs/providers/google/contentwarehouse/operations/index.md b/docs/google-docs/providers/google/contentwarehouse/operations/index.md index c84826db1a..04b6d8f4ca 100644 --- a/docs/google-docs/providers/google/contentwarehouse/operations/index.md +++ b/docs/google-docs/providers/google/contentwarehouse/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - contentwarehouse - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview @@ -30,12 +32,30 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | + +## `SELECT` examples + +Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.contentwarehouse.operations +WHERE locationsId = '{{ locationsId }}' +AND operationsId = '{{ operationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/contentwarehouse/projects/index.md b/docs/google-docs/providers/google/contentwarehouse/projects/index.md index c140b0470e..e1d71dac54 100644 --- a/docs/google-docs/providers/google/contentwarehouse/projects/index.md +++ b/docs/google-docs/providers/google/contentwarehouse/projects/index.md @@ -1,3 +1,4 @@ + --- title: projects hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - projects - contentwarehouse - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an project resource or lists projects in a region ## Overview
@@ -28,8 +30,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Sets the access control policy for a resource. Replaces any existing policy. | diff --git a/docs/google-docs/providers/google/contentwarehouse/reference_id/index.md b/docs/google-docs/providers/google/contentwarehouse/reference_id/index.md index 015e01fb94..05202babeb 100644 --- a/docs/google-docs/providers/google/contentwarehouse/reference_id/index.md +++ b/docs/google-docs/providers/google/contentwarehouse/reference_id/index.md @@ -1,3 +1,4 @@ + --- title: reference_id hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - reference_id - contentwarehouse - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an reference_id resource or lists reference_id in a region ## Overview @@ -27,9 +29,95 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
Id
+## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | The resource name of the document. Format: projects/{project_number}/locations/{location}/documents/{document_id}. The name is ignored when creating a document. | +| | `object` | Document represents the canonical document resource in Document AI. It is an interchange format that provides insights into documents and allows for collaboration between users and Document AI to iterate and optimize for quality. | +| | `string` | Indicates the category (image, audio, video etc.) of the original content. | +| | `string` | Output only. The time when the document is created. | +| | `string` | The user who creates the document. | +| | `string` | Required. Display name of the document given by the user. This name will be displayed in the UI. Customer can populate this field with the name of the document. This differs from the 'title' field as 'title' is optional and stores the top heading in the document. | +| | `string` | Uri to display the document, for example, in the UI. | +| | `string` | Output only. If linked to a Collection with RetentionPolicy, the date when the document becomes mutable. | +| | `string` | The Document schema name. Format: projects/{project_number}/locations/{location}/documentSchemas/{document_schema_id}. | +| | `string` | Raw document content. | +| | `boolean` | Output only. Indicates if the document has a legal hold on it. | +| | `string` | Other document format, such as PPTX, XLXS | +| | `array` | List of values that are user supplied metadata. | +| | `string` | This is used when DocAI was not used to load the document and parsing/ extracting is needed for the inline_raw_document. For example, if inline_raw_document is the byte representation of a PDF file, then this should be set to: RAW_DOCUMENT_FILE_TYPE_PDF. | +| | `string` | Raw document file in Cloud Storage path. | +| | `string` | The reference ID set by customers. Must be unique per project and location. | +| | `boolean` | If true, text extraction will not be performed. | +| | `boolean` | If true, text extraction will be performed. | +| | `string` | Title that describes the document. This can be the top heading or text that describes the document. | +| | `string` | Output only. The time when the document is last updated. | +| | `string` | The user who lastly updates the document. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets a document. Returns NOT_FOUND if the document does not exist. | | | `DELETE` | | Deletes a document. Returns NOT_FOUND if the document does not exist. | | | `UPDATE` | | Updates a document. Returns INVALID_ARGUMENT if the name of the document is non-empty and does not equal the existing name. | + +## `SELECT` examples + +Gets a document. Returns NOT_FOUND if the document does not exist. + +```sql +SELECT +name, +cloudAiDocument, +contentCategory, +createTime, +creator, +displayName, +displayUri, +dispositionTime, +documentSchemaName, +inlineRawDocument, +legalHold, +plainText, +properties, +rawDocumentFileType, +rawDocumentPath, +referenceId, +textExtractionDisabled, +textExtractionEnabled, +title, +updateTime, +updater +FROM google.contentwarehouse.reference_id +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND referenceIdId = '{{ referenceIdId }}'; +``` + +## `UPDATE` example + +Updates a reference_id only if the necessary resources are available. + +```sql +UPDATE google.contentwarehouse.reference_id +SET +updateOptions = '{{ updateOptions }}', +cloudAiDocumentOption = '{{ cloudAiDocumentOption }}', +requestMetadata = '{{ requestMetadata }}', +document = '{{ document }}' +WHERE +locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND referenceIdId = '{{ referenceIdId }}'; +``` + +## `DELETE` example + +Deletes the specified reference_id resource. + +```sql +DELETE FROM google.contentwarehouse.reference_id +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND referenceIdId = '{{ referenceIdId }}'; +``` diff --git a/docs/google-docs/providers/google/contentwarehouse/rule_sets/index.md b/docs/google-docs/providers/google/contentwarehouse/rule_sets/index.md index e6470342db..b6f4de7011 100644 --- a/docs/google-docs/providers/google/contentwarehouse/rule_sets/index.md +++ b/docs/google-docs/providers/google/contentwarehouse/rule_sets/index.md @@ -1,3 +1,4 @@ + --- title: rule_sets hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - rule_sets - contentwarehouse - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an rule_set resource or lists rule_sets in a region ## Overview @@ -30,10 +32,11 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The resource name of the rule set. Managed internally. Format: projects/{project_number}/locations/{location}/ruleSet/{rule_set_id}. The name is ignored when creating a rule set. | +| | `string` | The resource name of the rule set. Managed internally. Format: projects/{project_number}/locations/{location}/ruleSet/{rule_set_id}. The name is ignored when creating a rule set. | | | `string` | Short description of the rule-set. | | | `array` | List of rules given by the customer. | | | `string` | Source of the rules i.e., customer name. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -42,4 +45,95 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a ruleset. | | | `DELETE` | | Deletes a ruleset. Returns NOT_FOUND if the document does not exist. | | | `UPDATE` | | Updates a ruleset. Returns INVALID_ARGUMENT if the name of the ruleset is non-empty and does not equal the existing name. | -| | `EXEC` | | Lists rulesets. | + +## `SELECT` examples + +Lists rulesets. + +```sql +SELECT +name, +description, +rules, +source +FROM google.contentwarehouse.rule_sets +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new rule_sets resource. + + + + +```sql +/*+ create */ +INSERT INTO google.contentwarehouse.rule_sets ( +locationsId, +projectsId, +rules, +description, +name, +source +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ rules }}', +'{{ description }}', +'{{ name }}', +'{{ source }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: rules + value: '{{ rules }}' + - name: description + value: '{{ description }}' + - name: name + value: '{{ name }}' + - name: source + value: '{{ source }}' + +``` + + + +## `UPDATE` example + +Updates a rule_set only if the necessary resources are available. + +```sql +UPDATE google.contentwarehouse.rule_sets +SET +ruleSet = '{{ ruleSet }}' +WHERE +locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND ruleSetsId = '{{ ruleSetsId }}'; +``` + +## `DELETE` example + +Deletes the specified rule_set resource. + +```sql +DELETE FROM google.contentwarehouse.rule_sets +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND ruleSetsId = '{{ ruleSetsId }}'; +``` diff --git a/docs/google-docs/providers/google/contentwarehouse/status/index.md b/docs/google-docs/providers/google/contentwarehouse/status/index.md index 85c69f4faf..32f24f555f 100644 --- a/docs/google-docs/providers/google/contentwarehouse/status/index.md +++ b/docs/google-docs/providers/google/contentwarehouse/status/index.md @@ -1,3 +1,4 @@ + --- title: status hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - status - contentwarehouse - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an status resource or lists status in a region ## Overview
@@ -36,7 +38,25 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The location of the queried project. | | | `boolean` | If the qa is enabled on this project. | | | `string` | State of the project. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Get the project status. | + +## `SELECT` examples + +Get the project status. + +```sql +SELECT +accessControlMode, +databaseType, +documentCreatorDefaultRole, +location, +qaEnabled, +state +FROM google.contentwarehouse.status +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/contentwarehouse/synonym_sets/index.md b/docs/google-docs/providers/google/contentwarehouse/synonym_sets/index.md index 473ddeaab6..8f61782414 100644 --- a/docs/google-docs/providers/google/contentwarehouse/synonym_sets/index.md +++ b/docs/google-docs/providers/google/contentwarehouse/synonym_sets/index.md @@ -1,3 +1,4 @@ + --- title: synonym_sets hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - synonym_sets - contentwarehouse - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an synonym_set resource or lists synonym_sets in a region ## Overview
@@ -30,9 +32,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The resource name of the SynonymSet This is mandatory for google.api.resource. Format: projects/{project_number}/locations/{location}/synonymSets/{context}. | +| | `string` | The resource name of the SynonymSet This is mandatory for google.api.resource. Format: projects/{project_number}/locations/{location}/synonymSets/{context}. | | | `string` | This is a freeform field. Example contexts can be "sales," "engineering," "real estate," "accounting," etc. The context can be supplied during search requests. | | | `array` | List of Synonyms for the context. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -41,4 +44,92 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a SynonymSet for a single context. Throws an ALREADY_EXISTS exception if a synonymset already exists for the context. | | | `DELETE` | | Deletes a SynonymSet for a given context. Throws a NOT_FOUND exception if the SynonymSet is not found. | | | `UPDATE` | | Remove the existing SynonymSet for the context and replaces it with a new one. Throws a NOT_FOUND exception if the SynonymSet is not found. | -| | `EXEC` | | Returns all SynonymSets (for all contexts) for the specified location. | + +## `SELECT` examples + +Returns all SynonymSets (for all contexts) for the specified location. + +```sql +SELECT +name, +context, +synonyms +FROM google.contentwarehouse.synonym_sets +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new synonym_sets resource. + + + + +```sql +/*+ create */ +INSERT INTO google.contentwarehouse.synonym_sets ( +locationsId, +projectsId, +name, +synonyms, +context +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ synonyms }}', +'{{ context }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: synonyms + value: '{{ synonyms }}' + - name: context + value: '{{ context }}' + +``` + + + +## `UPDATE` example + +Updates a synonym_set only if the necessary resources are available. + +```sql +UPDATE google.contentwarehouse.synonym_sets +SET +name = '{{ name }}', +synonyms = '{{ synonyms }}', +context = '{{ context }}' +WHERE +locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND synonymSetsId = '{{ synonymSetsId }}'; +``` + +## `DELETE` example + +Deletes the specified synonym_set resource. + +```sql +DELETE FROM google.contentwarehouse.synonym_sets +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND synonymSetsId = '{{ synonymSetsId }}'; +``` diff --git a/docs/google-docs/providers/google/datacatalog/catalog/index.md b/docs/google-docs/providers/google/datacatalog/catalog/index.md index 9ae7d97e9a..d3581eaab9 100644 --- a/docs/google-docs/providers/google/datacatalog/catalog/index.md +++ b/docs/google-docs/providers/google/datacatalog/catalog/index.md @@ -1,3 +1,4 @@ + --- title: catalog hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - catalog - datacatalog - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an catalog resource or lists catalog in a region ## Overview
@@ -28,8 +30,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Searches Data Catalog for multiple resources like entries and tags that match a query. This is a [Custom Method] (https://cloud.google.com/apis/design/custom_methods) that doesn't return all information on a resource, only its ID and high level fields. To get more information, you can subsequently call specific get methods. Note: Data Catalog search queries don't guarantee full recall. Results that match your query might not be returned, even in subsequent result pages. Additionally, returned (and not returned) results can vary if you repeat search queries. For more information, see [Data Catalog search syntax] (https://cloud.google.com/data-catalog/docs/how-to/search-reference). | diff --git a/docs/google-docs/providers/google/datacatalog/entries/index.md b/docs/google-docs/providers/google/datacatalog/entries/index.md index b4db5cbc61..0e49bc1331 100644 --- a/docs/google-docs/providers/google/datacatalog/entries/index.md +++ b/docs/google-docs/providers/google/datacatalog/entries/index.md @@ -1,3 +1,4 @@ + --- title: entries hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - entries - datacatalog - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an entry resource or lists entries in a region ## Overview @@ -47,7 +49,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Describes a Cloud Storage fileset entry. | | | `string` | Output only. Indicates the entry's source system that Data Catalog integrates with, such as BigQuery, Pub/Sub, or Dataproc Metastore. | | | `object` | Cloud labels attached to the entry. In Data Catalog, you can create and modify labels attached only to custom entries. Synced entries have unmodifiable labels that come from the source system. | -| | `string` | The resource this metadata entry refers to. For Google Cloud Platform resources, `linked_resource` is the [Full Resource Name] (https://cloud.google.com/apis/design/resource_names#full_resource_name). For example, the `linked_resource` for a table resource from BigQuery is: `//bigquery.googleapis.com/projects/{PROJECT_ID}/datasets/{DATASET_ID}/tables/{TABLE_ID}` Output only when the entry is one of the types in the `EntryType` enum. For entries with a `user_specified_type`, this field is optional and defaults to an empty string. The resource string must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), periods (.), colons (:), slashes (/), dashes (-), and hashes (#). The maximum size is 200 bytes when encoded in UTF-8. | +| | `string` | The resource this metadata entry refers to. For Google Cloud Platform resources, `linked_resource` is the [Full Resource Name] (https://cloud.google.com/apis/design/resource_names#full_resource_name). For example, the `linked_resource` for a table resource from BigQuery is: `//bigquery.googleapis.com/projects/{PROJECT_ID}/datasets/{DATASET_ID}/tables/{TABLE_ID}` Output only when the entry is one of the types in the `EntryType` enum. For entries with a `user_specified_type`, this field is optional and defaults to an empty string. The resource string must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), periods (.), colons (:), slashes (/), dashes (-), and hashes (#). The maximum size is 200 bytes when encoded in UTF-8. | | | `object` | Specification that applies to entries that are part `LOOKER` system (user_specified_type) | | | `object` | Specification that applies to a model. Valid only for entries with the `MODEL` type. | | | `object` | Entry metadata relevant only to the user and private to them. | @@ -60,6 +62,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | The set of all usage signals that Data Catalog stores. Note: Usually, these signals are updated daily. In rare cases, an update may fail but will be performed again on the next day. | | | `string` | Indicates the entry's source system that Data Catalog doesn't automatically integrate with. The `user_specified_system` string has the following limitations: * Is case insensitive. * Must begin with a letter or underscore. * Can only contain letters, numbers, and underscores. * Must be at least 1 character and at most 64 characters long. | | | `string` | Custom entry type that doesn't match any of the values allowed for input and listed in the `EntryType` enum. When creating an entry, first check the type values in the enum. If there are no appropriate types for the new entry, provide a custom value, for example, `my_special_type`. The `user_specified_type` string has the following limitations: * Is case insensitive. * Must begin with a letter or underscore. * Can only contain letters, numbers, and underscores. * Must be at least 1 character and at most 64 characters long. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -68,10 +71,265 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates an entry. You can create entries only with 'FILESET', 'CLUSTER', 'DATA_STREAM', or custom types. Data Catalog automatically creates entries with other types during metadata ingestion from integrated systems. You must enable the Data Catalog API in the project identified by the `parent` parameter. For more information, see [Data Catalog resource project](https://cloud.google.com/data-catalog/docs/concepts/resource-project). An entry group can have a maximum of 100,000 entries. | | | `DELETE` | | Deletes an existing entry. You can delete only the entries created by the CreateEntry method. You must enable the Data Catalog API in the project identified by the `name` parameter. For more information, see [Data Catalog resource project](https://cloud.google.com/data-catalog/docs/concepts/resource-project). | | | `UPDATE` | | Updates an existing entry. You must enable the Data Catalog API in the project identified by the `entry.name` parameter. For more information, see [Data Catalog resource project](https://cloud.google.com/data-catalog/docs/concepts/resource-project). | -| | `EXEC` | | Lists entries. Note: Currently, this method can list only custom entries. To get a list of both custom and automatically created entries, use SearchCatalog. | -| | `EXEC` | | Gets an entry by its target resource name. The resource name comes from the source Google Cloud Platform service. | +| | `EXEC` | | Gets an entry by its target resource name. The resource name comes from the source Google Cloud Platform service. | | | `EXEC` | | Imports entries from a source, such as data previously dumped into a Cloud Storage bucket, into Data Catalog. Import of entries is a sync operation that reconciles the state of the third-party system with the Data Catalog. `ImportEntries` accepts source data snapshots of a third-party system. Snapshot should be delivered as a .wire or base65-encoded .txt file containing a sequence of Protocol Buffer messages of DumpItem type. `ImportEntries` returns a long-running operation resource that can be queried with Operations.GetOperation to return ImportEntriesMetadata and an ImportEntriesResponse message. | | | `EXEC` | | Modifies contacts, part of the business context of an Entry. To call this method, you must have the `datacatalog.entries.updateContacts` IAM permission on the corresponding project. | | | `EXEC` | | Modifies entry overview, part of the business context of an Entry. To call this method, you must have the `datacatalog.entries.updateOverview` IAM permission on the corresponding project. | | | `EXEC` | | Marks an Entry as starred by the current user. Starring information is private to each user. | | | `EXEC` | | Marks an Entry as NOT starred by the current user. Starring information is private to each user. | + +## `SELECT` examples + +Lists entries. Note: Currently, this method can list only custom entries. To get a list of both custom and automatically created entries, use SearchCatalog. + +```sql +SELECT +name, +description, +bigqueryDateShardedSpec, +bigqueryTableSpec, +businessContext, +cloudBigtableSystemSpec, +dataSource, +dataSourceConnectionSpec, +databaseTableSpec, +datasetSpec, +displayName, +featureOnlineStoreSpec, +filesetSpec, +fullyQualifiedName, +gcsFilesetSpec, +integratedSystem, +labels, +linkedResource, +lookerSystemSpec, +modelSpec, +personalDetails, +routineSpec, +schema, +serviceSpec, +sourceSystemTimestamps, +sqlDatabaseSystemSpec, +type, +usageSignal, +userSpecifiedSystem, +userSpecifiedType +FROM google.datacatalog.entries +WHERE entryGroupsId = '{{ entryGroupsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new entries resource. + + + + +```sql +/*+ create */ +INSERT INTO google.datacatalog.entries ( +entryGroupsId, +locationsId, +projectsId, +name, +linkedResource, +fullyQualifiedName, +type, +userSpecifiedType, +integratedSystem, +userSpecifiedSystem, +sqlDatabaseSystemSpec, +lookerSystemSpec, +cloudBigtableSystemSpec, +gcsFilesetSpec, +bigqueryTableSpec, +bigqueryDateShardedSpec, +databaseTableSpec, +dataSourceConnectionSpec, +routineSpec, +datasetSpec, +filesetSpec, +serviceSpec, +modelSpec, +featureOnlineStoreSpec, +displayName, +description, +businessContext, +schema, +sourceSystemTimestamps, +usageSignal, +labels, +dataSource, +personalDetails +) +SELECT +'{{ entryGroupsId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ linkedResource }}', +'{{ fullyQualifiedName }}', +'{{ type }}', +'{{ userSpecifiedType }}', +'{{ integratedSystem }}', +'{{ userSpecifiedSystem }}', +'{{ sqlDatabaseSystemSpec }}', +'{{ lookerSystemSpec }}', +'{{ cloudBigtableSystemSpec }}', +'{{ gcsFilesetSpec }}', +'{{ bigqueryTableSpec }}', +'{{ bigqueryDateShardedSpec }}', +'{{ databaseTableSpec }}', +'{{ dataSourceConnectionSpec }}', +'{{ routineSpec }}', +'{{ datasetSpec }}', +'{{ filesetSpec }}', +'{{ serviceSpec }}', +'{{ modelSpec }}', +'{{ featureOnlineStoreSpec }}', +'{{ displayName }}', +'{{ description }}', +'{{ businessContext }}', +'{{ schema }}', +'{{ sourceSystemTimestamps }}', +'{{ usageSignal }}', +'{{ labels }}', +'{{ dataSource }}', +'{{ personalDetails }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: linkedResource + value: '{{ linkedResource }}' + - name: fullyQualifiedName + value: '{{ fullyQualifiedName }}' + - name: type + value: '{{ type }}' + - name: userSpecifiedType + value: '{{ userSpecifiedType }}' + - name: integratedSystem + value: '{{ integratedSystem }}' + - name: userSpecifiedSystem + value: '{{ userSpecifiedSystem }}' + - name: sqlDatabaseSystemSpec + value: '{{ sqlDatabaseSystemSpec }}' + - name: lookerSystemSpec + value: '{{ lookerSystemSpec }}' + - name: cloudBigtableSystemSpec + value: '{{ cloudBigtableSystemSpec }}' + - name: gcsFilesetSpec + value: '{{ gcsFilesetSpec }}' + - name: bigqueryTableSpec + value: '{{ bigqueryTableSpec }}' + - name: bigqueryDateShardedSpec + value: '{{ bigqueryDateShardedSpec }}' + - name: databaseTableSpec + value: '{{ databaseTableSpec }}' + - name: dataSourceConnectionSpec + value: '{{ dataSourceConnectionSpec }}' + - name: routineSpec + value: '{{ routineSpec }}' + - name: datasetSpec + value: '{{ datasetSpec }}' + - name: filesetSpec + value: '{{ filesetSpec }}' + - name: serviceSpec + value: '{{ serviceSpec }}' + - name: modelSpec + value: '{{ modelSpec }}' + - name: featureOnlineStoreSpec + value: '{{ featureOnlineStoreSpec }}' + - name: displayName + value: '{{ displayName }}' + - name: description + value: '{{ description }}' + - name: businessContext + value: '{{ businessContext }}' + - name: schema + value: '{{ schema }}' + - name: sourceSystemTimestamps + value: '{{ sourceSystemTimestamps }}' + - name: usageSignal + value: '{{ usageSignal }}' + - name: labels + value: '{{ labels }}' + - name: dataSource + value: '{{ dataSource }}' + - name: personalDetails + value: '{{ personalDetails }}' + +``` + + + +## `UPDATE` example + +Updates a entry only if the necessary resources are available. + +```sql +UPDATE google.datacatalog.entries +SET +name = '{{ name }}', +linkedResource = '{{ linkedResource }}', +fullyQualifiedName = '{{ fullyQualifiedName }}', +type = '{{ type }}', +userSpecifiedType = '{{ userSpecifiedType }}', +integratedSystem = '{{ integratedSystem }}', +userSpecifiedSystem = '{{ userSpecifiedSystem }}', +sqlDatabaseSystemSpec = '{{ sqlDatabaseSystemSpec }}', +lookerSystemSpec = '{{ lookerSystemSpec }}', +cloudBigtableSystemSpec = '{{ cloudBigtableSystemSpec }}', +gcsFilesetSpec = '{{ gcsFilesetSpec }}', +bigqueryTableSpec = '{{ bigqueryTableSpec }}', +bigqueryDateShardedSpec = '{{ bigqueryDateShardedSpec }}', +databaseTableSpec = '{{ databaseTableSpec }}', +dataSourceConnectionSpec = '{{ dataSourceConnectionSpec }}', +routineSpec = '{{ routineSpec }}', +datasetSpec = '{{ datasetSpec }}', +filesetSpec = '{{ filesetSpec }}', +serviceSpec = '{{ serviceSpec }}', +modelSpec = '{{ modelSpec }}', +featureOnlineStoreSpec = '{{ featureOnlineStoreSpec }}', +displayName = '{{ displayName }}', +description = '{{ description }}', +businessContext = '{{ businessContext }}', +schema = '{{ schema }}', +sourceSystemTimestamps = '{{ sourceSystemTimestamps }}', +usageSignal = '{{ usageSignal }}', +labels = '{{ labels }}', +dataSource = '{{ dataSource }}', +personalDetails = '{{ personalDetails }}' +WHERE +entriesId = '{{ entriesId }}' +AND entryGroupsId = '{{ entryGroupsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified entry resource. + +```sql +DELETE FROM google.datacatalog.entries +WHERE entriesId = '{{ entriesId }}' +AND entryGroupsId = '{{ entryGroupsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/datacatalog/entries_iam_policies/index.md b/docs/google-docs/providers/google/datacatalog/entries_iam_policies/index.md index 5ce782a0c5..d95a7d3d54 100644 --- a/docs/google-docs/providers/google/datacatalog/entries_iam_policies/index.md +++ b/docs/google-docs/providers/google/datacatalog/entries_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: entries_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - entries_iam_policies - datacatalog - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an entries_iam_policy resource or lists entries_iam_policies in a region ## Overview
@@ -30,12 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. May return: * A`NOT_FOUND` error if the resource doesn't exist or you don't have the permission to view it. * An empty policy if the resource exists but doesn't have a set policy. Supported resources are: - Tag templates - Entry groups Note: This method doesn't get policies from Google Cloud Platform resources ingested into Data Catalog. To call this method, you must have the following Google IAM permissions: - `datacatalog.tagTemplates.getIamPolicy` to get policies on tag templates. - `datacatalog.entryGroups.getIamPolicy` to get policies on entry groups. | -| | `EXEC` | | Gets the access control policy for a resource. May return: * A`NOT_FOUND` error if the resource doesn't exist or you don't have the permission to view it. * An empty policy if the resource exists but doesn't have a set policy. Supported resources are: - Tag templates - Entry groups Note: This method doesn't get policies from Google Cloud Platform resources ingested into Data Catalog. To call this method, you must have the following Google IAM permissions: - `datacatalog.tagTemplates.getIamPolicy` to get policies on tag templates. - `datacatalog.entryGroups.getIamPolicy` to get policies on entry groups. | | | `EXEC` | | Gets your permissions on a resource. Returns an empty set of permissions if the resource doesn't exist. Supported resources are: - Tag templates - Entry groups Note: This method gets policies only within Data Catalog and can't be used to get policies from BigQuery, Pub/Sub, Dataproc Metastore, and any external Google Cloud Platform resources ingested into Data Catalog. No Google IAM permissions are required to call this method. | + +## `SELECT` examples + +Gets the access control policy for a resource. May return: * A`NOT_FOUND` error if the resource doesn't exist or you don't have the permission to view it. * An empty policy if the resource exists but doesn't have a set policy. Supported resources are: - Tag templates - Entry groups Note: This method doesn't get policies from Google Cloud Platform resources ingested into Data Catalog. To call this method, you must have the following Google IAM permissions: - `datacatalog.tagTemplates.getIamPolicy` to get policies on tag templates. - `datacatalog.entryGroups.getIamPolicy` to get policies on entry groups. + +```sql +SELECT +condition, +members, +role +FROM google.datacatalog.entries_iam_policies +WHERE entriesId = '{{ entriesId }}' +AND entryGroupsId = '{{ entryGroupsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/datacatalog/entry_groups/index.md b/docs/google-docs/providers/google/datacatalog/entry_groups/index.md index 479e98de60..075e2abebc 100644 --- a/docs/google-docs/providers/google/datacatalog/entry_groups/index.md +++ b/docs/google-docs/providers/google/datacatalog/entry_groups/index.md @@ -1,3 +1,4 @@ + --- title: entry_groups hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - entry_groups - datacatalog - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an entry_group resource or lists entry_groups in a region ## Overview
@@ -34,12 +36,107 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Entry group description. Can consist of several sentences or paragraphs that describe the entry group contents. Default value is an empty string. | | | `object` | Timestamps associated with this resource in a particular system. | | | `string` | A short name to identify the entry group, for example, "analytics data - jan 2011". Default value is an empty string. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets an entry group. | | | `SELECT` | | Lists entry groups. | -| | `INSERT` | | Creates an entry group. An entry group contains logically related entries together with [Cloud Identity and Access Management](/data-catalog/docs/concepts/iam) policies. These policies specify users who can create, edit, and view entries within entry groups. Data Catalog automatically creates entry groups with names that start with the `@` symbol for the following resources: * BigQuery entries (`@bigquery`) * Pub/Sub topics (`@pubsub`) * Dataproc Metastore services (`@dataproc_metastore_{SERVICE_NAME_HASH}`) You can create your own entry groups for Cloud Storage fileset entries and custom entries together with the corresponding IAM policies. User-created entry groups can't contain the `@` symbol, it is reserved for automatically created groups. Entry groups, like entries, can be searched. A maximum of 10,000 entry groups may be created per organization across all locations. You must enable the Data Catalog API in the project identified by the `parent` parameter. For more information, see [Data Catalog resource project](https://cloud.google.com/data-catalog/docs/concepts/resource-project). | +| | `INSERT` | | Creates an entry group. An entry group contains logically related entries together with [Cloud Identity and Access Management](/data-catalog/docs/concepts/iam) policies. These policies specify users who can create, edit, and view entries within entry groups. Data Catalog automatically creates entry groups with names that start with the `@` symbol for the following resources: * BigQuery entries (`@bigquery`) * Pub/Sub topics (`@pubsub`) * Dataproc Metastore services (`@dataproc_metastore_{SERVICE_NAME_HASH}`) You can create your own entry groups for Cloud Storage fileset entries and custom entries together with the corresponding IAM policies. User-created entry groups can't contain the `@` symbol, it is reserved for automatically created groups. Entry groups, like entries, can be searched. A maximum of 10,000 entry groups may be created per organization across all locations. You must enable the Data Catalog API in the project identified by the `parent` parameter. For more information, see [Data Catalog resource project](https://cloud.google.com/data-catalog/docs/concepts/resource-project). | | | `DELETE` | | Deletes an entry group. You must enable the Data Catalog API in the project identified by the `name` parameter. For more information, see [Data Catalog resource project](https://cloud.google.com/data-catalog/docs/concepts/resource-project). | | | `UPDATE` | | Updates an entry group. You must enable the Data Catalog API in the project identified by the `entry_group.name` parameter. For more information, see [Data Catalog resource project](https://cloud.google.com/data-catalog/docs/concepts/resource-project). | -| | `EXEC` | | Lists entry groups. | + +## `SELECT` examples + +Lists entry groups. + +```sql +SELECT +name, +description, +dataCatalogTimestamps, +displayName +FROM google.datacatalog.entry_groups +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new entry_groups resource. + + + + +```sql +/*+ create */ +INSERT INTO google.datacatalog.entry_groups ( +locationsId, +projectsId, +name, +displayName, +description, +dataCatalogTimestamps +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ displayName }}', +'{{ description }}', +'{{ dataCatalogTimestamps }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: description + value: '{{ description }}' + - name: dataCatalogTimestamps + value: '{{ dataCatalogTimestamps }}' + +``` + + + +## `UPDATE` example + +Updates a entry_group only if the necessary resources are available. + +```sql +UPDATE google.datacatalog.entry_groups +SET +name = '{{ name }}', +displayName = '{{ displayName }}', +description = '{{ description }}', +dataCatalogTimestamps = '{{ dataCatalogTimestamps }}' +WHERE +entryGroupsId = '{{ entryGroupsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified entry_group resource. + +```sql +DELETE FROM google.datacatalog.entry_groups +WHERE entryGroupsId = '{{ entryGroupsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/datacatalog/entry_groups_iam_policies/index.md b/docs/google-docs/providers/google/datacatalog/entry_groups_iam_policies/index.md index da3245a4fb..03fde8e649 100644 --- a/docs/google-docs/providers/google/datacatalog/entry_groups_iam_policies/index.md +++ b/docs/google-docs/providers/google/datacatalog/entry_groups_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: entry_groups_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - entry_groups_iam_policies - datacatalog - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an entry_groups_iam_policy resource or lists entry_groups_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. May return: * A`NOT_FOUND` error if the resource doesn't exist or you don't have the permission to view it. * An empty policy if the resource exists but doesn't have a set policy. Supported resources are: - Tag templates - Entry groups Note: This method doesn't get policies from Google Cloud Platform resources ingested into Data Catalog. To call this method, you must have the following Google IAM permissions: - `datacatalog.tagTemplates.getIamPolicy` to get policies on tag templates. - `datacatalog.entryGroups.getIamPolicy` to get policies on entry groups. | -| | `EXEC` | | Gets the access control policy for a resource. May return: * A`NOT_FOUND` error if the resource doesn't exist or you don't have the permission to view it. * An empty policy if the resource exists but doesn't have a set policy. Supported resources are: - Tag templates - Entry groups Note: This method doesn't get policies from Google Cloud Platform resources ingested into Data Catalog. To call this method, you must have the following Google IAM permissions: - `datacatalog.tagTemplates.getIamPolicy` to get policies on tag templates. - `datacatalog.entryGroups.getIamPolicy` to get policies on entry groups. | | | `EXEC` | | Sets an access control policy for a resource. Replaces any existing policy. Supported resources are: - Tag templates - Entry groups Note: This method sets policies only within Data Catalog and can't be used to manage policies in BigQuery, Pub/Sub, Dataproc Metastore, and any external Google Cloud Platform resources synced with the Data Catalog. To call this method, you must have the following Google IAM permissions: - `datacatalog.tagTemplates.setIamPolicy` to set policies on tag templates. - `datacatalog.entryGroups.setIamPolicy` to set policies on entry groups. | | | `EXEC` | | Gets your permissions on a resource. Returns an empty set of permissions if the resource doesn't exist. Supported resources are: - Tag templates - Entry groups Note: This method gets policies only within Data Catalog and can't be used to get policies from BigQuery, Pub/Sub, Dataproc Metastore, and any external Google Cloud Platform resources ingested into Data Catalog. No Google IAM permissions are required to call this method. | + +## `SELECT` examples + +Gets the access control policy for a resource. May return: * A`NOT_FOUND` error if the resource doesn't exist or you don't have the permission to view it. * An empty policy if the resource exists but doesn't have a set policy. Supported resources are: - Tag templates - Entry groups Note: This method doesn't get policies from Google Cloud Platform resources ingested into Data Catalog. To call this method, you must have the following Google IAM permissions: - `datacatalog.tagTemplates.getIamPolicy` to get policies on tag templates. - `datacatalog.entryGroups.getIamPolicy` to get policies on entry groups. + +```sql +SELECT +condition, +members, +role +FROM google.datacatalog.entry_groups_iam_policies +WHERE entryGroupsId = '{{ entryGroupsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/datacatalog/enum_values/index.md b/docs/google-docs/providers/google/datacatalog/enum_values/index.md index 262127f2c1..f881d52c4e 100644 --- a/docs/google-docs/providers/google/datacatalog/enum_values/index.md +++ b/docs/google-docs/providers/google/datacatalog/enum_values/index.md @@ -1,3 +1,4 @@ + --- title: enum_values hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - enum_values - datacatalog - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an enum_value resource or lists enum_values in a region ## Overview
@@ -28,8 +30,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Renames an enum value in a tag template. Within a single enum field, enum values must be unique. | diff --git a/docs/google-docs/providers/google/datacatalog/fields/index.md b/docs/google-docs/providers/google/datacatalog/fields/index.md index 8c8ebb0b18..3efba6d783 100644 --- a/docs/google-docs/providers/google/datacatalog/fields/index.md +++ b/docs/google-docs/providers/google/datacatalog/fields/index.md @@ -1,3 +1,4 @@ + --- title: fields hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - fields - datacatalog - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an field resource or lists fields in a region ## Overview @@ -28,7 +30,9 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -36,3 +40,97 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `DELETE` | | Deletes a field in a tag template and all uses of this field from the tags based on this template. You must enable the Data Catalog API in the project identified by the `name` parameter. For more information, see [Data Catalog resource project](https://cloud.google.com/data-catalog/docs/concepts/resource-project). | | | `UPDATE` | | Updates a field in a tag template. You can't update the field type with this method. You must enable the Data Catalog API in the project identified by the `name` parameter. For more information, see [Data Catalog resource project](https://cloud.google.com/data-catalog/docs/concepts/resource-project). | | | `EXEC` | | Renames a field in a tag template. You must enable the Data Catalog API in the project identified by the `name` parameter. For more information, see [Data Catalog resource project] (https://cloud.google.com/data-catalog/docs/concepts/resource-project). | + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new fields resource. + + + + +```sql +/*+ create */ +INSERT INTO google.datacatalog.fields ( +locationsId, +projectsId, +tagTemplatesId, +name, +displayName, +type, +isRequired, +description, +order +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ tagTemplatesId }}', +'{{ name }}', +'{{ displayName }}', +'{{ type }}', +true|false, +'{{ description }}', +'{{ order }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: type + value: '{{ type }}' + - name: isRequired + value: '{{ isRequired }}' + - name: description + value: '{{ description }}' + - name: order + value: '{{ order }}' + +``` + + + +## `UPDATE` example + +Updates a field only if the necessary resources are available. + +```sql +UPDATE google.datacatalog.fields +SET +name = '{{ name }}', +displayName = '{{ displayName }}', +type = '{{ type }}', +isRequired = true|false, +description = '{{ description }}', +order = '{{ order }}' +WHERE +fieldsId = '{{ fieldsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND tagTemplatesId = '{{ tagTemplatesId }}'; +``` + +## `DELETE` example + +Deletes the specified field resource. + +```sql +DELETE FROM google.datacatalog.fields +WHERE fieldsId = '{{ fieldsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND tagTemplatesId = '{{ tagTemplatesId }}'; +``` diff --git a/docs/google-docs/providers/google/datacatalog/index.md b/docs/google-docs/providers/google/datacatalog/index.md index 32a3d1f244..f732b38082 100644 --- a/docs/google-docs/providers/google/datacatalog/index.md +++ b/docs/google-docs/providers/google/datacatalog/index.md @@ -9,34 +9,23 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -A fully managed and highly scalable data discovery and metadata management service. - +The datacatalog service documentation. + :::info Service Summary
total resources: 15
-total selectable resources: 12
-total methods: 78
::: -## Overview - - - - - - -
Namegoogle.datacatalog
TypeService
TitleGoogle Cloud Data Catalog API
DescriptionA fully managed and highly scalable data discovery and metadata management service.
Iddatacatalog:v24.06.00236
- ## Resources
@@ -47,7 +36,7 @@ A fully managed and highly scalable data discovery and metadata management servi entry_groups_iam_policies
enum_values
fields
-operations
+operations
policy_tags
@@ -56,6 +45,6 @@ A fully managed and highly scalable data discovery and metadata management servi tag_templates_iam_policies
tags
taxonomies
-taxonomies_iam_policies
-
+taxonomies_iam_policies
+ \ No newline at end of file diff --git a/docs/google-docs/providers/google/datacatalog/operations/index.md b/docs/google-docs/providers/google/datacatalog/operations/index.md index 0dd1538434..6e89e7014e 100644 --- a/docs/google-docs/providers/google/datacatalog/operations/index.md +++ b/docs/google-docs/providers/google/datacatalog/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - datacatalog - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview @@ -30,16 +32,43 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.datacatalog.operations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified operation resource. + +```sql +DELETE FROM google.datacatalog.operations +WHERE locationsId = '{{ locationsId }}' +AND operationsId = '{{ operationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/datacatalog/policy_tags/index.md b/docs/google-docs/providers/google/datacatalog/policy_tags/index.md index 0b93b9b8b2..fa56bdce5d 100644 --- a/docs/google-docs/providers/google/datacatalog/policy_tags/index.md +++ b/docs/google-docs/providers/google/datacatalog/policy_tags/index.md @@ -1,3 +1,4 @@ + --- title: policy_tags hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - policy_tags - datacatalog - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an policy_tag resource or lists policy_tags in a region ## Overview
@@ -35,6 +37,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `array` | Output only. Resource names of child policy tags of this policy tag. | | | `string` | Required. User-defined name of this policy tag. The name can't start or end with spaces and must be unique within the parent taxonomy, contain only Unicode letters, numbers, underscores, dashes and spaces, and be at most 200 bytes long when encoded in UTF-8. | | | `string` | Resource name of this policy tag's parent policy tag. If empty, this is a top level tag. If not set, defaults to an empty string. For example, for the "LatLong" policy tag in the example above, this field contains the resource name of the "Geolocation" policy tag, and, for "Geolocation", this field is empty. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -43,4 +46,109 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a policy tag in a taxonomy. | | | `DELETE` | | Deletes a policy tag together with the following: * All of its descendant policy tags, if any * Policies associated with the policy tag and its descendants * References from BigQuery table schema of the policy tag and its descendants | | | `UPDATE` | | Updates a policy tag, including its display name, description, and parent policy tag. | -| | `EXEC` | | Lists all policy tags in a taxonomy. | + +## `SELECT` examples + +Lists all policy tags in a taxonomy. + +```sql +SELECT +name, +description, +childPolicyTags, +displayName, +parentPolicyTag +FROM google.datacatalog.policy_tags +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND taxonomiesId = '{{ taxonomiesId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new policy_tags resource. + + + + +```sql +/*+ create */ +INSERT INTO google.datacatalog.policy_tags ( +locationsId, +projectsId, +taxonomiesId, +name, +displayName, +description, +parentPolicyTag, +childPolicyTags +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ taxonomiesId }}', +'{{ name }}', +'{{ displayName }}', +'{{ description }}', +'{{ parentPolicyTag }}', +'{{ childPolicyTags }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: description + value: '{{ description }}' + - name: parentPolicyTag + value: '{{ parentPolicyTag }}' + - name: childPolicyTags + value: '{{ childPolicyTags }}' + +``` + + + +## `UPDATE` example + +Updates a policy_tag only if the necessary resources are available. + +```sql +UPDATE google.datacatalog.policy_tags +SET +name = '{{ name }}', +displayName = '{{ displayName }}', +description = '{{ description }}', +parentPolicyTag = '{{ parentPolicyTag }}', +childPolicyTags = '{{ childPolicyTags }}' +WHERE +locationsId = '{{ locationsId }}' +AND policyTagsId = '{{ policyTagsId }}' +AND projectsId = '{{ projectsId }}' +AND taxonomiesId = '{{ taxonomiesId }}'; +``` + +## `DELETE` example + +Deletes the specified policy_tag resource. + +```sql +DELETE FROM google.datacatalog.policy_tags +WHERE locationsId = '{{ locationsId }}' +AND policyTagsId = '{{ policyTagsId }}' +AND projectsId = '{{ projectsId }}' +AND taxonomiesId = '{{ taxonomiesId }}'; +``` diff --git a/docs/google-docs/providers/google/datacatalog/policy_tags_iam_policies/index.md b/docs/google-docs/providers/google/datacatalog/policy_tags_iam_policies/index.md index 92a05324d1..fc4f9b92fd 100644 --- a/docs/google-docs/providers/google/datacatalog/policy_tags_iam_policies/index.md +++ b/docs/google-docs/providers/google/datacatalog/policy_tags_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: policy_tags_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - policy_tags_iam_policies - datacatalog - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an policy_tags_iam_policy resource or lists policy_tags_iam_policies in a region ## Overview
@@ -30,13 +32,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the IAM policy for a policy tag or a taxonomy. | -| | `EXEC` | | Gets the IAM policy for a policy tag or a taxonomy. | | | `EXEC` | | Sets the IAM policy for a policy tag or a taxonomy. | | | `EXEC` | | Returns your permissions on a specified policy tag or taxonomy. | + +## `SELECT` examples + +Gets the IAM policy for a policy tag or a taxonomy. + +```sql +SELECT +condition, +members, +role +FROM google.datacatalog.policy_tags_iam_policies +WHERE locationsId = '{{ locationsId }}' +AND policyTagsId = '{{ policyTagsId }}' +AND projectsId = '{{ projectsId }}' +AND taxonomiesId = '{{ taxonomiesId }}'; +``` diff --git a/docs/google-docs/providers/google/datacatalog/tag_templates/index.md b/docs/google-docs/providers/google/datacatalog/tag_templates/index.md index 18de0003bf..bb69ea0887 100644 --- a/docs/google-docs/providers/google/datacatalog/tag_templates/index.md +++ b/docs/google-docs/providers/google/datacatalog/tag_templates/index.md @@ -1,3 +1,4 @@ + --- title: tag_templates hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - tag_templates - datacatalog - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an tag_template resource or lists tag_templates in a region ## Overview
@@ -35,6 +37,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Display name for this template. Defaults to an empty string. The name must contain only Unicode letters, numbers (0-9), underscores (_), dashes (-), spaces ( ), and can't start or end with spaces. The maximum length is 200 characters. | | | `object` | Required. Map of tag template field IDs to the settings for the field. This map is an exhaustive list of the allowed fields. The map must contain at least one field and at most 500 fields. The keys to this map are tag template field IDs. The IDs have the following limitations: * Can contain uppercase and lowercase letters, numbers (0-9) and underscores (_). * Must be at least 1 character and at most 64 characters long. * Must start with a letter or underscore. | | | `boolean` | Indicates whether tags created with this template are public. Public tags do not require tag template access to appear in ListTags API response. Additionally, you can search for a public tag by value with a simple search query in addition to using a ``tag:`` predicate. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -42,3 +45,105 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a tag template. You must enable the Data Catalog API in the project identified by the `parent` parameter. For more information, see [Data Catalog resource project] (https://cloud.google.com/data-catalog/docs/concepts/resource-project). | | | `DELETE` | | Deletes a tag template and all tags that use it. You must enable the Data Catalog API in the project identified by the `name` parameter. For more information, see [Data Catalog resource project](https://cloud.google.com/data-catalog/docs/concepts/resource-project). | | | `UPDATE` | | Updates a tag template. You can't update template fields with this method. These fields are separate resources with their own create, update, and delete methods. You must enable the Data Catalog API in the project identified by the `tag_template.name` parameter. For more information, see [Data Catalog resource project](https://cloud.google.com/data-catalog/docs/concepts/resource-project). | + +## `SELECT` examples + +Gets a tag template. + +```sql +SELECT +name, +dataplexTransferStatus, +displayName, +fields, +isPubliclyReadable +FROM google.datacatalog.tag_templates +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND tagTemplatesId = '{{ tagTemplatesId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new tag_templates resource. + + + + +```sql +/*+ create */ +INSERT INTO google.datacatalog.tag_templates ( +locationsId, +projectsId, +name, +displayName, +isPubliclyReadable, +fields, +dataplexTransferStatus +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ displayName }}', +true|false, +'{{ fields }}', +'{{ dataplexTransferStatus }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: isPubliclyReadable + value: '{{ isPubliclyReadable }}' + - name: fields + value: '{{ fields }}' + - name: dataplexTransferStatus + value: '{{ dataplexTransferStatus }}' + +``` + + + +## `UPDATE` example + +Updates a tag_template only if the necessary resources are available. + +```sql +UPDATE google.datacatalog.tag_templates +SET +name = '{{ name }}', +displayName = '{{ displayName }}', +isPubliclyReadable = true|false, +fields = '{{ fields }}', +dataplexTransferStatus = '{{ dataplexTransferStatus }}' +WHERE +locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND tagTemplatesId = '{{ tagTemplatesId }}'; +``` + +## `DELETE` example + +Deletes the specified tag_template resource. + +```sql +DELETE FROM google.datacatalog.tag_templates +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND tagTemplatesId = '{{ tagTemplatesId }}'; +``` diff --git a/docs/google-docs/providers/google/datacatalog/tag_templates_iam_policies/index.md b/docs/google-docs/providers/google/datacatalog/tag_templates_iam_policies/index.md index b58b02004e..e089b64ff0 100644 --- a/docs/google-docs/providers/google/datacatalog/tag_templates_iam_policies/index.md +++ b/docs/google-docs/providers/google/datacatalog/tag_templates_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: tag_templates_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - tag_templates_iam_policies - datacatalog - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an tag_templates_iam_policy resource or lists tag_templates_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. May return: * A`NOT_FOUND` error if the resource doesn't exist or you don't have the permission to view it. * An empty policy if the resource exists but doesn't have a set policy. Supported resources are: - Tag templates - Entry groups Note: This method doesn't get policies from Google Cloud Platform resources ingested into Data Catalog. To call this method, you must have the following Google IAM permissions: - `datacatalog.tagTemplates.getIamPolicy` to get policies on tag templates. - `datacatalog.entryGroups.getIamPolicy` to get policies on entry groups. | -| | `EXEC` | | Gets the access control policy for a resource. May return: * A`NOT_FOUND` error if the resource doesn't exist or you don't have the permission to view it. * An empty policy if the resource exists but doesn't have a set policy. Supported resources are: - Tag templates - Entry groups Note: This method doesn't get policies from Google Cloud Platform resources ingested into Data Catalog. To call this method, you must have the following Google IAM permissions: - `datacatalog.tagTemplates.getIamPolicy` to get policies on tag templates. - `datacatalog.entryGroups.getIamPolicy` to get policies on entry groups. | | | `EXEC` | | Sets an access control policy for a resource. Replaces any existing policy. Supported resources are: - Tag templates - Entry groups Note: This method sets policies only within Data Catalog and can't be used to manage policies in BigQuery, Pub/Sub, Dataproc Metastore, and any external Google Cloud Platform resources synced with the Data Catalog. To call this method, you must have the following Google IAM permissions: - `datacatalog.tagTemplates.setIamPolicy` to set policies on tag templates. - `datacatalog.entryGroups.setIamPolicy` to set policies on entry groups. | | | `EXEC` | | Gets your permissions on a resource. Returns an empty set of permissions if the resource doesn't exist. Supported resources are: - Tag templates - Entry groups Note: This method gets policies only within Data Catalog and can't be used to get policies from BigQuery, Pub/Sub, Dataproc Metastore, and any external Google Cloud Platform resources ingested into Data Catalog. No Google IAM permissions are required to call this method. | + +## `SELECT` examples + +Gets the access control policy for a resource. May return: * A`NOT_FOUND` error if the resource doesn't exist or you don't have the permission to view it. * An empty policy if the resource exists but doesn't have a set policy. Supported resources are: - Tag templates - Entry groups Note: This method doesn't get policies from Google Cloud Platform resources ingested into Data Catalog. To call this method, you must have the following Google IAM permissions: - `datacatalog.tagTemplates.getIamPolicy` to get policies on tag templates. - `datacatalog.entryGroups.getIamPolicy` to get policies on entry groups. + +```sql +SELECT +condition, +members, +role +FROM google.datacatalog.tag_templates_iam_policies +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND tagTemplatesId = '{{ tagTemplatesId }}'; +``` diff --git a/docs/google-docs/providers/google/datacatalog/tags/index.md b/docs/google-docs/providers/google/datacatalog/tags/index.md index 1a5eb3470b..82a5f9b77d 100644 --- a/docs/google-docs/providers/google/datacatalog/tags/index.md +++ b/docs/google-docs/providers/google/datacatalog/tags/index.md @@ -1,3 +1,4 @@ + --- title: tags hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - tags - datacatalog - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an tag resource or lists tags in a region ## Overview
@@ -33,8 +35,9 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Identifier. The resource name of the tag in URL format where tag ID is a system-generated identifier. Note: The tag itself might not be stored in the location specified in its name. | | | `string` | Resources like entry can have schemas associated with them. This scope allows you to attach tags to an individual column based on that schema. To attach a tag to a nested column, separate column names with a dot (`.`). Example: `column.nested_column`. | | | `object` | Required. Maps the ID of a tag field to its value and additional information about that field. Tag template defines valid field IDs. A tag must have at least 1 field and at most 500 fields. | -| | `string` | Required. The resource name of the tag template this tag uses. Example: `projects/{PROJECT_ID}/locations/{LOCATION}/tagTemplates/{TAG_TEMPLATE_ID}` This field cannot be modified after creation. | +| | `string` | Required. The resource name of the tag template this tag uses. Example: `projects/{PROJECT_ID}/locations/{LOCATION}/tagTemplates/{TAG_TEMPLATE_ID}` This field cannot be modified after creation. | | | `string` | Output only. The display name of the tag template. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -46,6 +49,110 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `DELETE` | | Deletes a tag. | | | `UPDATE` | | Updates an existing tag. | | | `UPDATE` | | Updates an existing tag. | -| | `EXEC` | | Lists tags assigned to an Entry. The columns in the response are lowercased. | -| | `EXEC` | | Lists tags assigned to an Entry. The columns in the response are lowercased. | | | `EXEC` | | `ReconcileTags` creates or updates a list of tags on the entry. If the ReconcileTagsRequest.force_delete_missing parameter is set, the operation deletes tags not included in the input tag list. `ReconcileTags` returns a long-running operation resource that can be queried with Operations.GetOperation to return ReconcileTagsMetadata and a ReconcileTagsResponse message. | + +## `SELECT` examples + +Lists tags assigned to an Entry. The columns in the response are lowercased. + +```sql +SELECT +name, +column, +fields, +template, +templateDisplayName +FROM google.datacatalog.tags +WHERE entryGroupsId = '{{ entryGroupsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new tags resource. + + + + +```sql +/*+ create */ +INSERT INTO google.datacatalog.tags ( +entryGroupsId, +locationsId, +projectsId, +name, +template, +templateDisplayName, +column, +fields +) +SELECT +'{{ entryGroupsId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ template }}', +'{{ templateDisplayName }}', +'{{ column }}', +'{{ fields }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: template + value: '{{ template }}' + - name: templateDisplayName + value: '{{ templateDisplayName }}' + - name: column + value: '{{ column }}' + - name: fields + value: '{{ fields }}' + +``` + + + +## `UPDATE` example + +Updates a tag only if the necessary resources are available. + +```sql +UPDATE google.datacatalog.tags +SET +name = '{{ name }}', +template = '{{ template }}', +templateDisplayName = '{{ templateDisplayName }}', +column = '{{ column }}', +fields = '{{ fields }}' +WHERE +entryGroupsId = '{{ entryGroupsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND tagsId = '{{ tagsId }}'; +``` + +## `DELETE` example + +Deletes the specified tag resource. + +```sql +DELETE FROM google.datacatalog.tags +WHERE entryGroupsId = '{{ entryGroupsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND tagsId = '{{ tagsId }}'; +``` diff --git a/docs/google-docs/providers/google/datacatalog/taxonomies/index.md b/docs/google-docs/providers/google/datacatalog/taxonomies/index.md index 14015d3ab5..752827f575 100644 --- a/docs/google-docs/providers/google/datacatalog/taxonomies/index.md +++ b/docs/google-docs/providers/google/datacatalog/taxonomies/index.md @@ -1,3 +1,4 @@ + --- title: taxonomies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - taxonomies - datacatalog - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an taxonomy resource or lists taxonomies in a region ## Overview
@@ -37,6 +39,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `integer` | Output only. Number of policy tags in this taxonomy. | | | `object` | The source system of the Taxonomy. | | | `object` | Timestamps associated with this resource in a particular system. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -45,7 +48,119 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a taxonomy in a specified project. The taxonomy is initially empty, that is, it doesn't contain policy tags. | | | `DELETE` | | Deletes a taxonomy, including all policy tags in this taxonomy, their associated policies, and the policy tags references from BigQuery columns. | | | `UPDATE` | | Updates a taxonomy, including its display name, description, and activated policy types. | -| | `EXEC` | | Lists all taxonomies in a project in a particular location that you have a permission to view. | | | `EXEC` | | Exports taxonomies in the requested type and returns them, including their policy tags. The requested taxonomies must belong to the same project. This method generates `SerializedTaxonomy` protocol buffers with nested policy tags that can be used as input for `ImportTaxonomies` calls. | | | `EXEC` | | Creates new taxonomies (including their policy tags) in a given project by importing from inlined or cross-regional sources. For a cross-regional source, new taxonomies are created by copying from a source in another region. For an inlined source, taxonomies and policy tags are created in bulk using nested protocol buffer structures. | | | `EXEC` | | Replaces (updates) a taxonomy and all its policy tags. The taxonomy and its entire hierarchy of policy tags must be represented literally by `SerializedTaxonomy` and the nested `SerializedPolicyTag` messages. This operation automatically does the following: - Deletes the existing policy tags that are missing from the `SerializedPolicyTag`. - Creates policy tags that don't have resource names. They are considered new. - Updates policy tags with valid resources names accordingly. | + +## `SELECT` examples + +Lists all taxonomies in a project in a particular location that you have a permission to view. + +```sql +SELECT +name, +description, +activatedPolicyTypes, +displayName, +policyTagCount, +service, +taxonomyTimestamps +FROM google.datacatalog.taxonomies +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new taxonomies resource. + + + + +```sql +/*+ create */ +INSERT INTO google.datacatalog.taxonomies ( +locationsId, +projectsId, +name, +displayName, +description, +policyTagCount, +taxonomyTimestamps, +activatedPolicyTypes, +service +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ displayName }}', +'{{ description }}', +'{{ policyTagCount }}', +'{{ taxonomyTimestamps }}', +'{{ activatedPolicyTypes }}', +'{{ service }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: description + value: '{{ description }}' + - name: policyTagCount + value: '{{ policyTagCount }}' + - name: taxonomyTimestamps + value: '{{ taxonomyTimestamps }}' + - name: activatedPolicyTypes + value: '{{ activatedPolicyTypes }}' + - name: service + value: '{{ service }}' + +``` + + + +## `UPDATE` example + +Updates a taxonomy only if the necessary resources are available. + +```sql +UPDATE google.datacatalog.taxonomies +SET +name = '{{ name }}', +displayName = '{{ displayName }}', +description = '{{ description }}', +policyTagCount = '{{ policyTagCount }}', +taxonomyTimestamps = '{{ taxonomyTimestamps }}', +activatedPolicyTypes = '{{ activatedPolicyTypes }}', +service = '{{ service }}' +WHERE +locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND taxonomiesId = '{{ taxonomiesId }}'; +``` + +## `DELETE` example + +Deletes the specified taxonomy resource. + +```sql +DELETE FROM google.datacatalog.taxonomies +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND taxonomiesId = '{{ taxonomiesId }}'; +``` diff --git a/docs/google-docs/providers/google/datacatalog/taxonomies_iam_policies/index.md b/docs/google-docs/providers/google/datacatalog/taxonomies_iam_policies/index.md index aac37b9a73..2fe0f581ea 100644 --- a/docs/google-docs/providers/google/datacatalog/taxonomies_iam_policies/index.md +++ b/docs/google-docs/providers/google/datacatalog/taxonomies_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: taxonomies_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - taxonomies_iam_policies - datacatalog - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an taxonomies_iam_policy resource or lists taxonomies_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the IAM policy for a policy tag or a taxonomy. | -| | `EXEC` | | Gets the IAM policy for a policy tag or a taxonomy. | | | `EXEC` | | Sets the IAM policy for a policy tag or a taxonomy. | | | `EXEC` | | Returns your permissions on a specified policy tag or taxonomy. | + +## `SELECT` examples + +Gets the IAM policy for a policy tag or a taxonomy. + +```sql +SELECT +condition, +members, +role +FROM google.datacatalog.taxonomies_iam_policies +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND taxonomiesId = '{{ taxonomiesId }}'; +``` diff --git a/docs/google-docs/providers/google/dataflow/debug/index.md b/docs/google-docs/providers/google/dataflow/debug/index.md index 2c708f4808..46863da27e 100644 --- a/docs/google-docs/providers/google/dataflow/debug/index.md +++ b/docs/google-docs/providers/google/dataflow/debug/index.md @@ -1,3 +1,4 @@ + --- title: debug hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - debug - dataflow - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an debug resource or lists debug in a region ## Overview
@@ -28,9 +30,11 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Send encoded debug capture data for component. | +| | `EXEC` | | Send encoded debug capture data for component. | diff --git a/docs/google-docs/providers/google/dataflow/debug_config/index.md b/docs/google-docs/providers/google/dataflow/debug_config/index.md index b86f165177..0f599b4c5f 100644 --- a/docs/google-docs/providers/google/dataflow/debug_config/index.md +++ b/docs/google-docs/providers/google/dataflow/debug_config/index.md @@ -1,3 +1,4 @@ + --- title: debug_config hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - debug_config - dataflow - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an debug_config resource or lists debug_config in a region ## Overview @@ -28,9 +30,24 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | The encoded debug configuration for the requested component. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Get encoded debug configuration for component. Not cacheable. | +| | `SELECT` | | Get encoded debug configuration for component. Not cacheable. | + +## `SELECT` examples + +Get encoded debug configuration for component. Not cacheable. + +```sql +SELECT +config +FROM google.dataflow.debug_config +WHERE jobId = '{{ jobId }}' +AND projectId = '{{ projectId }}'; +``` diff --git a/docs/google-docs/providers/google/dataflow/flex_templates/index.md b/docs/google-docs/providers/google/dataflow/flex_templates/index.md index 89bbad8d00..52ce1b8644 100644 --- a/docs/google-docs/providers/google/dataflow/flex_templates/index.md +++ b/docs/google-docs/providers/google/dataflow/flex_templates/index.md @@ -1,3 +1,4 @@ + --- title: flex_templates hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - flex_templates - dataflow - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an flex_template resource or lists flex_templates in a region ## Overview @@ -28,8 +30,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Launch a job with a FlexTemplate. | diff --git a/docs/google-docs/providers/google/dataflow/index.md b/docs/google-docs/providers/google/dataflow/index.md index d53b47fa6b..45aa88c353 100644 --- a/docs/google-docs/providers/google/dataflow/index.md +++ b/docs/google-docs/providers/google/dataflow/index.md @@ -9,34 +9,23 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Manages Google Cloud Dataflow projects on Google Cloud Platform. - +The dataflow service documentation. + :::info Service Summary
total resources: 13
-total selectable resources: 7
-total methods: 47
::: -## Overview - - - - - - -
Namegoogle.dataflow
TypeService
TitleDataflow API
DescriptionManages Google Cloud Dataflow projects on Google Cloud Platform.
Iddataflow:v24.06.00236
- ## Resources
@@ -46,7 +35,7 @@ Manages Google Cloud Dataflow projects on Google Cloud Platform. jobs
jobs_execution_details
jobs_metrics
-locations
+locations
messages
@@ -54,6 +43,6 @@ Manages Google Cloud Dataflow projects on Google Cloud Platform. snapshots
stages_execution_details
templates
-work_items
-
+work_items
+ \ No newline at end of file diff --git a/docs/google-docs/providers/google/dataflow/jobs/index.md b/docs/google-docs/providers/google/dataflow/jobs/index.md index d3da025aa5..22ab5b2c80 100644 --- a/docs/google-docs/providers/google/dataflow/jobs/index.md +++ b/docs/google-docs/providers/google/dataflow/jobs/index.md @@ -1,3 +1,4 @@ + --- title: jobs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - jobs - dataflow - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an job resource or lists jobs in a region ## Overview @@ -31,7 +33,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | Name | Datatype | Description | |:-----|:---------|:------------| | | `string` | The unique ID of this job. This field is set by the Dataflow service when the job is created, and is immutable for the life of the job. | -| | `string` | Optional. The user-specified Dataflow job name. Only one active job with a given name can exist in a project within one region at any given time. Jobs in different regions can have the same name. If a caller attempts to create a job with the same name as an active job that already exists, the attempt returns the existing job. The name must match the regular expression `[a-z]([-a-z0-9]{0,1022}[a-z0-9])?` | +| | `string` | Optional. The user-specified Dataflow job name. Only one active job with a given name can exist in a project within one region at any given time. Jobs in different regions can have the same name. If a caller attempts to create a job with the same name as an active job that already exists, the attempt returns the existing job. The name must match the regular expression `[a-z]([-a-z0-9]{0,1022}[a-z0-9])?` | | | `string` | The client's unique identifier of the job, re-used across retried attempts. If this field is set, the service will ensure its uniqueness. The request to create a job will fail if the service has knowledge of a previously submitted job with the same client's ID and job name. The caller may use this field to ensure idempotence of job creation across retried attempts to create a job. By default, the field is empty and, in that case, the service ignores it. | | | `string` | The timestamp when the job was initially created. Immutable and set by the Cloud Dataflow service. | | | `string` | If this is specified, the job's initial state is populated from the given snapshot. | @@ -40,8 +42,8 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Describes the environment in which a Dataflow Job runs. | | | `object` | Additional information about how a Cloud Dataflow job will be executed that isn't contained in the submitted job. | | | `object` | Metadata available primarily for filtering jobs. Will be included in the ListJob response and Job SUMMARY view. | -| | `object` | User-defined labels for this job. The labels map can contain no more than 64 entries. Entries of the labels map are UTF8 strings that comply with the following restrictions: * Keys must conform to regexp: \p{Ll}\p{Lo}{0,62} * Values must conform to regexp: [\p{Ll}\p{Lo}\p{N}_-]{0,63} * Both keys and values are additionally constrained to be <= 128 bytes in size. | -| | `string` | The [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that contains this job. | +| | `object` | User-defined labels for this job. The labels map can contain no more than 64 entries. Entries of the labels map are UTF8 strings that comply with the following restrictions: * Keys must conform to regexp: \p{Ll}\p{Lo}{0,62} * Values must conform to regexp: [\p{Ll}\p{Lo}\p{N}_-]{0,63} * Both keys and values are additionally constrained to be <= 128 bytes in size. | +| | `string` | Optional. The [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that contains this job. | | | `object` | A descriptive representation of submitted pipeline as well as the executed form. This data is provided by the Dataflow service for ease of visualizing the pipeline and interpreting Dataflow provided metrics. | | | `string` | The ID of the Google Cloud project that the job belongs to. | | | `string` | If this job is an update of an existing job, this field is the job ID of the job it replaced. When sending a `CreateJobRequest`, you can update a job by specifying it here. The job named here is stopped, and its intermediate state is transferred to this job. | @@ -50,13 +52,15 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Additional job parameters that can only be updated during runtime using the projects.jobs.update method. These fields have no effect when specified during job creation. | | | `boolean` | Output only. Reserved for future use. This field is set only in responses from the server; it is ignored if it is set in any requests. | | | `boolean` | Reserved for future use. This field is set only in responses from the server; it is ignored if it is set in any requests. | +| | `object` | Resources used by the Dataflow Service to run the job. | | | `array` | This field may be mutated by the Cloud Dataflow service; callers cannot mutate it. | | | `string` | The timestamp when the job was started (transitioned to JOB_STATE_PENDING). Flexible resource scheduling jobs are started with some delay after job creation, so start_time is unset before start and is updated when the job is started by the Cloud Dataflow service. For other jobs, start_time always equals to create_time and is immutable and set by the Cloud Dataflow service. | | | `array` | Exactly one of step or steps_location should be specified. The top-level steps that constitute the entire job. Only retrieved with JOB_VIEW_ALL. | | | `string` | The Cloud Storage location where the steps are stored. | -| | `array` | A set of files the system should be aware of that are used for temporary storage. These temporary files will be removed on job completion. No duplicates are allowed. No file patterns are supported. The supported files are: Google Cloud Storage: storage.googleapis.com/{bucket}/{object} bucket.storage.googleapis.com/{object} | -| | `object` | The map of transform name prefixes of the job to be replaced to the corresponding name prefixes of the new job. | +| | `array` | A set of files the system should be aware of that are used for temporary storage. These temporary files will be removed on job completion. No duplicates are allowed. No file patterns are supported. The supported files are: Google Cloud Storage: storage.googleapis.com/{bucket}/{object} bucket.storage.googleapis.com/{object} | +| | `object` | Optional. The map of transform name prefixes of the job to be replaced to the corresponding name prefixes of the new job. | | | `string` | Optional. The type of Dataflow job. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -66,10 +70,192 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | List the jobs of a project. To list the jobs of a project in a region, we recommend using `projects.locations.jobs.list` with a [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). To list the all jobs across all regions, use `projects.jobs.aggregated`. Using `projects.jobs.list` is not recommended, because you can only get the list of jobs that are running in `us-central1`. `projects.locations.jobs.list` and `projects.jobs.list` support filtering the list of jobs by name. Filtering by name isn't supported by `projects.jobs.aggregated`. | | | `INSERT` | | Creates a Cloud Dataflow job. To create a job, we recommend using `projects.locations.jobs.create` with a [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using `projects.jobs.create` is not recommended, as your job will always start in `us-central1`. Do not enter confidential information when you supply string values using the API. | | | `INSERT` | | Creates a Cloud Dataflow job. To create a job, we recommend using `projects.locations.jobs.create` with a [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using `projects.jobs.create` is not recommended, as your job will always start in `us-central1`. Do not enter confidential information when you supply string values using the API. | -| | `UPDATE` | | Updates the state of an existing Cloud Dataflow job. To update the state of an existing job, we recommend using `projects.locations.jobs.update` with a [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using `projects.jobs.update` is not recommended, as you can only update the state of jobs that are running in `us-central1`. | -| | `UPDATE` | | Updates the state of an existing Cloud Dataflow job. To update the state of an existing job, we recommend using `projects.locations.jobs.update` with a [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using `projects.jobs.update` is not recommended, as you can only update the state of jobs that are running in `us-central1`. | -| | `EXEC` | | List the jobs of a project. To list the jobs of a project in a region, we recommend using `projects.locations.jobs.list` with a [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). To list the all jobs across all regions, use `projects.jobs.aggregated`. Using `projects.jobs.list` is not recommended, because you can only get the list of jobs that are running in `us-central1`. `projects.locations.jobs.list` and `projects.jobs.list` support filtering the list of jobs by name. Filtering by name isn't supported by `projects.jobs.aggregated`. | -| | `EXEC` | | List the jobs of a project. To list the jobs of a project in a region, we recommend using `projects.locations.jobs.list` with a [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). To list the all jobs across all regions, use `projects.jobs.aggregated`. Using `projects.jobs.list` is not recommended, because you can only get the list of jobs that are running in `us-central1`. `projects.locations.jobs.list` and `projects.jobs.list` support filtering the list of jobs by name. Filtering by name isn't supported by `projects.jobs.aggregated`. | | | `EXEC` | | List the jobs of a project across all regions. **Note:** This method doesn't support filtering the list of jobs by name. | | | `EXEC` | | Snapshot the state of a streaming job. | +| | `EXEC` | | Updates the state of an existing Cloud Dataflow job. To update the state of an existing job, we recommend using `projects.locations.jobs.update` with a [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using `projects.jobs.update` is not recommended, as you can only update the state of jobs that are running in `us-central1`. | | | `EXEC` | | Snapshot the state of a streaming job. | +| | `EXEC` | | Updates the state of an existing Cloud Dataflow job. To update the state of an existing job, we recommend using `projects.locations.jobs.update` with a [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using `projects.jobs.update` is not recommended, as you can only update the state of jobs that are running in `us-central1`. | + +## `SELECT` examples + +List the jobs of a project. To list the jobs of a project in a region, we recommend using `projects.locations.jobs.list` with a [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). To list the all jobs across all regions, use `projects.jobs.aggregated`. Using `projects.jobs.list` is not recommended, because you can only get the list of jobs that are running in `us-central1`. `projects.locations.jobs.list` and `projects.jobs.list` support filtering the list of jobs by name. Filtering by name isn't supported by `projects.jobs.aggregated`. + +```sql +SELECT +id, +name, +clientRequestId, +createTime, +createdFromSnapshotId, +currentState, +currentStateTime, +environment, +executionInfo, +jobMetadata, +labels, +location, +pipelineDescription, +projectId, +replaceJobId, +replacedByJobId, +requestedState, +runtimeUpdatableParams, +satisfiesPzi, +satisfiesPzs, +serviceResources, +stageStates, +startTime, +steps, +stepsLocation, +tempFiles, +transformNameMapping, +type +FROM google.dataflow.jobs +WHERE projectId = '{{ projectId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new jobs resource. + + + + +```sql +/*+ create */ +INSERT INTO google.dataflow.jobs ( +projectId, +id, +projectId, +name, +type, +environment, +steps, +stepsLocation, +currentState, +currentStateTime, +requestedState, +executionInfo, +createTime, +replaceJobId, +transformNameMapping, +clientRequestId, +replacedByJobId, +tempFiles, +labels, +location, +pipelineDescription, +stageStates, +jobMetadata, +startTime, +createdFromSnapshotId, +satisfiesPzs, +runtimeUpdatableParams, +satisfiesPzi, +serviceResources +) +SELECT +'{{ projectId }}', +'{{ id }}', +'{{ projectId }}', +'{{ name }}', +'{{ type }}', +'{{ environment }}', +'{{ steps }}', +'{{ stepsLocation }}', +'{{ currentState }}', +'{{ currentStateTime }}', +'{{ requestedState }}', +'{{ executionInfo }}', +'{{ createTime }}', +'{{ replaceJobId }}', +'{{ transformNameMapping }}', +'{{ clientRequestId }}', +'{{ replacedByJobId }}', +'{{ tempFiles }}', +'{{ labels }}', +'{{ location }}', +'{{ pipelineDescription }}', +'{{ stageStates }}', +'{{ jobMetadata }}', +'{{ startTime }}', +'{{ createdFromSnapshotId }}', +true|false, +'{{ runtimeUpdatableParams }}', +true|false, +'{{ serviceResources }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: id + value: '{{ id }}' + - name: projectId + value: '{{ projectId }}' + - name: name + value: '{{ name }}' + - name: type + value: '{{ type }}' + - name: environment + value: '{{ environment }}' + - name: steps + value: '{{ steps }}' + - name: stepsLocation + value: '{{ stepsLocation }}' + - name: currentState + value: '{{ currentState }}' + - name: currentStateTime + value: '{{ currentStateTime }}' + - name: requestedState + value: '{{ requestedState }}' + - name: executionInfo + value: '{{ executionInfo }}' + - name: createTime + value: '{{ createTime }}' + - name: replaceJobId + value: '{{ replaceJobId }}' + - name: transformNameMapping + value: '{{ transformNameMapping }}' + - name: clientRequestId + value: '{{ clientRequestId }}' + - name: replacedByJobId + value: '{{ replacedByJobId }}' + - name: tempFiles + value: '{{ tempFiles }}' + - name: labels + value: '{{ labels }}' + - name: location + value: '{{ location }}' + - name: pipelineDescription + value: '{{ pipelineDescription }}' + - name: stageStates + value: '{{ stageStates }}' + - name: jobMetadata + value: '{{ jobMetadata }}' + - name: startTime + value: '{{ startTime }}' + - name: createdFromSnapshotId + value: '{{ createdFromSnapshotId }}' + - name: satisfiesPzs + value: '{{ satisfiesPzs }}' + - name: runtimeUpdatableParams + value: '{{ runtimeUpdatableParams }}' + - name: satisfiesPzi + value: '{{ satisfiesPzi }}' + - name: serviceResources + value: '{{ serviceResources }}' + +``` + + diff --git a/docs/google-docs/providers/google/dataflow/jobs_execution_details/index.md b/docs/google-docs/providers/google/dataflow/jobs_execution_details/index.md index 9d04db7abe..6e53741ebb 100644 --- a/docs/google-docs/providers/google/dataflow/jobs_execution_details/index.md +++ b/docs/google-docs/providers/google/dataflow/jobs_execution_details/index.md @@ -1,3 +1,4 @@ + --- title: jobs_execution_details hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - jobs_execution_details - dataflow - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an jobs_execution_detail resource or lists jobs_execution_details in a region ## Overview
@@ -37,8 +39,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Start time of this stage. | | | `string` | State of this stage. | | | `object` | Summarized straggler identification details. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Request detailed information about the execution status of the job. EXPERIMENTAL. This API is subject to change or removal without notice. | + +## `SELECT` examples + +Request detailed information about the execution status of the job. EXPERIMENTAL. This API is subject to change or removal without notice. + +```sql +SELECT +endTime, +metrics, +progress, +stageId, +startTime, +state, +stragglerSummary +FROM google.dataflow.jobs_execution_details +WHERE jobId = '{{ jobId }}' +AND location = '{{ location }}' +AND projectId = '{{ projectId }}'; +``` diff --git a/docs/google-docs/providers/google/dataflow/jobs_metrics/index.md b/docs/google-docs/providers/google/dataflow/jobs_metrics/index.md index 99aae9f671..8ed9aae7ba 100644 --- a/docs/google-docs/providers/google/dataflow/jobs_metrics/index.md +++ b/docs/google-docs/providers/google/dataflow/jobs_metrics/index.md @@ -1,3 +1,4 @@ + --- title: jobs_metrics hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - jobs_metrics - dataflow - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an jobs_metric resource or lists jobs_metrics in a region ## Overview
@@ -32,8 +34,22 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Timestamp as of which metric values are current. | | | `array` | All metrics for this job. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Request the job status. To request the status of a job, we recommend using `projects.locations.jobs.getMetrics` with a [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using `projects.jobs.getMetrics` is not recommended, as you can only request the status of jobs that are running in `us-central1`. | +| | `SELECT` | | Request the job status. To request the status of a job, we recommend using `projects.locations.jobs.getMetrics` with a [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using `projects.jobs.getMetrics` is not recommended, as you can only request the status of jobs that are running in `us-central1`. | + +## `SELECT` examples + +Request the job status. To request the status of a job, we recommend using `projects.locations.jobs.getMetrics` with a [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using `projects.jobs.getMetrics` is not recommended, as you can only request the status of jobs that are running in `us-central1`. + +```sql +SELECT +metricTime, +metrics +FROM google.dataflow.jobs_metrics +WHERE jobId = '{{ jobId }}' +AND projectId = '{{ projectId }}'; +``` diff --git a/docs/google-docs/providers/google/dataflow/locations/index.md b/docs/google-docs/providers/google/dataflow/locations/index.md index f8192e73fc..591c80cdb8 100644 --- a/docs/google-docs/providers/google/dataflow/locations/index.md +++ b/docs/google-docs/providers/google/dataflow/locations/index.md @@ -1,3 +1,4 @@ + --- title: locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - locations - dataflow - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an location resource or lists locations in a region ## Overview
@@ -28,8 +30,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Send a worker_message to the service. | diff --git a/docs/google-docs/providers/google/dataflow/messages/index.md b/docs/google-docs/providers/google/dataflow/messages/index.md index 0bebd23d0c..e662f4e443 100644 --- a/docs/google-docs/providers/google/dataflow/messages/index.md +++ b/docs/google-docs/providers/google/dataflow/messages/index.md @@ -1,3 +1,4 @@ + --- title: messages hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - messages - dataflow - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an message resource or lists messages in a region ## Overview @@ -34,10 +36,24 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Importance level of the message. | | | `string` | The text of the message. | | | `string` | The timestamp of the message. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `SELECT` | | -| | `EXEC` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Request the job status. To request the status of a job, we recommend using `projects.locations.jobs.messages.list` with a [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using `projects.jobs.messages.list` is not recommended, as you can only request the status of jobs that are running in `us-central1`. | +| | `SELECT` | | Request the job status. To request the status of a job, we recommend using `projects.locations.jobs.messages.list` with a [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using `projects.jobs.messages.list` is not recommended, as you can only request the status of jobs that are running in `us-central1`. | + +## `SELECT` examples + +Request the job status. To request the status of a job, we recommend using `projects.locations.jobs.messages.list` with a [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using `projects.jobs.messages.list` is not recommended, as you can only request the status of jobs that are running in `us-central1`. + +```sql +SELECT +id, +messageImportance, +messageText, +time +FROM google.dataflow.messages +WHERE jobId = '{{ jobId }}' +AND projectId = '{{ projectId }}'; +``` diff --git a/docs/google-docs/providers/google/dataflow/projects/index.md b/docs/google-docs/providers/google/dataflow/projects/index.md index f882288830..0d96998e3b 100644 --- a/docs/google-docs/providers/google/dataflow/projects/index.md +++ b/docs/google-docs/providers/google/dataflow/projects/index.md @@ -1,3 +1,4 @@ + --- title: projects hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - projects - dataflow - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an project resource or lists projects in a region ## Overview
@@ -28,8 +30,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Send a worker_message to the service. | diff --git a/docs/google-docs/providers/google/dataflow/snapshots/index.md b/docs/google-docs/providers/google/dataflow/snapshots/index.md index f292d997ff..92de752ea6 100644 --- a/docs/google-docs/providers/google/dataflow/snapshots/index.md +++ b/docs/google-docs/providers/google/dataflow/snapshots/index.md @@ -1,3 +1,4 @@ + --- title: snapshots hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - snapshots - dataflow - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an snapshot resource or lists snapshots in a region ## Overview @@ -40,6 +42,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The job this snapshot was created from. | | | `string` | State of the snapshot. | | | `string` | The time after which this snapshot will be automatically deleted. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -50,3 +53,32 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists snapshots. | | | `DELETE` | | Deletes a snapshot. | | | `DELETE` | | Deletes a snapshot. | + +## `SELECT` examples + +Lists snapshots. + +```sql +SELECT +id, +description, +creationTime, +diskSizeBytes, +projectId, +pubsubMetadata, +region, +sourceJobId, +state, +ttl +FROM google.dataflow.snapshots +WHERE projectId = '{{ projectId }}'; +``` + +## `DELETE` example + +Deletes the specified snapshot resource. + +```sql +DELETE FROM google.dataflow.snapshots +WHERE projectId = '{{ projectId }}'; +``` diff --git a/docs/google-docs/providers/google/dataflow/stages_execution_details/index.md b/docs/google-docs/providers/google/dataflow/stages_execution_details/index.md index d18295f263..f5e50c1268 100644 --- a/docs/google-docs/providers/google/dataflow/stages_execution_details/index.md +++ b/docs/google-docs/providers/google/dataflow/stages_execution_details/index.md @@ -1,3 +1,4 @@ + --- title: stages_execution_details hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - stages_execution_details - dataflow - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an stages_execution_detail resource or lists stages_execution_details in a region ## Overview
@@ -32,8 +34,23 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `array` | Work items processed by this worker, sorted by time. | | | `string` | Name of this worker | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Request detailed information about the execution status of a stage of the job. EXPERIMENTAL. This API is subject to change or removal without notice. | + +## `SELECT` examples + +Request detailed information about the execution status of a stage of the job. EXPERIMENTAL. This API is subject to change or removal without notice. + +```sql +SELECT +workItems, +workerName +FROM google.dataflow.stages_execution_details +WHERE jobId = '{{ jobId }}' +AND location = '{{ location }}' +AND projectId = '{{ projectId }}' +AND stageId = '{{ stageId }}'; +``` diff --git a/docs/google-docs/providers/google/dataflow/templates/index.md b/docs/google-docs/providers/google/dataflow/templates/index.md index 3114ec5d60..670ecbd65b 100644 --- a/docs/google-docs/providers/google/dataflow/templates/index.md +++ b/docs/google-docs/providers/google/dataflow/templates/index.md @@ -1,3 +1,4 @@ + --- title: templates hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - templates - dataflow - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an template resource or lists templates in a region ## Overview
@@ -34,12 +36,81 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | RuntimeMetadata describing a runtime environment. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `string` | Template Type. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| -| | `SELECT` | | Get the template associated with a template. | -| | `SELECT` | | Get the template associated with a template. | -| | `INSERT` | | Creates a Cloud Dataflow job from a template. Do not enter confidential information when you supply string values using the API. | -| | `INSERT` | | Creates a Cloud Dataflow job from a template. Do not enter confidential information when you supply string values using the API. | -| | `EXEC` | | Launch a template. | -| | `EXEC` | | Launch a template. | +| | `SELECT` | | Get the template associated with a template. To get the template, we recommend using `projects.locations.templates.get` with a [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using `projects.templates.get` is not recommended, because only templates that are running in `us-central1` are retrieved. | +| | `SELECT` | | Get the template associated with a template. To get the template, we recommend using `projects.locations.templates.get` with a [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using `projects.templates.get` is not recommended, because only templates that are running in `us-central1` are retrieved. | +| | `INSERT` | | Creates a Cloud Dataflow job from a template. Do not enter confidential information when you supply string values using the API. To create a job, we recommend using `projects.locations.templates.create` with a [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using `projects.templates.create` is not recommended, because your job will always start in `us-central1`. | +| | `INSERT` | | Creates a Cloud Dataflow job from a template. Do not enter confidential information when you supply string values using the API. To create a job, we recommend using `projects.locations.templates.create` with a [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using `projects.templates.create` is not recommended, because your job will always start in `us-central1`. | +| | `EXEC` | | Launches a template. To launch a template, we recommend using `projects.locations.templates.launch` with a [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using `projects.templates.launch` is not recommended, because jobs launched from the template will always start in `us-central1`. | +| | `EXEC` | | Launches a template. To launch a template, we recommend using `projects.locations.templates.launch` with a [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using `projects.templates.launch` is not recommended, because jobs launched from the template will always start in `us-central1`. | + +## `SELECT` examples + +Get the template associated with a template. To get the template, we recommend using `projects.locations.templates.get` with a [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using `projects.templates.get` is not recommended, because only templates that are running in `us-central1` are retrieved. + +```sql +SELECT +metadata, +runtimeMetadata, +status, +templateType +FROM google.dataflow.templates +WHERE projectId = '{{ projectId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new templates resource. + + + + +```sql +/*+ create */ +INSERT INTO google.dataflow.templates ( +projectId, +jobName, +gcsPath, +parameters, +environment, +location +) +SELECT +'{{ projectId }}', +'{{ jobName }}', +'{{ gcsPath }}', +'{{ parameters }}', +'{{ environment }}', +'{{ location }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: jobName + value: '{{ jobName }}' + - name: gcsPath + value: '{{ gcsPath }}' + - name: parameters + value: '{{ parameters }}' + - name: environment + value: '{{ environment }}' + - name: location + value: '{{ location }}' + +``` + + diff --git a/docs/google-docs/providers/google/dataflow/work_items/index.md b/docs/google-docs/providers/google/dataflow/work_items/index.md index 3c9b44b74b..e4874cfbf3 100644 --- a/docs/google-docs/providers/google/dataflow/work_items/index.md +++ b/docs/google-docs/providers/google/dataflow/work_items/index.md @@ -1,3 +1,4 @@ + --- title: work_items hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - work_items - dataflow - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an work_item resource or lists work_items in a region ## Overview
@@ -28,7 +30,9 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| diff --git a/docs/google-docs/providers/google/dataform/collections_iam_policies/index.md b/docs/google-docs/providers/google/dataform/collections_iam_policies/index.md index d94f90bacd..5f5a569fb6 100644 --- a/docs/google-docs/providers/google/dataform/collections_iam_policies/index.md +++ b/docs/google-docs/providers/google/dataform/collections_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: collections_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - collections_iam_policies - dataform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an collections_iam_policy resource or lists collections_iam_policies in a region ## Overview @@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.dataform.collections_iam_policies +WHERE collectionsId = '{{ collectionsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/dataform/comment_threads_iam_policies/index.md b/docs/google-docs/providers/google/dataform/comment_threads_iam_policies/index.md index 3bd6ea9930..eefd03f195 100644 --- a/docs/google-docs/providers/google/dataform/comment_threads_iam_policies/index.md +++ b/docs/google-docs/providers/google/dataform/comment_threads_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: comment_threads_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - comment_threads_iam_policies - dataform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an comment_threads_iam_policy resource or lists comment_threads_iam_policies in a region ## Overview
@@ -30,12 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.dataform.comment_threads_iam_policies +WHERE commentThreadsId = '{{ commentThreadsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND repositoriesId = '{{ repositoriesId }}'; +``` diff --git a/docs/google-docs/providers/google/dataform/comments_iam_policies/index.md b/docs/google-docs/providers/google/dataform/comments_iam_policies/index.md new file mode 100644 index 0000000000..659a67594a --- /dev/null +++ b/docs/google-docs/providers/google/dataform/comments_iam_policies/index.md @@ -0,0 +1,60 @@ + +--- +title: comments_iam_policies +hide_title: false +hide_table_of_contents: false +keywords: + - comments_iam_policies + - dataform + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an comments_iam_policy resource or lists comments_iam_policies in a region + +## Overview +
+ + + +
Namecomments_iam_policies
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | +| | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.dataform.comments_iam_policies +WHERE commentThreadsId = '{{ commentThreadsId }}' +AND commentsId = '{{ commentsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND repositoriesId = '{{ repositoriesId }}'; +``` diff --git a/docs/google-docs/providers/google/dataform/compilation_results/index.md b/docs/google-docs/providers/google/dataform/compilation_results/index.md index dcf6e3bee4..2582542972 100644 --- a/docs/google-docs/providers/google/dataform/compilation_results/index.md +++ b/docs/google-docs/providers/google/dataform/compilation_results/index.md @@ -1,3 +1,4 @@ + --- title: compilation_results hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - compilation_results - dataform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an compilation_result resource or lists compilation_results in a region ## Overview @@ -33,17 +35,118 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The compilation result's name. | | | `object` | Configures various aspects of Dataform code compilation. | | | `array` | Output only. Errors encountered during project compilation. | +| | `string` | Output only. The timestamp of when the compilation result was created. | | | `object` | Describes encryption state of a resource. | | | `string` | Output only. The version of `@dataform/core` that was used for compilation. | | | `string` | Immutable. Git commit/tag/branch name at which the repository should be compiled. Must exist in the remote repository. Examples: - a commit SHA: `12ade345` - a tag: `tag1` - a branch name: `branch1` | | | `string` | Immutable. The name of the release config to compile. Must be in the format `projects/*/locations/*/repositories/*/releaseConfigs/*`. | | | `string` | Output only. The fully resolved Git commit SHA of the code that was compiled. Not set for compilation results whose source is a workspace. | | | `string` | Immutable. The name of the workspace to compile. Must be in the format `projects/*/locations/*/repositories/*/workspaces/*`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Fetches a single CompilationResult. | | | `SELECT` | | Lists CompilationResults in a given Repository. | +| | `SELECT` | | Returns CompilationResultActions in a given CompilationResult. | | | `INSERT` | | Creates a new CompilationResult in a given project and location. | -| | `EXEC` | | Lists CompilationResults in a given Repository. | -| | `EXEC` | | Returns CompilationResultActions in a given CompilationResult. | + +## `SELECT` examples + +Lists CompilationResults in a given Repository. + +```sql +SELECT +name, +codeCompilationConfig, +compilationErrors, +createTime, +dataEncryptionState, +dataformCoreVersion, +gitCommitish, +releaseConfig, +resolvedGitCommitSha, +workspace +FROM google.dataform.compilation_results +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND repositoriesId = '{{ repositoriesId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new compilation_results resource. + + + + +```sql +/*+ create */ +INSERT INTO google.dataform.compilation_results ( +locationsId, +projectsId, +repositoriesId, +gitCommitish, +workspace, +releaseConfig, +name, +codeCompilationConfig, +resolvedGitCommitSha, +dataformCoreVersion, +compilationErrors, +dataEncryptionState, +createTime +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ repositoriesId }}', +'{{ gitCommitish }}', +'{{ workspace }}', +'{{ releaseConfig }}', +'{{ name }}', +'{{ codeCompilationConfig }}', +'{{ resolvedGitCommitSha }}', +'{{ dataformCoreVersion }}', +'{{ compilationErrors }}', +'{{ dataEncryptionState }}', +'{{ createTime }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: gitCommitish + value: '{{ gitCommitish }}' + - name: workspace + value: '{{ workspace }}' + - name: releaseConfig + value: '{{ releaseConfig }}' + - name: name + value: '{{ name }}' + - name: codeCompilationConfig + value: '{{ codeCompilationConfig }}' + - name: resolvedGitCommitSha + value: '{{ resolvedGitCommitSha }}' + - name: dataformCoreVersion + value: '{{ dataformCoreVersion }}' + - name: compilationErrors + value: '{{ compilationErrors }}' + - name: dataEncryptionState + value: '{{ dataEncryptionState }}' + - name: createTime + value: '{{ createTime }}' + +``` + + diff --git a/docs/google-docs/providers/google/dataform/config/index.md b/docs/google-docs/providers/google/dataform/config/index.md new file mode 100644 index 0000000000..441fdc7ae4 --- /dev/null +++ b/docs/google-docs/providers/google/dataform/config/index.md @@ -0,0 +1,69 @@ + +--- +title: config +hide_title: false +hide_table_of_contents: false +keywords: + - config + - dataform + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an config resource or lists config in a region + +## Overview +
+ + + +
Nameconfig
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | Identifier. The config name. | +| | `string` | Optional. The default KMS key that is used if no encryption key is provided when a repository is created. | + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Get default config for a given project and location. | +| | `UPDATE` | | Update default config for a given project and location. | + +## `SELECT` examples + +Get default config for a given project and location. + +```sql +SELECT +name, +defaultKmsKeyName +FROM google.dataform.config +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `UPDATE` example + +Updates a config only if the necessary resources are available. + +```sql +UPDATE google.dataform.config +SET +name = '{{ name }}', +defaultKmsKeyName = '{{ defaultKmsKeyName }}' +WHERE +locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/dataform/index.md b/docs/google-docs/providers/google/dataform/index.md index 61f5ec6f36..9b919b7e6e 100644 --- a/docs/google-docs/providers/google/dataform/index.md +++ b/docs/google-docs/providers/google/dataform/index.md @@ -9,48 +9,39 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Service to develop, version control, and operationalize SQL pipelines in BigQuery. - +The dataform service documentation. + :::info Service Summary
-total resources: 18
-total selectable resources: 11
-total methods: 76
+total resources: 20
::: -## Overview - - - - - - -
Namegoogle.dataform
TypeService
TitleDataform API
DescriptionService to develop, version control, and operationalize SQL pipelines in BigQuery.
Iddataform:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/dataform/locations/index.md b/docs/google-docs/providers/google/dataform/locations/index.md index 16b8e535e6..180f7cb8f2 100644 --- a/docs/google-docs/providers/google/dataform/locations/index.md +++ b/docs/google-docs/providers/google/dataform/locations/index.md @@ -1,3 +1,4 @@ + --- title: locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - locations - dataform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an location resource or lists locations in a region ## Overview @@ -32,12 +34,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` | | | `string` | The friendly name for this location, typically a nearby city name. For example, "Tokyo". | -| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | +| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | | | `string` | The canonical id for this location. For example: `"us-east1"`. | | | `object` | Service-specific metadata. For example the available capacity at the given location. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about a location. | | | `SELECT` | | Lists information about the supported locations for this service. | -| | `EXEC` | | Lists information about the supported locations for this service. | + +## `SELECT` examples + +Lists information about the supported locations for this service. + +```sql +SELECT +name, +displayName, +labels, +locationId, +metadata +FROM google.dataform.locations +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/dataform/release_configs/index.md b/docs/google-docs/providers/google/dataform/release_configs/index.md index a054b81661..42fee7cd5a 100644 --- a/docs/google-docs/providers/google/dataform/release_configs/index.md +++ b/docs/google-docs/providers/google/dataform/release_configs/index.md @@ -1,3 +1,4 @@ + --- title: release_configs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - release_configs - dataform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an release_config resource or lists release_configs in a region ## Overview
@@ -38,6 +40,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `array` | Output only. Records of the 10 most recent scheduled release attempts, ordered in in descending order of `release_time`. Updated whenever automatic creation of a compilation result is triggered by cron_schedule. | | | `string` | Optional. The name of the currently released compilation result for this release config. This value is updated when a compilation result is automatically created from this release config (using cron_schedule), or when this resource is updated by API call (perhaps to roll back to an earlier release). The compilation result must have been created using this release config. Must be in the format `projects/*/locations/*/repositories/*/compilationResults/*`. | | | `string` | Optional. Specifies the time zone to be used when interpreting cron_schedule. Must be a time zone name from the time zone database (https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). If left unspecified, the default is UTC. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -46,4 +49,127 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new ReleaseConfig in a given Repository. | | | `DELETE` | | Deletes a single ReleaseConfig. | | | `UPDATE` | | Updates a single ReleaseConfig. | -| | `EXEC` | | Lists ReleaseConfigs in a given Repository. | + +## `SELECT` examples + +Lists ReleaseConfigs in a given Repository. + +```sql +SELECT +name, +codeCompilationConfig, +cronSchedule, +disabled, +gitCommitish, +recentScheduledReleaseRecords, +releaseCompilationResult, +timeZone +FROM google.dataform.release_configs +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND repositoriesId = '{{ repositoriesId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new release_configs resource. + + + + +```sql +/*+ create */ +INSERT INTO google.dataform.release_configs ( +locationsId, +projectsId, +repositoriesId, +name, +gitCommitish, +codeCompilationConfig, +cronSchedule, +timeZone, +recentScheduledReleaseRecords, +releaseCompilationResult, +disabled +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ repositoriesId }}', +'{{ name }}', +'{{ gitCommitish }}', +'{{ codeCompilationConfig }}', +'{{ cronSchedule }}', +'{{ timeZone }}', +'{{ recentScheduledReleaseRecords }}', +'{{ releaseCompilationResult }}', +true|false +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: gitCommitish + value: '{{ gitCommitish }}' + - name: codeCompilationConfig + value: '{{ codeCompilationConfig }}' + - name: cronSchedule + value: '{{ cronSchedule }}' + - name: timeZone + value: '{{ timeZone }}' + - name: recentScheduledReleaseRecords + value: '{{ recentScheduledReleaseRecords }}' + - name: releaseCompilationResult + value: '{{ releaseCompilationResult }}' + - name: disabled + value: '{{ disabled }}' + +``` + + + +## `UPDATE` example + +Updates a release_config only if the necessary resources are available. + +```sql +UPDATE google.dataform.release_configs +SET +name = '{{ name }}', +gitCommitish = '{{ gitCommitish }}', +codeCompilationConfig = '{{ codeCompilationConfig }}', +cronSchedule = '{{ cronSchedule }}', +timeZone = '{{ timeZone }}', +recentScheduledReleaseRecords = '{{ recentScheduledReleaseRecords }}', +releaseCompilationResult = '{{ releaseCompilationResult }}', +disabled = true|false +WHERE +locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND releaseConfigsId = '{{ releaseConfigsId }}' +AND repositoriesId = '{{ repositoriesId }}'; +``` + +## `DELETE` example + +Deletes the specified release_config resource. + +```sql +DELETE FROM google.dataform.release_configs +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND releaseConfigsId = '{{ releaseConfigsId }}' +AND repositoriesId = '{{ repositoriesId }}'; +``` diff --git a/docs/google-docs/providers/google/dataform/repositories/index.md b/docs/google-docs/providers/google/dataform/repositories/index.md index afdc42071f..28362fbdae 100644 --- a/docs/google-docs/providers/google/dataform/repositories/index.md +++ b/docs/google-docs/providers/google/dataform/repositories/index.md @@ -1,3 +1,4 @@ + --- title: repositories hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - repositories - dataform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an repository resource or lists repositories in a region ## Overview
@@ -40,17 +42,154 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Optional. The name of the Secret Manager secret version to be used to interpolate variables into the .npmrc file for package installation operations. Must be in the format `projects/*/secrets/*/versions/*`. The file itself must be in a JSON format. | | | `string` | Optional. The service account to run workflow invocations under. | | | `boolean` | Optional. Input only. If set to true, the authenticated user will be granted the roles/dataform.admin role on the created repository. To modify access to the created repository later apply setIamPolicy from https://cloud.google.com/dataform/reference/rest#rest-resource:-v1beta1.projects.locations.repositories | -| | `object` | Configures workspace compilation overrides for a repository. Primarily used by the UI (`console.cloud.google.com`). `schema_suffix` and `table_prefix` can have a special expression - `${workspaceName}`, which refers to the workspace name from which the compilation results will be created. API callers are expected to resolve the expression in these overrides and provide them explicitly in `code_compilation_config` (https://cloud.google.com/dataform/reference/rest/v1beta1/projects.locations.repositories.compilationResults#codecompilationconfig) when creating workspace-scoped compilation results. | +| | `object` | Configures workspace compilation overrides for a repository. Primarily used by the UI (`console.cloud.google.com`). `schema_suffix` and `table_prefix` can have a special expression - `${workspaceName}`, which refers to the workspace name from which the compilation results will be created. API callers are expected to resolve the expression in these overrides and provide them explicitly in `code_compilation_config` (https://cloud.google.com/dataform/reference/rest/v1beta1/projects.locations.repositories.compilationResults#codecompilationconfig) when creating workspace-scoped compilation results. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Fetches a single Repository. | | | `SELECT` | | Lists Repositories in a given project and location. | +| | `SELECT` | | Returns the contents of a given Repository directory. The Repository must not have a value for `git_remote_settings.url`. | | | `INSERT` | | Creates a new Repository in a given project and location. | | | `DELETE` | | Deletes a single Repository. | | | `UPDATE` | | Updates a single Repository. | -| | `EXEC` | | Lists Repositories in a given project and location. | | | `EXEC` | | Applies a Git commit to a Repository. The Repository must not have a value for `git_remote_settings.url`. | | | `EXEC` | | Computes a Repository's Git access token status. | -| | `EXEC` | | Returns the contents of a given Repository directory. The Repository must not have a value for `git_remote_settings.url`. | | | `EXEC` | | Returns the contents of a file (inside a Repository). The Repository must not have a value for `git_remote_settings.url`. | + +## `SELECT` examples + +Lists Repositories in a given project and location. + +```sql +SELECT +name, +createTime, +dataEncryptionState, +displayName, +gitRemoteSettings, +kmsKeyName, +labels, +npmrcEnvironmentVariablesSecretVersion, +serviceAccount, +setAuthenticatedUserAdmin, +workspaceCompilationOverrides +FROM google.dataform.repositories +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new repositories resource. + + + + +```sql +/*+ create */ +INSERT INTO google.dataform.repositories ( +locationsId, +projectsId, +name, +createTime, +displayName, +gitRemoteSettings, +npmrcEnvironmentVariablesSecretVersion, +workspaceCompilationOverrides, +labels, +setAuthenticatedUserAdmin, +serviceAccount, +kmsKeyName, +dataEncryptionState +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ createTime }}', +'{{ displayName }}', +'{{ gitRemoteSettings }}', +'{{ npmrcEnvironmentVariablesSecretVersion }}', +'{{ workspaceCompilationOverrides }}', +'{{ labels }}', +true|false, +'{{ serviceAccount }}', +'{{ kmsKeyName }}', +'{{ dataEncryptionState }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: displayName + value: '{{ displayName }}' + - name: gitRemoteSettings + value: '{{ gitRemoteSettings }}' + - name: npmrcEnvironmentVariablesSecretVersion + value: '{{ npmrcEnvironmentVariablesSecretVersion }}' + - name: workspaceCompilationOverrides + value: '{{ workspaceCompilationOverrides }}' + - name: labels + value: '{{ labels }}' + - name: setAuthenticatedUserAdmin + value: '{{ setAuthenticatedUserAdmin }}' + - name: serviceAccount + value: '{{ serviceAccount }}' + - name: kmsKeyName + value: '{{ kmsKeyName }}' + - name: dataEncryptionState + value: '{{ dataEncryptionState }}' + +``` + + + +## `UPDATE` example + +Updates a repository only if the necessary resources are available. + +```sql +UPDATE google.dataform.repositories +SET +name = '{{ name }}', +createTime = '{{ createTime }}', +displayName = '{{ displayName }}', +gitRemoteSettings = '{{ gitRemoteSettings }}', +npmrcEnvironmentVariablesSecretVersion = '{{ npmrcEnvironmentVariablesSecretVersion }}', +workspaceCompilationOverrides = '{{ workspaceCompilationOverrides }}', +labels = '{{ labels }}', +setAuthenticatedUserAdmin = true|false, +serviceAccount = '{{ serviceAccount }}', +kmsKeyName = '{{ kmsKeyName }}', +dataEncryptionState = '{{ dataEncryptionState }}' +WHERE +locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND repositoriesId = '{{ repositoriesId }}'; +``` + +## `DELETE` example + +Deletes the specified repository resource. + +```sql +DELETE FROM google.dataform.repositories +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND repositoriesId = '{{ repositoriesId }}'; +``` diff --git a/docs/google-docs/providers/google/dataform/repositories_history/index.md b/docs/google-docs/providers/google/dataform/repositories_history/index.md index ddef580c6d..9b33979e90 100644 --- a/docs/google-docs/providers/google/dataform/repositories_history/index.md +++ b/docs/google-docs/providers/google/dataform/repositories_history/index.md @@ -1,3 +1,4 @@ + --- title: repositories_history hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - repositories_history - dataform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an repositories_history resource or lists repositories_history in a region ## Overview
@@ -28,8 +30,26 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `array` | A list of commit logs, ordered by 'git log' default order. | +| | `string` | A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Fetches a Repository's history of commits. The Repository must not have a value for `git_remote_settings.url`. | + +## `SELECT` examples + +Fetches a Repository's history of commits. The Repository must not have a value for `git_remote_settings.url`. + +```sql +SELECT +commits, +nextPageToken +FROM google.dataform.repositories_history +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND repositoriesId = '{{ repositoriesId }}'; +``` diff --git a/docs/google-docs/providers/google/dataform/repositories_iam_policies/index.md b/docs/google-docs/providers/google/dataform/repositories_iam_policies/index.md index 92f7f14634..03da6c7106 100644 --- a/docs/google-docs/providers/google/dataform/repositories_iam_policies/index.md +++ b/docs/google-docs/providers/google/dataform/repositories_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: repositories_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - repositories_iam_policies - dataform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an repositories_iam_policy resource or lists repositories_iam_policies in a region ## Overview @@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.dataform.repositories_iam_policies +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND repositoriesId = '{{ repositoriesId }}'; +``` diff --git a/docs/google-docs/providers/google/dataform/repositories_remote_branches/index.md b/docs/google-docs/providers/google/dataform/repositories_remote_branches/index.md index 5be87e854c..a346bf1844 100644 --- a/docs/google-docs/providers/google/dataform/repositories_remote_branches/index.md +++ b/docs/google-docs/providers/google/dataform/repositories_remote_branches/index.md @@ -1,3 +1,4 @@ + --- title: repositories_remote_branches hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - repositories_remote_branches - dataform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an repositories_remote_branch resource or lists repositories_remote_branches in a region ## Overview
@@ -28,8 +30,24 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `array` | The remote repository's branch names. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Fetches a Repository's remote branches. | + +## `SELECT` examples + +Fetches a Repository's remote branches. + +```sql +SELECT +branches +FROM google.dataform.repositories_remote_branches +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND repositoriesId = '{{ repositoriesId }}'; +``` diff --git a/docs/google-docs/providers/google/dataform/workflow_configs/index.md b/docs/google-docs/providers/google/dataform/workflow_configs/index.md index 9995991c21..79f02ed7d1 100644 --- a/docs/google-docs/providers/google/dataform/workflow_configs/index.md +++ b/docs/google-docs/providers/google/dataform/workflow_configs/index.md @@ -1,3 +1,4 @@ + --- title: workflow_configs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - workflow_configs - dataform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an workflow_config resource or lists workflow_configs in a region ## Overview @@ -31,11 +33,14 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | Name | Datatype | Description | |:-----|:---------|:------------| | | `string` | Identifier. The workflow config's name. | +| | `string` | Output only. The timestamp of when the WorkflowConfig was created. | | | `string` | Optional. Optional schedule (in cron format) for automatic execution of this workflow config. | | | `object` | Includes various configuration options for a workflow invocation. If both `included_targets` and `included_tags` are unset, all actions will be included. | | | `array` | Output only. Records of the 10 most recent scheduled execution attempts, ordered in in descending order of `execution_time`. Updated whenever automatic creation of a workflow invocation is triggered by cron_schedule. | | | `string` | Required. The name of the release config whose release_compilation_result should be executed. Must be in the format `projects/*/locations/*/repositories/*/releaseConfigs/*`. | | | `string` | Optional. Specifies the time zone to be used when interpreting cron_schedule. Must be a time zone name from the time zone database (https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). If left unspecified, the default is UTC. | +| | `string` | Output only. The timestamp of when the WorkflowConfig was last updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -44,4 +49,127 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new WorkflowConfig in a given Repository. | | | `DELETE` | | Deletes a single WorkflowConfig. | | | `UPDATE` | | Updates a single WorkflowConfig. | -| | `EXEC` | | Lists WorkflowConfigs in a given Repository. | + +## `SELECT` examples + +Lists WorkflowConfigs in a given Repository. + +```sql +SELECT +name, +createTime, +cronSchedule, +invocationConfig, +recentScheduledExecutionRecords, +releaseConfig, +timeZone, +updateTime +FROM google.dataform.workflow_configs +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND repositoriesId = '{{ repositoriesId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new workflow_configs resource. + + + + +```sql +/*+ create */ +INSERT INTO google.dataform.workflow_configs ( +locationsId, +projectsId, +repositoriesId, +name, +releaseConfig, +invocationConfig, +cronSchedule, +timeZone, +recentScheduledExecutionRecords, +createTime, +updateTime +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ repositoriesId }}', +'{{ name }}', +'{{ releaseConfig }}', +'{{ invocationConfig }}', +'{{ cronSchedule }}', +'{{ timeZone }}', +'{{ recentScheduledExecutionRecords }}', +'{{ createTime }}', +'{{ updateTime }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: releaseConfig + value: '{{ releaseConfig }}' + - name: invocationConfig + value: '{{ invocationConfig }}' + - name: cronSchedule + value: '{{ cronSchedule }}' + - name: timeZone + value: '{{ timeZone }}' + - name: recentScheduledExecutionRecords + value: '{{ recentScheduledExecutionRecords }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + +``` + + + +## `UPDATE` example + +Updates a workflow_config only if the necessary resources are available. + +```sql +UPDATE google.dataform.workflow_configs +SET +name = '{{ name }}', +releaseConfig = '{{ releaseConfig }}', +invocationConfig = '{{ invocationConfig }}', +cronSchedule = '{{ cronSchedule }}', +timeZone = '{{ timeZone }}', +recentScheduledExecutionRecords = '{{ recentScheduledExecutionRecords }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}' +WHERE +locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND repositoriesId = '{{ repositoriesId }}' +AND workflowConfigsId = '{{ workflowConfigsId }}'; +``` + +## `DELETE` example + +Deletes the specified workflow_config resource. + +```sql +DELETE FROM google.dataform.workflow_configs +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND repositoriesId = '{{ repositoriesId }}' +AND workflowConfigsId = '{{ workflowConfigsId }}'; +``` diff --git a/docs/google-docs/providers/google/dataform/workflow_invocations/index.md b/docs/google-docs/providers/google/dataform/workflow_invocations/index.md index 6a5d8e7486..76b3547987 100644 --- a/docs/google-docs/providers/google/dataform/workflow_invocations/index.md +++ b/docs/google-docs/providers/google/dataform/workflow_invocations/index.md @@ -1,3 +1,4 @@ + --- title: workflow_invocations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - workflow_invocations - dataform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an workflow_invocation resource or lists workflow_invocations in a region ## Overview
@@ -38,13 +40,115 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The resolved compilation result that was used to create this invocation. Will be in the format `projects/*/locations/*/repositories/*/compilationResults/*`. | | | `string` | Output only. This workflow invocation's current state. | | | `string` | Immutable. The name of the workflow config to invoke. Must be in the format `projects/*/locations/*/repositories/*/workflowConfigs/*`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Fetches a single WorkflowInvocation. | | | `SELECT` | | Lists WorkflowInvocations in a given Repository. | +| | `SELECT` | | Returns WorkflowInvocationActions in a given WorkflowInvocation. | | | `INSERT` | | Creates a new WorkflowInvocation in a given Repository. | | | `DELETE` | | Deletes a single WorkflowInvocation. | -| | `EXEC` | | Lists WorkflowInvocations in a given Repository. | | | `EXEC` | | Requests cancellation of a running WorkflowInvocation. | -| | `EXEC` | | Returns WorkflowInvocationActions in a given WorkflowInvocation. | + +## `SELECT` examples + +Lists WorkflowInvocations in a given Repository. + +```sql +SELECT +name, +compilationResult, +dataEncryptionState, +invocationConfig, +invocationTiming, +resolvedCompilationResult, +state, +workflowConfig +FROM google.dataform.workflow_invocations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND repositoriesId = '{{ repositoriesId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new workflow_invocations resource. + + + + +```sql +/*+ create */ +INSERT INTO google.dataform.workflow_invocations ( +locationsId, +projectsId, +repositoriesId, +compilationResult, +workflowConfig, +name, +invocationConfig, +state, +invocationTiming, +resolvedCompilationResult, +dataEncryptionState +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ repositoriesId }}', +'{{ compilationResult }}', +'{{ workflowConfig }}', +'{{ name }}', +'{{ invocationConfig }}', +'{{ state }}', +'{{ invocationTiming }}', +'{{ resolvedCompilationResult }}', +'{{ dataEncryptionState }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: compilationResult + value: '{{ compilationResult }}' + - name: workflowConfig + value: '{{ workflowConfig }}' + - name: name + value: '{{ name }}' + - name: invocationConfig + value: '{{ invocationConfig }}' + - name: state + value: '{{ state }}' + - name: invocationTiming + value: '{{ invocationTiming }}' + - name: resolvedCompilationResult + value: '{{ resolvedCompilationResult }}' + - name: dataEncryptionState + value: '{{ dataEncryptionState }}' + +``` + + + +## `DELETE` example + +Deletes the specified workflow_invocation resource. + +```sql +DELETE FROM google.dataform.workflow_invocations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND repositoriesId = '{{ repositoriesId }}' +AND workflowInvocationsId = '{{ workflowInvocationsId }}'; +``` diff --git a/docs/google-docs/providers/google/dataform/workspaces/index.md b/docs/google-docs/providers/google/dataform/workspaces/index.md index 56891e88b6..e39481ba49 100644 --- a/docs/google-docs/providers/google/dataform/workspaces/index.md +++ b/docs/google-docs/providers/google/dataform/workspaces/index.md @@ -1,3 +1,4 @@ + --- title: workspaces hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - workspaces - dataform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an workspace resource or lists workspaces in a region ## Overview
@@ -32,14 +34,15 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Identifier. The workspace's name. | | | `object` | Describes encryption state of a resource. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Fetches a single Workspace. | | | `SELECT` | | Lists Workspaces in a given Repository. | +| | `SELECT` | | Returns the contents of a given Workspace directory. | | | `INSERT` | | Creates a new Workspace in a given Repository. | | | `DELETE` | | Deletes a single Workspace. | -| | `EXEC` | | Lists Workspaces in a given Repository. | | | `EXEC` | | Applies a Git commit for uncommitted files in a Workspace. | | | `EXEC` | | Installs dependency NPM packages (inside a Workspace). | | | `EXEC` | | Creates a directory inside a Workspace. | @@ -47,8 +50,79 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `EXEC` | | Moves a file (inside a Workspace) to a new location. | | | `EXEC` | | Pulls Git commits from the Repository's remote into a Workspace. | | | `EXEC` | | Pushes Git commits from a Workspace to the Repository's remote. | -| | `EXEC` | | Returns the contents of a given Workspace directory. | | | `EXEC` | | Returns the contents of a file (inside a Workspace). | | | `EXEC` | | Performs a Git reset for uncommitted files in a Workspace. | | | `EXEC` | | Finds the contents of a given Workspace directory by filter. | | | `EXEC` | | Writes to a file (inside a Workspace). | + +## `SELECT` examples + +Lists Workspaces in a given Repository. + +```sql +SELECT +name, +dataEncryptionState +FROM google.dataform.workspaces +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND repositoriesId = '{{ repositoriesId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new workspaces resource. + + + + +```sql +/*+ create */ +INSERT INTO google.dataform.workspaces ( +locationsId, +projectsId, +repositoriesId, +name, +dataEncryptionState +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ repositoriesId }}', +'{{ name }}', +'{{ dataEncryptionState }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: dataEncryptionState + value: '{{ dataEncryptionState }}' + +``` + + + +## `DELETE` example + +Deletes the specified workspace resource. + +```sql +DELETE FROM google.dataform.workspaces +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND repositoriesId = '{{ repositoriesId }}' +AND workspacesId = '{{ workspacesId }}'; +``` diff --git a/docs/google-docs/providers/google/dataform/workspaces_directory/index.md b/docs/google-docs/providers/google/dataform/workspaces_directory/index.md index 2cbf023fd6..548adc5b02 100644 --- a/docs/google-docs/providers/google/dataform/workspaces_directory/index.md +++ b/docs/google-docs/providers/google/dataform/workspaces_directory/index.md @@ -1,3 +1,4 @@ + --- title: workspaces_directory hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - workspaces_directory - dataform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an workspaces_directory resource or lists workspaces_directory in a region ## Overview
@@ -28,8 +30,22 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `DELETE` | | Deletes a directory (inside a Workspace) and all of its contents. | + +## `DELETE` example + +Deletes the specified workspaces_directory resource. + +```sql +DELETE FROM google.dataform.workspaces_directory +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND repositoriesId = '{{ repositoriesId }}' +AND workspacesId = '{{ workspacesId }}'; +``` diff --git a/docs/google-docs/providers/google/dataform/workspaces_file/index.md b/docs/google-docs/providers/google/dataform/workspaces_file/index.md index 14b869640a..f1f8101d52 100644 --- a/docs/google-docs/providers/google/dataform/workspaces_file/index.md +++ b/docs/google-docs/providers/google/dataform/workspaces_file/index.md @@ -1,3 +1,4 @@ + --- title: workspaces_file hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - workspaces_file - dataform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an workspaces_file resource or lists workspaces_file in a region ## Overview @@ -28,8 +30,22 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `DELETE` | | Deletes a file (inside a Workspace). | + +## `DELETE` example + +Deletes the specified workspaces_file resource. + +```sql +DELETE FROM google.dataform.workspaces_file +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND repositoriesId = '{{ repositoriesId }}' +AND workspacesId = '{{ workspacesId }}'; +``` diff --git a/docs/google-docs/providers/google/dataform/workspaces_file_diff/index.md b/docs/google-docs/providers/google/dataform/workspaces_file_diff/index.md index 856e2be197..446f9f10bb 100644 --- a/docs/google-docs/providers/google/dataform/workspaces_file_diff/index.md +++ b/docs/google-docs/providers/google/dataform/workspaces_file_diff/index.md @@ -1,3 +1,4 @@ + --- title: workspaces_file_diff hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - workspaces_file_diff - dataform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an workspaces_file_diff resource or lists workspaces_file_diff in a region ## Overview @@ -28,8 +30,25 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | The raw formatted Git diff for the file. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Fetches Git diff for an uncommitted file in a Workspace. | + +## `SELECT` examples + +Fetches Git diff for an uncommitted file in a Workspace. + +```sql +SELECT +formattedDiff +FROM google.dataform.workspaces_file_diff +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND repositoriesId = '{{ repositoriesId }}' +AND workspacesId = '{{ workspacesId }}'; +``` diff --git a/docs/google-docs/providers/google/dataform/workspaces_file_git_statuses/index.md b/docs/google-docs/providers/google/dataform/workspaces_file_git_statuses/index.md index 6296153943..0467773d09 100644 --- a/docs/google-docs/providers/google/dataform/workspaces_file_git_statuses/index.md +++ b/docs/google-docs/providers/google/dataform/workspaces_file_git_statuses/index.md @@ -1,3 +1,4 @@ + --- title: workspaces_file_git_statuses hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - workspaces_file_git_statuses - dataform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an workspaces_file_git_status resource or lists workspaces_file_git_statuses in a region ## Overview @@ -28,8 +30,25 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `array` | A list of all files which have uncommitted Git changes. There will only be a single entry for any given file. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Fetches Git statuses for the files in a Workspace. | + +## `SELECT` examples + +Fetches Git statuses for the files in a Workspace. + +```sql +SELECT +uncommittedFileChanges +FROM google.dataform.workspaces_file_git_statuses +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND repositoriesId = '{{ repositoriesId }}' +AND workspacesId = '{{ workspacesId }}'; +``` diff --git a/docs/google-docs/providers/google/dataform/workspaces_git_ahead_behind/index.md b/docs/google-docs/providers/google/dataform/workspaces_git_ahead_behind/index.md index 4ca7fb79bf..4fd03184fc 100644 --- a/docs/google-docs/providers/google/dataform/workspaces_git_ahead_behind/index.md +++ b/docs/google-docs/providers/google/dataform/workspaces_git_ahead_behind/index.md @@ -1,3 +1,4 @@ + --- title: workspaces_git_ahead_behind hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - workspaces_git_ahead_behind - dataform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an workspaces_git_ahead_behind resource or lists workspaces_git_ahead_behind in a region ## Overview @@ -28,8 +30,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `integer` | The number of commits in the remote branch that are not in the workspace. | +| | `integer` | The number of commits in the workspace that are not in the remote branch. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Fetches Git ahead/behind against a remote branch. | + +## `SELECT` examples + +Fetches Git ahead/behind against a remote branch. + +```sql +SELECT +commitsAhead, +commitsBehind +FROM google.dataform.workspaces_git_ahead_behind +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND repositoriesId = '{{ repositoriesId }}' +AND workspacesId = '{{ workspacesId }}'; +``` diff --git a/docs/google-docs/providers/google/dataform/workspaces_iam_policies/index.md b/docs/google-docs/providers/google/dataform/workspaces_iam_policies/index.md index bb54e4a81a..c4f1b54bee 100644 --- a/docs/google-docs/providers/google/dataform/workspaces_iam_policies/index.md +++ b/docs/google-docs/providers/google/dataform/workspaces_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: workspaces_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - workspaces_iam_policies - dataform - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an workspaces_iam_policy resource or lists workspaces_iam_policies in a region ## Overview @@ -30,13 +32,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.dataform.workspaces_iam_policies +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND repositoriesId = '{{ repositoriesId }}' +AND workspacesId = '{{ workspacesId }}'; +``` diff --git a/docs/google-docs/providers/google/datafusion/dns_peerings/index.md b/docs/google-docs/providers/google/datafusion/dns_peerings/index.md index df347fafc9..40393c5f66 100644 --- a/docs/google-docs/providers/google/datafusion/dns_peerings/index.md +++ b/docs/google-docs/providers/google/datafusion/dns_peerings/index.md @@ -1,3 +1,4 @@ + --- title: dns_peerings hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - dns_peerings - datafusion - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an dns_peering resource or lists dns_peerings in a region ## Overview
@@ -30,15 +32,102 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Required. The resource name of the dns peering zone. Format: projects/{project}/locations/{location}/instances/{instance}/dnsPeerings/{dns_peering} | +| | `string` | Required. The resource name of the dns peering zone. Format: projects/{project}/locations/{location}/instances/{instance}/dnsPeerings/{dns_peering} | | | `string` | Optional. Optional description of the dns zone. | | | `string` | Required. The dns name suffix of the zone. | | | `string` | Optional. Optional target network to which dns peering should happen. | | | `string` | Optional. Optional target project to which dns peering should happen. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Lists DNS peerings for a given resource. | | | `INSERT` | | Creates DNS peering on the given resource. | | | `DELETE` | | Deletes DNS peering on the given resource. | -| | `EXEC` | | Lists DNS peerings for a given resource. | + +## `SELECT` examples + +Lists DNS peerings for a given resource. + +```sql +SELECT +name, +description, +domain, +targetNetwork, +targetProject +FROM google.datafusion.dns_peerings +WHERE instancesId = '{{ instancesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new dns_peerings resource. + + + + +```sql +/*+ create */ +INSERT INTO google.datafusion.dns_peerings ( +instancesId, +locationsId, +projectsId, +name, +domain, +description, +targetProject, +targetNetwork +) +SELECT +'{{ instancesId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ domain }}', +'{{ description }}', +'{{ targetProject }}', +'{{ targetNetwork }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: domain + value: '{{ domain }}' + - name: description + value: '{{ description }}' + - name: targetProject + value: '{{ targetProject }}' + - name: targetNetwork + value: '{{ targetNetwork }}' + +``` + + + +## `DELETE` example + +Deletes the specified dns_peering resource. + +```sql +DELETE FROM google.datafusion.dns_peerings +WHERE dnsPeeringsId = '{{ dnsPeeringsId }}' +AND instancesId = '{{ instancesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/datafusion/index.md b/docs/google-docs/providers/google/datafusion/index.md index f5011dcdc1..e8815eb9a5 100644 --- a/docs/google-docs/providers/google/datafusion/index.md +++ b/docs/google-docs/providers/google/datafusion/index.md @@ -9,44 +9,33 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Cloud Data Fusion is a fully-managed, cloud native, enterprise data integration service for quickly building and managing data pipelines. It provides a graphical interface to increase time efficiency and reduce complexity, and allows business users, developers, and data scientists to easily and reliably build scalable data integration solutions to cleanse, prepare, blend, transfer and transform data without having to wrestle with infrastructure. - +The datafusion service documentation. + :::info Service Summary
total resources: 6
-total selectable resources: 6
-total methods: 25
::: -## Overview -
- - - - - -
Namegoogle.datafusion
TypeService
TitleCloud Data Fusion API
DescriptionCloud Data Fusion is a fully-managed, cloud native, enterprise data integration service for quickly building and managing data pipelines. It provides a graphical interface to increase time efficiency and reduce complexity, and allows business users, developers, and data scientists to easily and reliably build scalable data integration solutions to cleanse, prepare, blend, transfer and transform data without having to wrestle with infrastructure.
Iddatafusion:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/datafusion/instances/index.md b/docs/google-docs/providers/google/datafusion/instances/index.md index 17e70202c2..59cf3331fc 100644 --- a/docs/google-docs/providers/google/datafusion/instances/index.md +++ b/docs/google-docs/providers/google/datafusion/instances/index.md @@ -1,3 +1,4 @@ + --- title: instances hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - instances - datafusion - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an instance resource or lists instances in a region ## Overview @@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. The name of this instance is in the form of projects/{project}/locations/{location}/instances/{instance}. | +| | `string` | Output only. The name of this instance is in the form of projects/{project}/locations/{location}/instances/{instance}. | | | `string` | A description of this instance. | | | `array` | Output only. List of accelerators enabled for this CDF instance. | | | `string` | Output only. Endpoint on which the REST APIs is accessible. | @@ -48,9 +50,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Confirguration of PubSubEventWriter. | | | `string` | Output only. Cloud Storage bucket generated by Data Fusion in the customer project. | | | `object` | The resource labels for instance to use to annotate any related underlying resources such as Compute Engine VMs. The character '=' is not allowed to be used within the labels. | +| | `object` | Maintenance policy of the instance. | | | `object` | Network configuration for a Data Fusion instance. These configurations are used for peering with the customer network. Configurations are optional when a public Data Fusion instance is to be created. However, providing these configurations allows several benefits, such as reduced network latency while accessing the customer resources from managed Data Fusion instance nodes, as well as access to the customer on-prem resources. | | | `object` | Map of additional options used to configure the behavior of Data Fusion instance. | -| | `string` | Output only. P4 service account for the customer project. | +| | `string` | Output only. Service agent for the customer project. | | | `string` | Optional. Current patch revision of the Data Fusion. | | | `boolean` | Specifies whether the Data Fusion instance should be private. If set to true, all Data Fusion nodes will have private IP addresses and will not be able to access the public internet. | | | `boolean` | Output only. Reserved for future use. | @@ -64,6 +67,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Current version of the Data Fusion. Only specifiable in Update. | | | `string` | Output only. Endpoint on which the Data Fusion UI is accessible to third-party users | | | `string` | Name of the zone in which the Data Fusion instance will be created. Only DEVELOPER instances use this field. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -72,5 +76,285 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new Data Fusion instance in the specified project and location. | | | `DELETE` | | Deletes a single Date Fusion instance. | | | `UPDATE` | | Updates a single Data Fusion instance. | -| | `EXEC` | | Lists Data Fusion instances in the specified project and location. | | | `EXEC` | | Restart a single Data Fusion instance. At the end of an operation instance is fully restarted. | + +## `SELECT` examples + +Lists Data Fusion instances in the specified project and location. + +```sql +SELECT +name, +description, +accelerators, +apiEndpoint, +availableVersion, +createTime, +cryptoKeyConfig, +dataplexDataLineageIntegrationEnabled, +dataprocServiceAccount, +disabledReason, +displayName, +enableRbac, +enableStackdriverLogging, +enableStackdriverMonitoring, +enableZoneSeparation, +eventPublishConfig, +gcsBucket, +labels, +maintenancePolicy, +networkConfig, +options, +p4ServiceAccount, +patchRevision, +privateInstance, +satisfiesPzs, +serviceAccount, +serviceEndpoint, +state, +stateMessage, +tenantProjectId, +type, +updateTime, +version, +workforceIdentityServiceEndpoint, +zone +FROM google.datafusion.instances +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new instances resource. + + + + +```sql +/*+ create */ +INSERT INTO google.datafusion.instances ( +locationsId, +projectsId, +name, +description, +type, +enableStackdriverLogging, +enableStackdriverMonitoring, +privateInstance, +networkConfig, +labels, +options, +createTime, +updateTime, +state, +stateMessage, +serviceEndpoint, +zone, +version, +serviceAccount, +displayName, +availableVersion, +apiEndpoint, +gcsBucket, +accelerators, +p4ServiceAccount, +tenantProjectId, +dataprocServiceAccount, +enableRbac, +cryptoKeyConfig, +disabledReason, +eventPublishConfig, +enableZoneSeparation, +satisfiesPzs, +workforceIdentityServiceEndpoint, +patchRevision, +dataplexDataLineageIntegrationEnabled, +maintenancePolicy +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ description }}', +'{{ type }}', +true|false, +true|false, +true|false, +'{{ networkConfig }}', +'{{ labels }}', +'{{ options }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ state }}', +'{{ stateMessage }}', +'{{ serviceEndpoint }}', +'{{ zone }}', +'{{ version }}', +'{{ serviceAccount }}', +'{{ displayName }}', +'{{ availableVersion }}', +'{{ apiEndpoint }}', +'{{ gcsBucket }}', +'{{ accelerators }}', +'{{ p4ServiceAccount }}', +'{{ tenantProjectId }}', +'{{ dataprocServiceAccount }}', +true|false, +'{{ cryptoKeyConfig }}', +'{{ disabledReason }}', +'{{ eventPublishConfig }}', +true|false, +true|false, +'{{ workforceIdentityServiceEndpoint }}', +'{{ patchRevision }}', +true|false, +'{{ maintenancePolicy }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: type + value: '{{ type }}' + - name: enableStackdriverLogging + value: '{{ enableStackdriverLogging }}' + - name: enableStackdriverMonitoring + value: '{{ enableStackdriverMonitoring }}' + - name: privateInstance + value: '{{ privateInstance }}' + - name: networkConfig + value: '{{ networkConfig }}' + - name: labels + value: '{{ labels }}' + - name: options + value: '{{ options }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: state + value: '{{ state }}' + - name: stateMessage + value: '{{ stateMessage }}' + - name: serviceEndpoint + value: '{{ serviceEndpoint }}' + - name: zone + value: '{{ zone }}' + - name: version + value: '{{ version }}' + - name: serviceAccount + value: '{{ serviceAccount }}' + - name: displayName + value: '{{ displayName }}' + - name: availableVersion + value: '{{ availableVersion }}' + - name: apiEndpoint + value: '{{ apiEndpoint }}' + - name: gcsBucket + value: '{{ gcsBucket }}' + - name: accelerators + value: '{{ accelerators }}' + - name: p4ServiceAccount + value: '{{ p4ServiceAccount }}' + - name: tenantProjectId + value: '{{ tenantProjectId }}' + - name: dataprocServiceAccount + value: '{{ dataprocServiceAccount }}' + - name: enableRbac + value: '{{ enableRbac }}' + - name: cryptoKeyConfig + value: '{{ cryptoKeyConfig }}' + - name: disabledReason + value: '{{ disabledReason }}' + - name: eventPublishConfig + value: '{{ eventPublishConfig }}' + - name: enableZoneSeparation + value: '{{ enableZoneSeparation }}' + - name: satisfiesPzs + value: '{{ satisfiesPzs }}' + - name: workforceIdentityServiceEndpoint + value: '{{ workforceIdentityServiceEndpoint }}' + - name: patchRevision + value: '{{ patchRevision }}' + - name: dataplexDataLineageIntegrationEnabled + value: '{{ dataplexDataLineageIntegrationEnabled }}' + - name: maintenancePolicy + value: '{{ maintenancePolicy }}' + +``` + + + +## `UPDATE` example + +Updates a instance only if the necessary resources are available. + +```sql +UPDATE google.datafusion.instances +SET +name = '{{ name }}', +description = '{{ description }}', +type = '{{ type }}', +enableStackdriverLogging = true|false, +enableStackdriverMonitoring = true|false, +privateInstance = true|false, +networkConfig = '{{ networkConfig }}', +labels = '{{ labels }}', +options = '{{ options }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +state = '{{ state }}', +stateMessage = '{{ stateMessage }}', +serviceEndpoint = '{{ serviceEndpoint }}', +zone = '{{ zone }}', +version = '{{ version }}', +serviceAccount = '{{ serviceAccount }}', +displayName = '{{ displayName }}', +availableVersion = '{{ availableVersion }}', +apiEndpoint = '{{ apiEndpoint }}', +gcsBucket = '{{ gcsBucket }}', +accelerators = '{{ accelerators }}', +p4ServiceAccount = '{{ p4ServiceAccount }}', +tenantProjectId = '{{ tenantProjectId }}', +dataprocServiceAccount = '{{ dataprocServiceAccount }}', +enableRbac = true|false, +cryptoKeyConfig = '{{ cryptoKeyConfig }}', +disabledReason = '{{ disabledReason }}', +eventPublishConfig = '{{ eventPublishConfig }}', +enableZoneSeparation = true|false, +satisfiesPzs = true|false, +workforceIdentityServiceEndpoint = '{{ workforceIdentityServiceEndpoint }}', +patchRevision = '{{ patchRevision }}', +dataplexDataLineageIntegrationEnabled = true|false, +maintenancePolicy = '{{ maintenancePolicy }}' +WHERE +instancesId = '{{ instancesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified instance resource. + +```sql +DELETE FROM google.datafusion.instances +WHERE instancesId = '{{ instancesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/datafusion/instances_iam_policies/index.md b/docs/google-docs/providers/google/datafusion/instances_iam_policies/index.md index f48379719f..10e840bcf7 100644 --- a/docs/google-docs/providers/google/datafusion/instances_iam_policies/index.md +++ b/docs/google-docs/providers/google/datafusion/instances_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: instances_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - instances_iam_policies - datafusion - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an instances_iam_policy resource or lists instances_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | -| | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.datafusion.instances_iam_policies +WHERE instancesId = '{{ instancesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/datafusion/locations/index.md b/docs/google-docs/providers/google/datafusion/locations/index.md index 6672b25f6b..6d73ac25b6 100644 --- a/docs/google-docs/providers/google/datafusion/locations/index.md +++ b/docs/google-docs/providers/google/datafusion/locations/index.md @@ -1,3 +1,4 @@ + --- title: locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - locations - datafusion - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an location resource or lists locations in a region ## Overview
@@ -32,12 +34,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` | | | `string` | The friendly name for this location, typically a nearby city name. For example, "Tokyo". | -| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | +| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | | | `string` | The canonical id for this location. For example: `"us-east1"`. | | | `object` | Service-specific metadata. For example the available capacity at the given location. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about a location. | | | `SELECT` | | Lists information about the supported locations for this service. | -| | `EXEC` | | Lists information about the supported locations for this service. | + +## `SELECT` examples + +Lists information about the supported locations for this service. + +```sql +SELECT +name, +displayName, +labels, +locationId, +metadata +FROM google.datafusion.locations +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/datafusion/operations/index.md b/docs/google-docs/providers/google/datafusion/operations/index.md index e1a02a0b40..62a65fb18a 100644 --- a/docs/google-docs/providers/google/datafusion/operations/index.md +++ b/docs/google-docs/providers/google/datafusion/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - datafusion - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview
@@ -30,16 +32,43 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.datafusion.operations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified operation resource. + +```sql +DELETE FROM google.datafusion.operations +WHERE locationsId = '{{ locationsId }}' +AND operationsId = '{{ operationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/datafusion/versions/index.md b/docs/google-docs/providers/google/datafusion/versions/index.md index 315a03effd..d6a89988a0 100644 --- a/docs/google-docs/providers/google/datafusion/versions/index.md +++ b/docs/google-docs/providers/google/datafusion/versions/index.md @@ -1,3 +1,4 @@ + --- title: versions hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - versions - datafusion - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an version resource or lists versions in a region ## Overview
@@ -34,8 +36,23 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `boolean` | Whether this is currently the default version for Cloud Data Fusion | | | `string` | Type represents the release availability of the version | | | `string` | The version number of the Data Fusion instance, such as '6.0.1.0'. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists possible versions for Data Fusion instances in the specified project and location. | + +## `SELECT` examples + +Lists possible versions for Data Fusion instances in the specified project and location. + +```sql +SELECT +availableFeatures, +defaultVersion, +type, +versionNumber +FROM google.datafusion.versions +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/datalabeling/annotated_datasets/index.md b/docs/google-docs/providers/google/datalabeling/annotated_datasets/index.md index 714af660c7..31ccb4d094 100644 --- a/docs/google-docs/providers/google/datalabeling/annotated_datasets/index.md +++ b/docs/google-docs/providers/google/datalabeling/annotated_datasets/index.md @@ -1,3 +1,4 @@ + --- title: annotated_datasets hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - annotated_datasets - datalabeling - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an annotated_dataset resource or lists annotated_datasets in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. AnnotatedDataset resource name in format of: projects/{project_id}/datasets/{dataset_id}/annotatedDatasets/ {annotated_dataset_id} | +| | `string` | Output only. AnnotatedDataset resource name in format of: projects/{project_id}/datasets/{dataset_id}/annotatedDatasets/ {annotated_dataset_id} | | | `string` | Output only. The description of the AnnotatedDataset. It is specified in HumanAnnotationConfig when user starts a labeling task. Maximum of 10000 characters. | | | `string` | Output only. Source of the annotation. | | | `string` | Output only. Type of the annotation. It is specified when starting labeling task. | @@ -41,10 +43,43 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Number of examples in the annotated dataset. | | | `object` | Statistics about annotation specs. | | | `object` | Metadata on AnnotatedDataset. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets an annotated dataset by resource name. | | | `SELECT` | | Lists annotated datasets for a dataset. Pagination is supported. | | | `DELETE` | | Deletes an annotated dataset by resource name. | -| | `EXEC` | | Lists annotated datasets for a dataset. Pagination is supported. | + +## `SELECT` examples + +Lists annotated datasets for a dataset. Pagination is supported. + +```sql +SELECT +name, +description, +annotationSource, +annotationType, +blockingResources, +completedExampleCount, +createTime, +displayName, +exampleCount, +labelStats, +metadata +FROM google.datalabeling.annotated_datasets +WHERE datasetsId = '{{ datasetsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified annotated_dataset resource. + +```sql +DELETE FROM google.datalabeling.annotated_datasets +WHERE annotatedDatasetsId = '{{ annotatedDatasetsId }}' +AND datasetsId = '{{ datasetsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/datalabeling/annotation_spec_sets/index.md b/docs/google-docs/providers/google/datalabeling/annotation_spec_sets/index.md index 4a008f2ce7..f65b033547 100644 --- a/docs/google-docs/providers/google/datalabeling/annotation_spec_sets/index.md +++ b/docs/google-docs/providers/google/datalabeling/annotation_spec_sets/index.md @@ -1,3 +1,4 @@ + --- title: annotation_spec_sets hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - annotation_spec_sets - datalabeling - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an annotation_spec_set resource or lists annotation_spec_sets in a region ## Overview
@@ -30,11 +32,12 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. The AnnotationSpecSet resource name in the following format: "projects/{project_id}/annotationSpecSets/{annotation_spec_set_id}" | +| | `string` | Output only. The AnnotationSpecSet resource name in the following format: "projects/{project_id}/annotationSpecSets/{annotation_spec_set_id}" | | | `string` | Optional. User-provided description of the annotation specification set. The description can be up to 10,000 characters long. | | | `array` | Required. The array of AnnotationSpecs that you define when you create the AnnotationSpecSet. These are the possible labels for the labeling task. | | | `array` | Output only. The names of any related resources that are blocking changes to the annotation spec set. | | | `string` | Required. The display name for AnnotationSpecSet that you define when you create it. Maximum of 64 characters. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -42,4 +45,66 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists annotation spec sets for a project. Pagination is supported. | | | `INSERT` | | Creates an annotation spec set by providing a set of labels. | | | `DELETE` | | Deletes an annotation spec set by resource name. | -| | `EXEC` | | Lists annotation spec sets for a project. Pagination is supported. | + +## `SELECT` examples + +Lists annotation spec sets for a project. Pagination is supported. + +```sql +SELECT +name, +description, +annotationSpecs, +blockingResources, +displayName +FROM google.datalabeling.annotation_spec_sets +WHERE projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new annotation_spec_sets resource. + + + + +```sql +/*+ create */ +INSERT INTO google.datalabeling.annotation_spec_sets ( +projectsId, +annotationSpecSet +) +SELECT +'{{ projectsId }}', +'{{ annotationSpecSet }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: annotationSpecSet + value: '{{ annotationSpecSet }}' + +``` + + + +## `DELETE` example + +Deletes the specified annotation_spec_set resource. + +```sql +DELETE FROM google.datalabeling.annotation_spec_sets +WHERE annotationSpecSetsId = '{{ annotationSpecSetsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/datalabeling/data_items/index.md b/docs/google-docs/providers/google/datalabeling/data_items/index.md index 0b6b712faf..bc684c549a 100644 --- a/docs/google-docs/providers/google/datalabeling/data_items/index.md +++ b/docs/google-docs/providers/google/datalabeling/data_items/index.md @@ -1,3 +1,4 @@ + --- title: data_items hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - data_items - datalabeling - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an data_item resource or lists data_items in a region ## Overview
@@ -30,10 +32,11 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. Name of the data item, in format of: projects/{project_id}/datasets/{dataset_id}/dataItems/{data_item_id} | +| | `string` | Output only. Name of the data item, in format of: projects/{project_id}/datasets/{dataset_id}/dataItems/{data_item_id} | | | `object` | Container of information about an image. | | | `object` | Container of information about a piece of text. | | | `object` | Container of information of a video. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -41,5 +44,18 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists data items in a dataset. This API can be called after data are imported into dataset. Pagination is supported. | | | `SELECT` | | Gets a data item in a dataset by resource name. This API can be called after data are imported into dataset. | | | `SELECT` | | Lists data items in a dataset. This API can be called after data are imported into dataset. Pagination is supported. | -| | `EXEC` | | Lists data items in a dataset. This API can be called after data are imported into dataset. Pagination is supported. | -| | `EXEC` | | Lists data items in a dataset. This API can be called after data are imported into dataset. Pagination is supported. | + +## `SELECT` examples + +Lists data items in a dataset. This API can be called after data are imported into dataset. Pagination is supported. + +```sql +SELECT +name, +imagePayload, +textPayload, +videoPayload +FROM google.datalabeling.data_items +WHERE datasetsId = '{{ datasetsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/datalabeling/datasets/index.md b/docs/google-docs/providers/google/datalabeling/datasets/index.md index cbddb657db..c16e162b24 100644 --- a/docs/google-docs/providers/google/datalabeling/datasets/index.md +++ b/docs/google-docs/providers/google/datalabeling/datasets/index.md @@ -1,3 +1,4 @@ + --- title: datasets hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - datasets - datalabeling - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an dataset resource or lists datasets in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. Dataset resource name, format is: projects/{project_id}/datasets/{dataset_id} | +| | `string` | Output only. Dataset resource name, format is: projects/{project_id}/datasets/{dataset_id} | | | `string` | Optional. User-provided description of the annotation specification set. The description can be up to 10000 characters long. | | | `array` | Output only. The names of any related resources that are blocking changes to the dataset. | | | `string` | Output only. Time the dataset is created. | @@ -38,6 +40,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Required. The display name of the dataset. Maximum of 64 characters. | | | `array` | Output only. This is populated with the original input configs where ImportData is called. It is available only after the clients import data to this dataset. | | | `string` | Last time that the Dataset is migrated to AI Platform V2. If any of the AnnotatedDataset is migrated, the last_migration_time in Dataset is also updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -45,6 +48,71 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists datasets under a project. Pagination is supported. | | | `INSERT` | | Creates dataset. If success return a Dataset resource. | | | `DELETE` | | Deletes a dataset by resource name. | -| | `EXEC` | | Lists datasets under a project. Pagination is supported. | | | `EXEC` | | Exports data and annotations from dataset. | | | `EXEC` | | Imports data into dataset based on source locations defined in request. It can be called multiple times for the same dataset. Each dataset can only have one long running operation running on it. For example, no labeling task (also long running operation) can be started while importing is still ongoing. Vice versa. | + +## `SELECT` examples + +Lists datasets under a project. Pagination is supported. + +```sql +SELECT +name, +description, +blockingResources, +createTime, +dataItemCount, +displayName, +inputConfigs, +lastMigrateTime +FROM google.datalabeling.datasets +WHERE projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new datasets resource. + + + + +```sql +/*+ create */ +INSERT INTO google.datalabeling.datasets ( +projectsId, +dataset +) +SELECT +'{{ projectsId }}', +'{{ dataset }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: dataset + value: '{{ dataset }}' + +``` + + + +## `DELETE` example + +Deletes the specified dataset resource. + +```sql +DELETE FROM google.datalabeling.datasets +WHERE datasetsId = '{{ datasetsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/datalabeling/evaluation_jobs/index.md b/docs/google-docs/providers/google/datalabeling/evaluation_jobs/index.md index 033d884f11..ffdc67b5bc 100644 --- a/docs/google-docs/providers/google/datalabeling/evaluation_jobs/index.md +++ b/docs/google-docs/providers/google/datalabeling/evaluation_jobs/index.md @@ -1,3 +1,4 @@ + --- title: evaluation_jobs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - evaluation_jobs - datalabeling - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an evaluation_job resource or lists evaluation_jobs in a region ## Overview
@@ -30,16 +32,17 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. After you create a job, Data Labeling Service assigns a name to the job with the following format: "projects/{project_id}/evaluationJobs/ {evaluation_job_id}" | +| | `string` | Output only. After you create a job, Data Labeling Service assigns a name to the job with the following format: "projects/{project_id}/evaluationJobs/ {evaluation_job_id}" | | | `string` | Required. Description of the job. The description can be up to 25,000 characters long. | -| | `string` | Required. Name of the AnnotationSpecSet describing all the labels that your machine learning model outputs. You must create this resource before you create an evaluation job and provide its name in the following format: "projects/{project_id}/annotationSpecSets/{annotation_spec_set_id}" | +| | `string` | Required. Name of the AnnotationSpecSet describing all the labels that your machine learning model outputs. You must create this resource before you create an evaluation job and provide its name in the following format: "projects/{project_id}/annotationSpecSets/{annotation_spec_set_id}" | | | `array` | Output only. Every time the evaluation job runs and an error occurs, the failed attempt is appended to this array. | | | `string` | Output only. Timestamp of when this evaluation job was created. | | | `object` | Configures specific details of how a continuous evaluation job works. Provide this configuration when you create an EvaluationJob. | | | `boolean` | Required. Whether you want Data Labeling Service to provide ground truth labels for prediction input. If you want the service to assign human labelers to annotate your data, set this to `true`. If you want to provide your own ground truth labels in the evaluation job's BigQuery table, set this to `false`. | -| | `string` | Required. The [AI Platform Prediction model version](/ml-engine/docs/prediction-overview) to be evaluated. Prediction input and output is sampled from this model version. When creating an evaluation job, specify the model version in the following format: "projects/{project_id}/models/{model_name}/versions/{version_name}" There can only be one evaluation job per model version. | +| | `string` | Required. The [AI Platform Prediction model version](/ml-engine/docs/prediction-overview) to be evaluated. Prediction input and output is sampled from this model version. When creating an evaluation job, specify the model version in the following format: "projects/{project_id}/models/{model_name}/versions/{version_name}" There can only be one evaluation job per model version. | | | `string` | Required. Describes the interval at which the job runs. This interval must be at least 1 day, and it is rounded to the nearest day. For example, if you specify a 50-hour interval, the job runs every 2 days. You can provide the schedule in [crontab format](/scheduler/docs/configuring/cron-job-schedules) or in an [English-like format](/appengine/docs/standard/python/config/cronref#schedule_format). Regardless of what you specify, the job will run at 10:00 AM UTC. Only the interval from this schedule is used, not the specific time of day. | | | `string` | Output only. Describes the current state of the job. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -48,6 +51,95 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates an evaluation job. | | | `DELETE` | | Stops and deletes an evaluation job. | | | `UPDATE` | | Updates an evaluation job. You can only update certain fields of the job's EvaluationJobConfig: `humanAnnotationConfig.instruction`, `exampleCount`, and `exampleSamplePercentage`. If you want to change any other aspect of the evaluation job, you must delete the job and create a new one. | -| | `EXEC` | | Lists all evaluation jobs within a project with possible filters. Pagination is supported. | | | `EXEC` | | Pauses an evaluation job. Pausing an evaluation job that is already in a `PAUSED` state is a no-op. | | | `EXEC` | | Resumes a paused evaluation job. A deleted evaluation job can't be resumed. Resuming a running or scheduled evaluation job is a no-op. | + +## `SELECT` examples + +Lists all evaluation jobs within a project with possible filters. Pagination is supported. + +```sql +SELECT +name, +description, +annotationSpecSet, +attempts, +createTime, +evaluationJobConfig, +labelMissingGroundTruth, +modelVersion, +schedule, +state +FROM google.datalabeling.evaluation_jobs +WHERE projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new evaluation_jobs resource. + + + + +```sql +/*+ create */ +INSERT INTO google.datalabeling.evaluation_jobs ( +projectsId, +job +) +SELECT +'{{ projectsId }}', +'{{ job }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: job + value: '{{ job }}' + +``` + + + +## `UPDATE` example + +Updates a evaluation_job only if the necessary resources are available. + +```sql +UPDATE google.datalabeling.evaluation_jobs +SET +name = '{{ name }}', +description = '{{ description }}', +state = '{{ state }}', +schedule = '{{ schedule }}', +modelVersion = '{{ modelVersion }}', +evaluationJobConfig = '{{ evaluationJobConfig }}', +annotationSpecSet = '{{ annotationSpecSet }}', +labelMissingGroundTruth = true|false, +attempts = '{{ attempts }}', +createTime = '{{ createTime }}' +WHERE +evaluationJobsId = '{{ evaluationJobsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified evaluation_job resource. + +```sql +DELETE FROM google.datalabeling.evaluation_jobs +WHERE evaluationJobsId = '{{ evaluationJobsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/datalabeling/evaluations/index.md b/docs/google-docs/providers/google/datalabeling/evaluations/index.md index 11bd23e1ab..b5a6a6d624 100644 --- a/docs/google-docs/providers/google/datalabeling/evaluations/index.md +++ b/docs/google-docs/providers/google/datalabeling/evaluations/index.md @@ -1,3 +1,4 @@ + --- title: evaluations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - evaluations - datalabeling - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an evaluation resource or lists evaluations in a region ## Overview
@@ -30,15 +32,35 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. Resource name of an evaluation. The name has the following format: "projects/{project_id}/datasets/{dataset_id}/evaluations/ {evaluation_id}' | +| | `string` | Output only. Resource name of an evaluation. The name has the following format: "projects/{project_id}/datasets/{dataset_id}/evaluations/ {evaluation_id}' | | | `string` | Output only. Type of task that the model version being evaluated performs, as defined in the evaluationJobConfig.inputConfig.annotationType field of the evaluation job that created this evaluation. | | | `object` | Configuration details used for calculating evaluation metrics and creating an Evaluation. | | | `string` | Output only. Timestamp for when this evaluation was created. | | | `string` | Output only. The number of items in the ground truth dataset that were used for this evaluation. Only populated when the evaulation is for certain AnnotationTypes. | | | `string` | Output only. Timestamp for when the evaluation job that created this evaluation ran. | | | `object` | | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets an evaluation by resource name (to search, use projects.evaluations.search). | | | `EXEC` | | Searches evaluations within a project. | + +## `SELECT` examples + +Gets an evaluation by resource name (to search, use projects.evaluations.search). + +```sql +SELECT +name, +annotationType, +config, +createTime, +evaluatedItemCount, +evaluationJobRunTime, +evaluationMetrics +FROM google.datalabeling.evaluations +WHERE datasetsId = '{{ datasetsId }}' +AND evaluationsId = '{{ evaluationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/datalabeling/example_comparisons/index.md b/docs/google-docs/providers/google/datalabeling/example_comparisons/index.md index 01a25324dd..e5b20f5126 100644 --- a/docs/google-docs/providers/google/datalabeling/example_comparisons/index.md +++ b/docs/google-docs/providers/google/datalabeling/example_comparisons/index.md @@ -1,3 +1,4 @@ + --- title: example_comparisons hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - example_comparisons - datalabeling - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an example_comparison resource or lists example_comparisons in a region ## Overview
@@ -28,8 +30,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Searches example comparisons from an evaluation. The return format is a list of example comparisons that show ground truth and prediction(s) for a single input. Search by providing an evaluation ID. | diff --git a/docs/google-docs/providers/google/datalabeling/examples/index.md b/docs/google-docs/providers/google/datalabeling/examples/index.md index 9753db15ea..262c44de73 100644 --- a/docs/google-docs/providers/google/datalabeling/examples/index.md +++ b/docs/google-docs/providers/google/datalabeling/examples/index.md @@ -1,3 +1,4 @@ + --- title: examples hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - examples - datalabeling - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an example resource or lists examples in a region ## Overview @@ -30,14 +32,31 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. Name of the example, in format of: projects/{project_id}/datasets/{dataset_id}/annotatedDatasets/ {annotated_dataset_id}/examples/{example_id} | +| | `string` | Output only. Name of the example, in format of: projects/{project_id}/datasets/{dataset_id}/annotatedDatasets/ {annotated_dataset_id}/examples/{example_id} | | | `array` | Output only. Annotations for the piece of data in Example. One piece of data can have multiple annotations. | | | `object` | Container of information about an image. | | | `object` | Container of information about a piece of text. | | | `object` | Container of information of a video. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets an example by resource name, including both data and annotation. | | | `SELECT` | | Lists examples in an annotated dataset. Pagination is supported. | -| | `EXEC` | | Lists examples in an annotated dataset. Pagination is supported. | + +## `SELECT` examples + +Lists examples in an annotated dataset. Pagination is supported. + +```sql +SELECT +name, +annotations, +imagePayload, +textPayload, +videoPayload +FROM google.datalabeling.examples +WHERE annotatedDatasetsId = '{{ annotatedDatasetsId }}' +AND datasetsId = '{{ datasetsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/datalabeling/feedback_messages/index.md b/docs/google-docs/providers/google/datalabeling/feedback_messages/index.md index 492ae3872e..d0904e8ca0 100644 --- a/docs/google-docs/providers/google/datalabeling/feedback_messages/index.md +++ b/docs/google-docs/providers/google/datalabeling/feedback_messages/index.md @@ -1,3 +1,4 @@ + --- title: feedback_messages hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - feedback_messages - datalabeling - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an feedback_message resource or lists feedback_messages in a region ## Overview
@@ -30,12 +32,13 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Name of the feedback message in a feedback thread. Format: 'project/{project_id}/datasets/{dataset_id}/annotatedDatasets/{annotated_dataset_id}/feedbackThreads/{feedback_thread_id}/feedbackMessage/{feedback_message_id}' | +| | `string` | Name of the feedback message in a feedback thread. Format: 'project/{project_id}/datasets/{dataset_id}/annotatedDatasets/{annotated_dataset_id}/feedbackThreads/{feedback_thread_id}/feedbackMessage/{feedback_message_id}' | | | `string` | String content of the feedback. Maximum of 10000 characters. | | | `string` | Create time. | | | `string` | The image storing this feedback if the feedback is an image representing operator's comments. | | | `object` | Metadata describing the feedback from the operator. | | | `object` | Metadata describing the feedback from the labeling task requester. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -43,4 +46,99 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | List FeedbackMessages with pagination. | | | `INSERT` | | Create a FeedbackMessage object. | | | `DELETE` | | Delete a FeedbackMessage. | -| | `EXEC` | | List FeedbackMessages with pagination. | + +## `SELECT` examples + +List FeedbackMessages with pagination. + +```sql +SELECT +name, +body, +createTime, +image, +operatorFeedbackMetadata, +requesterFeedbackMetadata +FROM google.datalabeling.feedback_messages +WHERE annotatedDatasetsId = '{{ annotatedDatasetsId }}' +AND datasetsId = '{{ datasetsId }}' +AND feedbackThreadsId = '{{ feedbackThreadsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new feedback_messages resource. + + + + +```sql +/*+ create */ +INSERT INTO google.datalabeling.feedback_messages ( +annotatedDatasetsId, +datasetsId, +feedbackThreadsId, +projectsId, +requesterFeedbackMetadata, +operatorFeedbackMetadata, +name, +body, +image, +createTime +) +SELECT +'{{ annotatedDatasetsId }}', +'{{ datasetsId }}', +'{{ feedbackThreadsId }}', +'{{ projectsId }}', +'{{ requesterFeedbackMetadata }}', +'{{ operatorFeedbackMetadata }}', +'{{ name }}', +'{{ body }}', +'{{ image }}', +'{{ createTime }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: requesterFeedbackMetadata + value: '{{ requesterFeedbackMetadata }}' + - name: operatorFeedbackMetadata + value: '{{ operatorFeedbackMetadata }}' + - name: name + value: '{{ name }}' + - name: body + value: '{{ body }}' + - name: image + value: '{{ image }}' + - name: createTime + value: '{{ createTime }}' + +``` + + + +## `DELETE` example + +Deletes the specified feedback_message resource. + +```sql +DELETE FROM google.datalabeling.feedback_messages +WHERE annotatedDatasetsId = '{{ annotatedDatasetsId }}' +AND datasetsId = '{{ datasetsId }}' +AND feedbackMessagesId = '{{ feedbackMessagesId }}' +AND feedbackThreadsId = '{{ feedbackThreadsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/datalabeling/feedback_threads/index.md b/docs/google-docs/providers/google/datalabeling/feedback_threads/index.md index c2e0759823..cc2bf5ed5b 100644 --- a/docs/google-docs/providers/google/datalabeling/feedback_threads/index.md +++ b/docs/google-docs/providers/google/datalabeling/feedback_threads/index.md @@ -1,3 +1,4 @@ + --- title: feedback_threads hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - feedback_threads - datalabeling - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an feedback_thread resource or lists feedback_threads in a region ## Overview
@@ -30,12 +32,38 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Name of the feedback thread. Format: 'project/{project_id}/datasets/{dataset_id}/annotatedDatasets/{annotated_dataset_id}/feedbackThreads/{feedback_thread_id}' | +| | `string` | Name of the feedback thread. Format: 'project/{project_id}/datasets/{dataset_id}/annotatedDatasets/{annotated_dataset_id}/feedbackThreads/{feedback_thread_id}' | | | `object` | | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Get a FeedbackThread object. | | | `SELECT` | | List FeedbackThreads with pagination. | | | `DELETE` | | Delete a FeedbackThread. | -| | `EXEC` | | List FeedbackThreads with pagination. | + +## `SELECT` examples + +List FeedbackThreads with pagination. + +```sql +SELECT +name, +feedbackThreadMetadata +FROM google.datalabeling.feedback_threads +WHERE annotatedDatasetsId = '{{ annotatedDatasetsId }}' +AND datasetsId = '{{ datasetsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified feedback_thread resource. + +```sql +DELETE FROM google.datalabeling.feedback_threads +WHERE annotatedDatasetsId = '{{ annotatedDatasetsId }}' +AND datasetsId = '{{ datasetsId }}' +AND feedbackThreadsId = '{{ feedbackThreadsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/datalabeling/image/index.md b/docs/google-docs/providers/google/datalabeling/image/index.md index f41cff562c..b4872116c2 100644 --- a/docs/google-docs/providers/google/datalabeling/image/index.md +++ b/docs/google-docs/providers/google/datalabeling/image/index.md @@ -1,3 +1,4 @@ + --- title: image hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - image - datalabeling - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an image resource or lists image in a region ## Overview
@@ -28,8 +30,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Starts a labeling task for image. The type of image labeling task is configured by feature in the request. | diff --git a/docs/google-docs/providers/google/datalabeling/index.md b/docs/google-docs/providers/google/datalabeling/index.md index 61611f5fd1..4730a0c912 100644 --- a/docs/google-docs/providers/google/datalabeling/index.md +++ b/docs/google-docs/providers/google/datalabeling/index.md @@ -9,34 +9,23 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Public API for Google Cloud AI Data Labeling Service. - +The datalabeling service documentation. + :::info Service Summary
total resources: 15
-total selectable resources: 11
-total methods: 58
::: -## Overview - - - - - - -
Namegoogle.datalabeling
TypeService
TitleData Labeling API
DescriptionPublic API for Google Cloud AI Data Labeling Service.
Iddatalabeling:v24.06.00236
- ## Resources
@@ -47,7 +36,7 @@ Public API for Google Cloud AI Data Labeling Service. evaluation_jobs
evaluations
example_comparisons
-examples
+examples
feedback_messages
@@ -56,6 +45,6 @@ Public API for Google Cloud AI Data Labeling Service. instructions
operations
text
-video
-
+video
+ \ No newline at end of file diff --git a/docs/google-docs/providers/google/datalabeling/instructions/index.md b/docs/google-docs/providers/google/datalabeling/instructions/index.md index 644a89b7ae..6bd2f958c0 100644 --- a/docs/google-docs/providers/google/datalabeling/instructions/index.md +++ b/docs/google-docs/providers/google/datalabeling/instructions/index.md @@ -1,3 +1,4 @@ + --- title: instructions hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - instructions - datalabeling - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an instruction resource or lists instructions in a region ## Overview @@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. Instruction resource name, format: projects/{project_id}/instructions/{instruction_id} | +| | `string` | Output only. Instruction resource name, format: projects/{project_id}/instructions/{instruction_id} | | | `string` | Optional. User-provided description of the instruction. The description can be up to 10000 characters long. | | | `array` | Output only. The names of any related resources that are blocking changes to the instruction. | | | `string` | Output only. Creation time of instruction. | @@ -39,6 +41,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Required. The display name of the instruction. Maximum of 64 characters. | | | `object` | Instruction from a PDF file. | | | `string` | Output only. Last update time of instruction. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -46,4 +49,70 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists instructions for a project. Pagination is supported. | | | `INSERT` | | Creates an instruction for how data should be labeled. | | | `DELETE` | | Deletes an instruction object by resource name. | -| | `EXEC` | | Lists instructions for a project. Pagination is supported. | + +## `SELECT` examples + +Lists instructions for a project. Pagination is supported. + +```sql +SELECT +name, +description, +blockingResources, +createTime, +csvInstruction, +dataType, +displayName, +pdfInstruction, +updateTime +FROM google.datalabeling.instructions +WHERE projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new instructions resource. + + + + +```sql +/*+ create */ +INSERT INTO google.datalabeling.instructions ( +projectsId, +instruction +) +SELECT +'{{ projectsId }}', +'{{ instruction }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: instruction + value: '{{ instruction }}' + +``` + + + +## `DELETE` example + +Deletes the specified instruction resource. + +```sql +DELETE FROM google.datalabeling.instructions +WHERE instructionsId = '{{ instructionsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/datalabeling/operations/index.md b/docs/google-docs/providers/google/datalabeling/operations/index.md index 255cd615e6..e9ed1ac61b 100644 --- a/docs/google-docs/providers/google/datalabeling/operations/index.md +++ b/docs/google-docs/providers/google/datalabeling/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - datalabeling - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview
@@ -30,16 +32,41 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.datalabeling.operations +WHERE projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified operation resource. + +```sql +DELETE FROM google.datalabeling.operations +WHERE operationsId = '{{ operationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/datalabeling/text/index.md b/docs/google-docs/providers/google/datalabeling/text/index.md index 1e74a6bcf5..ab64144401 100644 --- a/docs/google-docs/providers/google/datalabeling/text/index.md +++ b/docs/google-docs/providers/google/datalabeling/text/index.md @@ -1,3 +1,4 @@ + --- title: text hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - text - datalabeling - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an text resource or lists text in a region ## Overview
@@ -28,8 +30,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Starts a labeling task for text. The type of text labeling task is configured by feature in the request. | diff --git a/docs/google-docs/providers/google/datalabeling/video/index.md b/docs/google-docs/providers/google/datalabeling/video/index.md index 3dac859605..e84f2845e9 100644 --- a/docs/google-docs/providers/google/datalabeling/video/index.md +++ b/docs/google-docs/providers/google/datalabeling/video/index.md @@ -1,3 +1,4 @@ + --- title: video hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - video - datalabeling - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an video resource or lists video in a region ## Overview @@ -28,8 +30,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Starts a labeling task for video. The type of video labeling task is configured by feature in the request. | diff --git a/docs/google-docs/providers/google/datalineage/index.md b/docs/google-docs/providers/google/datalineage/index.md index 7879670732..6bbfe40215 100644 --- a/docs/google-docs/providers/google/datalineage/index.md +++ b/docs/google-docs/providers/google/datalineage/index.md @@ -9,43 +9,32 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- - - +The datalineage service documentation. + :::info Service Summary
total resources: 5
-total selectable resources: 4
-total methods: 25
::: -## Overview - - - - - - -
Namegoogle.datalineage
TypeService
TitleData Lineage API
Description
Iddatalineage:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/datalineage/lineage_events/index.md b/docs/google-docs/providers/google/datalineage/lineage_events/index.md index 8f159b9599..b6ecf7422f 100644 --- a/docs/google-docs/providers/google/datalineage/lineage_events/index.md +++ b/docs/google-docs/providers/google/datalineage/lineage_events/index.md @@ -1,3 +1,4 @@ + --- title: lineage_events hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - lineage_events - datalineage - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an lineage_event resource or lists lineage_events in a region ## Overview @@ -30,10 +32,11 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Immutable. The resource name of the lineage event. Format: `projects/{project}/locations/{location}/processes/{process}/runs/{run}/lineageEvents/{lineage_event}`. Can be specified or auto-assigned. {lineage_event} must be not longer than 200 characters and only contain characters in a set: `a-zA-Z0-9_-:.` | +| | `string` | Immutable. The resource name of the lineage event. Format: `projects/{project}/locations/{location}/processes/{process}/runs/{run}/lineageEvents/{lineage_event}`. Can be specified or auto-assigned. {lineage_event} must be not longer than 200 characters and only contain characters in a set: `a-zA-Z0-9_-:.` | | | `string` | Optional. The end of the transformation which resulted in this lineage event. For streaming scenarios, it should be the end of the period from which the lineage is being reported. | | | `array` | Optional. List of source-target pairs. Can't contain more than 100 tuples. | | | `string` | Required. The beginning of the transformation which resulted in this lineage event. For streaming scenarios, it should be the beginning of the period from which the lineage is being reported. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -41,4 +44,89 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists lineage events in the given project and location. The list order is not defined. | | | `INSERT` | | Creates a new lineage event. | | | `DELETE` | | Deletes the lineage event with the specified name. | -| | `EXEC` | | Lists lineage events in the given project and location. The list order is not defined. | + +## `SELECT` examples + +Lists lineage events in the given project and location. The list order is not defined. + +```sql +SELECT +name, +endTime, +links, +startTime +FROM google.datalineage.lineage_events +WHERE locationsId = '{{ locationsId }}' +AND processesId = '{{ processesId }}' +AND projectsId = '{{ projectsId }}' +AND runsId = '{{ runsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new lineage_events resource. + + + + +```sql +/*+ create */ +INSERT INTO google.datalineage.lineage_events ( +locationsId, +processesId, +projectsId, +runsId, +startTime, +links, +name, +endTime +) +SELECT +'{{ locationsId }}', +'{{ processesId }}', +'{{ projectsId }}', +'{{ runsId }}', +'{{ startTime }}', +'{{ links }}', +'{{ name }}', +'{{ endTime }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: startTime + value: '{{ startTime }}' + - name: links + value: '{{ links }}' + - name: name + value: '{{ name }}' + - name: endTime + value: '{{ endTime }}' + +``` + + + +## `DELETE` example + +Deletes the specified lineage_event resource. + +```sql +DELETE FROM google.datalineage.lineage_events +WHERE lineageEventsId = '{{ lineageEventsId }}' +AND locationsId = '{{ locationsId }}' +AND processesId = '{{ processesId }}' +AND projectsId = '{{ projectsId }}' +AND runsId = '{{ runsId }}'; +``` diff --git a/docs/google-docs/providers/google/datalineage/locations/index.md b/docs/google-docs/providers/google/datalineage/locations/index.md index f657ad409c..d78c61c6b5 100644 --- a/docs/google-docs/providers/google/datalineage/locations/index.md +++ b/docs/google-docs/providers/google/datalineage/locations/index.md @@ -1,3 +1,4 @@ + --- title: locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - locations - datalineage - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an location resource or lists locations in a region ## Overview
@@ -28,7 +30,9 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| diff --git a/docs/google-docs/providers/google/datalineage/operations/index.md b/docs/google-docs/providers/google/datalineage/operations/index.md index bbfa3c8fe9..0fe4e0719d 100644 --- a/docs/google-docs/providers/google/datalineage/operations/index.md +++ b/docs/google-docs/providers/google/datalineage/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - datalineage - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview @@ -30,16 +32,43 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.datalineage.operations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified operation resource. + +```sql +DELETE FROM google.datalineage.operations +WHERE locationsId = '{{ locationsId }}' +AND operationsId = '{{ operationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/datalineage/processes/index.md b/docs/google-docs/providers/google/datalineage/processes/index.md index 5b1017f165..4986b07d1c 100644 --- a/docs/google-docs/providers/google/datalineage/processes/index.md +++ b/docs/google-docs/providers/google/datalineage/processes/index.md @@ -1,3 +1,4 @@ + --- title: processes hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - processes - datalineage - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an process resource or lists processes in a region ## Overview
@@ -30,10 +32,11 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Immutable. The resource name of the lineage process. Format: `projects/{project}/locations/{location}/processes/{process}`. Can be specified or auto-assigned. {process} must be not longer than 200 characters and only contain characters in a set: `a-zA-Z0-9_-:.` | +| | `string` | Immutable. The resource name of the lineage process. Format: `projects/{project}/locations/{location}/processes/{process}`. Can be specified or auto-assigned. {process} must be not longer than 200 characters and only contain characters in a set: `a-zA-Z0-9_-:.` | | | `object` | Optional. The attributes of the process. Should only be used for the purpose of non-semantic management (classifying, describing or labeling the process). Up to 100 attributes are allowed. | | | `string` | Optional. A human-readable name you can set to display in a user interface. Must be not longer than 200 characters and only contain UTF-8 letters or numbers, spaces or characters like `_-:&.` | | | `object` | Origin of a process. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -42,4 +45,98 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new process. | | | `DELETE` | | Deletes the process with the specified name. | | | `UPDATE` | | Updates a process. | -| | `EXEC` | | List processes in the given project and location. List order is descending by insertion time. | + +## `SELECT` examples + +List processes in the given project and location. List order is descending by insertion time. + +```sql +SELECT +name, +attributes, +displayName, +origin +FROM google.datalineage.processes +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new processes resource. + + + + +```sql +/*+ create */ +INSERT INTO google.datalineage.processes ( +locationsId, +projectsId, +name, +displayName, +origin, +attributes +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ displayName }}', +'{{ origin }}', +'{{ attributes }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: origin + value: '{{ origin }}' + - name: attributes + value: '{{ attributes }}' + +``` + + + +## `UPDATE` example + +Updates a process only if the necessary resources are available. + +```sql +UPDATE google.datalineage.processes +SET +name = '{{ name }}', +displayName = '{{ displayName }}', +origin = '{{ origin }}', +attributes = '{{ attributes }}' +WHERE +locationsId = '{{ locationsId }}' +AND processesId = '{{ processesId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified process resource. + +```sql +DELETE FROM google.datalineage.processes +WHERE locationsId = '{{ locationsId }}' +AND processesId = '{{ processesId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/datalineage/runs/index.md b/docs/google-docs/providers/google/datalineage/runs/index.md index 351f6c368e..18c3f31784 100644 --- a/docs/google-docs/providers/google/datalineage/runs/index.md +++ b/docs/google-docs/providers/google/datalineage/runs/index.md @@ -1,3 +1,4 @@ + --- title: runs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - runs - datalineage - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an run resource or lists runs in a region ## Overview
@@ -30,12 +32,13 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Immutable. The resource name of the run. Format: `projects/{project}/locations/{location}/processes/{process}/runs/{run}`. Can be specified or auto-assigned. {run} must be not longer than 200 characters and only contain characters in a set: `a-zA-Z0-9_-:.` | +| | `string` | Immutable. The resource name of the run. Format: `projects/{project}/locations/{location}/processes/{process}/runs/{run}`. Can be specified or auto-assigned. {run} must be not longer than 200 characters and only contain characters in a set: `a-zA-Z0-9_-:.` | | | `object` | Optional. The attributes of the run. Should only be used for the purpose of non-semantic management (classifying, describing or labeling the run). Up to 100 attributes are allowed. | | | `string` | Optional. A human-readable name you can set to display in a user interface. Must be not longer than 1024 characters and only contain UTF-8 letters or numbers, spaces or characters like `_-:&.` | | | `string` | Optional. The timestamp of the end of the run. | | | `string` | Required. The timestamp of the start of the run. | | | `string` | Required. The state of the run. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -44,4 +47,115 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new run. | | | `DELETE` | | Deletes the run with the specified name. | | | `UPDATE` | | Updates a run. | -| | `EXEC` | | Lists runs in the given project and location. List order is descending by `start_time`. | + +## `SELECT` examples + +Lists runs in the given project and location. List order is descending by `start_time`. + +```sql +SELECT +name, +attributes, +displayName, +endTime, +startTime, +state +FROM google.datalineage.runs +WHERE locationsId = '{{ locationsId }}' +AND processesId = '{{ processesId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new runs resource. + + + + +```sql +/*+ create */ +INSERT INTO google.datalineage.runs ( +locationsId, +processesId, +projectsId, +attributes, +startTime, +endTime, +name, +state, +displayName +) +SELECT +'{{ locationsId }}', +'{{ processesId }}', +'{{ projectsId }}', +'{{ attributes }}', +'{{ startTime }}', +'{{ endTime }}', +'{{ name }}', +'{{ state }}', +'{{ displayName }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: attributes + value: '{{ attributes }}' + - name: startTime + value: '{{ startTime }}' + - name: endTime + value: '{{ endTime }}' + - name: name + value: '{{ name }}' + - name: state + value: '{{ state }}' + - name: displayName + value: '{{ displayName }}' + +``` + + + +## `UPDATE` example + +Updates a run only if the necessary resources are available. + +```sql +UPDATE google.datalineage.runs +SET +attributes = '{{ attributes }}', +startTime = '{{ startTime }}', +endTime = '{{ endTime }}', +name = '{{ name }}', +state = '{{ state }}', +displayName = '{{ displayName }}' +WHERE +locationsId = '{{ locationsId }}' +AND processesId = '{{ processesId }}' +AND projectsId = '{{ projectsId }}' +AND runsId = '{{ runsId }}'; +``` + +## `DELETE` example + +Deletes the specified run resource. + +```sql +DELETE FROM google.datalineage.runs +WHERE locationsId = '{{ locationsId }}' +AND processesId = '{{ processesId }}' +AND projectsId = '{{ projectsId }}' +AND runsId = '{{ runsId }}'; +``` diff --git a/docs/google-docs/providers/google/datamigration/connection_profiles/index.md b/docs/google-docs/providers/google/datamigration/connection_profiles/index.md index 7331124b8c..9c376f5f7b 100644 --- a/docs/google-docs/providers/google/datamigration/connection_profiles/index.md +++ b/docs/google-docs/providers/google/datamigration/connection_profiles/index.md @@ -1,3 +1,4 @@ + --- title: connection_profiles hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - connection_profiles - datamigration - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an connection_profile resource or lists connection_profiles in a region ## Overview
@@ -30,13 +32,13 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The name of this connection profile resource in the form of projects/{project}/locations/{location}/connectionProfiles/{connectionProfile}. | +| | `string` | The name of this connection profile resource in the form of projects/{project}/locations/{location}/connectionProfiles/{connectionProfile}. | | | `object` | Specifies required connection parameters, and the parameters required to create an AlloyDB destination cluster. | | | `object` | Specifies required connection parameters, and, optionally, the parameters required to create a Cloud SQL destination database instance. | | | `string` | Output only. The timestamp when the resource was created. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z". | | | `string` | The connection profile display name. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | -| | `object` | The resource labels for connection profile to use to annotate any related underlying resources such as Compute Engine VMs. An object containing a list of "key": "value" pairs. Example: `{ "name": "wrench", "mass": "1.3kg", "count": "3" }`. | +| | `object` | The resource labels for connection profile to use to annotate any related underlying resources such as Compute Engine VMs. An object containing a list of "key": "value" pairs. Example: `{ "name": "wrench", "mass": "1.3kg", "count": "3" }`. | | | `object` | Specifies connection parameters required specifically for MySQL databases. | | | `object` | Specifies connection parameters required specifically for Oracle databases. | | | `object` | Specifies connection parameters required specifically for PostgreSQL databases. | @@ -44,6 +46,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Specifies connection parameters required specifically for SQL Server databases. | | | `string` | The current connection profile state (e.g. DRAFT, READY, or FAILED). | | | `string` | Output only. The timestamp when the resource was last updated. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z". | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -52,4 +55,158 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new connection profile in a given project and location. | | | `DELETE` | | Deletes a single Database Migration Service connection profile. A connection profile can only be deleted if it is not in use by any active migration jobs. | | | `UPDATE` | | Update the configuration of a single connection profile. | -| | `EXEC` | | Retrieves a list of all connection profiles in a given project and location. | + +## `SELECT` examples + +Retrieves a list of all connection profiles in a given project and location. + +```sql +SELECT +name, +alloydb, +cloudsql, +createTime, +displayName, +error, +labels, +mysql, +oracle, +postgresql, +provider, +sqlserver, +state, +updateTime +FROM google.datamigration.connection_profiles +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new connection_profiles resource. + + + + +```sql +/*+ create */ +INSERT INTO google.datamigration.connection_profiles ( +locationsId, +projectsId, +name, +createTime, +updateTime, +labels, +state, +displayName, +mysql, +postgresql, +sqlserver, +oracle, +cloudsql, +alloydb, +error, +provider +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ labels }}', +'{{ state }}', +'{{ displayName }}', +'{{ mysql }}', +'{{ postgresql }}', +'{{ sqlserver }}', +'{{ oracle }}', +'{{ cloudsql }}', +'{{ alloydb }}', +'{{ error }}', +'{{ provider }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: labels + value: '{{ labels }}' + - name: state + value: '{{ state }}' + - name: displayName + value: '{{ displayName }}' + - name: mysql + value: '{{ mysql }}' + - name: postgresql + value: '{{ postgresql }}' + - name: sqlserver + value: '{{ sqlserver }}' + - name: oracle + value: '{{ oracle }}' + - name: cloudsql + value: '{{ cloudsql }}' + - name: alloydb + value: '{{ alloydb }}' + - name: error + value: '{{ error }}' + - name: provider + value: '{{ provider }}' + +``` + + + +## `UPDATE` example + +Updates a connection_profile only if the necessary resources are available. + +```sql +UPDATE google.datamigration.connection_profiles +SET +name = '{{ name }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +labels = '{{ labels }}', +state = '{{ state }}', +displayName = '{{ displayName }}', +mysql = '{{ mysql }}', +postgresql = '{{ postgresql }}', +sqlserver = '{{ sqlserver }}', +oracle = '{{ oracle }}', +cloudsql = '{{ cloudsql }}', +alloydb = '{{ alloydb }}', +error = '{{ error }}', +provider = '{{ provider }}' +WHERE +connectionProfilesId = '{{ connectionProfilesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified connection_profile resource. + +```sql +DELETE FROM google.datamigration.connection_profiles +WHERE connectionProfilesId = '{{ connectionProfilesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/datamigration/connection_profiles_iam_policies/index.md b/docs/google-docs/providers/google/datamigration/connection_profiles_iam_policies/index.md index 33763f3671..3cf25d0605 100644 --- a/docs/google-docs/providers/google/datamigration/connection_profiles_iam_policies/index.md +++ b/docs/google-docs/providers/google/datamigration/connection_profiles_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: connection_profiles_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - connection_profiles_iam_policies - datamigration - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an connection_profiles_iam_policy resource or lists connection_profiles_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.datamigration.connection_profiles_iam_policies +WHERE connectionProfilesId = '{{ connectionProfilesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/datamigration/conversion_workspaces/index.md b/docs/google-docs/providers/google/datamigration/conversion_workspaces/index.md index 2124edff27..c38b32a93a 100644 --- a/docs/google-docs/providers/google/datamigration/conversion_workspaces/index.md +++ b/docs/google-docs/providers/google/datamigration/conversion_workspaces/index.md @@ -1,3 +1,4 @@ + --- title: conversion_workspaces hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - conversion_workspaces - datamigration - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an conversion_workspace resource or lists conversion_workspaces in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Full name of the workspace resource, in the form of: projects/{project}/locations/{location}/conversionWorkspaces/{conversion_workspace}. | +| | `string` | Full name of the workspace resource, in the form of: projects/{project}/locations/{location}/conversionWorkspaces/{conversion_workspace}. | | | `string` | Output only. The timestamp when the workspace resource was created. | | | `object` | The type and version of a source or destination database. | | | `string` | Optional. The display name for the workspace. | @@ -40,6 +42,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The timestamp when the workspace was committed. | | | `object` | The type and version of a source or destination database. | | | `string` | Output only. The timestamp when the workspace resource was last updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -48,7 +51,6 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new conversion workspace in a given project and location. | | | `DELETE` | | Deletes a single conversion workspace. | | | `UPDATE` | | Updates the parameters of a single conversion workspace. | -| | `EXEC` | | Lists conversion workspaces in a given project and location. | | | `EXEC` | | Applies draft tree onto a specific destination database. | | | `EXEC` | | Marks all the data in the conversion workspace as committed. | | | `EXEC` | | Creates a draft tree schema for the destination database. | @@ -57,3 +59,134 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `EXEC` | | Rolls back a conversion workspace to the last committed snapshot. | | | `EXEC` | | Searches/lists the background jobs for a specific conversion workspace. The background jobs are not resources like conversion workspaces or mapping rules, and they can't be created, updated or deleted. Instead, they are a way to expose the data plane jobs log. | | | `EXEC` | | Imports a snapshot of the source database into the conversion workspace. | + +## `SELECT` examples + +Lists conversion workspaces in a given project and location. + +```sql +SELECT +name, +createTime, +destination, +displayName, +globalSettings, +hasUncommittedChanges, +latestCommitId, +latestCommitTime, +source, +updateTime +FROM google.datamigration.conversion_workspaces +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new conversion_workspaces resource. + + + + +```sql +/*+ create */ +INSERT INTO google.datamigration.conversion_workspaces ( +locationsId, +projectsId, +name, +source, +destination, +globalSettings, +hasUncommittedChanges, +latestCommitId, +latestCommitTime, +createTime, +updateTime, +displayName +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ source }}', +'{{ destination }}', +'{{ globalSettings }}', +true|false, +'{{ latestCommitId }}', +'{{ latestCommitTime }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ displayName }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: source + value: '{{ source }}' + - name: destination + value: '{{ destination }}' + - name: globalSettings + value: '{{ globalSettings }}' + - name: hasUncommittedChanges + value: '{{ hasUncommittedChanges }}' + - name: latestCommitId + value: '{{ latestCommitId }}' + - name: latestCommitTime + value: '{{ latestCommitTime }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: displayName + value: '{{ displayName }}' + +``` + + + +## `UPDATE` example + +Updates a conversion_workspace only if the necessary resources are available. + +```sql +UPDATE google.datamigration.conversion_workspaces +SET +name = '{{ name }}', +source = '{{ source }}', +destination = '{{ destination }}', +globalSettings = '{{ globalSettings }}', +hasUncommittedChanges = true|false, +latestCommitId = '{{ latestCommitId }}', +latestCommitTime = '{{ latestCommitTime }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +displayName = '{{ displayName }}' +WHERE +conversionWorkspacesId = '{{ conversionWorkspacesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified conversion_workspace resource. + +```sql +DELETE FROM google.datamigration.conversion_workspaces +WHERE conversionWorkspacesId = '{{ conversionWorkspacesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/datamigration/conversion_workspaces_iam_policies/index.md b/docs/google-docs/providers/google/datamigration/conversion_workspaces_iam_policies/index.md index 88cf70af90..b9e92eacb8 100644 --- a/docs/google-docs/providers/google/datamigration/conversion_workspaces_iam_policies/index.md +++ b/docs/google-docs/providers/google/datamigration/conversion_workspaces_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: conversion_workspaces_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - conversion_workspaces_iam_policies - datamigration - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an conversion_workspaces_iam_policy resource or lists conversion_workspaces_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.datamigration.conversion_workspaces_iam_policies +WHERE conversionWorkspacesId = '{{ conversionWorkspacesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/datamigration/index.md b/docs/google-docs/providers/google/datamigration/index.md index afd7390579..825a5123bc 100644 --- a/docs/google-docs/providers/google/datamigration/index.md +++ b/docs/google-docs/providers/google/datamigration/index.md @@ -9,34 +9,23 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Manage Cloud Database Migration Service resources on Google Cloud Platform. - +The datamigration service documentation. + :::info Service Summary
-total resources: 12
-total selectable resources: 11
-total methods: 71
+total resources: 13
::: -## Overview -
- - - - - -
Namegoogle.datamigration
TypeService
TitleDatabase Migration API
DescriptionManage Cloud Database Migration Service resources on Google Cloud Platform.
Iddatamigration:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/datamigration/locations/index.md b/docs/google-docs/providers/google/datamigration/locations/index.md index 0ad6d4bb0f..083928ebc8 100644 --- a/docs/google-docs/providers/google/datamigration/locations/index.md +++ b/docs/google-docs/providers/google/datamigration/locations/index.md @@ -1,3 +1,4 @@ + --- title: locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - locations - datamigration - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an location resource or lists locations in a region ## Overview @@ -32,12 +34,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` | | | `string` | The friendly name for this location, typically a nearby city name. For example, "Tokyo". | -| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | +| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | | | `string` | The canonical id for this location. For example: `"us-east1"`. | | | `object` | Service-specific metadata. For example the available capacity at the given location. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about a location. | | | `SELECT` | | Lists information about the supported locations for this service. | -| | `EXEC` | | Lists information about the supported locations for this service. | + +## `SELECT` examples + +Lists information about the supported locations for this service. + +```sql +SELECT +name, +displayName, +labels, +locationId, +metadata +FROM google.datamigration.locations +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/datamigration/mapping_rules/index.md b/docs/google-docs/providers/google/datamigration/mapping_rules/index.md index d374d41980..eea9d0ab08 100644 --- a/docs/google-docs/providers/google/datamigration/mapping_rules/index.md +++ b/docs/google-docs/providers/google/datamigration/mapping_rules/index.md @@ -1,3 +1,4 @@ + --- title: mapping_rules hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - mapping_rules - datamigration - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an mapping_rule resource or lists mapping_rules in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Full name of the mapping rule resource, in the form of: projects/{project}/locations/{location}/conversionWorkspaces/{set}/mappingRule/{rule}. | +| | `string` | Full name of the mapping rule resource, in the form of: projects/{project}/locations/{location}/conversionWorkspaces/{set}/mappingRule/{rule}. | | | `object` | Options to configure rule type ConditionalColumnSetValue. The rule is used to transform the data which is being replicated/migrated. The rule filter field can refer to one or more entities. The rule scope can be one of: Column. | | | `object` | Options to configure rule type ConvertROWIDToColumn. The rule is used to add column rowid to destination tables based on an Oracle rowid function/property. The rule filter field can refer to one or more entities. The rule scope can be one of: Table. This rule requires additional filter to be specified beyond the basic rule filter field, which is whether or not to work on tables which already have a primary key defined. | | | `string` | Optional. A human readable name | @@ -49,6 +51,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Options to configure rule type SinglePackageChange. The rule is used to alter the sql code for a package entities. The rule filter field can refer to one entity. The rule scope can be: Package | | | `object` | Options to configure rule type SourceSqlChange. The rule is used to alter the sql code for database entities. The rule filter field can refer to one entity. The rule scope can be: StoredProcedure, Function, Trigger, View | | | `string` | Optional. The mapping rule state | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -56,5 +59,161 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists the mapping rules for a specific conversion workspace. | | | `INSERT` | | Creates a new mapping rule for a given conversion workspace. | | | `DELETE` | | Deletes a single mapping rule. | -| | `EXEC` | | Lists the mapping rules for a specific conversion workspace. | | | `EXEC` | | Imports the mapping rules for a given conversion workspace. Supports various formats of external rules files. | + +## `SELECT` examples + +Lists the mapping rules for a specific conversion workspace. + +```sql +SELECT +name, +conditionalColumnSetValue, +convertRowidColumn, +displayName, +entityMove, +filter, +filterTableColumns, +multiColumnDataTypeChange, +multiEntityRename, +revisionCreateTime, +revisionId, +ruleOrder, +ruleScope, +setTablePrimaryKey, +singleColumnChange, +singleEntityRename, +singlePackageChange, +sourceSqlChange, +state +FROM google.datamigration.mapping_rules +WHERE conversionWorkspacesId = '{{ conversionWorkspacesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new mapping_rules resource. + + + + +```sql +/*+ create */ +INSERT INTO google.datamigration.mapping_rules ( +conversionWorkspacesId, +locationsId, +projectsId, +name, +displayName, +state, +ruleScope, +filter, +ruleOrder, +revisionId, +revisionCreateTime, +singleEntityRename, +multiEntityRename, +entityMove, +singleColumnChange, +multiColumnDataTypeChange, +conditionalColumnSetValue, +convertRowidColumn, +setTablePrimaryKey, +singlePackageChange, +sourceSqlChange, +filterTableColumns +) +SELECT +'{{ conversionWorkspacesId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ displayName }}', +'{{ state }}', +'{{ ruleScope }}', +'{{ filter }}', +'{{ ruleOrder }}', +'{{ revisionId }}', +'{{ revisionCreateTime }}', +'{{ singleEntityRename }}', +'{{ multiEntityRename }}', +'{{ entityMove }}', +'{{ singleColumnChange }}', +'{{ multiColumnDataTypeChange }}', +'{{ conditionalColumnSetValue }}', +'{{ convertRowidColumn }}', +'{{ setTablePrimaryKey }}', +'{{ singlePackageChange }}', +'{{ sourceSqlChange }}', +'{{ filterTableColumns }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: state + value: '{{ state }}' + - name: ruleScope + value: '{{ ruleScope }}' + - name: filter + value: '{{ filter }}' + - name: ruleOrder + value: '{{ ruleOrder }}' + - name: revisionId + value: '{{ revisionId }}' + - name: revisionCreateTime + value: '{{ revisionCreateTime }}' + - name: singleEntityRename + value: '{{ singleEntityRename }}' + - name: multiEntityRename + value: '{{ multiEntityRename }}' + - name: entityMove + value: '{{ entityMove }}' + - name: singleColumnChange + value: '{{ singleColumnChange }}' + - name: multiColumnDataTypeChange + value: '{{ multiColumnDataTypeChange }}' + - name: conditionalColumnSetValue + value: '{{ conditionalColumnSetValue }}' + - name: convertRowidColumn + value: '{{ convertRowidColumn }}' + - name: setTablePrimaryKey + value: '{{ setTablePrimaryKey }}' + - name: singlePackageChange + value: '{{ singlePackageChange }}' + - name: sourceSqlChange + value: '{{ sourceSqlChange }}' + - name: filterTableColumns + value: '{{ filterTableColumns }}' + +``` + + + +## `DELETE` example + +Deletes the specified mapping_rule resource. + +```sql +DELETE FROM google.datamigration.mapping_rules +WHERE conversionWorkspacesId = '{{ conversionWorkspacesId }}' +AND locationsId = '{{ locationsId }}' +AND mappingRulesId = '{{ mappingRulesId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/datamigration/migration_jobs/index.md b/docs/google-docs/providers/google/datamigration/migration_jobs/index.md index 467a942fe9..c11f46e8d9 100644 --- a/docs/google-docs/providers/google/datamigration/migration_jobs/index.md +++ b/docs/google-docs/providers/google/datamigration/migration_jobs/index.md @@ -1,3 +1,4 @@ + --- title: migration_jobs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - migration_jobs - datamigration - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an migration_job resource or lists migration_jobs in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The name (URI) of this migration job resource, in the form of: projects/{project}/locations/{location}/migrationJobs/{migrationJob}. | +| | `string` | The name (URI) of this migration job resource, in the form of: projects/{project}/locations/{location}/migrationJobs/{migrationJob}. | | | `string` | The CMEK (customer-managed encryption key) fully qualified key name used for the migration job. This field supports all migration jobs types except for: * Mysql to Mysql (use the cmek field in the cloudsql connection profile instead). * PostrgeSQL to PostgreSQL (use the cmek field in the cloudsql connection profile instead). * PostgreSQL to AlloyDB (use the kms_key_name field in the alloydb connection profile instead). Each Cloud CMEK key has the following format: projects/[PROJECT]/locations/[REGION]/keyRings/[RING]/cryptoKeys/[KEY_NAME] | | | `object` | A conversion workspace's version. | | | `string` | Output only. The timestamp when the migration job resource was created. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z". | @@ -44,7 +46,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. If the migration job is completed, the time when it was completed. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `string` | This field can be used to select the entities to migrate as part of the migration job. It uses AIP-160 notation to select a subset of the entities configured on the associated conversion-workspace. This field should not be set on migration-jobs that are not associated with a conversion workspace. | -| | `object` | The resource labels for migration job to use to annotate any related underlying resources such as Compute Engine VMs. An object containing a list of "key": "value" pairs. Example: `{ "name": "wrench", "mass": "1.3kg", "count": "3" }`. | +| | `object` | The resource labels for migration job to use to annotate any related underlying resources such as Compute Engine VMs. An object containing a list of "key": "value" pairs. Example: `{ "name": "wrench", "mass": "1.3kg", "count": "3" }`. | | | `object` | Performance configuration definition. | | | `string` | Output only. The current migration job phase. | | | `object` | The details needed to configure a reverse SSH tunnel between the source and destination databases. These details will be used when calling the generateSshScript method (see https://cloud.google.com/database-migration/docs/reference/rest/v1/projects.locations.migrationJobs/generateSshScript) to produce the script that will help set up the reverse SSH tunnel, and to set up the VPC peering between the Cloud SQL private network and the VPC. | @@ -56,6 +58,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Required. The migration job type. | | | `string` | Output only. The timestamp when the migration job resource was last updated. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z". | | | `object` | The details of the VPC where the source database is located in Google Cloud. We will use this information to set up the VPC peering connection between Cloud SQL and this VPC. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -64,7 +67,6 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new migration job in a given project and location. | | | `DELETE` | | Deletes a single migration job. | | | `UPDATE` | | Updates the parameters of a single migration job. | -| | `EXEC` | | Lists migration jobs in a given project and location. | | | `EXEC` | | Demotes the destination database to become a read replica of the source. This is applicable for the following migrations: 1. MySQL to Cloud SQL for MySQL 2. PostgreSQL to Cloud SQL for PostgreSQL 3. PostgreSQL to AlloyDB for PostgreSQL. | | | `EXEC` | | Generate a SSH configuration script to configure the reverse SSH connectivity. | | | `EXEC` | | Generate a TCP Proxy configuration script to configure a cloud-hosted VM running a TCP Proxy. | @@ -74,3 +76,230 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `EXEC` | | Start an already created migration job. | | | `EXEC` | | Stops a running migration job. | | | `EXEC` | | Verify a migration job, making sure the destination can reach the source and that all configuration and prerequisites are met. | + +## `SELECT` examples + +Lists migration jobs in a given project and location. + +```sql +SELECT +name, +cmekKeyName, +conversionWorkspace, +createTime, +destination, +destinationDatabase, +displayName, +dumpFlags, +dumpPath, +dumpType, +duration, +endTime, +error, +filter, +labels, +performanceConfig, +phase, +reverseSshConnectivity, +source, +sourceDatabase, +sqlserverHomogeneousMigrationJobConfig, +state, +staticIpConnectivity, +type, +updateTime, +vpcPeeringConnectivity +FROM google.datamigration.migration_jobs +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new migration_jobs resource. + + + + +```sql +/*+ create */ +INSERT INTO google.datamigration.migration_jobs ( +locationsId, +projectsId, +name, +createTime, +updateTime, +labels, +displayName, +state, +phase, +type, +dumpPath, +dumpFlags, +source, +destination, +reverseSshConnectivity, +vpcPeeringConnectivity, +staticIpConnectivity, +duration, +error, +sourceDatabase, +destinationDatabase, +endTime, +conversionWorkspace, +filter, +cmekKeyName, +performanceConfig, +sqlserverHomogeneousMigrationJobConfig, +dumpType +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ labels }}', +'{{ displayName }}', +'{{ state }}', +'{{ phase }}', +'{{ type }}', +'{{ dumpPath }}', +'{{ dumpFlags }}', +'{{ source }}', +'{{ destination }}', +'{{ reverseSshConnectivity }}', +'{{ vpcPeeringConnectivity }}', +'{{ staticIpConnectivity }}', +'{{ duration }}', +'{{ error }}', +'{{ sourceDatabase }}', +'{{ destinationDatabase }}', +'{{ endTime }}', +'{{ conversionWorkspace }}', +'{{ filter }}', +'{{ cmekKeyName }}', +'{{ performanceConfig }}', +'{{ sqlserverHomogeneousMigrationJobConfig }}', +'{{ dumpType }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: labels + value: '{{ labels }}' + - name: displayName + value: '{{ displayName }}' + - name: state + value: '{{ state }}' + - name: phase + value: '{{ phase }}' + - name: type + value: '{{ type }}' + - name: dumpPath + value: '{{ dumpPath }}' + - name: dumpFlags + value: '{{ dumpFlags }}' + - name: source + value: '{{ source }}' + - name: destination + value: '{{ destination }}' + - name: reverseSshConnectivity + value: '{{ reverseSshConnectivity }}' + - name: vpcPeeringConnectivity + value: '{{ vpcPeeringConnectivity }}' + - name: staticIpConnectivity + value: '{{ staticIpConnectivity }}' + - name: duration + value: '{{ duration }}' + - name: error + value: '{{ error }}' + - name: sourceDatabase + value: '{{ sourceDatabase }}' + - name: destinationDatabase + value: '{{ destinationDatabase }}' + - name: endTime + value: '{{ endTime }}' + - name: conversionWorkspace + value: '{{ conversionWorkspace }}' + - name: filter + value: '{{ filter }}' + - name: cmekKeyName + value: '{{ cmekKeyName }}' + - name: performanceConfig + value: '{{ performanceConfig }}' + - name: sqlserverHomogeneousMigrationJobConfig + value: '{{ sqlserverHomogeneousMigrationJobConfig }}' + - name: dumpType + value: '{{ dumpType }}' + +``` + + + +## `UPDATE` example + +Updates a migration_job only if the necessary resources are available. + +```sql +UPDATE google.datamigration.migration_jobs +SET +name = '{{ name }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +labels = '{{ labels }}', +displayName = '{{ displayName }}', +state = '{{ state }}', +phase = '{{ phase }}', +type = '{{ type }}', +dumpPath = '{{ dumpPath }}', +dumpFlags = '{{ dumpFlags }}', +source = '{{ source }}', +destination = '{{ destination }}', +reverseSshConnectivity = '{{ reverseSshConnectivity }}', +vpcPeeringConnectivity = '{{ vpcPeeringConnectivity }}', +staticIpConnectivity = '{{ staticIpConnectivity }}', +duration = '{{ duration }}', +error = '{{ error }}', +sourceDatabase = '{{ sourceDatabase }}', +destinationDatabase = '{{ destinationDatabase }}', +endTime = '{{ endTime }}', +conversionWorkspace = '{{ conversionWorkspace }}', +filter = '{{ filter }}', +cmekKeyName = '{{ cmekKeyName }}', +performanceConfig = '{{ performanceConfig }}', +sqlserverHomogeneousMigrationJobConfig = '{{ sqlserverHomogeneousMigrationJobConfig }}', +dumpType = '{{ dumpType }}' +WHERE +locationsId = '{{ locationsId }}' +AND migrationJobsId = '{{ migrationJobsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified migration_job resource. + +```sql +DELETE FROM google.datamigration.migration_jobs +WHERE locationsId = '{{ locationsId }}' +AND migrationJobsId = '{{ migrationJobsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/datamigration/migration_jobs_iam_policies/index.md b/docs/google-docs/providers/google/datamigration/migration_jobs_iam_policies/index.md index 36ad28cc7f..582201e8b6 100644 --- a/docs/google-docs/providers/google/datamigration/migration_jobs_iam_policies/index.md +++ b/docs/google-docs/providers/google/datamigration/migration_jobs_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: migration_jobs_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - migration_jobs_iam_policies - datamigration - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an migration_jobs_iam_policy resource or lists migration_jobs_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.datamigration.migration_jobs_iam_policies +WHERE locationsId = '{{ locationsId }}' +AND migrationJobsId = '{{ migrationJobsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/datamigration/objects_iam_policies/index.md b/docs/google-docs/providers/google/datamigration/objects_iam_policies/index.md new file mode 100644 index 0000000000..6d1afde3d6 --- /dev/null +++ b/docs/google-docs/providers/google/datamigration/objects_iam_policies/index.md @@ -0,0 +1,60 @@ + +--- +title: objects_iam_policies +hide_title: false +hide_table_of_contents: false +keywords: + - objects_iam_policies + - datamigration + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an objects_iam_policy resource or lists objects_iam_policies in a region + +## Overview +
+ + + +
Nameobjects_iam_policies
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | +| | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | +| | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.datamigration.objects_iam_policies +WHERE locationsId = '{{ locationsId }}' +AND migrationJobsId = '{{ migrationJobsId }}' +AND objectsId = '{{ objectsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/datamigration/operations/index.md b/docs/google-docs/providers/google/datamigration/operations/index.md index bdf8cf74b2..c0f62722de 100644 --- a/docs/google-docs/providers/google/datamigration/operations/index.md +++ b/docs/google-docs/providers/google/datamigration/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - datamigration - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview @@ -30,16 +32,43 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.datamigration.operations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified operation resource. + +```sql +DELETE FROM google.datamigration.operations +WHERE locationsId = '{{ locationsId }}' +AND operationsId = '{{ operationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/datamigration/private_connections/index.md b/docs/google-docs/providers/google/datamigration/private_connections/index.md index 6c0ebe972b..41873e1b7a 100644 --- a/docs/google-docs/providers/google/datamigration/private_connections/index.md +++ b/docs/google-docs/providers/google/datamigration/private_connections/index.md @@ -1,3 +1,4 @@ + --- title: private_connections hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - private_connections - datamigration - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an private_connection resource or lists private_connections in a region ## Overview
@@ -34,10 +36,11 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The create time of the resource. | | | `string` | The private connection display name. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | -| | `object` | The resource labels for private connections to use to annotate any related underlying resources such as Compute Engine VMs. An object containing a list of "key": "value" pairs. Example: `{ "name": "wrench", "mass": "1.3kg", "count": "3" }`. | +| | `object` | The resource labels for private connections to use to annotate any related underlying resources such as Compute Engine VMs. An object containing a list of "key": "value" pairs. Example: `{ "name": "wrench", "mass": "1.3kg", "count": "3" }`. | | | `string` | Output only. The state of the private connection. | | | `string` | Output only. The last update time of the resource. | | | `object` | The VPC peering configuration is used to create VPC peering with the consumer's VPC. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -45,4 +48,101 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Retrieves a list of private connections in a given project and location. | | | `INSERT` | | Creates a new private connection in a given project and location. | | | `DELETE` | | Deletes a single Database Migration Service private connection. | -| | `EXEC` | | Retrieves a list of private connections in a given project and location. | + +## `SELECT` examples + +Retrieves a list of private connections in a given project and location. + +```sql +SELECT +name, +createTime, +displayName, +error, +labels, +state, +updateTime, +vpcPeeringConfig +FROM google.datamigration.private_connections +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new private_connections resource. + + + + +```sql +/*+ create */ +INSERT INTO google.datamigration.private_connections ( +locationsId, +projectsId, +name, +createTime, +updateTime, +labels, +displayName, +state, +error, +vpcPeeringConfig +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ labels }}', +'{{ displayName }}', +'{{ state }}', +'{{ error }}', +'{{ vpcPeeringConfig }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: labels + value: '{{ labels }}' + - name: displayName + value: '{{ displayName }}' + - name: state + value: '{{ state }}' + - name: error + value: '{{ error }}' + - name: vpcPeeringConfig + value: '{{ vpcPeeringConfig }}' + +``` + + + +## `DELETE` example + +Deletes the specified private_connection resource. + +```sql +DELETE FROM google.datamigration.private_connections +WHERE locationsId = '{{ locationsId }}' +AND privateConnectionsId = '{{ privateConnectionsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/datamigration/private_connections_iam_policies/index.md b/docs/google-docs/providers/google/datamigration/private_connections_iam_policies/index.md index 9b712f26ed..8c003f5588 100644 --- a/docs/google-docs/providers/google/datamigration/private_connections_iam_policies/index.md +++ b/docs/google-docs/providers/google/datamigration/private_connections_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: private_connections_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - private_connections_iam_policies - datamigration - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an private_connections_iam_policy resource or lists private_connections_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.datamigration.private_connections_iam_policies +WHERE locationsId = '{{ locationsId }}' +AND privateConnectionsId = '{{ privateConnectionsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/datamigration/static_ips/index.md b/docs/google-docs/providers/google/datamigration/static_ips/index.md index 135b9fd235..2b675054eb 100644 --- a/docs/google-docs/providers/google/datamigration/static_ips/index.md +++ b/docs/google-docs/providers/google/datamigration/static_ips/index.md @@ -1,3 +1,4 @@ + --- title: static_ips hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - static_ips - datamigration - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an static_ip resource or lists static_ips in a region ## Overview
@@ -28,8 +30,25 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. | +| | `array` | List of static IPs. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Fetches a set of static IP addresses that need to be allowlisted by the customer when using the static-IP connectivity method. | + +## `SELECT` examples + +Fetches a set of static IP addresses that need to be allowlisted by the customer when using the static-IP connectivity method. + +```sql +SELECT +nextPageToken, +staticIps +FROM google.datamigration.static_ips +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/datapipelines/index.md b/docs/google-docs/providers/google/datapipelines/index.md index 4601c2c13e..35bfc014e3 100644 --- a/docs/google-docs/providers/google/datapipelines/index.md +++ b/docs/google-docs/providers/google/datapipelines/index.md @@ -9,40 +9,29 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Data Pipelines provides an interface for creating, updating, and managing recurring Data Analytics jobs. - +The datapipelines service documentation. + :::info Service Summary
total resources: 2
-total selectable resources: 2
-total methods: 10
::: -## Overview - - - - - - -
Namegoogle.datapipelines
TypeService
TitleData pipelines API
DescriptionData Pipelines provides an interface for creating, updating, and managing recurring Data Analytics jobs.
Iddatapipelines:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/datapipelines/jobs/index.md b/docs/google-docs/providers/google/datapipelines/jobs/index.md index 9415c0bd06..179aed7212 100644 --- a/docs/google-docs/providers/google/datapipelines/jobs/index.md +++ b/docs/google-docs/providers/google/datapipelines/jobs/index.md @@ -1,3 +1,4 @@ + --- title: jobs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - jobs - datapipelines - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an job resource or lists jobs in a region ## Overview @@ -37,8 +39,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The time of job termination. This is absent if the job is still running. | | | `string` | The current state of the job. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists jobs for a given pipeline. Throws a "FORBIDDEN" error if the caller doesn't have permission to access it. | + +## `SELECT` examples + +Lists jobs for a given pipeline. Throws a "FORBIDDEN" error if the caller doesn't have permission to access it. + +```sql +SELECT +id, +name, +createTime, +dataflowJobDetails, +endTime, +state, +status +FROM google.datapipelines.jobs +WHERE locationsId = '{{ locationsId }}' +AND pipelinesId = '{{ pipelinesId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/datapipelines/pipelines/index.md b/docs/google-docs/providers/google/datapipelines/pipelines/index.md index 9381cde52b..fe0f702e50 100644 --- a/docs/google-docs/providers/google/datapipelines/pipelines/index.md +++ b/docs/google-docs/providers/google/datapipelines/pipelines/index.md @@ -1,3 +1,4 @@ + --- title: pipelines hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - pipelines - datapipelines - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an pipeline resource or lists pipelines in a region ## Overview
@@ -41,6 +43,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Required. The state of the pipeline. When the pipeline is created, the state is set to 'PIPELINE_STATE_ACTIVE' by default. State changes can be requested by setting the state to stopping, paused, or resuming. State cannot be changed through UpdatePipeline requests. | | | `string` | Required. The type of the pipeline. This field affects the scheduling of the pipeline and the type of metrics to show for the pipeline. | | | `object` | Workload details for creating the pipeline jobs. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -49,6 +52,142 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a pipeline. For a batch pipeline, you can pass scheduler information. Data Pipelines uses the scheduler information to create an internal scheduler that runs jobs periodically. If the internal scheduler is not configured, you can use RunPipeline to run jobs. | | | `DELETE` | | Deletes a pipeline. If a scheduler job is attached to the pipeline, it will be deleted. | | | `UPDATE` | | Updates a pipeline. If successful, the updated Pipeline is returned. Returns `NOT_FOUND` if the pipeline doesn't exist. If UpdatePipeline does not return successfully, you can retry the UpdatePipeline request until you receive a successful response. | -| | `EXEC` | | Lists pipelines. Returns a "FORBIDDEN" error if the caller doesn't have permission to access it. | | | `EXEC` | | Creates a job for the specified pipeline directly. You can use this method when the internal scheduler is not configured and you want to trigger the job directly or through an external system. Returns a "NOT_FOUND" error if the pipeline doesn't exist. Returns a "FORBIDDEN" error if the user doesn't have permission to access the pipeline or run jobs for the pipeline. | | | `EXEC` | | Freezes pipeline execution permanently. If there's a corresponding scheduler entry, it's deleted, and the pipeline state is changed to "ARCHIVED". However, pipeline metadata is retained. | + +## `SELECT` examples + +Lists pipelines. Returns a "FORBIDDEN" error if the caller doesn't have permission to access it. + +```sql +SELECT +name, +createTime, +displayName, +jobCount, +lastUpdateTime, +pipelineSources, +scheduleInfo, +schedulerServiceAccountEmail, +state, +type, +workload +FROM google.datapipelines.pipelines +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new pipelines resource. + + + + +```sql +/*+ create */ +INSERT INTO google.datapipelines.pipelines ( +locationsId, +projectsId, +pipelineSources, +createTime, +displayName, +lastUpdateTime, +jobCount, +workload, +type, +scheduleInfo, +schedulerServiceAccountEmail, +state, +name +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ pipelineSources }}', +'{{ createTime }}', +'{{ displayName }}', +'{{ lastUpdateTime }}', +'{{ jobCount }}', +'{{ workload }}', +'{{ type }}', +'{{ scheduleInfo }}', +'{{ schedulerServiceAccountEmail }}', +'{{ state }}', +'{{ name }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: pipelineSources + value: '{{ pipelineSources }}' + - name: createTime + value: '{{ createTime }}' + - name: displayName + value: '{{ displayName }}' + - name: lastUpdateTime + value: '{{ lastUpdateTime }}' + - name: jobCount + value: '{{ jobCount }}' + - name: workload + value: '{{ workload }}' + - name: type + value: '{{ type }}' + - name: scheduleInfo + value: '{{ scheduleInfo }}' + - name: schedulerServiceAccountEmail + value: '{{ schedulerServiceAccountEmail }}' + - name: state + value: '{{ state }}' + - name: name + value: '{{ name }}' + +``` + + + +## `UPDATE` example + +Updates a pipeline only if the necessary resources are available. + +```sql +UPDATE google.datapipelines.pipelines +SET +pipelineSources = '{{ pipelineSources }}', +createTime = '{{ createTime }}', +displayName = '{{ displayName }}', +lastUpdateTime = '{{ lastUpdateTime }}', +jobCount = '{{ jobCount }}', +workload = '{{ workload }}', +type = '{{ type }}', +scheduleInfo = '{{ scheduleInfo }}', +schedulerServiceAccountEmail = '{{ schedulerServiceAccountEmail }}', +state = '{{ state }}', +name = '{{ name }}' +WHERE +locationsId = '{{ locationsId }}' +AND pipelinesId = '{{ pipelinesId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified pipeline resource. + +```sql +DELETE FROM google.datapipelines.pipelines +WHERE locationsId = '{{ locationsId }}' +AND pipelinesId = '{{ pipelinesId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/dataplex/actions/index.md b/docs/google-docs/providers/google/dataplex/actions/index.md index 99978617c4..2ccbf996e3 100644 --- a/docs/google-docs/providers/google/dataplex/actions/index.md +++ b/docs/google-docs/providers/google/dataplex/actions/index.md @@ -1,3 +1,4 @@ + --- title: actions hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - actions - dataplex - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an action resource or lists actions in a region ## Overview
@@ -30,8 +32,8 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. The relative resource name of the action, of the form: projects/{project}/locations/{location}/lakes/{lake}/actions/{action} projects/{project}/locations/{location}/lakes/{lake}/zones/{zone}/actions/{action} projects/{project}/locations/{location}/lakes/{lake}/zones/{zone}/assets/{asset}/actions/{action}. | -| | `string` | Output only. The relative resource name of the asset, of the form: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}/assets/{asset_id}. | +| | `string` | Output only. The relative resource name of the action, of the form: projects/{project}/locations/{location}/lakes/{lake}/actions/{action} projects/{project}/locations/{location}/lakes/{lake}/zones/{zone}/actions/{action} projects/{project}/locations/{location}/lakes/{lake}/zones/{zone}/assets/{asset}/actions/{action}. | +| | `string` | Output only. The relative resource name of the asset, of the form: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}/assets/{asset_id}. | | | `string` | The category of issue associated with the action. | | | `array` | The list of data locations associated with this action. Cloud Storage locations are represented as URI paths(E.g. gs://bucket/table1/year=2020/month=Jan/). BigQuery locations refer to resource names(E.g. bigquery.googleapis.com/projects/project-id/datasets/dataset-id). | | | `string` | The time that the issue was detected. | @@ -41,17 +43,43 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Action details for invalid data arrangement. | | | `object` | Action details for invalid or unsupported partitions detected by discovery. | | | `string` | Detailed description of the issue requiring action. | -| | `string` | Output only. The relative resource name of the lake, of the form: projects/{project_number}/locations/{location_id}/lakes/{lake_id}. | +| | `string` | Output only. The relative resource name of the lake, of the form: projects/{project_number}/locations/{location_id}/lakes/{lake_id}. | | | `object` | Action details for absence of data detected by discovery. | | | `object` | Action details for resource references in assets that cannot be located. | | | `object` | Action details for unauthorized resource issues raised to indicate that the service account associated with the lake instance is not authorized to access or manage the resource associated with an asset. | -| | `string` | Output only. The relative resource name of the zone, of the form: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}. | +| | `string` | Output only. The relative resource name of the zone, of the form: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Lists action resources in a lake. | | | `SELECT` | | Lists action resources in a zone. | | | `SELECT` | | Lists action resources in an asset. | -| | `EXEC` | | Lists action resources in a lake. | -| | `EXEC` | | Lists action resources in a zone. | -| | `EXEC` | | Lists action resources in an asset. | + +## `SELECT` examples + +Lists action resources in a lake. + +```sql +SELECT +name, +asset, +category, +dataLocations, +detectTime, +failedSecurityPolicyApply, +incompatibleDataSchema, +invalidDataFormat, +invalidDataOrganization, +invalidDataPartition, +issue, +lake, +missingData, +missingResource, +unauthorizedResource, +zone +FROM google.dataplex.actions +WHERE lakesId = '{{ lakesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/dataplex/aspect_types/index.md b/docs/google-docs/providers/google/dataplex/aspect_types/index.md index c4b5b26f4e..a3ed331bef 100644 --- a/docs/google-docs/providers/google/dataplex/aspect_types/index.md +++ b/docs/google-docs/providers/google/dataplex/aspect_types/index.md @@ -1,3 +1,4 @@ + --- title: aspect_types hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - aspect_types - dataplex - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an aspect_type resource or lists aspect_types in a region ## Overview
@@ -30,23 +32,153 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. The relative resource name of the AspectType, of the form: projects/{project_number}/locations/{location_id}/aspectTypes/{aspect_type_id}. | +| | `string` | Output only. The relative resource name of the AspectType, of the form: projects/{project_number}/locations/{location_id}/aspectTypes/{aspect_type_id}. | | | `string` | Optional. Description of the AspectType. | -| | `object` | Autorization for an Aspect Type. | +| | `object` | Autorization for an AspectType. | | | `string` | Output only. The time when the AspectType was created. | | | `string` | Optional. User friendly display name. | -| | `string` | This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. | +| | `string` | The service computes this checksum. The client may send it on update and delete requests to ensure it has an up-to-date value before proceeding. | | | `object` | Optional. User-defined labels for the AspectType. | -| | `object` | MetadataTemplate definition for AspectType | -| | `string` | Output only. Denotes the transfer status of the Aspect Type. It is unspecified for Aspect Types created from Dataplex API. | -| | `string` | Output only. System generated globally unique ID for the AspectType. This ID will be different if the AspectType is deleted and re-created with the same name. | +| | `object` | MetadataTemplate definition for an AspectType. | +| | `string` | Output only. System generated globally unique ID for the AspectType. If you delete and recreate the AspectType with the same name, then this ID will be different. | | | `string` | Output only. The time when the AspectType was last updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| -| | `SELECT` | | Retrieves a AspectType resource. | +| | `SELECT` | | Gets an AspectType. | | | `SELECT` | | Lists AspectType resources in a project and location. | -| | `INSERT` | | Creates an AspectType | -| | `DELETE` | | Deletes a AspectType resource. | -| | `UPDATE` | | Updates a AspectType resource. | -| | `EXEC` | | Lists AspectType resources in a project and location. | +| | `INSERT` | | Creates an AspectType. | +| | `DELETE` | | Deletes an AspectType. | +| | `UPDATE` | | Updates an AspectType. | + +## `SELECT` examples + +Lists AspectType resources in a project and location. + +```sql +SELECT +name, +description, +authorization, +createTime, +displayName, +etag, +labels, +metadataTemplate, +uid, +updateTime +FROM google.dataplex.aspect_types +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new aspect_types resource. + + + + +```sql +/*+ create */ +INSERT INTO google.dataplex.aspect_types ( +locationsId, +projectsId, +name, +uid, +createTime, +updateTime, +description, +displayName, +labels, +etag, +authorization, +metadataTemplate +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ uid }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ description }}', +'{{ displayName }}', +'{{ labels }}', +'{{ etag }}', +'{{ authorization }}', +'{{ metadataTemplate }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: uid + value: '{{ uid }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: description + value: '{{ description }}' + - name: displayName + value: '{{ displayName }}' + - name: labels + value: '{{ labels }}' + - name: etag + value: '{{ etag }}' + - name: authorization + value: '{{ authorization }}' + - name: metadataTemplate + value: '{{ metadataTemplate }}' + +``` + + + +## `UPDATE` example + +Updates a aspect_type only if the necessary resources are available. + +```sql +UPDATE google.dataplex.aspect_types +SET +name = '{{ name }}', +uid = '{{ uid }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +description = '{{ description }}', +displayName = '{{ displayName }}', +labels = '{{ labels }}', +etag = '{{ etag }}', +authorization = '{{ authorization }}', +metadataTemplate = '{{ metadataTemplate }}' +WHERE +aspectTypesId = '{{ aspectTypesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified aspect_type resource. + +```sql +DELETE FROM google.dataplex.aspect_types +WHERE aspectTypesId = '{{ aspectTypesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/dataplex/aspect_types_iam_policies/index.md b/docs/google-docs/providers/google/dataplex/aspect_types_iam_policies/index.md index ea543ea2ac..21ca453e72 100644 --- a/docs/google-docs/providers/google/dataplex/aspect_types_iam_policies/index.md +++ b/docs/google-docs/providers/google/dataplex/aspect_types_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: aspect_types_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - aspect_types_iam_policies - dataplex - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an aspect_types_iam_policy resource or lists aspect_types_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. members can have the following values: allUsers: A special identifier that represents anyone who is on the internet; with or without a Google account. allAuthenticatedUsers: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. user:{emailid}: An email address that represents a specific Google account. For example, alice@example.com . serviceAccount:{emailid}: An email address that represents a Google service account. For example, my-other-app@appspot.gserviceaccount.com. serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]: An identifier for a Kubernetes service account (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, my-project.svc.id.goog[my-namespace/my-kubernetes-sa]. group:{emailid}: An email address that represents a Google group. For example, admins@example.com. domain:{domain}: The G Suite domain (primary) that represents all the users of that domain. For example, google.com or example.com. principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workforce identity pool. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}: All workforce identities in a group. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All workforce identities with a specific attribute value. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*: All identities in a workforce identity pool. principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workload identity pool. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}: A workload identity pool group. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All identities in a workload identity pool with a certain attribute. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*: All identities in a workload identity pool. deleted:user:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a user that has been recently deleted. For example, alice@example.com?uid=123456789012345678901. If the user is recovered, this value reverts to user:{emailid} and the recovered user retains the role in the binding. deleted:serviceAccount:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. If the service account is undeleted, this value reverts to serviceAccount:{emailid} and the undeleted service account retains the role in the binding. deleted:group:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, admins@example.com?uid=123456789012345678901. If the group is recovered, this value reverts to group:{emailid} and the recovered group retains the role in the binding. deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: Deleted single identity in a workforce identity pool. For example, deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. members can have the following values: allUsers: A special identifier that represents anyone who is on the internet; with or without a Google account. allAuthenticatedUsers: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. user:{emailid}: An email address that represents a specific Google account. For example, alice@example.com . serviceAccount:{emailid}: An email address that represents a Google service account. For example, my-other-app@appspot.gserviceaccount.com. serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]: An identifier for a Kubernetes service account (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, my-project.svc.id.goog[my-namespace/my-kubernetes-sa]. group:{emailid}: An email address that represents a Google group. For example, admins@example.com. domain:{domain}: The G Suite domain (primary) that represents all the users of that domain. For example, google.com or example.com. principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workforce identity pool. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}: All workforce identities in a group. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All workforce identities with a specific attribute value. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*: All identities in a workforce identity pool. principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workload identity pool. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}: A workload identity pool group. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All identities in a workload identity pool with a certain attribute. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*: All identities in a workload identity pool. deleted:user:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a user that has been recently deleted. For example, alice@example.com?uid=123456789012345678901. If the user is recovered, this value reverts to user:{emailid} and the recovered user retains the role in the binding. deleted:serviceAccount:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. If the service account is undeleted, this value reverts to serviceAccount:{emailid} and the undeleted service account retains the role in the binding. deleted:group:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, admins@example.com?uid=123456789012345678901. If the group is recovered, this value reverts to group:{emailid} and the recovered group retains the role in the binding. deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: Deleted single identity in a workforce identity pool. For example, deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value. | | | `string` | Role that is assigned to the list of members, or principals. For example, roles/viewer, roles/editor, or roles/owner.For an overview of the IAM roles and permissions, see the IAM documentation (https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see here (https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.dataplex.aspect_types_iam_policies +WHERE aspectTypesId = '{{ aspectTypesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/dataplex/assets/index.md b/docs/google-docs/providers/google/dataplex/assets/index.md index c325b793fb..3840fe86cd 100644 --- a/docs/google-docs/providers/google/dataplex/assets/index.md +++ b/docs/google-docs/providers/google/dataplex/assets/index.md @@ -1,3 +1,4 @@ + --- title: assets hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - assets - dataplex - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an asset resource or lists assets in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. The relative resource name of the asset, of the form: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}/assets/{asset_id}. | +| | `string` | Output only. The relative resource name of the asset, of the form: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}/assets/{asset_id}. | | | `string` | Optional. Description of the asset. | | | `string` | Output only. The time when the asset was created. | | | `object` | Settings to manage the metadata discovery and publishing for an asset. | @@ -43,6 +45,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Current state of the asset. | | | `string` | Output only. System generated globally unique ID for the asset. This ID will be different if the asset is deleted and re-created with the same name. | | | `string` | Output only. The time when the asset was last updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -51,4 +54,162 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates an asset resource. | | | `DELETE` | | Deletes an asset resource. The referenced storage resource is detached (default) or deleted based on the associated Lifecycle policy. | | | `UPDATE` | | Updates an asset resource. | -| | `EXEC` | | Lists asset resources in a zone. | + +## `SELECT` examples + +Lists asset resources in a zone. + +```sql +SELECT +name, +description, +createTime, +discoverySpec, +discoveryStatus, +displayName, +labels, +resourceSpec, +resourceStatus, +securityStatus, +state, +uid, +updateTime +FROM google.dataplex.assets +WHERE lakesId = '{{ lakesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND zonesId = '{{ zonesId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new assets resource. + + + + +```sql +/*+ create */ +INSERT INTO google.dataplex.assets ( +lakesId, +locationsId, +projectsId, +zonesId, +name, +displayName, +uid, +createTime, +updateTime, +labels, +description, +state, +resourceSpec, +resourceStatus, +securityStatus, +discoverySpec, +discoveryStatus +) +SELECT +'{{ lakesId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ zonesId }}', +'{{ name }}', +'{{ displayName }}', +'{{ uid }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ labels }}', +'{{ description }}', +'{{ state }}', +'{{ resourceSpec }}', +'{{ resourceStatus }}', +'{{ securityStatus }}', +'{{ discoverySpec }}', +'{{ discoveryStatus }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: uid + value: '{{ uid }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: labels + value: '{{ labels }}' + - name: description + value: '{{ description }}' + - name: state + value: '{{ state }}' + - name: resourceSpec + value: '{{ resourceSpec }}' + - name: resourceStatus + value: '{{ resourceStatus }}' + - name: securityStatus + value: '{{ securityStatus }}' + - name: discoverySpec + value: '{{ discoverySpec }}' + - name: discoveryStatus + value: '{{ discoveryStatus }}' + +``` + + + +## `UPDATE` example + +Updates a asset only if the necessary resources are available. + +```sql +UPDATE google.dataplex.assets +SET +name = '{{ name }}', +displayName = '{{ displayName }}', +uid = '{{ uid }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +labels = '{{ labels }}', +description = '{{ description }}', +state = '{{ state }}', +resourceSpec = '{{ resourceSpec }}', +resourceStatus = '{{ resourceStatus }}', +securityStatus = '{{ securityStatus }}', +discoverySpec = '{{ discoverySpec }}', +discoveryStatus = '{{ discoveryStatus }}' +WHERE +assetsId = '{{ assetsId }}' +AND lakesId = '{{ lakesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND zonesId = '{{ zonesId }}'; +``` + +## `DELETE` example + +Deletes the specified asset resource. + +```sql +DELETE FROM google.dataplex.assets +WHERE assetsId = '{{ assetsId }}' +AND lakesId = '{{ lakesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND zonesId = '{{ zonesId }}'; +``` diff --git a/docs/google-docs/providers/google/dataplex/assets_iam_policies/index.md b/docs/google-docs/providers/google/dataplex/assets_iam_policies/index.md index dd378afbb4..9fff89cb1d 100644 --- a/docs/google-docs/providers/google/dataplex/assets_iam_policies/index.md +++ b/docs/google-docs/providers/google/dataplex/assets_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: assets_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - assets_iam_policies - dataplex - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an assets_iam_policy resource or lists assets_iam_policies in a region ## Overview
@@ -30,13 +32,30 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. members can have the following values: allUsers: A special identifier that represents anyone who is on the internet; with or without a Google account. allAuthenticatedUsers: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. user:{emailid}: An email address that represents a specific Google account. For example, alice@example.com . serviceAccount:{emailid}: An email address that represents a Google service account. For example, my-other-app@appspot.gserviceaccount.com. serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]: An identifier for a Kubernetes service account (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, my-project.svc.id.goog[my-namespace/my-kubernetes-sa]. group:{emailid}: An email address that represents a Google group. For example, admins@example.com. domain:{domain}: The G Suite domain (primary) that represents all the users of that domain. For example, google.com or example.com. principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workforce identity pool. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}: All workforce identities in a group. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All workforce identities with a specific attribute value. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*: All identities in a workforce identity pool. principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workload identity pool. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}: A workload identity pool group. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All identities in a workload identity pool with a certain attribute. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*: All identities in a workload identity pool. deleted:user:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a user that has been recently deleted. For example, alice@example.com?uid=123456789012345678901. If the user is recovered, this value reverts to user:{emailid} and the recovered user retains the role in the binding. deleted:serviceAccount:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. If the service account is undeleted, this value reverts to serviceAccount:{emailid} and the undeleted service account retains the role in the binding. deleted:group:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, admins@example.com?uid=123456789012345678901. If the group is recovered, this value reverts to group:{emailid} and the recovered group retains the role in the binding. deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: Deleted single identity in a workforce identity pool. For example, deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. members can have the following values: allUsers: A special identifier that represents anyone who is on the internet; with or without a Google account. allAuthenticatedUsers: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. user:{emailid}: An email address that represents a specific Google account. For example, alice@example.com . serviceAccount:{emailid}: An email address that represents a Google service account. For example, my-other-app@appspot.gserviceaccount.com. serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]: An identifier for a Kubernetes service account (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, my-project.svc.id.goog[my-namespace/my-kubernetes-sa]. group:{emailid}: An email address that represents a Google group. For example, admins@example.com. domain:{domain}: The G Suite domain (primary) that represents all the users of that domain. For example, google.com or example.com. principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workforce identity pool. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}: All workforce identities in a group. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All workforce identities with a specific attribute value. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*: All identities in a workforce identity pool. principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workload identity pool. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}: A workload identity pool group. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All identities in a workload identity pool with a certain attribute. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*: All identities in a workload identity pool. deleted:user:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a user that has been recently deleted. For example, alice@example.com?uid=123456789012345678901. If the user is recovered, this value reverts to user:{emailid} and the recovered user retains the role in the binding. deleted:serviceAccount:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. If the service account is undeleted, this value reverts to serviceAccount:{emailid} and the undeleted service account retains the role in the binding. deleted:group:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, admins@example.com?uid=123456789012345678901. If the group is recovered, this value reverts to group:{emailid} and the recovered group retains the role in the binding. deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: Deleted single identity in a workforce identity pool. For example, deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value. | | | `string` | Role that is assigned to the list of members, or principals. For example, roles/viewer, roles/editor, or roles/owner.For an overview of the IAM roles and permissions, see the IAM documentation (https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see here (https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.dataplex.assets_iam_policies +WHERE assetsId = '{{ assetsId }}' +AND lakesId = '{{ lakesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND zonesId = '{{ zonesId }}'; +``` diff --git a/docs/google-docs/providers/google/dataplex/attributes/index.md b/docs/google-docs/providers/google/dataplex/attributes/index.md index 410e0ad0c4..1e6c8c50d7 100644 --- a/docs/google-docs/providers/google/dataplex/attributes/index.md +++ b/docs/google-docs/providers/google/dataplex/attributes/index.md @@ -1,3 +1,4 @@ + --- title: attributes hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - attributes - dataplex - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an attribute resource or lists attributes in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. The relative resource name of the dataAttribute, of the form: projects/{project_number}/locations/{location_id}/dataTaxonomies/{dataTaxonomy}/attributes/{data_attribute_id}. | +| | `string` | Output only. The relative resource name of the dataAttribute, of the form: projects/{project_number}/locations/{location_id}/dataTaxonomies/{dataTaxonomy}/attributes/{data_attribute_id}. | | | `string` | Optional. Description of the DataAttribute. | | | `integer` | Output only. The number of child attributes present for this attribute. | | | `string` | Output only. The time when the DataAttribute was created. | @@ -38,10 +40,11 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Optional. User friendly display name. | | | `string` | This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. | | | `object` | Optional. User-defined labels for the DataAttribute. | -| | `string` | Optional. The ID of the parent DataAttribute resource, should belong to the same data taxonomy. Circular dependency in parent chain is not valid. Maximum depth of the hierarchy allowed is 4. a -> b -> c -> d -> e, depth = 4 | +| | `string` | Optional. The ID of the parent DataAttribute resource, should belong to the same data taxonomy. Circular dependency in parent chain is not valid. Maximum depth of the hierarchy allowed is 4. a -> b -> c -> d -> e, depth = 4 | | | `object` | ResourceAccessSpec holds the access control configuration to be enforced on the resources, for example, Cloud Storage bucket, BigQuery dataset, BigQuery table. | | | `string` | Output only. System generated globally unique ID for the DataAttribute. This ID will be different if the DataAttribute is deleted and re-created with the same name. | | | `string` | Output only. The time when the DataAttribute was last updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -50,4 +53,151 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Create a DataAttribute resource. | | | `DELETE` | | Deletes a Data Attribute resource. | | | `UPDATE` | | Updates a DataAttribute resource. | -| | `EXEC` | | Lists Data Attribute resources in a DataTaxonomy. | + +## `SELECT` examples + +Lists Data Attribute resources in a DataTaxonomy. + +```sql +SELECT +name, +description, +attributeCount, +createTime, +dataAccessSpec, +displayName, +etag, +labels, +parentId, +resourceAccessSpec, +uid, +updateTime +FROM google.dataplex.attributes +WHERE dataTaxonomiesId = '{{ dataTaxonomiesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new attributes resource. + + + + +```sql +/*+ create */ +INSERT INTO google.dataplex.attributes ( +dataTaxonomiesId, +locationsId, +projectsId, +name, +uid, +createTime, +updateTime, +description, +displayName, +labels, +parentId, +attributeCount, +etag, +resourceAccessSpec, +dataAccessSpec +) +SELECT +'{{ dataTaxonomiesId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ uid }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ description }}', +'{{ displayName }}', +'{{ labels }}', +'{{ parentId }}', +'{{ attributeCount }}', +'{{ etag }}', +'{{ resourceAccessSpec }}', +'{{ dataAccessSpec }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: uid + value: '{{ uid }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: description + value: '{{ description }}' + - name: displayName + value: '{{ displayName }}' + - name: labels + value: '{{ labels }}' + - name: parentId + value: '{{ parentId }}' + - name: attributeCount + value: '{{ attributeCount }}' + - name: etag + value: '{{ etag }}' + - name: resourceAccessSpec + value: '{{ resourceAccessSpec }}' + - name: dataAccessSpec + value: '{{ dataAccessSpec }}' + +``` + + + +## `UPDATE` example + +Updates a attribute only if the necessary resources are available. + +```sql +UPDATE google.dataplex.attributes +SET +name = '{{ name }}', +uid = '{{ uid }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +description = '{{ description }}', +displayName = '{{ displayName }}', +labels = '{{ labels }}', +parentId = '{{ parentId }}', +attributeCount = '{{ attributeCount }}', +etag = '{{ etag }}', +resourceAccessSpec = '{{ resourceAccessSpec }}', +dataAccessSpec = '{{ dataAccessSpec }}' +WHERE +attributesId = '{{ attributesId }}' +AND dataTaxonomiesId = '{{ dataTaxonomiesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified attribute resource. + +```sql +DELETE FROM google.dataplex.attributes +WHERE attributesId = '{{ attributesId }}' +AND dataTaxonomiesId = '{{ dataTaxonomiesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/dataplex/attributes_iam_policies/index.md b/docs/google-docs/providers/google/dataplex/attributes_iam_policies/index.md index dc850e592e..d6c06e0637 100644 --- a/docs/google-docs/providers/google/dataplex/attributes_iam_policies/index.md +++ b/docs/google-docs/providers/google/dataplex/attributes_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: attributes_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - attributes_iam_policies - dataplex - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an attributes_iam_policy resource or lists attributes_iam_policies in a region ## Overview
@@ -30,13 +32,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. members can have the following values: allUsers: A special identifier that represents anyone who is on the internet; with or without a Google account. allAuthenticatedUsers: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. user:{emailid}: An email address that represents a specific Google account. For example, alice@example.com . serviceAccount:{emailid}: An email address that represents a Google service account. For example, my-other-app@appspot.gserviceaccount.com. serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]: An identifier for a Kubernetes service account (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, my-project.svc.id.goog[my-namespace/my-kubernetes-sa]. group:{emailid}: An email address that represents a Google group. For example, admins@example.com. domain:{domain}: The G Suite domain (primary) that represents all the users of that domain. For example, google.com or example.com. principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workforce identity pool. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}: All workforce identities in a group. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All workforce identities with a specific attribute value. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*: All identities in a workforce identity pool. principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workload identity pool. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}: A workload identity pool group. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All identities in a workload identity pool with a certain attribute. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*: All identities in a workload identity pool. deleted:user:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a user that has been recently deleted. For example, alice@example.com?uid=123456789012345678901. If the user is recovered, this value reverts to user:{emailid} and the recovered user retains the role in the binding. deleted:serviceAccount:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. If the service account is undeleted, this value reverts to serviceAccount:{emailid} and the undeleted service account retains the role in the binding. deleted:group:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, admins@example.com?uid=123456789012345678901. If the group is recovered, this value reverts to group:{emailid} and the recovered group retains the role in the binding. deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: Deleted single identity in a workforce identity pool. For example, deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. members can have the following values: allUsers: A special identifier that represents anyone who is on the internet; with or without a Google account. allAuthenticatedUsers: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. user:{emailid}: An email address that represents a specific Google account. For example, alice@example.com . serviceAccount:{emailid}: An email address that represents a Google service account. For example, my-other-app@appspot.gserviceaccount.com. serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]: An identifier for a Kubernetes service account (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, my-project.svc.id.goog[my-namespace/my-kubernetes-sa]. group:{emailid}: An email address that represents a Google group. For example, admins@example.com. domain:{domain}: The G Suite domain (primary) that represents all the users of that domain. For example, google.com or example.com. principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workforce identity pool. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}: All workforce identities in a group. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All workforce identities with a specific attribute value. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*: All identities in a workforce identity pool. principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workload identity pool. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}: A workload identity pool group. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All identities in a workload identity pool with a certain attribute. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*: All identities in a workload identity pool. deleted:user:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a user that has been recently deleted. For example, alice@example.com?uid=123456789012345678901. If the user is recovered, this value reverts to user:{emailid} and the recovered user retains the role in the binding. deleted:serviceAccount:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. If the service account is undeleted, this value reverts to serviceAccount:{emailid} and the undeleted service account retains the role in the binding. deleted:group:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, admins@example.com?uid=123456789012345678901. If the group is recovered, this value reverts to group:{emailid} and the recovered group retains the role in the binding. deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: Deleted single identity in a workforce identity pool. For example, deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value. | | | `string` | Role that is assigned to the list of members, or principals. For example, roles/viewer, roles/editor, or roles/owner.For an overview of the IAM roles and permissions, see the IAM documentation (https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see here (https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.dataplex.attributes_iam_policies +WHERE attributesId = '{{ attributesId }}' +AND dataTaxonomiesId = '{{ dataTaxonomiesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/dataplex/categories_iam_policies/index.md b/docs/google-docs/providers/google/dataplex/categories_iam_policies/index.md new file mode 100644 index 0000000000..56af3acc18 --- /dev/null +++ b/docs/google-docs/providers/google/dataplex/categories_iam_policies/index.md @@ -0,0 +1,60 @@ + +--- +title: categories_iam_policies +hide_title: false +hide_table_of_contents: false +keywords: + - categories_iam_policies + - dataplex + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an categories_iam_policy resource or lists categories_iam_policies in a region + +## Overview +
+ + + +
Namecategories_iam_policies
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. members can have the following values: allUsers: A special identifier that represents anyone who is on the internet; with or without a Google account. allAuthenticatedUsers: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. user:{emailid}: An email address that represents a specific Google account. For example, alice@example.com . serviceAccount:{emailid}: An email address that represents a Google service account. For example, my-other-app@appspot.gserviceaccount.com. serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]: An identifier for a Kubernetes service account (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, my-project.svc.id.goog[my-namespace/my-kubernetes-sa]. group:{emailid}: An email address that represents a Google group. For example, admins@example.com. domain:{domain}: The G Suite domain (primary) that represents all the users of that domain. For example, google.com or example.com. principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workforce identity pool. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}: All workforce identities in a group. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All workforce identities with a specific attribute value. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*: All identities in a workforce identity pool. principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workload identity pool. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}: A workload identity pool group. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All identities in a workload identity pool with a certain attribute. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*: All identities in a workload identity pool. deleted:user:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a user that has been recently deleted. For example, alice@example.com?uid=123456789012345678901. If the user is recovered, this value reverts to user:{emailid} and the recovered user retains the role in the binding. deleted:serviceAccount:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. If the service account is undeleted, this value reverts to serviceAccount:{emailid} and the undeleted service account retains the role in the binding. deleted:group:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, admins@example.com?uid=123456789012345678901. If the group is recovered, this value reverts to group:{emailid} and the recovered group retains the role in the binding. deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: Deleted single identity in a workforce identity pool. For example, deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value. | +| | `string` | Role that is assigned to the list of members, or principals. For example, roles/viewer, roles/editor, or roles/owner.For an overview of the IAM roles and permissions, see the IAM documentation (https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see here (https://cloud.google.com/iam/docs/understanding-roles). | + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | +| | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors. | +| | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.dataplex.categories_iam_policies +WHERE categoriesId = '{{ categoriesId }}' +AND glossariesId = '{{ glossariesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/dataplex/content/index.md b/docs/google-docs/providers/google/dataplex/content/index.md index c917a98604..8436940d56 100644 --- a/docs/google-docs/providers/google/dataplex/content/index.md +++ b/docs/google-docs/providers/google/dataplex/content/index.md @@ -1,3 +1,4 @@ + --- title: content hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - content - dataplex - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an content resource or lists content in a region ## Overview @@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. The relative resource name of the content, of the form: projects/{project_id}/locations/{location_id}/lakes/{lake_id}/content/{content_id} | +| | `string` | Output only. The relative resource name of the content, of the form: projects/{project_id}/locations/{location_id}/lakes/{lake_id}/content/{content_id} | | | `string` | Optional. Description of the content. | | | `string` | Output only. Content creation time. | | | `string` | Required. Content data in string format. | @@ -40,6 +42,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Configuration for the Sql Script content. | | | `string` | Output only. System generated globally unique ID for the content. This ID will be different if the content is deleted and re-created with the same name. | | | `string` | Output only. The time when the content was last updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -48,4 +51,139 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Create a content. | | | `DELETE` | | Delete a content. | | | `UPDATE` | | Update a content. Only supports full resource update. | -| | `EXEC` | | List content. | + +## `SELECT` examples + +List content. + +```sql +SELECT +name, +description, +createTime, +dataText, +labels, +notebook, +path, +sqlScript, +uid, +updateTime +FROM google.dataplex.content +WHERE lakesId = '{{ lakesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new content resource. + + + + +```sql +/*+ create */ +INSERT INTO google.dataplex.content ( +lakesId, +locationsId, +projectsId, +name, +uid, +path, +createTime, +updateTime, +labels, +description, +dataText, +sqlScript, +notebook +) +SELECT +'{{ lakesId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ uid }}', +'{{ path }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ labels }}', +'{{ description }}', +'{{ dataText }}', +'{{ sqlScript }}', +'{{ notebook }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: uid + value: '{{ uid }}' + - name: path + value: '{{ path }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: labels + value: '{{ labels }}' + - name: description + value: '{{ description }}' + - name: dataText + value: '{{ dataText }}' + - name: sqlScript + value: '{{ sqlScript }}' + - name: notebook + value: '{{ notebook }}' + +``` + + + +## `UPDATE` example + +Updates a content only if the necessary resources are available. + +```sql +UPDATE google.dataplex.content +SET +name = '{{ name }}', +uid = '{{ uid }}', +path = '{{ path }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +labels = '{{ labels }}', +description = '{{ description }}', +dataText = '{{ dataText }}', +sqlScript = '{{ sqlScript }}', +notebook = '{{ notebook }}' +WHERE +contentId = '{{ contentId }}' +AND lakesId = '{{ lakesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified content resource. + +```sql +DELETE FROM google.dataplex.content +WHERE contentId = '{{ contentId }}' +AND lakesId = '{{ lakesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/dataplex/content_iam_policies/index.md b/docs/google-docs/providers/google/dataplex/content_iam_policies/index.md index 0f02f51008..ace8ce71a3 100644 --- a/docs/google-docs/providers/google/dataplex/content_iam_policies/index.md +++ b/docs/google-docs/providers/google/dataplex/content_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: content_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - content_iam_policies - dataplex - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an content_iam_policy resource or lists content_iam_policies in a region ## Overview
@@ -30,13 +32,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. members can have the following values: allUsers: A special identifier that represents anyone who is on the internet; with or without a Google account. allAuthenticatedUsers: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. user:{emailid}: An email address that represents a specific Google account. For example, alice@example.com . serviceAccount:{emailid}: An email address that represents a Google service account. For example, my-other-app@appspot.gserviceaccount.com. serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]: An identifier for a Kubernetes service account (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, my-project.svc.id.goog[my-namespace/my-kubernetes-sa]. group:{emailid}: An email address that represents a Google group. For example, admins@example.com. domain:{domain}: The G Suite domain (primary) that represents all the users of that domain. For example, google.com or example.com. principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workforce identity pool. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}: All workforce identities in a group. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All workforce identities with a specific attribute value. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*: All identities in a workforce identity pool. principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workload identity pool. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}: A workload identity pool group. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All identities in a workload identity pool with a certain attribute. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*: All identities in a workload identity pool. deleted:user:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a user that has been recently deleted. For example, alice@example.com?uid=123456789012345678901. If the user is recovered, this value reverts to user:{emailid} and the recovered user retains the role in the binding. deleted:serviceAccount:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. If the service account is undeleted, this value reverts to serviceAccount:{emailid} and the undeleted service account retains the role in the binding. deleted:group:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, admins@example.com?uid=123456789012345678901. If the group is recovered, this value reverts to group:{emailid} and the recovered group retains the role in the binding. deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: Deleted single identity in a workforce identity pool. For example, deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. members can have the following values: allUsers: A special identifier that represents anyone who is on the internet; with or without a Google account. allAuthenticatedUsers: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. user:{emailid}: An email address that represents a specific Google account. For example, alice@example.com . serviceAccount:{emailid}: An email address that represents a Google service account. For example, my-other-app@appspot.gserviceaccount.com. serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]: An identifier for a Kubernetes service account (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, my-project.svc.id.goog[my-namespace/my-kubernetes-sa]. group:{emailid}: An email address that represents a Google group. For example, admins@example.com. domain:{domain}: The G Suite domain (primary) that represents all the users of that domain. For example, google.com or example.com. principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workforce identity pool. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}: All workforce identities in a group. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All workforce identities with a specific attribute value. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*: All identities in a workforce identity pool. principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workload identity pool. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}: A workload identity pool group. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All identities in a workload identity pool with a certain attribute. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*: All identities in a workload identity pool. deleted:user:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a user that has been recently deleted. For example, alice@example.com?uid=123456789012345678901. If the user is recovered, this value reverts to user:{emailid} and the recovered user retains the role in the binding. deleted:serviceAccount:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. If the service account is undeleted, this value reverts to serviceAccount:{emailid} and the undeleted service account retains the role in the binding. deleted:group:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, admins@example.com?uid=123456789012345678901. If the group is recovered, this value reverts to group:{emailid} and the recovered group retains the role in the binding. deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: Deleted single identity in a workforce identity pool. For example, deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value. | | | `string` | Role that is assigned to the list of members, or principals. For example, roles/viewer, roles/editor, or roles/owner.For an overview of the IAM roles and permissions, see the IAM documentation (https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see here (https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a contentitem resource. A NOT_FOUND error is returned if the resource does not exist. An empty policy is returned if the resource exists but does not have a policy set on it.Caller must have Google IAM dataplex.content.getIamPolicy permission on the resource. | -| | `EXEC` | | Gets the access control policy for a contentitem resource. A NOT_FOUND error is returned if the resource does not exist. An empty policy is returned if the resource exists but does not have a policy set on it.Caller must have Google IAM dataplex.content.getIamPolicy permission on the resource. | | | `EXEC` | | Sets the access control policy on the specified contentitem resource. Replaces any existing policy.Caller must have Google IAM dataplex.content.setIamPolicy permission on the resource. | | | `EXEC` | | Returns the caller's permissions on a resource. If the resource does not exist, an empty set of permissions is returned (a NOT_FOUND error is not returned).A caller is not required to have Google IAM permission to make this request.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a contentitem resource. A NOT_FOUND error is returned if the resource does not exist. An empty policy is returned if the resource exists but does not have a policy set on it.Caller must have Google IAM dataplex.content.getIamPolicy permission on the resource. + +```sql +SELECT +condition, +members, +role +FROM google.dataplex.content_iam_policies +WHERE contentId = '{{ contentId }}' +AND lakesId = '{{ lakesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/dataplex/contentitems/index.md b/docs/google-docs/providers/google/dataplex/contentitems/index.md index 5e8179f76a..971192eb9e 100644 --- a/docs/google-docs/providers/google/dataplex/contentitems/index.md +++ b/docs/google-docs/providers/google/dataplex/contentitems/index.md @@ -1,3 +1,4 @@ + --- title: contentitems hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - contentitems - dataplex - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an contentitem resource or lists contentitems in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. The relative resource name of the content, of the form: projects/{project_id}/locations/{location_id}/lakes/{lake_id}/content/{content_id} | +| | `string` | Output only. The relative resource name of the content, of the form: projects/{project_id}/locations/{location_id}/lakes/{lake_id}/content/{content_id} | | | `string` | Optional. Description of the content. | | | `string` | Output only. Content creation time. | | | `string` | Required. Content data in string format. | @@ -40,6 +42,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Configuration for the Sql Script content. | | | `string` | Output only. System generated globally unique ID for the content. This ID will be different if the content is deleted and re-created with the same name. | | | `string` | Output only. The time when the content was last updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -48,4 +51,139 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Create a content. | | | `DELETE` | | Delete a content. | | | `UPDATE` | | Update a content. Only supports full resource update. | -| | `EXEC` | | List content. | + +## `SELECT` examples + +List content. + +```sql +SELECT +name, +description, +createTime, +dataText, +labels, +notebook, +path, +sqlScript, +uid, +updateTime +FROM google.dataplex.contentitems +WHERE lakesId = '{{ lakesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new contentitems resource. + + + + +```sql +/*+ create */ +INSERT INTO google.dataplex.contentitems ( +lakesId, +locationsId, +projectsId, +name, +uid, +path, +createTime, +updateTime, +labels, +description, +dataText, +sqlScript, +notebook +) +SELECT +'{{ lakesId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ uid }}', +'{{ path }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ labels }}', +'{{ description }}', +'{{ dataText }}', +'{{ sqlScript }}', +'{{ notebook }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: uid + value: '{{ uid }}' + - name: path + value: '{{ path }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: labels + value: '{{ labels }}' + - name: description + value: '{{ description }}' + - name: dataText + value: '{{ dataText }}' + - name: sqlScript + value: '{{ sqlScript }}' + - name: notebook + value: '{{ notebook }}' + +``` + + + +## `UPDATE` example + +Updates a contentitem only if the necessary resources are available. + +```sql +UPDATE google.dataplex.contentitems +SET +name = '{{ name }}', +uid = '{{ uid }}', +path = '{{ path }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +labels = '{{ labels }}', +description = '{{ description }}', +dataText = '{{ dataText }}', +sqlScript = '{{ sqlScript }}', +notebook = '{{ notebook }}' +WHERE +contentitemsId = '{{ contentitemsId }}' +AND lakesId = '{{ lakesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified contentitem resource. + +```sql +DELETE FROM google.dataplex.contentitems +WHERE contentitemsId = '{{ contentitemsId }}' +AND lakesId = '{{ lakesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/dataplex/contentitems_iam_policies/index.md b/docs/google-docs/providers/google/dataplex/contentitems_iam_policies/index.md index a43b74afe7..6dea9457f9 100644 --- a/docs/google-docs/providers/google/dataplex/contentitems_iam_policies/index.md +++ b/docs/google-docs/providers/google/dataplex/contentitems_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: contentitems_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - contentitems_iam_policies - dataplex - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an contentitems_iam_policy resource or lists contentitems_iam_policies in a region ## Overview
@@ -30,13 +32,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. members can have the following values: allUsers: A special identifier that represents anyone who is on the internet; with or without a Google account. allAuthenticatedUsers: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. user:{emailid}: An email address that represents a specific Google account. For example, alice@example.com . serviceAccount:{emailid}: An email address that represents a Google service account. For example, my-other-app@appspot.gserviceaccount.com. serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]: An identifier for a Kubernetes service account (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, my-project.svc.id.goog[my-namespace/my-kubernetes-sa]. group:{emailid}: An email address that represents a Google group. For example, admins@example.com. domain:{domain}: The G Suite domain (primary) that represents all the users of that domain. For example, google.com or example.com. principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workforce identity pool. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}: All workforce identities in a group. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All workforce identities with a specific attribute value. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*: All identities in a workforce identity pool. principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workload identity pool. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}: A workload identity pool group. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All identities in a workload identity pool with a certain attribute. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*: All identities in a workload identity pool. deleted:user:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a user that has been recently deleted. For example, alice@example.com?uid=123456789012345678901. If the user is recovered, this value reverts to user:{emailid} and the recovered user retains the role in the binding. deleted:serviceAccount:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. If the service account is undeleted, this value reverts to serviceAccount:{emailid} and the undeleted service account retains the role in the binding. deleted:group:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, admins@example.com?uid=123456789012345678901. If the group is recovered, this value reverts to group:{emailid} and the recovered group retains the role in the binding. deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: Deleted single identity in a workforce identity pool. For example, deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. members can have the following values: allUsers: A special identifier that represents anyone who is on the internet; with or without a Google account. allAuthenticatedUsers: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. user:{emailid}: An email address that represents a specific Google account. For example, alice@example.com . serviceAccount:{emailid}: An email address that represents a Google service account. For example, my-other-app@appspot.gserviceaccount.com. serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]: An identifier for a Kubernetes service account (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, my-project.svc.id.goog[my-namespace/my-kubernetes-sa]. group:{emailid}: An email address that represents a Google group. For example, admins@example.com. domain:{domain}: The G Suite domain (primary) that represents all the users of that domain. For example, google.com or example.com. principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workforce identity pool. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}: All workforce identities in a group. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All workforce identities with a specific attribute value. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*: All identities in a workforce identity pool. principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workload identity pool. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}: A workload identity pool group. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All identities in a workload identity pool with a certain attribute. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*: All identities in a workload identity pool. deleted:user:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a user that has been recently deleted. For example, alice@example.com?uid=123456789012345678901. If the user is recovered, this value reverts to user:{emailid} and the recovered user retains the role in the binding. deleted:serviceAccount:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. If the service account is undeleted, this value reverts to serviceAccount:{emailid} and the undeleted service account retains the role in the binding. deleted:group:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, admins@example.com?uid=123456789012345678901. If the group is recovered, this value reverts to group:{emailid} and the recovered group retains the role in the binding. deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: Deleted single identity in a workforce identity pool. For example, deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value. | | | `string` | Role that is assigned to the list of members, or principals. For example, roles/viewer, roles/editor, or roles/owner.For an overview of the IAM roles and permissions, see the IAM documentation (https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see here (https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a contentitem resource. A NOT_FOUND error is returned if the resource does not exist. An empty policy is returned if the resource exists but does not have a policy set on it.Caller must have Google IAM dataplex.content.getIamPolicy permission on the resource. | -| | `EXEC` | | Gets the access control policy for a contentitem resource. A NOT_FOUND error is returned if the resource does not exist. An empty policy is returned if the resource exists but does not have a policy set on it.Caller must have Google IAM dataplex.content.getIamPolicy permission on the resource. | | | `EXEC` | | Sets the access control policy on the specified contentitem resource. Replaces any existing policy.Caller must have Google IAM dataplex.content.setIamPolicy permission on the resource. | | | `EXEC` | | Returns the caller's permissions on a resource. If the resource does not exist, an empty set of permissions is returned (a NOT_FOUND error is not returned).A caller is not required to have Google IAM permission to make this request.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a contentitem resource. A NOT_FOUND error is returned if the resource does not exist. An empty policy is returned if the resource exists but does not have a policy set on it.Caller must have Google IAM dataplex.content.getIamPolicy permission on the resource. + +```sql +SELECT +condition, +members, +role +FROM google.dataplex.contentitems_iam_policies +WHERE contentitemsId = '{{ contentitemsId }}' +AND lakesId = '{{ lakesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/dataplex/data_attribute_bindings/index.md b/docs/google-docs/providers/google/dataplex/data_attribute_bindings/index.md index 960e475ba1..9686476e39 100644 --- a/docs/google-docs/providers/google/dataplex/data_attribute_bindings/index.md +++ b/docs/google-docs/providers/google/dataplex/data_attribute_bindings/index.md @@ -1,3 +1,4 @@ + --- title: data_attribute_bindings hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - data_attribute_bindings - dataplex - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an data_attribute_binding resource or lists data_attribute_bindings in a region ## Overview
@@ -30,17 +32,18 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. The relative resource name of the Data Attribute Binding, of the form: projects/{project_number}/locations/{location}/dataAttributeBindings/{data_attribute_binding_id} | +| | `string` | Output only. The relative resource name of the Data Attribute Binding, of the form: projects/{project_number}/locations/{location}/dataAttributeBindings/{data_attribute_binding_id} | | | `string` | Optional. Description of the DataAttributeBinding. | -| | `array` | Optional. List of attributes to be associated with the resource, provided in the form: projects/{project}/locations/{location}/dataTaxonomies/{dataTaxonomy}/attributes/{data_attribute_id} | +| | `array` | Optional. List of attributes to be associated with the resource, provided in the form: projects/{project}/locations/{location}/dataTaxonomies/{dataTaxonomy}/attributes/{data_attribute_id} | | | `string` | Output only. The time when the DataAttributeBinding was created. | | | `string` | Optional. User friendly display name. | | | `string` | This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. Etags must be used when calling the DeleteDataAttributeBinding and the UpdateDataAttributeBinding method. | | | `object` | Optional. User-defined labels for the DataAttributeBinding. | | | `array` | Optional. The list of paths for items within the associated resource (eg. columns and partitions within a table) along with attribute bindings. | -| | `string` | Optional. Immutable. The resource name of the resource that is associated to attributes. Presently, only entity resource is supported in the form: projects/{project}/locations/{location}/lakes/{lake}/zones/{zone}/entities/{entity_id} Must belong in the same project and region as the attribute binding, and there can only exist one active binding for a resource. | +| | `string` | Optional. Immutable. The resource name of the resource that is associated to attributes. Presently, only entity resource is supported in the form: projects/{project}/locations/{location}/lakes/{lake}/zones/{zone}/entities/{entity_id} Must belong in the same project and region as the attribute binding, and there can only exist one active binding for a resource. | | | `string` | Output only. System generated globally unique ID for the DataAttributeBinding. This ID will be different if the DataAttributeBinding is deleted and re-created with the same name. | | | `string` | Output only. The time when the DataAttributeBinding was last updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -49,4 +52,140 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Create a DataAttributeBinding resource. | | | `DELETE` | | Deletes a DataAttributeBinding resource. All attributes within the DataAttributeBinding must be deleted before the DataAttributeBinding can be deleted. | | | `UPDATE` | | Updates a DataAttributeBinding resource. | -| | `EXEC` | | Lists DataAttributeBinding resources in a project and location. | + +## `SELECT` examples + +Lists DataAttributeBinding resources in a project and location. + +```sql +SELECT +name, +description, +attributes, +createTime, +displayName, +etag, +labels, +paths, +resource, +uid, +updateTime +FROM google.dataplex.data_attribute_bindings +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new data_attribute_bindings resource. + + + + +```sql +/*+ create */ +INSERT INTO google.dataplex.data_attribute_bindings ( +locationsId, +projectsId, +name, +uid, +createTime, +updateTime, +description, +displayName, +labels, +etag, +resource, +attributes, +paths +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ uid }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ description }}', +'{{ displayName }}', +'{{ labels }}', +'{{ etag }}', +'{{ resource }}', +'{{ attributes }}', +'{{ paths }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: uid + value: '{{ uid }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: description + value: '{{ description }}' + - name: displayName + value: '{{ displayName }}' + - name: labels + value: '{{ labels }}' + - name: etag + value: '{{ etag }}' + - name: resource + value: '{{ resource }}' + - name: attributes + value: '{{ attributes }}' + - name: paths + value: '{{ paths }}' + +``` + + + +## `UPDATE` example + +Updates a data_attribute_binding only if the necessary resources are available. + +```sql +UPDATE google.dataplex.data_attribute_bindings +SET +name = '{{ name }}', +uid = '{{ uid }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +description = '{{ description }}', +displayName = '{{ displayName }}', +labels = '{{ labels }}', +etag = '{{ etag }}', +resource = '{{ resource }}', +attributes = '{{ attributes }}', +paths = '{{ paths }}' +WHERE +dataAttributeBindingsId = '{{ dataAttributeBindingsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified data_attribute_binding resource. + +```sql +DELETE FROM google.dataplex.data_attribute_bindings +WHERE dataAttributeBindingsId = '{{ dataAttributeBindingsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/dataplex/data_attribute_bindings_iam_policies/index.md b/docs/google-docs/providers/google/dataplex/data_attribute_bindings_iam_policies/index.md index 19956f4a05..d28aec2765 100644 --- a/docs/google-docs/providers/google/dataplex/data_attribute_bindings_iam_policies/index.md +++ b/docs/google-docs/providers/google/dataplex/data_attribute_bindings_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: data_attribute_bindings_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - data_attribute_bindings_iam_policies - dataplex - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an data_attribute_bindings_iam_policy resource or lists data_attribute_bindings_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. members can have the following values: allUsers: A special identifier that represents anyone who is on the internet; with or without a Google account. allAuthenticatedUsers: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. user:{emailid}: An email address that represents a specific Google account. For example, alice@example.com . serviceAccount:{emailid}: An email address that represents a Google service account. For example, my-other-app@appspot.gserviceaccount.com. serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]: An identifier for a Kubernetes service account (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, my-project.svc.id.goog[my-namespace/my-kubernetes-sa]. group:{emailid}: An email address that represents a Google group. For example, admins@example.com. domain:{domain}: The G Suite domain (primary) that represents all the users of that domain. For example, google.com or example.com. principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workforce identity pool. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}: All workforce identities in a group. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All workforce identities with a specific attribute value. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*: All identities in a workforce identity pool. principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workload identity pool. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}: A workload identity pool group. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All identities in a workload identity pool with a certain attribute. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*: All identities in a workload identity pool. deleted:user:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a user that has been recently deleted. For example, alice@example.com?uid=123456789012345678901. If the user is recovered, this value reverts to user:{emailid} and the recovered user retains the role in the binding. deleted:serviceAccount:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. If the service account is undeleted, this value reverts to serviceAccount:{emailid} and the undeleted service account retains the role in the binding. deleted:group:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, admins@example.com?uid=123456789012345678901. If the group is recovered, this value reverts to group:{emailid} and the recovered group retains the role in the binding. deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: Deleted single identity in a workforce identity pool. For example, deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. members can have the following values: allUsers: A special identifier that represents anyone who is on the internet; with or without a Google account. allAuthenticatedUsers: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. user:{emailid}: An email address that represents a specific Google account. For example, alice@example.com . serviceAccount:{emailid}: An email address that represents a Google service account. For example, my-other-app@appspot.gserviceaccount.com. serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]: An identifier for a Kubernetes service account (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, my-project.svc.id.goog[my-namespace/my-kubernetes-sa]. group:{emailid}: An email address that represents a Google group. For example, admins@example.com. domain:{domain}: The G Suite domain (primary) that represents all the users of that domain. For example, google.com or example.com. principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workforce identity pool. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}: All workforce identities in a group. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All workforce identities with a specific attribute value. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*: All identities in a workforce identity pool. principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workload identity pool. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}: A workload identity pool group. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All identities in a workload identity pool with a certain attribute. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*: All identities in a workload identity pool. deleted:user:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a user that has been recently deleted. For example, alice@example.com?uid=123456789012345678901. If the user is recovered, this value reverts to user:{emailid} and the recovered user retains the role in the binding. deleted:serviceAccount:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. If the service account is undeleted, this value reverts to serviceAccount:{emailid} and the undeleted service account retains the role in the binding. deleted:group:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, admins@example.com?uid=123456789012345678901. If the group is recovered, this value reverts to group:{emailid} and the recovered group retains the role in the binding. deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: Deleted single identity in a workforce identity pool. For example, deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value. | | | `string` | Role that is assigned to the list of members, or principals. For example, roles/viewer, roles/editor, or roles/owner.For an overview of the IAM roles and permissions, see the IAM documentation (https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see here (https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.dataplex.data_attribute_bindings_iam_policies +WHERE dataAttributeBindingsId = '{{ dataAttributeBindingsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/dataplex/data_scans/index.md b/docs/google-docs/providers/google/dataplex/data_scans/index.md index c1634e2c14..033bbb94bc 100644 --- a/docs/google-docs/providers/google/dataplex/data_scans/index.md +++ b/docs/google-docs/providers/google/dataplex/data_scans/index.md @@ -1,3 +1,4 @@ + --- title: data_scans hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - data_scans - dataplex - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an data_scan resource or lists data_scans in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. The relative resource name of the scan, of the form: projects/{project}/locations/{location_id}/dataScans/{datascan_id}, where project refers to a project_id or project_number and location_id refers to a GCP region. | +| | `string` | Output only. The relative resource name of the scan, of the form: projects/{project}/locations/{location_id}/dataScans/{datascan_id}, where project refers to a project_id or project_number and location_id refers to a GCP region. | | | `string` | Optional. Description of the scan. Must be between 1-1024 characters. | | | `string` | Output only. The time when the scan was created. | | | `object` | The data source for DataScan. | @@ -46,6 +48,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The type of DataScan. | | | `string` | Output only. System generated globally unique ID for the scan. This ID will be different if the scan is deleted and re-created with the same name. | | | `string` | Output only. The time when the scan was last updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -54,6 +57,172 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a DataScan resource. | | | `DELETE` | | Deletes a DataScan resource. | | | `UPDATE` | | Updates a DataScan resource. | -| | `EXEC` | | Lists DataScans. | -| | `EXEC` | | Generates recommended DataQualityRule from a data profiling DataScan. | +| | `EXEC` | | Generates recommended data quality rules based on the results of a data profiling scan.Use the recommendations to build rules for a data quality scan. | | | `EXEC` | | Runs an on-demand execution of a DataScan | + +## `SELECT` examples + +Lists DataScans. + +```sql +SELECT +name, +description, +createTime, +data, +dataProfileResult, +dataProfileSpec, +dataQualityResult, +dataQualitySpec, +displayName, +executionSpec, +executionStatus, +labels, +state, +type, +uid, +updateTime +FROM google.dataplex.data_scans +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new data_scans resource. + + + + +```sql +/*+ create */ +INSERT INTO google.dataplex.data_scans ( +locationsId, +projectsId, +name, +uid, +description, +displayName, +labels, +state, +createTime, +updateTime, +data, +executionSpec, +executionStatus, +type, +dataQualitySpec, +dataProfileSpec, +dataQualityResult, +dataProfileResult +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ uid }}', +'{{ description }}', +'{{ displayName }}', +'{{ labels }}', +'{{ state }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ data }}', +'{{ executionSpec }}', +'{{ executionStatus }}', +'{{ type }}', +'{{ dataQualitySpec }}', +'{{ dataProfileSpec }}', +'{{ dataQualityResult }}', +'{{ dataProfileResult }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: uid + value: '{{ uid }}' + - name: description + value: '{{ description }}' + - name: displayName + value: '{{ displayName }}' + - name: labels + value: '{{ labels }}' + - name: state + value: '{{ state }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: data + value: '{{ data }}' + - name: executionSpec + value: '{{ executionSpec }}' + - name: executionStatus + value: '{{ executionStatus }}' + - name: type + value: '{{ type }}' + - name: dataQualitySpec + value: '{{ dataQualitySpec }}' + - name: dataProfileSpec + value: '{{ dataProfileSpec }}' + - name: dataQualityResult + value: '{{ dataQualityResult }}' + - name: dataProfileResult + value: '{{ dataProfileResult }}' + +``` + + + +## `UPDATE` example + +Updates a data_scan only if the necessary resources are available. + +```sql +UPDATE google.dataplex.data_scans +SET +name = '{{ name }}', +uid = '{{ uid }}', +description = '{{ description }}', +displayName = '{{ displayName }}', +labels = '{{ labels }}', +state = '{{ state }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +data = '{{ data }}', +executionSpec = '{{ executionSpec }}', +executionStatus = '{{ executionStatus }}', +type = '{{ type }}', +dataQualitySpec = '{{ dataQualitySpec }}', +dataProfileSpec = '{{ dataProfileSpec }}', +dataQualityResult = '{{ dataQualityResult }}', +dataProfileResult = '{{ dataProfileResult }}' +WHERE +dataScansId = '{{ dataScansId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified data_scan resource. + +```sql +DELETE FROM google.dataplex.data_scans +WHERE dataScansId = '{{ dataScansId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/dataplex/data_scans_iam_policies/index.md b/docs/google-docs/providers/google/dataplex/data_scans_iam_policies/index.md index dc2618aa95..f1b27113c6 100644 --- a/docs/google-docs/providers/google/dataplex/data_scans_iam_policies/index.md +++ b/docs/google-docs/providers/google/dataplex/data_scans_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: data_scans_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - data_scans_iam_policies - dataplex - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an data_scans_iam_policy resource or lists data_scans_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. members can have the following values: allUsers: A special identifier that represents anyone who is on the internet; with or without a Google account. allAuthenticatedUsers: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. user:{emailid}: An email address that represents a specific Google account. For example, alice@example.com . serviceAccount:{emailid}: An email address that represents a Google service account. For example, my-other-app@appspot.gserviceaccount.com. serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]: An identifier for a Kubernetes service account (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, my-project.svc.id.goog[my-namespace/my-kubernetes-sa]. group:{emailid}: An email address that represents a Google group. For example, admins@example.com. domain:{domain}: The G Suite domain (primary) that represents all the users of that domain. For example, google.com or example.com. principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workforce identity pool. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}: All workforce identities in a group. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All workforce identities with a specific attribute value. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*: All identities in a workforce identity pool. principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workload identity pool. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}: A workload identity pool group. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All identities in a workload identity pool with a certain attribute. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*: All identities in a workload identity pool. deleted:user:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a user that has been recently deleted. For example, alice@example.com?uid=123456789012345678901. If the user is recovered, this value reverts to user:{emailid} and the recovered user retains the role in the binding. deleted:serviceAccount:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. If the service account is undeleted, this value reverts to serviceAccount:{emailid} and the undeleted service account retains the role in the binding. deleted:group:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, admins@example.com?uid=123456789012345678901. If the group is recovered, this value reverts to group:{emailid} and the recovered group retains the role in the binding. deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: Deleted single identity in a workforce identity pool. For example, deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. members can have the following values: allUsers: A special identifier that represents anyone who is on the internet; with or without a Google account. allAuthenticatedUsers: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. user:{emailid}: An email address that represents a specific Google account. For example, alice@example.com . serviceAccount:{emailid}: An email address that represents a Google service account. For example, my-other-app@appspot.gserviceaccount.com. serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]: An identifier for a Kubernetes service account (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, my-project.svc.id.goog[my-namespace/my-kubernetes-sa]. group:{emailid}: An email address that represents a Google group. For example, admins@example.com. domain:{domain}: The G Suite domain (primary) that represents all the users of that domain. For example, google.com or example.com. principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workforce identity pool. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}: All workforce identities in a group. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All workforce identities with a specific attribute value. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*: All identities in a workforce identity pool. principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workload identity pool. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}: A workload identity pool group. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All identities in a workload identity pool with a certain attribute. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*: All identities in a workload identity pool. deleted:user:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a user that has been recently deleted. For example, alice@example.com?uid=123456789012345678901. If the user is recovered, this value reverts to user:{emailid} and the recovered user retains the role in the binding. deleted:serviceAccount:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. If the service account is undeleted, this value reverts to serviceAccount:{emailid} and the undeleted service account retains the role in the binding. deleted:group:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, admins@example.com?uid=123456789012345678901. If the group is recovered, this value reverts to group:{emailid} and the recovered group retains the role in the binding. deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: Deleted single identity in a workforce identity pool. For example, deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value. | | | `string` | Role that is assigned to the list of members, or principals. For example, roles/viewer, roles/editor, or roles/owner.For an overview of the IAM roles and permissions, see the IAM documentation (https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see here (https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.dataplex.data_scans_iam_policies +WHERE dataScansId = '{{ dataScansId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/dataplex/data_taxonomies/index.md b/docs/google-docs/providers/google/dataplex/data_taxonomies/index.md index 194a3dda1c..64b3c14f69 100644 --- a/docs/google-docs/providers/google/dataplex/data_taxonomies/index.md +++ b/docs/google-docs/providers/google/dataplex/data_taxonomies/index.md @@ -1,3 +1,4 @@ + --- title: data_taxonomies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - data_taxonomies - dataplex - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an data_taxonomy resource or lists data_taxonomies in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. The relative resource name of the DataTaxonomy, of the form: projects/{project_number}/locations/{location_id}/dataTaxonomies/{data_taxonomy_id}. | +| | `string` | Output only. The relative resource name of the DataTaxonomy, of the form: projects/{project_number}/locations/{location_id}/dataTaxonomies/{data_taxonomy_id}. | | | `string` | Optional. Description of the DataTaxonomy. | | | `integer` | Output only. The number of attributes in the DataTaxonomy. | | | `integer` | Output only. The number of classes in the DataTaxonomy. | @@ -40,6 +42,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Optional. User-defined labels for the DataTaxonomy. | | | `string` | Output only. System generated globally unique ID for the dataTaxonomy. This ID will be different if the DataTaxonomy is deleted and re-created with the same name. | | | `string` | Output only. The time when the DataTaxonomy was last updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -48,4 +51,134 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Create a DataTaxonomy resource. | | | `DELETE` | | Deletes a DataTaxonomy resource. All attributes within the DataTaxonomy must be deleted before the DataTaxonomy can be deleted. | | | `UPDATE` | | Updates a DataTaxonomy resource. | -| | `EXEC` | | Lists DataTaxonomy resources in a project and location. | + +## `SELECT` examples + +Lists DataTaxonomy resources in a project and location. + +```sql +SELECT +name, +description, +attributeCount, +classCount, +createTime, +displayName, +etag, +labels, +uid, +updateTime +FROM google.dataplex.data_taxonomies +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new data_taxonomies resource. + + + + +```sql +/*+ create */ +INSERT INTO google.dataplex.data_taxonomies ( +locationsId, +projectsId, +name, +uid, +createTime, +updateTime, +description, +displayName, +labels, +attributeCount, +etag, +classCount +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ uid }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ description }}', +'{{ displayName }}', +'{{ labels }}', +'{{ attributeCount }}', +'{{ etag }}', +'{{ classCount }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: uid + value: '{{ uid }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: description + value: '{{ description }}' + - name: displayName + value: '{{ displayName }}' + - name: labels + value: '{{ labels }}' + - name: attributeCount + value: '{{ attributeCount }}' + - name: etag + value: '{{ etag }}' + - name: classCount + value: '{{ classCount }}' + +``` + + + +## `UPDATE` example + +Updates a data_taxonomy only if the necessary resources are available. + +```sql +UPDATE google.dataplex.data_taxonomies +SET +name = '{{ name }}', +uid = '{{ uid }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +description = '{{ description }}', +displayName = '{{ displayName }}', +labels = '{{ labels }}', +attributeCount = '{{ attributeCount }}', +etag = '{{ etag }}', +classCount = '{{ classCount }}' +WHERE +dataTaxonomiesId = '{{ dataTaxonomiesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified data_taxonomy resource. + +```sql +DELETE FROM google.dataplex.data_taxonomies +WHERE dataTaxonomiesId = '{{ dataTaxonomiesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/dataplex/data_taxonomies_iam_policies/index.md b/docs/google-docs/providers/google/dataplex/data_taxonomies_iam_policies/index.md index eaa12b29be..8c8d976ac8 100644 --- a/docs/google-docs/providers/google/dataplex/data_taxonomies_iam_policies/index.md +++ b/docs/google-docs/providers/google/dataplex/data_taxonomies_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: data_taxonomies_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - data_taxonomies_iam_policies - dataplex - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an data_taxonomies_iam_policy resource or lists data_taxonomies_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. members can have the following values: allUsers: A special identifier that represents anyone who is on the internet; with or without a Google account. allAuthenticatedUsers: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. user:{emailid}: An email address that represents a specific Google account. For example, alice@example.com . serviceAccount:{emailid}: An email address that represents a Google service account. For example, my-other-app@appspot.gserviceaccount.com. serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]: An identifier for a Kubernetes service account (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, my-project.svc.id.goog[my-namespace/my-kubernetes-sa]. group:{emailid}: An email address that represents a Google group. For example, admins@example.com. domain:{domain}: The G Suite domain (primary) that represents all the users of that domain. For example, google.com or example.com. principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workforce identity pool. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}: All workforce identities in a group. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All workforce identities with a specific attribute value. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*: All identities in a workforce identity pool. principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workload identity pool. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}: A workload identity pool group. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All identities in a workload identity pool with a certain attribute. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*: All identities in a workload identity pool. deleted:user:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a user that has been recently deleted. For example, alice@example.com?uid=123456789012345678901. If the user is recovered, this value reverts to user:{emailid} and the recovered user retains the role in the binding. deleted:serviceAccount:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. If the service account is undeleted, this value reverts to serviceAccount:{emailid} and the undeleted service account retains the role in the binding. deleted:group:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, admins@example.com?uid=123456789012345678901. If the group is recovered, this value reverts to group:{emailid} and the recovered group retains the role in the binding. deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: Deleted single identity in a workforce identity pool. For example, deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. members can have the following values: allUsers: A special identifier that represents anyone who is on the internet; with or without a Google account. allAuthenticatedUsers: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. user:{emailid}: An email address that represents a specific Google account. For example, alice@example.com . serviceAccount:{emailid}: An email address that represents a Google service account. For example, my-other-app@appspot.gserviceaccount.com. serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]: An identifier for a Kubernetes service account (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, my-project.svc.id.goog[my-namespace/my-kubernetes-sa]. group:{emailid}: An email address that represents a Google group. For example, admins@example.com. domain:{domain}: The G Suite domain (primary) that represents all the users of that domain. For example, google.com or example.com. principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workforce identity pool. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}: All workforce identities in a group. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All workforce identities with a specific attribute value. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*: All identities in a workforce identity pool. principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workload identity pool. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}: A workload identity pool group. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All identities in a workload identity pool with a certain attribute. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*: All identities in a workload identity pool. deleted:user:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a user that has been recently deleted. For example, alice@example.com?uid=123456789012345678901. If the user is recovered, this value reverts to user:{emailid} and the recovered user retains the role in the binding. deleted:serviceAccount:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. If the service account is undeleted, this value reverts to serviceAccount:{emailid} and the undeleted service account retains the role in the binding. deleted:group:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, admins@example.com?uid=123456789012345678901. If the group is recovered, this value reverts to group:{emailid} and the recovered group retains the role in the binding. deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: Deleted single identity in a workforce identity pool. For example, deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value. | | | `string` | Role that is assigned to the list of members, or principals. For example, roles/viewer, roles/editor, or roles/owner.For an overview of the IAM roles and permissions, see the IAM documentation (https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see here (https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.dataplex.data_taxonomies_iam_policies +WHERE dataTaxonomiesId = '{{ dataTaxonomiesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/dataplex/encryption_configs_iam_policies/index.md b/docs/google-docs/providers/google/dataplex/encryption_configs_iam_policies/index.md new file mode 100644 index 0000000000..ae64339d93 --- /dev/null +++ b/docs/google-docs/providers/google/dataplex/encryption_configs_iam_policies/index.md @@ -0,0 +1,59 @@ + +--- +title: encryption_configs_iam_policies +hide_title: false +hide_table_of_contents: false +keywords: + - encryption_configs_iam_policies + - dataplex + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an encryption_configs_iam_policy resource or lists encryption_configs_iam_policies in a region + +## Overview +
+ + + +
Nameencryption_configs_iam_policies
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. members can have the following values: allUsers: A special identifier that represents anyone who is on the internet; with or without a Google account. allAuthenticatedUsers: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. user:{emailid}: An email address that represents a specific Google account. For example, alice@example.com . serviceAccount:{emailid}: An email address that represents a Google service account. For example, my-other-app@appspot.gserviceaccount.com. serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]: An identifier for a Kubernetes service account (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, my-project.svc.id.goog[my-namespace/my-kubernetes-sa]. group:{emailid}: An email address that represents a Google group. For example, admins@example.com. domain:{domain}: The G Suite domain (primary) that represents all the users of that domain. For example, google.com or example.com. principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workforce identity pool. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}: All workforce identities in a group. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All workforce identities with a specific attribute value. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*: All identities in a workforce identity pool. principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workload identity pool. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}: A workload identity pool group. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All identities in a workload identity pool with a certain attribute. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*: All identities in a workload identity pool. deleted:user:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a user that has been recently deleted. For example, alice@example.com?uid=123456789012345678901. If the user is recovered, this value reverts to user:{emailid} and the recovered user retains the role in the binding. deleted:serviceAccount:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. If the service account is undeleted, this value reverts to serviceAccount:{emailid} and the undeleted service account retains the role in the binding. deleted:group:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, admins@example.com?uid=123456789012345678901. If the group is recovered, this value reverts to group:{emailid} and the recovered group retains the role in the binding. deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: Deleted single identity in a workforce identity pool. For example, deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value. | +| | `string` | Role that is assigned to the list of members, or principals. For example, roles/viewer, roles/editor, or roles/owner.For an overview of the IAM roles and permissions, see the IAM documentation (https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see here (https://cloud.google.com/iam/docs/understanding-roles). | + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | +| | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors. | +| | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.dataplex.encryption_configs_iam_policies +WHERE encryptionConfigsId = '{{ encryptionConfigsId }}' +AND locationsId = '{{ locationsId }}' +AND organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/dataplex/entities/index.md b/docs/google-docs/providers/google/dataplex/entities/index.md index c2b7e7d838..e8ea5c188e 100644 --- a/docs/google-docs/providers/google/dataplex/entities/index.md +++ b/docs/google-docs/providers/google/dataplex/entities/index.md @@ -1,3 +1,4 @@ + --- title: entities hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - entities - dataplex - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an entity resource or lists entities in a region ## Overview @@ -31,7 +33,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | Name | Datatype | Description | |:-----|:---------|:------------| | | `string` | Required. A user-provided entity ID. It is mutable, and will be used as the published table name. Specifying a new ID in an update entity request will override the existing value. The ID must contain only letters (a-z, A-Z), numbers (0-9), and underscores, and consist of 256 or fewer characters. | -| | `string` | Output only. The resource name of the entity, of the form: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}/entities/{id}. | +| | `string` | Output only. The resource name of the entity, of the form: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}/entities/{id}. | | | `string` | Optional. User friendly longer description text. Must be shorter than or equal to 1024 characters. | | | `object` | Describes the access mechanism of the data within its storage location. | | | `string` | Required. Immutable. The ID of the asset associated with the storage location containing the entity data. The entity must be with in the same zone with the asset. | @@ -48,6 +50,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Required. Immutable. The type of entity. | | | `string` | Output only. System generated unique ID for the Entity. This ID will be different if the Entity is deleted and re-created with the same name. | | | `string` | Output only. The time when the entity was last updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -55,5 +58,160 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | List metadata entities in a zone. | | | `INSERT` | | Create a metadata entity. | | | `DELETE` | | Delete a metadata entity. | -| | `UPDATE` | | Update a metadata entity. Only supports full resource update. | -| | `EXEC` | | List metadata entities in a zone. | +| | `EXEC` | | Update a metadata entity. Only supports full resource update. | + +## `SELECT` examples + +List metadata entities in a zone. + +```sql +SELECT +id, +name, +description, +access, +asset, +catalogEntry, +compatibility, +createTime, +dataPath, +dataPathPattern, +displayName, +etag, +format, +schema, +system, +type, +uid, +updateTime +FROM google.dataplex.entities +WHERE lakesId = '{{ lakesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND zonesId = '{{ zonesId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new entities resource. + + + + +```sql +/*+ create */ +INSERT INTO google.dataplex.entities ( +lakesId, +locationsId, +projectsId, +zonesId, +name, +displayName, +description, +createTime, +updateTime, +id, +etag, +type, +asset, +dataPath, +dataPathPattern, +catalogEntry, +system, +format, +compatibility, +access, +uid, +schema +) +SELECT +'{{ lakesId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ zonesId }}', +'{{ name }}', +'{{ displayName }}', +'{{ description }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ id }}', +'{{ etag }}', +'{{ type }}', +'{{ asset }}', +'{{ dataPath }}', +'{{ dataPathPattern }}', +'{{ catalogEntry }}', +'{{ system }}', +'{{ format }}', +'{{ compatibility }}', +'{{ access }}', +'{{ uid }}', +'{{ schema }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: description + value: '{{ description }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: id + value: '{{ id }}' + - name: etag + value: '{{ etag }}' + - name: type + value: '{{ type }}' + - name: asset + value: '{{ asset }}' + - name: dataPath + value: '{{ dataPath }}' + - name: dataPathPattern + value: '{{ dataPathPattern }}' + - name: catalogEntry + value: '{{ catalogEntry }}' + - name: system + value: '{{ system }}' + - name: format + value: '{{ format }}' + - name: compatibility + value: '{{ compatibility }}' + - name: access + value: '{{ access }}' + - name: uid + value: '{{ uid }}' + - name: schema + value: '{{ schema }}' + +``` + + + +## `DELETE` example + +Deletes the specified entity resource. + +```sql +DELETE FROM google.dataplex.entities +WHERE entitiesId = '{{ entitiesId }}' +AND lakesId = '{{ lakesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND zonesId = '{{ zonesId }}'; +``` diff --git a/docs/google-docs/providers/google/dataplex/entries/index.md b/docs/google-docs/providers/google/dataplex/entries/index.md index 0e836fbfcd..40858e020d 100644 --- a/docs/google-docs/providers/google/dataplex/entries/index.md +++ b/docs/google-docs/providers/google/dataplex/entries/index.md @@ -1,3 +1,4 @@ + --- title: entries hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - entries - dataplex - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an entry resource or lists entries in a region ## Overview
@@ -30,20 +32,144 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Identifier. The relative resource name of the Entry, of the form: projects/{project}/locations/{location}/entryGroups/{entry_group}/entries/{entry}. | -| | `object` | Optional. The Aspects attached to the Entry. The format for the key can be one of the following: 1. {projectId}.{locationId}.{aspectTypeId} (if the aspect is attached directly to the entry) 2. {projectId}.{locationId}.{aspectTypeId}@{path} (if the aspect is attached to an entry's path) | -| | `string` | Output only. The time when the Entry was created. | -| | `object` | EntrySource contains source system related information for the entry. | -| | `string` | Required. Immutable. The resource name of the EntryType used to create this Entry. | -| | `string` | Optional. A name for the entry that can reference it in an external system. The maximum size of the field is 4000 characters. | +| | `string` | Identifier. The relative resource name of the entry, in the format projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entries/{entry_id}. | +| | `object` | Optional. The aspects that are attached to the entry. Depending on how the aspect is attached to the entry, the format of the aspect key can be one of the following: If the aspect is attached directly to the entry: {project_id_or_number}.{location_id}.{aspect_type_id} If the aspect is attached to an entry's path: {project_id_or_number}.{location_id}.{aspect_type_id}@{path} | +| | `string` | Output only. The time when the entry was created in Dataplex. | +| | `object` | Information related to the source system of the data resource that is represented by the entry. | +| | `string` | Required. Immutable. The relative resource name of the entry type that was used to create this entry, in the format projects/{project_id_or_number}/locations/{location_id}/entryTypes/{entry_type_id}. | +| | `string` | Optional. A name for the entry that can be referenced by an external system. For more information, see Fully qualified names (https://cloud.google.com/data-catalog/docs/fully-qualified-names). The maximum size of the field is 4000 characters. | | | `string` | Optional. Immutable. The resource name of the parent entry. | -| | `string` | Output only. The time when the Entry was last updated. | +| | `string` | Output only. The time when the entry was last updated in Dataplex. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| -| | `SELECT` | | Gets a single entry. | -| | `SELECT` | | Lists entries within an entry group. | +| | `SELECT` | | Gets an Entry. | +| | `SELECT` | | Lists Entries within an EntryGroup. | | | `INSERT` | | Creates an Entry. | | | `DELETE` | | Deletes an Entry. | | | `UPDATE` | | Updates an Entry. | -| | `EXEC` | | Lists entries within an entry group. | + +## `SELECT` examples + +Lists Entries within an EntryGroup. + +```sql +SELECT +name, +aspects, +createTime, +entrySource, +entryType, +fullyQualifiedName, +parentEntry, +updateTime +FROM google.dataplex.entries +WHERE entryGroupsId = '{{ entryGroupsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new entries resource. + + + + +```sql +/*+ create */ +INSERT INTO google.dataplex.entries ( +entryGroupsId, +locationsId, +projectsId, +name, +entryType, +createTime, +updateTime, +aspects, +parentEntry, +fullyQualifiedName, +entrySource +) +SELECT +'{{ entryGroupsId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ entryType }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ aspects }}', +'{{ parentEntry }}', +'{{ fullyQualifiedName }}', +'{{ entrySource }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: entryType + value: '{{ entryType }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: aspects + value: '{{ aspects }}' + - name: parentEntry + value: '{{ parentEntry }}' + - name: fullyQualifiedName + value: '{{ fullyQualifiedName }}' + - name: entrySource + value: '{{ entrySource }}' + +``` + + + +## `UPDATE` example + +Updates a entry only if the necessary resources are available. + +```sql +UPDATE google.dataplex.entries +SET +name = '{{ name }}', +entryType = '{{ entryType }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +aspects = '{{ aspects }}', +parentEntry = '{{ parentEntry }}', +fullyQualifiedName = '{{ fullyQualifiedName }}', +entrySource = '{{ entrySource }}' +WHERE +entriesId = '{{ entriesId }}' +AND entryGroupsId = '{{ entryGroupsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified entry resource. + +```sql +DELETE FROM google.dataplex.entries +WHERE entriesId = '{{ entriesId }}' +AND entryGroupsId = '{{ entryGroupsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/dataplex/entry_groups/index.md b/docs/google-docs/providers/google/dataplex/entry_groups/index.md index 6462389b2a..1caeb7f3ed 100644 --- a/docs/google-docs/providers/google/dataplex/entry_groups/index.md +++ b/docs/google-docs/providers/google/dataplex/entry_groups/index.md @@ -1,3 +1,4 @@ + --- title: entry_groups hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - entry_groups - dataplex - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an entry_group resource or lists entry_groups in a region ## Overview
@@ -30,21 +32,139 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. The relative resource name of the EntryGroup, of the form: projects/{project_number}/locations/{location_id}/entryGroups/{entry_group_id}. | +| | `string` | Output only. The relative resource name of the EntryGroup, in the format projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}. | | | `string` | Optional. Description of the EntryGroup. | | | `string` | Output only. The time when the EntryGroup was created. | | | `string` | Optional. User friendly display name. | -| | `string` | This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. | +| | `string` | This checksum is computed by the service, and might be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. | | | `object` | Optional. User-defined labels for the EntryGroup. | -| | `string` | Output only. Denotes the transfer status of the Entry Group. It is unspecified for Entry Group created from Dataplex API. | -| | `string` | Output only. System generated globally unique ID for the EntryGroup. This ID will be different if the EntryGroup is deleted and re-created with the same name. | +| | `string` | Output only. System generated globally unique ID for the EntryGroup. If you delete and recreate the EntryGroup with the same name, this ID will be different. | | | `string` | Output only. The time when the EntryGroup was last updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| -| | `SELECT` | | Retrieves a EntryGroup resource. | +| | `SELECT` | | Gets an EntryGroup. | | | `SELECT` | | Lists EntryGroup resources in a project and location. | -| | `INSERT` | | Creates an EntryGroup | -| | `DELETE` | | Deletes a EntryGroup resource. | -| | `UPDATE` | | Updates a EntryGroup resource. | -| | `EXEC` | | Lists EntryGroup resources in a project and location. | +| | `INSERT` | | Creates an EntryGroup. | +| | `DELETE` | | Deletes an EntryGroup. | +| | `UPDATE` | | Updates an EntryGroup. | + +## `SELECT` examples + +Lists EntryGroup resources in a project and location. + +```sql +SELECT +name, +description, +createTime, +displayName, +etag, +labels, +uid, +updateTime +FROM google.dataplex.entry_groups +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new entry_groups resource. + + + + +```sql +/*+ create */ +INSERT INTO google.dataplex.entry_groups ( +locationsId, +projectsId, +name, +uid, +createTime, +updateTime, +description, +displayName, +labels, +etag +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ uid }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ description }}', +'{{ displayName }}', +'{{ labels }}', +'{{ etag }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: uid + value: '{{ uid }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: description + value: '{{ description }}' + - name: displayName + value: '{{ displayName }}' + - name: labels + value: '{{ labels }}' + - name: etag + value: '{{ etag }}' + +``` + + + +## `UPDATE` example + +Updates a entry_group only if the necessary resources are available. + +```sql +UPDATE google.dataplex.entry_groups +SET +name = '{{ name }}', +uid = '{{ uid }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +description = '{{ description }}', +displayName = '{{ displayName }}', +labels = '{{ labels }}', +etag = '{{ etag }}' +WHERE +entryGroupsId = '{{ entryGroupsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified entry_group resource. + +```sql +DELETE FROM google.dataplex.entry_groups +WHERE entryGroupsId = '{{ entryGroupsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/dataplex/entry_groups_iam_policies/index.md b/docs/google-docs/providers/google/dataplex/entry_groups_iam_policies/index.md index 99104ced85..c9e3f8522d 100644 --- a/docs/google-docs/providers/google/dataplex/entry_groups_iam_policies/index.md +++ b/docs/google-docs/providers/google/dataplex/entry_groups_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: entry_groups_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - entry_groups_iam_policies - dataplex - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an entry_groups_iam_policy resource or lists entry_groups_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. members can have the following values: allUsers: A special identifier that represents anyone who is on the internet; with or without a Google account. allAuthenticatedUsers: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. user:{emailid}: An email address that represents a specific Google account. For example, alice@example.com . serviceAccount:{emailid}: An email address that represents a Google service account. For example, my-other-app@appspot.gserviceaccount.com. serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]: An identifier for a Kubernetes service account (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, my-project.svc.id.goog[my-namespace/my-kubernetes-sa]. group:{emailid}: An email address that represents a Google group. For example, admins@example.com. domain:{domain}: The G Suite domain (primary) that represents all the users of that domain. For example, google.com or example.com. principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workforce identity pool. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}: All workforce identities in a group. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All workforce identities with a specific attribute value. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*: All identities in a workforce identity pool. principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workload identity pool. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}: A workload identity pool group. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All identities in a workload identity pool with a certain attribute. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*: All identities in a workload identity pool. deleted:user:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a user that has been recently deleted. For example, alice@example.com?uid=123456789012345678901. If the user is recovered, this value reverts to user:{emailid} and the recovered user retains the role in the binding. deleted:serviceAccount:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. If the service account is undeleted, this value reverts to serviceAccount:{emailid} and the undeleted service account retains the role in the binding. deleted:group:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, admins@example.com?uid=123456789012345678901. If the group is recovered, this value reverts to group:{emailid} and the recovered group retains the role in the binding. deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: Deleted single identity in a workforce identity pool. For example, deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. members can have the following values: allUsers: A special identifier that represents anyone who is on the internet; with or without a Google account. allAuthenticatedUsers: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. user:{emailid}: An email address that represents a specific Google account. For example, alice@example.com . serviceAccount:{emailid}: An email address that represents a Google service account. For example, my-other-app@appspot.gserviceaccount.com. serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]: An identifier for a Kubernetes service account (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, my-project.svc.id.goog[my-namespace/my-kubernetes-sa]. group:{emailid}: An email address that represents a Google group. For example, admins@example.com. domain:{domain}: The G Suite domain (primary) that represents all the users of that domain. For example, google.com or example.com. principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workforce identity pool. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}: All workforce identities in a group. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All workforce identities with a specific attribute value. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*: All identities in a workforce identity pool. principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workload identity pool. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}: A workload identity pool group. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All identities in a workload identity pool with a certain attribute. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*: All identities in a workload identity pool. deleted:user:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a user that has been recently deleted. For example, alice@example.com?uid=123456789012345678901. If the user is recovered, this value reverts to user:{emailid} and the recovered user retains the role in the binding. deleted:serviceAccount:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. If the service account is undeleted, this value reverts to serviceAccount:{emailid} and the undeleted service account retains the role in the binding. deleted:group:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, admins@example.com?uid=123456789012345678901. If the group is recovered, this value reverts to group:{emailid} and the recovered group retains the role in the binding. deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: Deleted single identity in a workforce identity pool. For example, deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value. | | | `string` | Role that is assigned to the list of members, or principals. For example, roles/viewer, roles/editor, or roles/owner.For an overview of the IAM roles and permissions, see the IAM documentation (https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see here (https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.dataplex.entry_groups_iam_policies +WHERE entryGroupsId = '{{ entryGroupsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/dataplex/entry_link_types_iam_policies/index.md b/docs/google-docs/providers/google/dataplex/entry_link_types_iam_policies/index.md new file mode 100644 index 0000000000..46174b99a2 --- /dev/null +++ b/docs/google-docs/providers/google/dataplex/entry_link_types_iam_policies/index.md @@ -0,0 +1,59 @@ + +--- +title: entry_link_types_iam_policies +hide_title: false +hide_table_of_contents: false +keywords: + - entry_link_types_iam_policies + - dataplex + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an entry_link_types_iam_policy resource or lists entry_link_types_iam_policies in a region + +## Overview +
+ + + +
Nameentry_link_types_iam_policies
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. members can have the following values: allUsers: A special identifier that represents anyone who is on the internet; with or without a Google account. allAuthenticatedUsers: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. user:{emailid}: An email address that represents a specific Google account. For example, alice@example.com . serviceAccount:{emailid}: An email address that represents a Google service account. For example, my-other-app@appspot.gserviceaccount.com. serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]: An identifier for a Kubernetes service account (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, my-project.svc.id.goog[my-namespace/my-kubernetes-sa]. group:{emailid}: An email address that represents a Google group. For example, admins@example.com. domain:{domain}: The G Suite domain (primary) that represents all the users of that domain. For example, google.com or example.com. principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workforce identity pool. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}: All workforce identities in a group. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All workforce identities with a specific attribute value. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*: All identities in a workforce identity pool. principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workload identity pool. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}: A workload identity pool group. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All identities in a workload identity pool with a certain attribute. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*: All identities in a workload identity pool. deleted:user:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a user that has been recently deleted. For example, alice@example.com?uid=123456789012345678901. If the user is recovered, this value reverts to user:{emailid} and the recovered user retains the role in the binding. deleted:serviceAccount:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. If the service account is undeleted, this value reverts to serviceAccount:{emailid} and the undeleted service account retains the role in the binding. deleted:group:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, admins@example.com?uid=123456789012345678901. If the group is recovered, this value reverts to group:{emailid} and the recovered group retains the role in the binding. deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: Deleted single identity in a workforce identity pool. For example, deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value. | +| | `string` | Role that is assigned to the list of members, or principals. For example, roles/viewer, roles/editor, or roles/owner.For an overview of the IAM roles and permissions, see the IAM documentation (https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see here (https://cloud.google.com/iam/docs/understanding-roles). | + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | +| | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors. | +| | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.dataplex.entry_link_types_iam_policies +WHERE entryLinkTypesId = '{{ entryLinkTypesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/dataplex/entry_types/index.md b/docs/google-docs/providers/google/dataplex/entry_types/index.md index c16dc2af28..2774322a72 100644 --- a/docs/google-docs/providers/google/dataplex/entry_types/index.md +++ b/docs/google-docs/providers/google/dataplex/entry_types/index.md @@ -1,3 +1,4 @@ + --- title: entry_types hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - entry_types - dataplex - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an entry_type resource or lists entry_types in a region ## Overview @@ -30,25 +32,174 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. The relative resource name of the EntryType, of the form: projects/{project_number}/locations/{location_id}/entryTypes/{entry_type_id}. | +| | `string` | Output only. The relative resource name of the EntryType, of the form: projects/{project_number}/locations/{location_id}/entryTypes/{entry_type_id}. | | | `string` | Optional. Description of the EntryType. | | | `object` | Authorization for an Entry Type. | | | `string` | Output only. The time when the EntryType was created. | | | `string` | Optional. User friendly display name. | -| | `string` | Optional. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. | +| | `string` | Optional. This checksum is computed by the service, and might be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. | | | `object` | Optional. User-defined labels for the EntryType. | | | `string` | Optional. The platform that Entries of this type belongs to. | | | `array` | AspectInfo for the entry type. | | | `string` | Optional. The system that Entries of this type belongs to. Examples include CloudSQL, MariaDB etc | -| | `array` | Optional. Indicates the class this Entry Type belongs to, for example, TABLE, DATABASE, MODEL. | +| | `array` | Optional. Indicates the classes this Entry Type belongs to, for example, TABLE, DATABASE, MODEL. | | | `string` | Output only. System generated globally unique ID for the EntryType. This ID will be different if the EntryType is deleted and re-created with the same name. | | | `string` | Output only. The time when the EntryType was last updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| -| | `SELECT` | | Retrieves a EntryType resource. | +| | `SELECT` | | Gets an EntryType. | | | `SELECT` | | Lists EntryType resources in a project and location. | -| | `INSERT` | | Creates an EntryType | -| | `DELETE` | | Deletes a EntryType resource. | -| | `UPDATE` | | Updates a EntryType resource. | -| | `EXEC` | | Lists EntryType resources in a project and location. | +| | `INSERT` | | Creates an EntryType. | +| | `DELETE` | | Deletes an EntryType. | +| | `UPDATE` | | Updates an EntryType. | + +## `SELECT` examples + +Lists EntryType resources in a project and location. + +```sql +SELECT +name, +description, +authorization, +createTime, +displayName, +etag, +labels, +platform, +requiredAspects, +system, +typeAliases, +uid, +updateTime +FROM google.dataplex.entry_types +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new entry_types resource. + + + + +```sql +/*+ create */ +INSERT INTO google.dataplex.entry_types ( +locationsId, +projectsId, +name, +uid, +createTime, +updateTime, +description, +displayName, +labels, +etag, +typeAliases, +platform, +system, +requiredAspects, +authorization +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ uid }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ description }}', +'{{ displayName }}', +'{{ labels }}', +'{{ etag }}', +'{{ typeAliases }}', +'{{ platform }}', +'{{ system }}', +'{{ requiredAspects }}', +'{{ authorization }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: uid + value: '{{ uid }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: description + value: '{{ description }}' + - name: displayName + value: '{{ displayName }}' + - name: labels + value: '{{ labels }}' + - name: etag + value: '{{ etag }}' + - name: typeAliases + value: '{{ typeAliases }}' + - name: platform + value: '{{ platform }}' + - name: system + value: '{{ system }}' + - name: requiredAspects + value: '{{ requiredAspects }}' + - name: authorization + value: '{{ authorization }}' + +``` + + + +## `UPDATE` example + +Updates a entry_type only if the necessary resources are available. + +```sql +UPDATE google.dataplex.entry_types +SET +name = '{{ name }}', +uid = '{{ uid }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +description = '{{ description }}', +displayName = '{{ displayName }}', +labels = '{{ labels }}', +etag = '{{ etag }}', +typeAliases = '{{ typeAliases }}', +platform = '{{ platform }}', +system = '{{ system }}', +requiredAspects = '{{ requiredAspects }}', +authorization = '{{ authorization }}' +WHERE +entryTypesId = '{{ entryTypesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified entry_type resource. + +```sql +DELETE FROM google.dataplex.entry_types +WHERE entryTypesId = '{{ entryTypesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/dataplex/entry_types_iam_policies/index.md b/docs/google-docs/providers/google/dataplex/entry_types_iam_policies/index.md index c77d2cffe5..befd317565 100644 --- a/docs/google-docs/providers/google/dataplex/entry_types_iam_policies/index.md +++ b/docs/google-docs/providers/google/dataplex/entry_types_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: entry_types_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - entry_types_iam_policies - dataplex - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an entry_types_iam_policy resource or lists entry_types_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. members can have the following values: allUsers: A special identifier that represents anyone who is on the internet; with or without a Google account. allAuthenticatedUsers: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. user:{emailid}: An email address that represents a specific Google account. For example, alice@example.com . serviceAccount:{emailid}: An email address that represents a Google service account. For example, my-other-app@appspot.gserviceaccount.com. serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]: An identifier for a Kubernetes service account (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, my-project.svc.id.goog[my-namespace/my-kubernetes-sa]. group:{emailid}: An email address that represents a Google group. For example, admins@example.com. domain:{domain}: The G Suite domain (primary) that represents all the users of that domain. For example, google.com or example.com. principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workforce identity pool. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}: All workforce identities in a group. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All workforce identities with a specific attribute value. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*: All identities in a workforce identity pool. principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workload identity pool. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}: A workload identity pool group. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All identities in a workload identity pool with a certain attribute. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*: All identities in a workload identity pool. deleted:user:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a user that has been recently deleted. For example, alice@example.com?uid=123456789012345678901. If the user is recovered, this value reverts to user:{emailid} and the recovered user retains the role in the binding. deleted:serviceAccount:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. If the service account is undeleted, this value reverts to serviceAccount:{emailid} and the undeleted service account retains the role in the binding. deleted:group:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, admins@example.com?uid=123456789012345678901. If the group is recovered, this value reverts to group:{emailid} and the recovered group retains the role in the binding. deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: Deleted single identity in a workforce identity pool. For example, deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. members can have the following values: allUsers: A special identifier that represents anyone who is on the internet; with or without a Google account. allAuthenticatedUsers: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. user:{emailid}: An email address that represents a specific Google account. For example, alice@example.com . serviceAccount:{emailid}: An email address that represents a Google service account. For example, my-other-app@appspot.gserviceaccount.com. serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]: An identifier for a Kubernetes service account (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, my-project.svc.id.goog[my-namespace/my-kubernetes-sa]. group:{emailid}: An email address that represents a Google group. For example, admins@example.com. domain:{domain}: The G Suite domain (primary) that represents all the users of that domain. For example, google.com or example.com. principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workforce identity pool. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}: All workforce identities in a group. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All workforce identities with a specific attribute value. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*: All identities in a workforce identity pool. principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workload identity pool. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}: A workload identity pool group. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All identities in a workload identity pool with a certain attribute. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*: All identities in a workload identity pool. deleted:user:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a user that has been recently deleted. For example, alice@example.com?uid=123456789012345678901. If the user is recovered, this value reverts to user:{emailid} and the recovered user retains the role in the binding. deleted:serviceAccount:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. If the service account is undeleted, this value reverts to serviceAccount:{emailid} and the undeleted service account retains the role in the binding. deleted:group:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, admins@example.com?uid=123456789012345678901. If the group is recovered, this value reverts to group:{emailid} and the recovered group retains the role in the binding. deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: Deleted single identity in a workforce identity pool. For example, deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value. | | | `string` | Role that is assigned to the list of members, or principals. For example, roles/viewer, roles/editor, or roles/owner.For an overview of the IAM roles and permissions, see the IAM documentation (https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see here (https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.dataplex.entry_types_iam_policies +WHERE entryTypesId = '{{ entryTypesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/dataplex/environments/index.md b/docs/google-docs/providers/google/dataplex/environments/index.md index f0ee25da37..5035593222 100644 --- a/docs/google-docs/providers/google/dataplex/environments/index.md +++ b/docs/google-docs/providers/google/dataplex/environments/index.md @@ -1,3 +1,4 @@ + --- title: environments hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - environments - dataplex - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an environment resource or lists environments in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. The relative resource name of the environment, of the form: projects/{project_id}/locations/{location_id}/lakes/{lake_id}/environment/{environment_id} | +| | `string` | Output only. The relative resource name of the environment, of the form: projects/{project_id}/locations/{location_id}/lakes/{lake_id}/environment/{environment_id} | | | `string` | Optional. Description of the environment. | | | `string` | Output only. Environment creation time. | | | `string` | Optional. User friendly display name. | @@ -42,6 +44,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Current state of the environment. | | | `string` | Output only. System generated globally unique ID for the environment. This ID will be different if the environment is deleted and re-created with the same name. | | | `string` | Output only. The time when the environment was last updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -50,4 +53,151 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Create an environment resource. | | | `DELETE` | | Delete the environment resource. All the child resources must have been deleted before environment deletion can be initiated. | | | `UPDATE` | | Update the environment resource. | -| | `EXEC` | | Lists environments under the given lake. | + +## `SELECT` examples + +Lists environments under the given lake. + +```sql +SELECT +name, +description, +createTime, +displayName, +endpoints, +infrastructureSpec, +labels, +sessionSpec, +sessionStatus, +state, +uid, +updateTime +FROM google.dataplex.environments +WHERE lakesId = '{{ lakesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new environments resource. + + + + +```sql +/*+ create */ +INSERT INTO google.dataplex.environments ( +lakesId, +locationsId, +projectsId, +name, +displayName, +uid, +createTime, +updateTime, +labels, +description, +state, +infrastructureSpec, +sessionSpec, +sessionStatus, +endpoints +) +SELECT +'{{ lakesId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ displayName }}', +'{{ uid }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ labels }}', +'{{ description }}', +'{{ state }}', +'{{ infrastructureSpec }}', +'{{ sessionSpec }}', +'{{ sessionStatus }}', +'{{ endpoints }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: uid + value: '{{ uid }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: labels + value: '{{ labels }}' + - name: description + value: '{{ description }}' + - name: state + value: '{{ state }}' + - name: infrastructureSpec + value: '{{ infrastructureSpec }}' + - name: sessionSpec + value: '{{ sessionSpec }}' + - name: sessionStatus + value: '{{ sessionStatus }}' + - name: endpoints + value: '{{ endpoints }}' + +``` + + + +## `UPDATE` example + +Updates a environment only if the necessary resources are available. + +```sql +UPDATE google.dataplex.environments +SET +name = '{{ name }}', +displayName = '{{ displayName }}', +uid = '{{ uid }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +labels = '{{ labels }}', +description = '{{ description }}', +state = '{{ state }}', +infrastructureSpec = '{{ infrastructureSpec }}', +sessionSpec = '{{ sessionSpec }}', +sessionStatus = '{{ sessionStatus }}', +endpoints = '{{ endpoints }}' +WHERE +environmentsId = '{{ environmentsId }}' +AND lakesId = '{{ lakesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified environment resource. + +```sql +DELETE FROM google.dataplex.environments +WHERE environmentsId = '{{ environmentsId }}' +AND lakesId = '{{ lakesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/dataplex/environments_iam_policies/index.md b/docs/google-docs/providers/google/dataplex/environments_iam_policies/index.md index 5fe6d95a12..babec5ee82 100644 --- a/docs/google-docs/providers/google/dataplex/environments_iam_policies/index.md +++ b/docs/google-docs/providers/google/dataplex/environments_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: environments_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - environments_iam_policies - dataplex - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an environments_iam_policy resource or lists environments_iam_policies in a region ## Overview
@@ -30,13 +32,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. members can have the following values: allUsers: A special identifier that represents anyone who is on the internet; with or without a Google account. allAuthenticatedUsers: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. user:{emailid}: An email address that represents a specific Google account. For example, alice@example.com . serviceAccount:{emailid}: An email address that represents a Google service account. For example, my-other-app@appspot.gserviceaccount.com. serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]: An identifier for a Kubernetes service account (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, my-project.svc.id.goog[my-namespace/my-kubernetes-sa]. group:{emailid}: An email address that represents a Google group. For example, admins@example.com. domain:{domain}: The G Suite domain (primary) that represents all the users of that domain. For example, google.com or example.com. principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workforce identity pool. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}: All workforce identities in a group. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All workforce identities with a specific attribute value. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*: All identities in a workforce identity pool. principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workload identity pool. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}: A workload identity pool group. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All identities in a workload identity pool with a certain attribute. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*: All identities in a workload identity pool. deleted:user:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a user that has been recently deleted. For example, alice@example.com?uid=123456789012345678901. If the user is recovered, this value reverts to user:{emailid} and the recovered user retains the role in the binding. deleted:serviceAccount:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. If the service account is undeleted, this value reverts to serviceAccount:{emailid} and the undeleted service account retains the role in the binding. deleted:group:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, admins@example.com?uid=123456789012345678901. If the group is recovered, this value reverts to group:{emailid} and the recovered group retains the role in the binding. deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: Deleted single identity in a workforce identity pool. For example, deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. members can have the following values: allUsers: A special identifier that represents anyone who is on the internet; with or without a Google account. allAuthenticatedUsers: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. user:{emailid}: An email address that represents a specific Google account. For example, alice@example.com . serviceAccount:{emailid}: An email address that represents a Google service account. For example, my-other-app@appspot.gserviceaccount.com. serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]: An identifier for a Kubernetes service account (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, my-project.svc.id.goog[my-namespace/my-kubernetes-sa]. group:{emailid}: An email address that represents a Google group. For example, admins@example.com. domain:{domain}: The G Suite domain (primary) that represents all the users of that domain. For example, google.com or example.com. principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workforce identity pool. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}: All workforce identities in a group. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All workforce identities with a specific attribute value. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*: All identities in a workforce identity pool. principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workload identity pool. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}: A workload identity pool group. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All identities in a workload identity pool with a certain attribute. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*: All identities in a workload identity pool. deleted:user:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a user that has been recently deleted. For example, alice@example.com?uid=123456789012345678901. If the user is recovered, this value reverts to user:{emailid} and the recovered user retains the role in the binding. deleted:serviceAccount:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. If the service account is undeleted, this value reverts to serviceAccount:{emailid} and the undeleted service account retains the role in the binding. deleted:group:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, admins@example.com?uid=123456789012345678901. If the group is recovered, this value reverts to group:{emailid} and the recovered group retains the role in the binding. deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: Deleted single identity in a workforce identity pool. For example, deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value. | | | `string` | Role that is assigned to the list of members, or principals. For example, roles/viewer, roles/editor, or roles/owner.For an overview of the IAM roles and permissions, see the IAM documentation (https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see here (https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.dataplex.environments_iam_policies +WHERE environmentsId = '{{ environmentsId }}' +AND lakesId = '{{ lakesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/dataplex/glossaries_iam_policies/index.md b/docs/google-docs/providers/google/dataplex/glossaries_iam_policies/index.md new file mode 100644 index 0000000000..970816369e --- /dev/null +++ b/docs/google-docs/providers/google/dataplex/glossaries_iam_policies/index.md @@ -0,0 +1,59 @@ + +--- +title: glossaries_iam_policies +hide_title: false +hide_table_of_contents: false +keywords: + - glossaries_iam_policies + - dataplex + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an glossaries_iam_policy resource or lists glossaries_iam_policies in a region + +## Overview +
+ + + +
Nameglossaries_iam_policies
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. members can have the following values: allUsers: A special identifier that represents anyone who is on the internet; with or without a Google account. allAuthenticatedUsers: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. user:{emailid}: An email address that represents a specific Google account. For example, alice@example.com . serviceAccount:{emailid}: An email address that represents a Google service account. For example, my-other-app@appspot.gserviceaccount.com. serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]: An identifier for a Kubernetes service account (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, my-project.svc.id.goog[my-namespace/my-kubernetes-sa]. group:{emailid}: An email address that represents a Google group. For example, admins@example.com. domain:{domain}: The G Suite domain (primary) that represents all the users of that domain. For example, google.com or example.com. principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workforce identity pool. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}: All workforce identities in a group. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All workforce identities with a specific attribute value. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*: All identities in a workforce identity pool. principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workload identity pool. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}: A workload identity pool group. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All identities in a workload identity pool with a certain attribute. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*: All identities in a workload identity pool. deleted:user:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a user that has been recently deleted. For example, alice@example.com?uid=123456789012345678901. If the user is recovered, this value reverts to user:{emailid} and the recovered user retains the role in the binding. deleted:serviceAccount:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. If the service account is undeleted, this value reverts to serviceAccount:{emailid} and the undeleted service account retains the role in the binding. deleted:group:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, admins@example.com?uid=123456789012345678901. If the group is recovered, this value reverts to group:{emailid} and the recovered group retains the role in the binding. deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: Deleted single identity in a workforce identity pool. For example, deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value. | +| | `string` | Role that is assigned to the list of members, or principals. For example, roles/viewer, roles/editor, or roles/owner.For an overview of the IAM roles and permissions, see the IAM documentation (https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see here (https://cloud.google.com/iam/docs/understanding-roles). | + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | +| | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors. | +| | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.dataplex.glossaries_iam_policies +WHERE glossariesId = '{{ glossariesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/dataplex/governance_rules_iam_policies/index.md b/docs/google-docs/providers/google/dataplex/governance_rules_iam_policies/index.md index bfd0e88fc9..26cf44e37b 100644 --- a/docs/google-docs/providers/google/dataplex/governance_rules_iam_policies/index.md +++ b/docs/google-docs/providers/google/dataplex/governance_rules_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: governance_rules_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - governance_rules_iam_policies - dataplex - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an governance_rules_iam_policy resource or lists governance_rules_iam_policies in a region ## Overview @@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. members can have the following values: allUsers: A special identifier that represents anyone who is on the internet; with or without a Google account. allAuthenticatedUsers: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. user:{emailid}: An email address that represents a specific Google account. For example, alice@example.com . serviceAccount:{emailid}: An email address that represents a Google service account. For example, my-other-app@appspot.gserviceaccount.com. serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]: An identifier for a Kubernetes service account (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, my-project.svc.id.goog[my-namespace/my-kubernetes-sa]. group:{emailid}: An email address that represents a Google group. For example, admins@example.com. domain:{domain}: The G Suite domain (primary) that represents all the users of that domain. For example, google.com or example.com. principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workforce identity pool. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}: All workforce identities in a group. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All workforce identities with a specific attribute value. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*: All identities in a workforce identity pool. principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workload identity pool. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}: A workload identity pool group. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All identities in a workload identity pool with a certain attribute. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*: All identities in a workload identity pool. deleted:user:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a user that has been recently deleted. For example, alice@example.com?uid=123456789012345678901. If the user is recovered, this value reverts to user:{emailid} and the recovered user retains the role in the binding. deleted:serviceAccount:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. If the service account is undeleted, this value reverts to serviceAccount:{emailid} and the undeleted service account retains the role in the binding. deleted:group:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, admins@example.com?uid=123456789012345678901. If the group is recovered, this value reverts to group:{emailid} and the recovered group retains the role in the binding. deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: Deleted single identity in a workforce identity pool. For example, deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. members can have the following values: allUsers: A special identifier that represents anyone who is on the internet; with or without a Google account. allAuthenticatedUsers: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. user:{emailid}: An email address that represents a specific Google account. For example, alice@example.com . serviceAccount:{emailid}: An email address that represents a Google service account. For example, my-other-app@appspot.gserviceaccount.com. serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]: An identifier for a Kubernetes service account (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, my-project.svc.id.goog[my-namespace/my-kubernetes-sa]. group:{emailid}: An email address that represents a Google group. For example, admins@example.com. domain:{domain}: The G Suite domain (primary) that represents all the users of that domain. For example, google.com or example.com. principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workforce identity pool. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}: All workforce identities in a group. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All workforce identities with a specific attribute value. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*: All identities in a workforce identity pool. principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workload identity pool. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}: A workload identity pool group. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All identities in a workload identity pool with a certain attribute. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*: All identities in a workload identity pool. deleted:user:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a user that has been recently deleted. For example, alice@example.com?uid=123456789012345678901. If the user is recovered, this value reverts to user:{emailid} and the recovered user retains the role in the binding. deleted:serviceAccount:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. If the service account is undeleted, this value reverts to serviceAccount:{emailid} and the undeleted service account retains the role in the binding. deleted:group:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, admins@example.com?uid=123456789012345678901. If the group is recovered, this value reverts to group:{emailid} and the recovered group retains the role in the binding. deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: Deleted single identity in a workforce identity pool. For example, deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value. | | | `string` | Role that is assigned to the list of members, or principals. For example, roles/viewer, roles/editor, or roles/owner.For an overview of the IAM roles and permissions, see the IAM documentation (https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see here (https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.dataplex.governance_rules_iam_policies +WHERE governanceRulesId = '{{ governanceRulesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/dataplex/index.md b/docs/google-docs/providers/google/dataplex/index.md index 925bb58345..0b6b4adee4 100644 --- a/docs/google-docs/providers/google/dataplex/index.md +++ b/docs/google-docs/providers/google/dataplex/index.md @@ -9,34 +9,23 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Dataplex API is used to manage the lifecycle of data lakes. - +The dataplex service documentation. + :::info Service Summary
-total resources: 37
-total selectable resources: 37
-total methods: 190
+total resources: 43
::: -## Overview -
- - - - - -
Namegoogle.dataplex
TypeService
TitleCloud Dataplex API
DescriptionDataplex API is used to manage the lifecycle of data lakes.
Iddataplex:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/dataplex/jobs/index.md b/docs/google-docs/providers/google/dataplex/jobs/index.md index 9d104327f4..b370954ca8 100644 --- a/docs/google-docs/providers/google/dataplex/jobs/index.md +++ b/docs/google-docs/providers/google/dataplex/jobs/index.md @@ -1,3 +1,4 @@ + --- title: jobs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - jobs - dataplex - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an job resource or lists jobs in a region ## Overview @@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. The relative resource name of the job, of the form: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/tasks/{task_id}/jobs/{job_id}. | +| | `string` | Output only. The relative resource name of the job, of the form: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/tasks/{task_id}/jobs/{job_id}. | | | `string` | Output only. The time when the job ended. | | | `object` | Execution related settings, like retry and service_account. | | | `object` | Output only. User-defined labels for the task. | @@ -42,6 +44,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Execution state for the job. | | | `string` | Output only. Job execution trigger. | | | `string` | Output only. System generated globally unique ID for the job. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -49,7 +52,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists DataScanJobs under the given DataScan. | | | `SELECT` | | Get job resource. | | | `SELECT` | | Lists Jobs under the given task. | -| | `EXEC` | | Lists DataScanJobs under the given DataScan. | -| | `EXEC` | | Lists Jobs under the given task. | -| | `EXEC` | | Generates recommended DataQualityRule from a data profiling DataScan. | +| | `EXEC` | | Generates recommended data quality rules based on the results of a data profiling scan.Use the recommendations to build rules for a data quality scan. | | | `EXEC` | | Cancel jobs running for the task resource. | + +## `SELECT` examples + +Lists DataScanJobs under the given DataScan. + +```sql +SELECT +name, +endTime, +executionSpec, +labels, +message, +retryCount, +service, +serviceJob, +startTime, +state, +trigger, +uid +FROM google.dataplex.jobs +WHERE dataScansId = '{{ dataScansId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/dataplex/lakes/index.md b/docs/google-docs/providers/google/dataplex/lakes/index.md index dc39f52919..9d5252159f 100644 --- a/docs/google-docs/providers/google/dataplex/lakes/index.md +++ b/docs/google-docs/providers/google/dataplex/lakes/index.md @@ -1,3 +1,4 @@ + --- title: lakes hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - lakes - dataplex - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an lake resource or lists lakes in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. The relative resource name of the lake, of the form: projects/{project_number}/locations/{location_id}/lakes/{lake_id}. | +| | `string` | Output only. The relative resource name of the lake, of the form: projects/{project_number}/locations/{location_id}/lakes/{lake_id}. | | | `string` | Optional. Description of the lake. | | | `object` | Aggregated status of the underlying assets of a lake or zone. | | | `string` | Output only. The time when the lake was created. | @@ -42,6 +44,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Current state of the lake. | | | `string` | Output only. System generated globally unique ID for the lake. This ID will be different if the lake is deleted and re-created with the same name. | | | `string` | Output only. The time when the lake was last updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -50,4 +53,146 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a lake resource. | | | `DELETE` | | Deletes a lake resource. All zones within the lake must be deleted before the lake can be deleted. | | | `UPDATE` | | Updates a lake resource. | -| | `EXEC` | | Lists lake resources in a project and location. | + +## `SELECT` examples + +Lists lake resources in a project and location. + +```sql +SELECT +name, +description, +assetStatus, +createTime, +displayName, +labels, +metastore, +metastoreStatus, +serviceAccount, +state, +uid, +updateTime +FROM google.dataplex.lakes +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new lakes resource. + + + + +```sql +/*+ create */ +INSERT INTO google.dataplex.lakes ( +locationsId, +projectsId, +name, +displayName, +uid, +createTime, +updateTime, +labels, +description, +state, +serviceAccount, +metastore, +assetStatus, +metastoreStatus +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ displayName }}', +'{{ uid }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ labels }}', +'{{ description }}', +'{{ state }}', +'{{ serviceAccount }}', +'{{ metastore }}', +'{{ assetStatus }}', +'{{ metastoreStatus }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: uid + value: '{{ uid }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: labels + value: '{{ labels }}' + - name: description + value: '{{ description }}' + - name: state + value: '{{ state }}' + - name: serviceAccount + value: '{{ serviceAccount }}' + - name: metastore + value: '{{ metastore }}' + - name: assetStatus + value: '{{ assetStatus }}' + - name: metastoreStatus + value: '{{ metastoreStatus }}' + +``` + + + +## `UPDATE` example + +Updates a lake only if the necessary resources are available. + +```sql +UPDATE google.dataplex.lakes +SET +name = '{{ name }}', +displayName = '{{ displayName }}', +uid = '{{ uid }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +labels = '{{ labels }}', +description = '{{ description }}', +state = '{{ state }}', +serviceAccount = '{{ serviceAccount }}', +metastore = '{{ metastore }}', +assetStatus = '{{ assetStatus }}', +metastoreStatus = '{{ metastoreStatus }}' +WHERE +lakesId = '{{ lakesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified lake resource. + +```sql +DELETE FROM google.dataplex.lakes +WHERE lakesId = '{{ lakesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/dataplex/lakes_iam_policies/index.md b/docs/google-docs/providers/google/dataplex/lakes_iam_policies/index.md index 32869ff7b0..c19cff2f51 100644 --- a/docs/google-docs/providers/google/dataplex/lakes_iam_policies/index.md +++ b/docs/google-docs/providers/google/dataplex/lakes_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: lakes_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - lakes_iam_policies - dataplex - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an lakes_iam_policy resource or lists lakes_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. members can have the following values: allUsers: A special identifier that represents anyone who is on the internet; with or without a Google account. allAuthenticatedUsers: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. user:{emailid}: An email address that represents a specific Google account. For example, alice@example.com . serviceAccount:{emailid}: An email address that represents a Google service account. For example, my-other-app@appspot.gserviceaccount.com. serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]: An identifier for a Kubernetes service account (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, my-project.svc.id.goog[my-namespace/my-kubernetes-sa]. group:{emailid}: An email address that represents a Google group. For example, admins@example.com. domain:{domain}: The G Suite domain (primary) that represents all the users of that domain. For example, google.com or example.com. principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workforce identity pool. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}: All workforce identities in a group. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All workforce identities with a specific attribute value. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*: All identities in a workforce identity pool. principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workload identity pool. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}: A workload identity pool group. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All identities in a workload identity pool with a certain attribute. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*: All identities in a workload identity pool. deleted:user:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a user that has been recently deleted. For example, alice@example.com?uid=123456789012345678901. If the user is recovered, this value reverts to user:{emailid} and the recovered user retains the role in the binding. deleted:serviceAccount:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. If the service account is undeleted, this value reverts to serviceAccount:{emailid} and the undeleted service account retains the role in the binding. deleted:group:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, admins@example.com?uid=123456789012345678901. If the group is recovered, this value reverts to group:{emailid} and the recovered group retains the role in the binding. deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: Deleted single identity in a workforce identity pool. For example, deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. members can have the following values: allUsers: A special identifier that represents anyone who is on the internet; with or without a Google account. allAuthenticatedUsers: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. user:{emailid}: An email address that represents a specific Google account. For example, alice@example.com . serviceAccount:{emailid}: An email address that represents a Google service account. For example, my-other-app@appspot.gserviceaccount.com. serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]: An identifier for a Kubernetes service account (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, my-project.svc.id.goog[my-namespace/my-kubernetes-sa]. group:{emailid}: An email address that represents a Google group. For example, admins@example.com. domain:{domain}: The G Suite domain (primary) that represents all the users of that domain. For example, google.com or example.com. principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workforce identity pool. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}: All workforce identities in a group. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All workforce identities with a specific attribute value. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*: All identities in a workforce identity pool. principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workload identity pool. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}: A workload identity pool group. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All identities in a workload identity pool with a certain attribute. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*: All identities in a workload identity pool. deleted:user:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a user that has been recently deleted. For example, alice@example.com?uid=123456789012345678901. If the user is recovered, this value reverts to user:{emailid} and the recovered user retains the role in the binding. deleted:serviceAccount:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. If the service account is undeleted, this value reverts to serviceAccount:{emailid} and the undeleted service account retains the role in the binding. deleted:group:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, admins@example.com?uid=123456789012345678901. If the group is recovered, this value reverts to group:{emailid} and the recovered group retains the role in the binding. deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: Deleted single identity in a workforce identity pool. For example, deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value. | | | `string` | Role that is assigned to the list of members, or principals. For example, roles/viewer, roles/editor, or roles/owner.For an overview of the IAM roles and permissions, see the IAM documentation (https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see here (https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.dataplex.lakes_iam_policies +WHERE lakesId = '{{ lakesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/dataplex/locations/index.md b/docs/google-docs/providers/google/dataplex/locations/index.md index ff8c87825b..037cdab108 100644 --- a/docs/google-docs/providers/google/dataplex/locations/index.md +++ b/docs/google-docs/providers/google/dataplex/locations/index.md @@ -1,3 +1,4 @@ + --- title: locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - locations - dataplex - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an location resource or lists locations in a region ## Overview
@@ -32,14 +34,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Resource name for the location, which may vary between implementations. For example: "projects/example-project/locations/us-east1" | | | `string` | The friendly name for this location, typically a nearby city name. For example, "Tokyo". | -| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | +| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | | | `string` | The canonical id for this location. For example: "us-east1". | | | `object` | Service-specific metadata. For example the available capacity at the given location. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about a location. | | | `SELECT` | | Lists information about the supported locations for this service. | -| | `EXEC` | | Lists information about the supported locations for this service. | -| | `EXEC` | | Looks up a single entry. | -| | `EXEC` | | Searches for entries matching given query and scope. | +| | `EXEC` | | Looks up a single Entry by name using the permission on the source system. | +| | `EXEC` | | Searches for Entries matching the given query and scope. | + +## `SELECT` examples + +Lists information about the supported locations for this service. + +```sql +SELECT +name, +displayName, +labels, +locationId, +metadata +FROM google.dataplex.locations +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/dataplex/metadata_jobs/index.md b/docs/google-docs/providers/google/dataplex/metadata_jobs/index.md new file mode 100644 index 0000000000..72eeea53c0 --- /dev/null +++ b/docs/google-docs/providers/google/dataplex/metadata_jobs/index.md @@ -0,0 +1,143 @@ + +--- +title: metadata_jobs +hide_title: false +hide_table_of_contents: false +keywords: + - metadata_jobs + - dataplex + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an metadata_job resource or lists metadata_jobs in a region + +## Overview +
+ + + +
Namemetadata_jobs
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | Output only. Identifier. The name of the resource that the configuration is applied to, in the format projects/{project_number}/locations/{location_id}/metadataJobs/{metadata_job_id}. | +| | `string` | Output only. The time when the metadata job was created. | +| | `object` | Results from a metadata import job. | +| | `object` | Job specification for a metadata import job | +| | `object` | Optional. User-defined labels. | +| | `object` | Metadata job status. | +| | `string` | Required. Metadata job type. | +| | `string` | Output only. A system-generated, globally unique ID for the metadata job. If the metadata job is deleted and then re-created with the same name, this ID is different. | +| | `string` | Output only. The time when the metadata job was updated. | + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets a metadata job. | +| | `SELECT` | | Lists metadata jobs. | +| | `INSERT` | | Creates a metadata job. For example, use a metadata job to import Dataplex Catalog entries and aspects from a third-party system into Dataplex. | +| | `EXEC` | | Cancels a metadata job.If you cancel a metadata import job that is in progress, the changes in the job might be partially applied. We recommend that you reset the state of the entry groups in your project by running another metadata job that reverts the changes from the canceled job. | + +## `SELECT` examples + +Lists metadata jobs. + +```sql +SELECT +name, +createTime, +importResult, +importSpec, +labels, +status, +type, +uid, +updateTime +FROM google.dataplex.metadata_jobs +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new metadata_jobs resource. + + + + +```sql +/*+ create */ +INSERT INTO google.dataplex.metadata_jobs ( +locationsId, +projectsId, +name, +uid, +createTime, +updateTime, +labels, +type, +importSpec, +importResult, +status +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ uid }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ labels }}', +'{{ type }}', +'{{ importSpec }}', +'{{ importResult }}', +'{{ status }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: uid + value: '{{ uid }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: labels + value: '{{ labels }}' + - name: type + value: '{{ type }}' + - name: importSpec + value: '{{ importSpec }}' + - name: importResult + value: '{{ importResult }}' + - name: status + value: '{{ status }}' + +``` + + diff --git a/docs/google-docs/providers/google/dataplex/operations/index.md b/docs/google-docs/providers/google/dataplex/operations/index.md index 8b78914b3d..17298ade89 100644 --- a/docs/google-docs/providers/google/dataplex/operations/index.md +++ b/docs/google-docs/providers/google/dataplex/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - dataplex - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview @@ -30,16 +32,46 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the name should be a resource name ending with operations/{unique_id}. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the name should be a resource name ending with operations/{unique_id}. | | | `boolean` | If the value is false, it means the operation is still in progress. If true, the operation is completed, and either error or response is available. | | | `object` | The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC (https://github.com/grpc). Each Status message contains three pieces of data: error code, error message, and error details.You can find out more about this error model and how to work with it in the API Design Guide (https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as Delete, the response is google.protobuf.Empty. If the original method is standard Get/Create/Update, the response should be the resource. For other methods, the response should have the type XxxResponse, where Xxx is the original method name. For example, if the original method name is TakeSnapshot(), the inferred response type is TakeSnapshotResponse. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns UNIMPLEMENTED. | +| | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns google.rpc.Code.UNIMPLEMENTED. | | | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns google.rpc.Code.UNIMPLEMENTED. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns UNIMPLEMENTED. | +| | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns google.rpc.Code.UNIMPLEMENTED. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to Code.CANCELLED. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns google.rpc.Code.UNIMPLEMENTED. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to Code.CANCELLED. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns UNIMPLEMENTED. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.dataplex.operations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified operation resource. + +```sql +DELETE FROM google.dataplex.operations +WHERE locationsId = '{{ locationsId }}' +AND operationsId = '{{ operationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/dataplex/partitions/index.md b/docs/google-docs/providers/google/dataplex/partitions/index.md index 2caefded94..2418d9a750 100644 --- a/docs/google-docs/providers/google/dataplex/partitions/index.md +++ b/docs/google-docs/providers/google/dataplex/partitions/index.md @@ -1,3 +1,4 @@ + --- title: partitions hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - partitions - dataplex - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an partition resource or lists partitions in a region ## Overview
@@ -34,6 +36,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Optional. The etag for this partition. | | | `string` | Required. Immutable. The location of the entity data within the partition, for example, gs://bucket/path/to/entity/key1=value1/key2=value2. Or projects//datasets//tables/ | | | `array` | Required. Immutable. The set of values representing the partition, which correspond to the partition schema defined in the parent entity. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -41,4 +44,93 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | List metadata partitions of an entity. | | | `INSERT` | | Create a metadata partition. | | | `DELETE` | | Delete a metadata partition. | -| | `EXEC` | | List metadata partitions of an entity. | + +## `SELECT` examples + +List metadata partitions of an entity. + +```sql +SELECT +name, +etag, +location, +values +FROM google.dataplex.partitions +WHERE entitiesId = '{{ entitiesId }}' +AND lakesId = '{{ lakesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND zonesId = '{{ zonesId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new partitions resource. + + + + +```sql +/*+ create */ +INSERT INTO google.dataplex.partitions ( +entitiesId, +lakesId, +locationsId, +projectsId, +zonesId, +name, +values, +location, +etag +) +SELECT +'{{ entitiesId }}', +'{{ lakesId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ zonesId }}', +'{{ name }}', +'{{ values }}', +'{{ location }}', +'{{ etag }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: values + value: '{{ values }}' + - name: location + value: '{{ location }}' + - name: etag + value: '{{ etag }}' + +``` + + + +## `DELETE` example + +Deletes the specified partition resource. + +```sql +DELETE FROM google.dataplex.partitions +WHERE entitiesId = '{{ entitiesId }}' +AND lakesId = '{{ lakesId }}' +AND locationsId = '{{ locationsId }}' +AND partitionsId = '{{ partitionsId }}' +AND projectsId = '{{ projectsId }}' +AND zonesId = '{{ zonesId }}'; +``` diff --git a/docs/google-docs/providers/google/dataplex/sessions/index.md b/docs/google-docs/providers/google/dataplex/sessions/index.md index 15c51f2602..bda6028082 100644 --- a/docs/google-docs/providers/google/dataplex/sessions/index.md +++ b/docs/google-docs/providers/google/dataplex/sessions/index.md @@ -1,3 +1,4 @@ + --- title: sessions hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - sessions - dataplex - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an session resource or lists sessions in a region ## Overview
@@ -30,12 +32,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. The relative resource name of the content, of the form: projects/{project_id}/locations/{location_id}/lakes/{lake_id}/environment/{environment_id}/sessions/{session_id} | +| | `string` | Output only. The relative resource name of the content, of the form: projects/{project_id}/locations/{location_id}/lakes/{lake_id}/environment/{environment_id}/sessions/{session_id} | | | `string` | Output only. Session start time. | | | `string` | Output only. State of Session | | | `string` | Output only. Email of user running the session. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists session resources in an environment. | + +## `SELECT` examples + +Lists session resources in an environment. + +```sql +SELECT +name, +createTime, +state, +userId +FROM google.dataplex.sessions +WHERE environmentsId = '{{ environmentsId }}' +AND lakesId = '{{ lakesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/dataplex/tasks/index.md b/docs/google-docs/providers/google/dataplex/tasks/index.md index ddb21a8cf5..0e324d56fd 100644 --- a/docs/google-docs/providers/google/dataplex/tasks/index.md +++ b/docs/google-docs/providers/google/dataplex/tasks/index.md @@ -1,3 +1,4 @@ + --- title: tasks hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - tasks - dataplex - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an task resource or lists tasks in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. The relative resource name of the task, of the form: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/ tasks/{task_id}. | +| | `string` | Output only. The relative resource name of the task, of the form: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/ tasks/{task_id}. | | | `string` | Optional. Description of the task. | | | `string` | Output only. The time when the task was created. | | | `string` | Optional. User friendly display name. | @@ -43,6 +45,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Task scheduling and trigger settings. | | | `string` | Output only. System generated globally unique ID for the task. This ID will be different if the task is deleted and re-created with the same name. | | | `string` | Output only. The time when the task was last updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -51,5 +54,158 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a task resource within a lake. | | | `DELETE` | | Delete the task resource. | | | `UPDATE` | | Update the task resource. | -| | `EXEC` | | Lists tasks under the given lake. | | | `EXEC` | | Run an on demand execution of a Task. | + +## `SELECT` examples + +Lists tasks under the given lake. + +```sql +SELECT +name, +description, +createTime, +displayName, +executionSpec, +executionStatus, +labels, +notebook, +spark, +state, +triggerSpec, +uid, +updateTime +FROM google.dataplex.tasks +WHERE lakesId = '{{ lakesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new tasks resource. + + + + +```sql +/*+ create */ +INSERT INTO google.dataplex.tasks ( +lakesId, +locationsId, +projectsId, +name, +uid, +createTime, +updateTime, +description, +displayName, +state, +labels, +triggerSpec, +executionSpec, +executionStatus, +spark, +notebook +) +SELECT +'{{ lakesId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ uid }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ description }}', +'{{ displayName }}', +'{{ state }}', +'{{ labels }}', +'{{ triggerSpec }}', +'{{ executionSpec }}', +'{{ executionStatus }}', +'{{ spark }}', +'{{ notebook }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: uid + value: '{{ uid }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: description + value: '{{ description }}' + - name: displayName + value: '{{ displayName }}' + - name: state + value: '{{ state }}' + - name: labels + value: '{{ labels }}' + - name: triggerSpec + value: '{{ triggerSpec }}' + - name: executionSpec + value: '{{ executionSpec }}' + - name: executionStatus + value: '{{ executionStatus }}' + - name: spark + value: '{{ spark }}' + - name: notebook + value: '{{ notebook }}' + +``` + + + +## `UPDATE` example + +Updates a task only if the necessary resources are available. + +```sql +UPDATE google.dataplex.tasks +SET +name = '{{ name }}', +uid = '{{ uid }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +description = '{{ description }}', +displayName = '{{ displayName }}', +state = '{{ state }}', +labels = '{{ labels }}', +triggerSpec = '{{ triggerSpec }}', +executionSpec = '{{ executionSpec }}', +executionStatus = '{{ executionStatus }}', +spark = '{{ spark }}', +notebook = '{{ notebook }}' +WHERE +lakesId = '{{ lakesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND tasksId = '{{ tasksId }}'; +``` + +## `DELETE` example + +Deletes the specified task resource. + +```sql +DELETE FROM google.dataplex.tasks +WHERE lakesId = '{{ lakesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND tasksId = '{{ tasksId }}'; +``` diff --git a/docs/google-docs/providers/google/dataplex/tasks_iam_policies/index.md b/docs/google-docs/providers/google/dataplex/tasks_iam_policies/index.md index 24bbf7e079..d09870cffe 100644 --- a/docs/google-docs/providers/google/dataplex/tasks_iam_policies/index.md +++ b/docs/google-docs/providers/google/dataplex/tasks_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: tasks_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - tasks_iam_policies - dataplex - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an tasks_iam_policy resource or lists tasks_iam_policies in a region ## Overview
@@ -30,13 +32,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. members can have the following values: allUsers: A special identifier that represents anyone who is on the internet; with or without a Google account. allAuthenticatedUsers: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. user:{emailid}: An email address that represents a specific Google account. For example, alice@example.com . serviceAccount:{emailid}: An email address that represents a Google service account. For example, my-other-app@appspot.gserviceaccount.com. serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]: An identifier for a Kubernetes service account (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, my-project.svc.id.goog[my-namespace/my-kubernetes-sa]. group:{emailid}: An email address that represents a Google group. For example, admins@example.com. domain:{domain}: The G Suite domain (primary) that represents all the users of that domain. For example, google.com or example.com. principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workforce identity pool. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}: All workforce identities in a group. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All workforce identities with a specific attribute value. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*: All identities in a workforce identity pool. principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workload identity pool. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}: A workload identity pool group. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All identities in a workload identity pool with a certain attribute. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*: All identities in a workload identity pool. deleted:user:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a user that has been recently deleted. For example, alice@example.com?uid=123456789012345678901. If the user is recovered, this value reverts to user:{emailid} and the recovered user retains the role in the binding. deleted:serviceAccount:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. If the service account is undeleted, this value reverts to serviceAccount:{emailid} and the undeleted service account retains the role in the binding. deleted:group:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, admins@example.com?uid=123456789012345678901. If the group is recovered, this value reverts to group:{emailid} and the recovered group retains the role in the binding. deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: Deleted single identity in a workforce identity pool. For example, deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. members can have the following values: allUsers: A special identifier that represents anyone who is on the internet; with or without a Google account. allAuthenticatedUsers: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. user:{emailid}: An email address that represents a specific Google account. For example, alice@example.com . serviceAccount:{emailid}: An email address that represents a Google service account. For example, my-other-app@appspot.gserviceaccount.com. serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]: An identifier for a Kubernetes service account (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, my-project.svc.id.goog[my-namespace/my-kubernetes-sa]. group:{emailid}: An email address that represents a Google group. For example, admins@example.com. domain:{domain}: The G Suite domain (primary) that represents all the users of that domain. For example, google.com or example.com. principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workforce identity pool. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}: All workforce identities in a group. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All workforce identities with a specific attribute value. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*: All identities in a workforce identity pool. principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workload identity pool. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}: A workload identity pool group. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All identities in a workload identity pool with a certain attribute. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*: All identities in a workload identity pool. deleted:user:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a user that has been recently deleted. For example, alice@example.com?uid=123456789012345678901. If the user is recovered, this value reverts to user:{emailid} and the recovered user retains the role in the binding. deleted:serviceAccount:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. If the service account is undeleted, this value reverts to serviceAccount:{emailid} and the undeleted service account retains the role in the binding. deleted:group:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, admins@example.com?uid=123456789012345678901. If the group is recovered, this value reverts to group:{emailid} and the recovered group retains the role in the binding. deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: Deleted single identity in a workforce identity pool. For example, deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value. | | | `string` | Role that is assigned to the list of members, or principals. For example, roles/viewer, roles/editor, or roles/owner.For an overview of the IAM roles and permissions, see the IAM documentation (https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see here (https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.dataplex.tasks_iam_policies +WHERE lakesId = '{{ lakesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND tasksId = '{{ tasksId }}'; +``` diff --git a/docs/google-docs/providers/google/dataplex/terms_iam_policies/index.md b/docs/google-docs/providers/google/dataplex/terms_iam_policies/index.md new file mode 100644 index 0000000000..4e85626143 --- /dev/null +++ b/docs/google-docs/providers/google/dataplex/terms_iam_policies/index.md @@ -0,0 +1,60 @@ + +--- +title: terms_iam_policies +hide_title: false +hide_table_of_contents: false +keywords: + - terms_iam_policies + - dataplex + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an terms_iam_policy resource or lists terms_iam_policies in a region + +## Overview +
+ + + +
Nameterms_iam_policies
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. members can have the following values: allUsers: A special identifier that represents anyone who is on the internet; with or without a Google account. allAuthenticatedUsers: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. user:{emailid}: An email address that represents a specific Google account. For example, alice@example.com . serviceAccount:{emailid}: An email address that represents a Google service account. For example, my-other-app@appspot.gserviceaccount.com. serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]: An identifier for a Kubernetes service account (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, my-project.svc.id.goog[my-namespace/my-kubernetes-sa]. group:{emailid}: An email address that represents a Google group. For example, admins@example.com. domain:{domain}: The G Suite domain (primary) that represents all the users of that domain. For example, google.com or example.com. principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workforce identity pool. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}: All workforce identities in a group. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All workforce identities with a specific attribute value. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*: All identities in a workforce identity pool. principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workload identity pool. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}: A workload identity pool group. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All identities in a workload identity pool with a certain attribute. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*: All identities in a workload identity pool. deleted:user:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a user that has been recently deleted. For example, alice@example.com?uid=123456789012345678901. If the user is recovered, this value reverts to user:{emailid} and the recovered user retains the role in the binding. deleted:serviceAccount:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. If the service account is undeleted, this value reverts to serviceAccount:{emailid} and the undeleted service account retains the role in the binding. deleted:group:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, admins@example.com?uid=123456789012345678901. If the group is recovered, this value reverts to group:{emailid} and the recovered group retains the role in the binding. deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: Deleted single identity in a workforce identity pool. For example, deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value. | +| | `string` | Role that is assigned to the list of members, or principals. For example, roles/viewer, roles/editor, or roles/owner.For an overview of the IAM roles and permissions, see the IAM documentation (https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see here (https://cloud.google.com/iam/docs/understanding-roles). | + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | +| | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors. | +| | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.dataplex.terms_iam_policies +WHERE glossariesId = '{{ glossariesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND termsId = '{{ termsId }}'; +``` diff --git a/docs/google-docs/providers/google/dataplex/zones/index.md b/docs/google-docs/providers/google/dataplex/zones/index.md index a4f399d614..5ad83ee203 100644 --- a/docs/google-docs/providers/google/dataplex/zones/index.md +++ b/docs/google-docs/providers/google/dataplex/zones/index.md @@ -1,3 +1,4 @@ + --- title: zones hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - zones - dataplex - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an zone resource or lists zones in a region ## Overview @@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. The relative resource name of the zone, of the form: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}. | +| | `string` | Output only. The relative resource name of the zone, of the form: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}. | | | `string` | Optional. Description of the zone. | | | `object` | Aggregated status of the underlying assets of a lake or zone. | | | `string` | Output only. The time when the zone was created. | @@ -42,6 +44,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Required. Immutable. The type of the zone. | | | `string` | Output only. System generated globally unique ID for the zone. This ID will be different if the zone is deleted and re-created with the same name. | | | `string` | Output only. The time when the zone was last updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -50,4 +53,151 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a zone resource within a lake. | | | `DELETE` | | Deletes a zone resource. All assets within a zone must be deleted before the zone can be deleted. | | | `UPDATE` | | Updates a zone resource. | -| | `EXEC` | | Lists zone resources in a lake. | + +## `SELECT` examples + +Lists zone resources in a lake. + +```sql +SELECT +name, +description, +assetStatus, +createTime, +discoverySpec, +displayName, +labels, +resourceSpec, +state, +type, +uid, +updateTime +FROM google.dataplex.zones +WHERE lakesId = '{{ lakesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new zones resource. + + + + +```sql +/*+ create */ +INSERT INTO google.dataplex.zones ( +lakesId, +locationsId, +projectsId, +name, +displayName, +uid, +createTime, +updateTime, +labels, +description, +state, +type, +discoverySpec, +resourceSpec, +assetStatus +) +SELECT +'{{ lakesId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ displayName }}', +'{{ uid }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ labels }}', +'{{ description }}', +'{{ state }}', +'{{ type }}', +'{{ discoverySpec }}', +'{{ resourceSpec }}', +'{{ assetStatus }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: uid + value: '{{ uid }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: labels + value: '{{ labels }}' + - name: description + value: '{{ description }}' + - name: state + value: '{{ state }}' + - name: type + value: '{{ type }}' + - name: discoverySpec + value: '{{ discoverySpec }}' + - name: resourceSpec + value: '{{ resourceSpec }}' + - name: assetStatus + value: '{{ assetStatus }}' + +``` + + + +## `UPDATE` example + +Updates a zone only if the necessary resources are available. + +```sql +UPDATE google.dataplex.zones +SET +name = '{{ name }}', +displayName = '{{ displayName }}', +uid = '{{ uid }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +labels = '{{ labels }}', +description = '{{ description }}', +state = '{{ state }}', +type = '{{ type }}', +discoverySpec = '{{ discoverySpec }}', +resourceSpec = '{{ resourceSpec }}', +assetStatus = '{{ assetStatus }}' +WHERE +lakesId = '{{ lakesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND zonesId = '{{ zonesId }}'; +``` + +## `DELETE` example + +Deletes the specified zone resource. + +```sql +DELETE FROM google.dataplex.zones +WHERE lakesId = '{{ lakesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND zonesId = '{{ zonesId }}'; +``` diff --git a/docs/google-docs/providers/google/dataplex/zones_iam_policies/index.md b/docs/google-docs/providers/google/dataplex/zones_iam_policies/index.md index 9e4ec596b8..84a11d83da 100644 --- a/docs/google-docs/providers/google/dataplex/zones_iam_policies/index.md +++ b/docs/google-docs/providers/google/dataplex/zones_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: zones_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - zones_iam_policies - dataplex - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an zones_iam_policy resource or lists zones_iam_policies in a region ## Overview
@@ -30,13 +32,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. members can have the following values: allUsers: A special identifier that represents anyone who is on the internet; with or without a Google account. allAuthenticatedUsers: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. user:{emailid}: An email address that represents a specific Google account. For example, alice@example.com . serviceAccount:{emailid}: An email address that represents a Google service account. For example, my-other-app@appspot.gserviceaccount.com. serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]: An identifier for a Kubernetes service account (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, my-project.svc.id.goog[my-namespace/my-kubernetes-sa]. group:{emailid}: An email address that represents a Google group. For example, admins@example.com. domain:{domain}: The G Suite domain (primary) that represents all the users of that domain. For example, google.com or example.com. principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workforce identity pool. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}: All workforce identities in a group. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All workforce identities with a specific attribute value. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*: All identities in a workforce identity pool. principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workload identity pool. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}: A workload identity pool group. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All identities in a workload identity pool with a certain attribute. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*: All identities in a workload identity pool. deleted:user:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a user that has been recently deleted. For example, alice@example.com?uid=123456789012345678901. If the user is recovered, this value reverts to user:{emailid} and the recovered user retains the role in the binding. deleted:serviceAccount:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. If the service account is undeleted, this value reverts to serviceAccount:{emailid} and the undeleted service account retains the role in the binding. deleted:group:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, admins@example.com?uid=123456789012345678901. If the group is recovered, this value reverts to group:{emailid} and the recovered group retains the role in the binding. deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: Deleted single identity in a workforce identity pool. For example, deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. members can have the following values: allUsers: A special identifier that represents anyone who is on the internet; with or without a Google account. allAuthenticatedUsers: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. user:{emailid}: An email address that represents a specific Google account. For example, alice@example.com . serviceAccount:{emailid}: An email address that represents a Google service account. For example, my-other-app@appspot.gserviceaccount.com. serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]: An identifier for a Kubernetes service account (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, my-project.svc.id.goog[my-namespace/my-kubernetes-sa]. group:{emailid}: An email address that represents a Google group. For example, admins@example.com. domain:{domain}: The G Suite domain (primary) that represents all the users of that domain. For example, google.com or example.com. principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workforce identity pool. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}: All workforce identities in a group. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All workforce identities with a specific attribute value. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*: All identities in a workforce identity pool. principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workload identity pool. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}: A workload identity pool group. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All identities in a workload identity pool with a certain attribute. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*: All identities in a workload identity pool. deleted:user:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a user that has been recently deleted. For example, alice@example.com?uid=123456789012345678901. If the user is recovered, this value reverts to user:{emailid} and the recovered user retains the role in the binding. deleted:serviceAccount:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. If the service account is undeleted, this value reverts to serviceAccount:{emailid} and the undeleted service account retains the role in the binding. deleted:group:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, admins@example.com?uid=123456789012345678901. If the group is recovered, this value reverts to group:{emailid} and the recovered group retains the role in the binding. deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: Deleted single identity in a workforce identity pool. For example, deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value. | | | `string` | Role that is assigned to the list of members, or principals. For example, roles/viewer, roles/editor, or roles/owner.For an overview of the IAM roles and permissions, see the IAM documentation (https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see here (https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.dataplex.zones_iam_policies +WHERE lakesId = '{{ lakesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND zonesId = '{{ zonesId }}'; +``` diff --git a/docs/google-docs/providers/google/dataproc/autoscaling_policies/index.md b/docs/google-docs/providers/google/dataproc/autoscaling_policies/index.md index 033db5aec7..8916cf71c7 100644 --- a/docs/google-docs/providers/google/dataproc/autoscaling_policies/index.md +++ b/docs/google-docs/providers/google/dataproc/autoscaling_policies/index.md @@ -1,3 +1,4 @@ + --- title: autoscaling_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - autoscaling_policies - dataproc - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an autoscaling_policy resource or lists autoscaling_policies in a region ## Overview
@@ -31,11 +33,12 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | Name | Datatype | Description | |:-----|:---------|:------------| | | `string` | Required. The policy id.The id must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). Cannot begin or end with underscore or hyphen. Must consist of between 3 and 50 characters. | -| | `string` | Output only. The "resource name" of the autoscaling policy, as described in https://cloud.google.com/apis/design/resource_names. For projects.regions.autoscalingPolicies, the resource name of the policy has the following format: projects/{project_id}/regions/{region}/autoscalingPolicies/{policy_id} For projects.locations.autoscalingPolicies, the resource name of the policy has the following format: projects/{project_id}/locations/{location}/autoscalingPolicies/{policy_id} | +| | `string` | Output only. The "resource name" of the autoscaling policy, as described in https://cloud.google.com/apis/design/resource_names. For projects.regions.autoscalingPolicies, the resource name of the policy has the following format: projects/{project_id}/regions/{region}/autoscalingPolicies/{policy_id} For projects.locations.autoscalingPolicies, the resource name of the policy has the following format: projects/{project_id}/locations/{location}/autoscalingPolicies/{policy_id} | | | `object` | Basic algorithm for autoscaling. | | | `object` | Optional. The labels to associate with this autoscaling policy. Label keys must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values may be empty, but, if present, must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be associated with an autoscaling policy. | | | `object` | Configuration for the size bounds of an instance group, including its proportional size to other groups. | | | `object` | Configuration for the size bounds of an instance group, including its proportional size to other groups. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -47,7 +50,93 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates new autoscaling policy. | | | `DELETE` | | Deletes an autoscaling policy. It is an error to delete an autoscaling policy that is in use by one or more clusters. | | | `DELETE` | | Deletes an autoscaling policy. It is an error to delete an autoscaling policy that is in use by one or more clusters. | -| | `UPDATE` | | Updates (replaces) autoscaling policy.Disabled check for update_mask, because all updates will be full replacements. | -| | `UPDATE` | | Updates (replaces) autoscaling policy.Disabled check for update_mask, because all updates will be full replacements. | -| | `EXEC` | | Lists autoscaling policies in the project. | -| | `EXEC` | | Lists autoscaling policies in the project. | +| | `EXEC` | | Updates (replaces) autoscaling policy.Disabled check for update_mask, because all updates will be full replacements. | +| | `EXEC` | | Updates (replaces) autoscaling policy.Disabled check for update_mask, because all updates will be full replacements. | + +## `SELECT` examples + +Lists autoscaling policies in the project. + +```sql +SELECT +id, +name, +basicAlgorithm, +labels, +secondaryWorkerConfig, +workerConfig +FROM google.dataproc.autoscaling_policies +WHERE projectsId = '{{ projectsId }}' +AND regionsId = '{{ regionsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new autoscaling_policies resource. + + + + +```sql +/*+ create */ +INSERT INTO google.dataproc.autoscaling_policies ( +projectsId, +regionsId, +id, +name, +basicAlgorithm, +workerConfig, +secondaryWorkerConfig, +labels +) +SELECT +'{{ projectsId }}', +'{{ regionsId }}', +'{{ id }}', +'{{ name }}', +'{{ basicAlgorithm }}', +'{{ workerConfig }}', +'{{ secondaryWorkerConfig }}', +'{{ labels }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: id + value: '{{ id }}' + - name: name + value: '{{ name }}' + - name: basicAlgorithm + value: '{{ basicAlgorithm }}' + - name: workerConfig + value: '{{ workerConfig }}' + - name: secondaryWorkerConfig + value: '{{ secondaryWorkerConfig }}' + - name: labels + value: '{{ labels }}' + +``` + + + +## `DELETE` example + +Deletes the specified autoscaling_policy resource. + +```sql +DELETE FROM google.dataproc.autoscaling_policies +WHERE autoscalingPoliciesId = '{{ autoscalingPoliciesId }}' +AND projectsId = '{{ projectsId }}' +AND regionsId = '{{ regionsId }}'; +``` diff --git a/docs/google-docs/providers/google/dataproc/autoscaling_policies_iam_policies/index.md b/docs/google-docs/providers/google/dataproc/autoscaling_policies_iam_policies/index.md index f083df7a01..1e9e3388c4 100644 --- a/docs/google-docs/providers/google/dataproc/autoscaling_policies_iam_policies/index.md +++ b/docs/google-docs/providers/google/dataproc/autoscaling_policies_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: autoscaling_policies_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - autoscaling_policies_iam_policies - dataproc - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an autoscaling_policies_iam_policy resource or lists autoscaling_policies_iam_policies in a region ## Overview
@@ -30,17 +32,31 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. members can have the following values: allUsers: A special identifier that represents anyone who is on the internet; with or without a Google account. allAuthenticatedUsers: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. user:{emailid}: An email address that represents a specific Google account. For example, alice@example.com . serviceAccount:{emailid}: An email address that represents a Google service account. For example, my-other-app@appspot.gserviceaccount.com. serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]: An identifier for a Kubernetes service account (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, my-project.svc.id.goog[my-namespace/my-kubernetes-sa]. group:{emailid}: An email address that represents a Google group. For example, admins@example.com. domain:{domain}: The G Suite domain (primary) that represents all the users of that domain. For example, google.com or example.com. principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workforce identity pool. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}: All workforce identities in a group. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All workforce identities with a specific attribute value. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*: All identities in a workforce identity pool. principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workload identity pool. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}: A workload identity pool group. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All identities in a workload identity pool with a certain attribute. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*: All identities in a workload identity pool. deleted:user:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a user that has been recently deleted. For example, alice@example.com?uid=123456789012345678901. If the user is recovered, this value reverts to user:{emailid} and the recovered user retains the role in the binding. deleted:serviceAccount:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. If the service account is undeleted, this value reverts to serviceAccount:{emailid} and the undeleted service account retains the role in the binding. deleted:group:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, admins@example.com?uid=123456789012345678901. If the group is recovered, this value reverts to group:{emailid} and the recovered group retains the role in the binding. deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: Deleted single identity in a workforce identity pool. For example, deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. members can have the following values: allUsers: A special identifier that represents anyone who is on the internet; with or without a Google account. allAuthenticatedUsers: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. user:{emailid}: An email address that represents a specific Google account. For example, alice@example.com . serviceAccount:{emailid}: An email address that represents a Google service account. For example, my-other-app@appspot.gserviceaccount.com. serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]: An identifier for a Kubernetes service account (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, my-project.svc.id.goog[my-namespace/my-kubernetes-sa]. group:{emailid}: An email address that represents a Google group. For example, admins@example.com. domain:{domain}: The G Suite domain (primary) that represents all the users of that domain. For example, google.com or example.com. principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workforce identity pool. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}: All workforce identities in a group. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All workforce identities with a specific attribute value. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*: All identities in a workforce identity pool. principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workload identity pool. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}: A workload identity pool group. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All identities in a workload identity pool with a certain attribute. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*: All identities in a workload identity pool. deleted:user:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a user that has been recently deleted. For example, alice@example.com?uid=123456789012345678901. If the user is recovered, this value reverts to user:{emailid} and the recovered user retains the role in the binding. deleted:serviceAccount:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. If the service account is undeleted, this value reverts to serviceAccount:{emailid} and the undeleted service account retains the role in the binding. deleted:group:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, admins@example.com?uid=123456789012345678901. If the group is recovered, this value reverts to group:{emailid} and the recovered group retains the role in the binding. deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: Deleted single identity in a workforce identity pool. For example, deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value. | | | `string` | Role that is assigned to the list of members, or principals. For example, roles/viewer, roles/editor, or roles/owner.For an overview of the IAM roles and permissions, see the IAM documentation (https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see here (https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.dataproc.autoscaling_policies_iam_policies +WHERE autoscalingPoliciesId = '{{ autoscalingPoliciesId }}' +AND projectsId = '{{ projectsId }}' +AND regionsId = '{{ regionsId }}'; +``` diff --git a/docs/google-docs/providers/google/dataproc/batches/index.md b/docs/google-docs/providers/google/dataproc/batches/index.md index 7ef7bd64d2..a832ae1fc5 100644 --- a/docs/google-docs/providers/google/dataproc/batches/index.md +++ b/docs/google-docs/providers/google/dataproc/batches/index.md @@ -1,3 +1,4 @@ + --- title: batches hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - batches - dataproc - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an batch resource or lists batches in a region ## Overview
@@ -47,6 +49,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Batch state details, such as a failure description if the state is FAILED. | | | `string` | Output only. The time when the batch entered a current state. | | | `string` | Output only. A batch UUID (Unique Universal Identifier). The service generates this value when it creates the batch. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -54,5 +57,147 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists batch workloads. | | | `INSERT` | | Creates a batch workload that executes asynchronously. | | | `DELETE` | | Deletes the batch workload resource. If the batch is not in a CANCELLED, SUCCEEDED or FAILED State, the delete operation fails and the response returns FAILED_PRECONDITION. | -| | `EXEC` | | Lists batch workloads. | | | `EXEC` | | Analyze a Batch for possible recommendations and insights. | + +## `SELECT` examples + +Lists batch workloads. + +```sql +SELECT +name, +createTime, +creator, +environmentConfig, +labels, +operation, +pysparkBatch, +runtimeConfig, +runtimeInfo, +sparkBatch, +sparkRBatch, +sparkSqlBatch, +state, +stateHistory, +stateMessage, +stateTime, +uuid +FROM google.dataproc.batches +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new batches resource. + + + + +```sql +/*+ create */ +INSERT INTO google.dataproc.batches ( +locationsId, +projectsId, +name, +uuid, +createTime, +pysparkBatch, +sparkBatch, +sparkRBatch, +sparkSqlBatch, +runtimeInfo, +state, +stateMessage, +stateTime, +creator, +labels, +runtimeConfig, +environmentConfig, +operation, +stateHistory +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ uuid }}', +'{{ createTime }}', +'{{ pysparkBatch }}', +'{{ sparkBatch }}', +'{{ sparkRBatch }}', +'{{ sparkSqlBatch }}', +'{{ runtimeInfo }}', +'{{ state }}', +'{{ stateMessage }}', +'{{ stateTime }}', +'{{ creator }}', +'{{ labels }}', +'{{ runtimeConfig }}', +'{{ environmentConfig }}', +'{{ operation }}', +'{{ stateHistory }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: uuid + value: '{{ uuid }}' + - name: createTime + value: '{{ createTime }}' + - name: pysparkBatch + value: '{{ pysparkBatch }}' + - name: sparkBatch + value: '{{ sparkBatch }}' + - name: sparkRBatch + value: '{{ sparkRBatch }}' + - name: sparkSqlBatch + value: '{{ sparkSqlBatch }}' + - name: runtimeInfo + value: '{{ runtimeInfo }}' + - name: state + value: '{{ state }}' + - name: stateMessage + value: '{{ stateMessage }}' + - name: stateTime + value: '{{ stateTime }}' + - name: creator + value: '{{ creator }}' + - name: labels + value: '{{ labels }}' + - name: runtimeConfig + value: '{{ runtimeConfig }}' + - name: environmentConfig + value: '{{ environmentConfig }}' + - name: operation + value: '{{ operation }}' + - name: stateHistory + value: '{{ stateHistory }}' + +``` + + + +## `DELETE` example + +Deletes the specified batch resource. + +```sql +DELETE FROM google.dataproc.batches +WHERE batchesId = '{{ batchesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/dataproc/clusters/index.md b/docs/google-docs/providers/google/dataproc/clusters/index.md index d9188e55f2..d35410522f 100644 --- a/docs/google-docs/providers/google/dataproc/clusters/index.md +++ b/docs/google-docs/providers/google/dataproc/clusters/index.md @@ -1,3 +1,4 @@ + --- title: clusters hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - clusters - dataproc - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an cluster resource or lists clusters in a region ## Overview
@@ -39,17 +41,142 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | The status of a cluster and its instances. | | | `array` | Output only. The previous cluster status. | | | `object` | The Dataproc cluster config for a cluster that does not directly control the underlying compute resources, such as a Dataproc-on-GKE cluster (https://cloud.google.com/dataproc/docs/guides/dpgke/dataproc-gke-overview). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the resource representation for a cluster in a project. | -| | `SELECT` | | Lists all regions/{region}/clusters in a project alphabetically. | +| | `SELECT` | | Lists all regions/{region}/clusters in a project alphabetically. | | | `INSERT` | | Creates a cluster in a project. The returned Operation.metadata will be ClusterOperationMetadata (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#clusteroperationmetadata). | | | `DELETE` | | Deletes a cluster in a project. The returned Operation.metadata will be ClusterOperationMetadata (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#clusteroperationmetadata). | | | `UPDATE` | | Updates a cluster in a project. The returned Operation.metadata will be ClusterOperationMetadata (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#clusteroperationmetadata). The cluster must be in a RUNNING state or an error is returned. | -| | `EXEC` | | Lists all regions/{region}/clusters in a project alphabetically. | | | `EXEC` | | Gets cluster diagnostic information. The returned Operation.metadata will be ClusterOperationMetadata (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#clusteroperationmetadata). After the operation completes, Operation.response contains DiagnoseClusterResults (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#diagnoseclusterresults). | | | `EXEC` | | Inject encrypted credentials into all of the VMs in a cluster.The target cluster must be a personal auth cluster assigned to the user who is issuing the RPC. | | | `EXEC` | | Repairs a cluster. | | | `EXEC` | | Starts a cluster in a project. | | | `EXEC` | | Stops a cluster in a project. | + +## `SELECT` examples + +Lists all regions/{region}/clusters in a project alphabetically. + +```sql +SELECT +clusterName, +clusterUuid, +config, +labels, +metrics, +projectId, +status, +statusHistory, +virtualClusterConfig +FROM google.dataproc.clusters +WHERE projectId = '{{ projectId }}' +AND region = '{{ region }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new clusters resource. + + + + +```sql +/*+ create */ +INSERT INTO google.dataproc.clusters ( +projectId, +region, +projectId, +clusterName, +config, +virtualClusterConfig, +labels, +status, +statusHistory, +clusterUuid, +metrics +) +SELECT +'{{ projectId }}', +'{{ region }}', +'{{ projectId }}', +'{{ clusterName }}', +'{{ config }}', +'{{ virtualClusterConfig }}', +'{{ labels }}', +'{{ status }}', +'{{ statusHistory }}', +'{{ clusterUuid }}', +'{{ metrics }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: projectId + value: '{{ projectId }}' + - name: clusterName + value: '{{ clusterName }}' + - name: config + value: '{{ config }}' + - name: virtualClusterConfig + value: '{{ virtualClusterConfig }}' + - name: labels + value: '{{ labels }}' + - name: status + value: '{{ status }}' + - name: statusHistory + value: '{{ statusHistory }}' + - name: clusterUuid + value: '{{ clusterUuid }}' + - name: metrics + value: '{{ metrics }}' + +``` + + + +## `UPDATE` example + +Updates a cluster only if the necessary resources are available. + +```sql +UPDATE google.dataproc.clusters +SET +projectId = '{{ projectId }}', +clusterName = '{{ clusterName }}', +config = '{{ config }}', +virtualClusterConfig = '{{ virtualClusterConfig }}', +labels = '{{ labels }}', +status = '{{ status }}', +statusHistory = '{{ statusHistory }}', +clusterUuid = '{{ clusterUuid }}', +metrics = '{{ metrics }}' +WHERE +clusterName = '{{ clusterName }}' +AND projectId = '{{ projectId }}' +AND region = '{{ region }}'; +``` + +## `DELETE` example + +Deletes the specified cluster resource. + +```sql +DELETE FROM google.dataproc.clusters +WHERE clusterName = '{{ clusterName }}' +AND projectId = '{{ projectId }}' +AND region = '{{ region }}'; +``` diff --git a/docs/google-docs/providers/google/dataproc/clusters_iam_policies/index.md b/docs/google-docs/providers/google/dataproc/clusters_iam_policies/index.md index d98cf77beb..9c938b31a4 100644 --- a/docs/google-docs/providers/google/dataproc/clusters_iam_policies/index.md +++ b/docs/google-docs/providers/google/dataproc/clusters_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: clusters_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - clusters_iam_policies - dataproc - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an clusters_iam_policy resource or lists clusters_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. members can have the following values: allUsers: A special identifier that represents anyone who is on the internet; with or without a Google account. allAuthenticatedUsers: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. user:{emailid}: An email address that represents a specific Google account. For example, alice@example.com . serviceAccount:{emailid}: An email address that represents a Google service account. For example, my-other-app@appspot.gserviceaccount.com. serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]: An identifier for a Kubernetes service account (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, my-project.svc.id.goog[my-namespace/my-kubernetes-sa]. group:{emailid}: An email address that represents a Google group. For example, admins@example.com. domain:{domain}: The G Suite domain (primary) that represents all the users of that domain. For example, google.com or example.com. principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workforce identity pool. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}: All workforce identities in a group. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All workforce identities with a specific attribute value. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*: All identities in a workforce identity pool. principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workload identity pool. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}: A workload identity pool group. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All identities in a workload identity pool with a certain attribute. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*: All identities in a workload identity pool. deleted:user:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a user that has been recently deleted. For example, alice@example.com?uid=123456789012345678901. If the user is recovered, this value reverts to user:{emailid} and the recovered user retains the role in the binding. deleted:serviceAccount:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. If the service account is undeleted, this value reverts to serviceAccount:{emailid} and the undeleted service account retains the role in the binding. deleted:group:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, admins@example.com?uid=123456789012345678901. If the group is recovered, this value reverts to group:{emailid} and the recovered group retains the role in the binding. deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: Deleted single identity in a workforce identity pool. For example, deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. members can have the following values: allUsers: A special identifier that represents anyone who is on the internet; with or without a Google account. allAuthenticatedUsers: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. user:{emailid}: An email address that represents a specific Google account. For example, alice@example.com . serviceAccount:{emailid}: An email address that represents a Google service account. For example, my-other-app@appspot.gserviceaccount.com. serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]: An identifier for a Kubernetes service account (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, my-project.svc.id.goog[my-namespace/my-kubernetes-sa]. group:{emailid}: An email address that represents a Google group. For example, admins@example.com. domain:{domain}: The G Suite domain (primary) that represents all the users of that domain. For example, google.com or example.com. principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workforce identity pool. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}: All workforce identities in a group. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All workforce identities with a specific attribute value. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*: All identities in a workforce identity pool. principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workload identity pool. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}: A workload identity pool group. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All identities in a workload identity pool with a certain attribute. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*: All identities in a workload identity pool. deleted:user:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a user that has been recently deleted. For example, alice@example.com?uid=123456789012345678901. If the user is recovered, this value reverts to user:{emailid} and the recovered user retains the role in the binding. deleted:serviceAccount:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. If the service account is undeleted, this value reverts to serviceAccount:{emailid} and the undeleted service account retains the role in the binding. deleted:group:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, admins@example.com?uid=123456789012345678901. If the group is recovered, this value reverts to group:{emailid} and the recovered group retains the role in the binding. deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: Deleted single identity in a workforce identity pool. For example, deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value. | | | `string` | Role that is assigned to the list of members, or principals. For example, roles/viewer, roles/editor, or roles/owner.For an overview of the IAM roles and permissions, see the IAM documentation (https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see here (https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.dataproc.clusters_iam_policies +WHERE clustersId = '{{ clustersId }}' +AND projectsId = '{{ projectsId }}' +AND regionsId = '{{ regionsId }}'; +``` diff --git a/docs/google-docs/providers/google/dataproc/index.md b/docs/google-docs/providers/google/dataproc/index.md index 5f37c7b6c6..31ec686a9e 100644 --- a/docs/google-docs/providers/google/dataproc/index.md +++ b/docs/google-docs/providers/google/dataproc/index.md @@ -9,34 +9,23 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Manages Hadoop-based clusters and jobs on Google Cloud Platform. - +The dataproc service documentation. + :::info Service Summary
total resources: 14
-total selectable resources: 14
-total methods: 107
::: -## Overview -
- - - - - -
Namegoogle.dataproc
TypeService
TitleCloud Dataproc API
DescriptionManages Hadoop-based clusters and jobs on Google Cloud Platform.
Iddataproc:v24.06.00236
- ## Resources
@@ -46,7 +35,7 @@ Manages Hadoop-based clusters and jobs on Google Cloud Platform. clusters
clusters_iam_policies
jobs
-jobs_iam_policies
+jobs_iam_policies
node_groups
@@ -55,6 +44,6 @@ Manages Hadoop-based clusters and jobs on Google Cloud Platform. session_templates
sessions
workflow_templates
-workflow_templates_iam_policies
-
+workflow_templates_iam_policies
+ \ No newline at end of file diff --git a/docs/google-docs/providers/google/dataproc/jobs/index.md b/docs/google-docs/providers/google/dataproc/jobs/index.md index 8b6785d64f..0a51e7d623 100644 --- a/docs/google-docs/providers/google/dataproc/jobs/index.md +++ b/docs/google-docs/providers/google/dataproc/jobs/index.md @@ -1,3 +1,4 @@ + --- title: jobs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - jobs - dataproc - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an job resource or lists jobs in a region ## Overview @@ -52,14 +54,93 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `array` | Output only. The previous job status. | | | `object` | A Dataproc job for running Trino (https://trino.io/) queries. IMPORTANT: The Dataproc Trino Optional Component (https://cloud.google.com/dataproc/docs/concepts/components/trino) must be enabled when the cluster is created to submit a Trino job to the cluster. | | | `array` | Output only. The collection of YARN applications spun up by this job.Beta Feature: This report is available for testing purposes only. It might be changed before final release. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the resource representation for a job in a project. | -| | `SELECT` | | Lists regions/{region}/jobs in a project. | +| | `SELECT` | | Lists regions/{region}/jobs in a project. | | | `DELETE` | | Deletes the job from the project. If the job is active, the delete fails, and the response returns FAILED_PRECONDITION. | | | `UPDATE` | | Updates a job in a project. | -| | `EXEC` | | Lists regions/{region}/jobs in a project. | -| | `EXEC` | | Starts a job cancellation request. To access the job resource after cancellation, call regions/{region}/jobs.list (https://cloud.google.com/dataproc/docs/reference/rest/v1/projects.regions.jobs/list) or regions/{region}/jobs.get (https://cloud.google.com/dataproc/docs/reference/rest/v1/projects.regions.jobs/get). | +| | `EXEC` | | Starts a job cancellation request. To access the job resource after cancellation, call regions/{region}/jobs.list (https://cloud.google.com/dataproc/docs/reference/rest/v1/projects.regions.jobs/list) or regions/{region}/jobs.get (https://cloud.google.com/dataproc/docs/reference/rest/v1/projects.regions.jobs/get). | | | `EXEC` | | Submits a job to a cluster. | | | `EXEC` | | Submits job to a cluster. | + +## `SELECT` examples + +Lists regions/{region}/jobs in a project. + +```sql +SELECT +done, +driverControlFilesUri, +driverOutputResourceUri, +driverSchedulingConfig, +flinkJob, +hadoopJob, +hiveJob, +jobUuid, +labels, +pigJob, +placement, +prestoJob, +pysparkJob, +reference, +scheduling, +sparkJob, +sparkRJob, +sparkSqlJob, +status, +statusHistory, +trinoJob, +yarnApplications +FROM google.dataproc.jobs +WHERE projectId = '{{ projectId }}' +AND region = '{{ region }}'; +``` + +## `UPDATE` example + +Updates a job only if the necessary resources are available. + +```sql +UPDATE google.dataproc.jobs +SET +reference = '{{ reference }}', +placement = '{{ placement }}', +hadoopJob = '{{ hadoopJob }}', +sparkJob = '{{ sparkJob }}', +pysparkJob = '{{ pysparkJob }}', +hiveJob = '{{ hiveJob }}', +pigJob = '{{ pigJob }}', +sparkRJob = '{{ sparkRJob }}', +sparkSqlJob = '{{ sparkSqlJob }}', +prestoJob = '{{ prestoJob }}', +trinoJob = '{{ trinoJob }}', +flinkJob = '{{ flinkJob }}', +status = '{{ status }}', +statusHistory = '{{ statusHistory }}', +yarnApplications = '{{ yarnApplications }}', +driverOutputResourceUri = '{{ driverOutputResourceUri }}', +driverControlFilesUri = '{{ driverControlFilesUri }}', +labels = '{{ labels }}', +scheduling = '{{ scheduling }}', +jobUuid = '{{ jobUuid }}', +done = true|false, +driverSchedulingConfig = '{{ driverSchedulingConfig }}' +WHERE +jobId = '{{ jobId }}' +AND projectId = '{{ projectId }}' +AND region = '{{ region }}'; +``` + +## `DELETE` example + +Deletes the specified job resource. + +```sql +DELETE FROM google.dataproc.jobs +WHERE jobId = '{{ jobId }}' +AND projectId = '{{ projectId }}' +AND region = '{{ region }}'; +``` diff --git a/docs/google-docs/providers/google/dataproc/jobs_iam_policies/index.md b/docs/google-docs/providers/google/dataproc/jobs_iam_policies/index.md index 457903b20b..cc9dd3d78d 100644 --- a/docs/google-docs/providers/google/dataproc/jobs_iam_policies/index.md +++ b/docs/google-docs/providers/google/dataproc/jobs_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: jobs_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - jobs_iam_policies - dataproc - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an jobs_iam_policy resource or lists jobs_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. members can have the following values: allUsers: A special identifier that represents anyone who is on the internet; with or without a Google account. allAuthenticatedUsers: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. user:{emailid}: An email address that represents a specific Google account. For example, alice@example.com . serviceAccount:{emailid}: An email address that represents a Google service account. For example, my-other-app@appspot.gserviceaccount.com. serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]: An identifier for a Kubernetes service account (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, my-project.svc.id.goog[my-namespace/my-kubernetes-sa]. group:{emailid}: An email address that represents a Google group. For example, admins@example.com. domain:{domain}: The G Suite domain (primary) that represents all the users of that domain. For example, google.com or example.com. principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workforce identity pool. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}: All workforce identities in a group. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All workforce identities with a specific attribute value. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*: All identities in a workforce identity pool. principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workload identity pool. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}: A workload identity pool group. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All identities in a workload identity pool with a certain attribute. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*: All identities in a workload identity pool. deleted:user:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a user that has been recently deleted. For example, alice@example.com?uid=123456789012345678901. If the user is recovered, this value reverts to user:{emailid} and the recovered user retains the role in the binding. deleted:serviceAccount:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. If the service account is undeleted, this value reverts to serviceAccount:{emailid} and the undeleted service account retains the role in the binding. deleted:group:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, admins@example.com?uid=123456789012345678901. If the group is recovered, this value reverts to group:{emailid} and the recovered group retains the role in the binding. deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: Deleted single identity in a workforce identity pool. For example, deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. members can have the following values: allUsers: A special identifier that represents anyone who is on the internet; with or without a Google account. allAuthenticatedUsers: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. user:{emailid}: An email address that represents a specific Google account. For example, alice@example.com . serviceAccount:{emailid}: An email address that represents a Google service account. For example, my-other-app@appspot.gserviceaccount.com. serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]: An identifier for a Kubernetes service account (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, my-project.svc.id.goog[my-namespace/my-kubernetes-sa]. group:{emailid}: An email address that represents a Google group. For example, admins@example.com. domain:{domain}: The G Suite domain (primary) that represents all the users of that domain. For example, google.com or example.com. principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workforce identity pool. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}: All workforce identities in a group. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All workforce identities with a specific attribute value. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*: All identities in a workforce identity pool. principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workload identity pool. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}: A workload identity pool group. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All identities in a workload identity pool with a certain attribute. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*: All identities in a workload identity pool. deleted:user:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a user that has been recently deleted. For example, alice@example.com?uid=123456789012345678901. If the user is recovered, this value reverts to user:{emailid} and the recovered user retains the role in the binding. deleted:serviceAccount:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. If the service account is undeleted, this value reverts to serviceAccount:{emailid} and the undeleted service account retains the role in the binding. deleted:group:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, admins@example.com?uid=123456789012345678901. If the group is recovered, this value reverts to group:{emailid} and the recovered group retains the role in the binding. deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: Deleted single identity in a workforce identity pool. For example, deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value. | | | `string` | Role that is assigned to the list of members, or principals. For example, roles/viewer, roles/editor, or roles/owner.For an overview of the IAM roles and permissions, see the IAM documentation (https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see here (https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.dataproc.jobs_iam_policies +WHERE jobsId = '{{ jobsId }}' +AND projectsId = '{{ projectsId }}' +AND regionsId = '{{ regionsId }}'; +``` diff --git a/docs/google-docs/providers/google/dataproc/node_groups/index.md b/docs/google-docs/providers/google/dataproc/node_groups/index.md index 070e0919a3..e69f93a40e 100644 --- a/docs/google-docs/providers/google/dataproc/node_groups/index.md +++ b/docs/google-docs/providers/google/dataproc/node_groups/index.md @@ -1,3 +1,4 @@ + --- title: node_groups hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - node_groups - dataproc - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an node_group resource or lists node_groups in a region ## Overview
@@ -34,6 +36,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Optional. Node group labels. Label keys must consist of from 1 to 63 characters and conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values can be empty. If specified, they must consist of from 1 to 63 characters and conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). The node group must have no more than 32 labelsn. | | | `object` | The config settings for Compute Engine resources in an instance group, such as a master or worker group. | | | `array` | Required. Node group roles. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -41,3 +44,74 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a node group in a cluster. The returned Operation.metadata is NodeGroupOperationMetadata (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#nodegroupoperationmetadata). | | | `EXEC` | | Repair nodes in a node group. | | | `EXEC` | | Resizes a node group in a cluster. The returned Operation.metadata is NodeGroupOperationMetadata (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#nodegroupoperationmetadata). | + +## `SELECT` examples + +Gets the resource representation for a node group in a cluster. + +```sql +SELECT +name, +labels, +nodeGroupConfig, +roles +FROM google.dataproc.node_groups +WHERE clustersId = '{{ clustersId }}' +AND nodeGroupsId = '{{ nodeGroupsId }}' +AND projectsId = '{{ projectsId }}' +AND regionsId = '{{ regionsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new node_groups resource. + + + + +```sql +/*+ create */ +INSERT INTO google.dataproc.node_groups ( +clustersId, +projectsId, +regionsId, +name, +roles, +nodeGroupConfig, +labels +) +SELECT +'{{ clustersId }}', +'{{ projectsId }}', +'{{ regionsId }}', +'{{ name }}', +'{{ roles }}', +'{{ nodeGroupConfig }}', +'{{ labels }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: roles + value: '{{ roles }}' + - name: nodeGroupConfig + value: '{{ nodeGroupConfig }}' + - name: labels + value: '{{ labels }}' + +``` + + diff --git a/docs/google-docs/providers/google/dataproc/operations/index.md b/docs/google-docs/providers/google/dataproc/operations/index.md index 2c2ffcb090..bbb4a0245d 100644 --- a/docs/google-docs/providers/google/dataproc/operations/index.md +++ b/docs/google-docs/providers/google/dataproc/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - dataproc - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview
@@ -30,11 +32,12 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the name should be a resource name ending with operations/{unique_id}. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the name should be a resource name ending with operations/{unique_id}. | | | `boolean` | If the value is false, it means the operation is still in progress. If true, the operation is completed, and either error or response is available. | | | `object` | The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC (https://github.com/grpc). Each Status message contains three pieces of data: error code, error message, and error details.You can find out more about this error model and how to work with it in the API Design Guide (https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as Delete, the response is google.protobuf.Empty. If the original method is standard Get/Create/Update, the response should be the resource. For other methods, the response should have the type XxxResponse, where Xxx is the original method name. For example, if the original method name is TakeSnapshot(), the inferred response type is TakeSnapshotResponse. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -44,7 +47,32 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns UNIMPLEMENTED. | | | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns google.rpc.Code.UNIMPLEMENTED. | | | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns google.rpc.Code.UNIMPLEMENTED. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns UNIMPLEMENTED. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns UNIMPLEMENTED. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns google.rpc.Code.UNIMPLEMENTED. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to Code.CANCELLED. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns google.rpc.Code.UNIMPLEMENTED. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to Code.CANCELLED. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns UNIMPLEMENTED. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.dataproc.operations +WHERE projectsId = '{{ projectsId }}' +AND regionsId = '{{ regionsId }}'; +``` + +## `DELETE` example + +Deletes the specified operation resource. + +```sql +DELETE FROM google.dataproc.operations +WHERE operationsId = '{{ operationsId }}' +AND projectsId = '{{ projectsId }}' +AND regionsId = '{{ regionsId }}'; +``` diff --git a/docs/google-docs/providers/google/dataproc/operations_iam_policies/index.md b/docs/google-docs/providers/google/dataproc/operations_iam_policies/index.md index 9878112f79..dbc83134bf 100644 --- a/docs/google-docs/providers/google/dataproc/operations_iam_policies/index.md +++ b/docs/google-docs/providers/google/dataproc/operations_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: operations_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations_iam_policies - dataproc - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operations_iam_policy resource or lists operations_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. members can have the following values: allUsers: A special identifier that represents anyone who is on the internet; with or without a Google account. allAuthenticatedUsers: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. user:{emailid}: An email address that represents a specific Google account. For example, alice@example.com . serviceAccount:{emailid}: An email address that represents a Google service account. For example, my-other-app@appspot.gserviceaccount.com. serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]: An identifier for a Kubernetes service account (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, my-project.svc.id.goog[my-namespace/my-kubernetes-sa]. group:{emailid}: An email address that represents a Google group. For example, admins@example.com. domain:{domain}: The G Suite domain (primary) that represents all the users of that domain. For example, google.com or example.com. principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workforce identity pool. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}: All workforce identities in a group. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All workforce identities with a specific attribute value. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*: All identities in a workforce identity pool. principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workload identity pool. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}: A workload identity pool group. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All identities in a workload identity pool with a certain attribute. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*: All identities in a workload identity pool. deleted:user:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a user that has been recently deleted. For example, alice@example.com?uid=123456789012345678901. If the user is recovered, this value reverts to user:{emailid} and the recovered user retains the role in the binding. deleted:serviceAccount:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. If the service account is undeleted, this value reverts to serviceAccount:{emailid} and the undeleted service account retains the role in the binding. deleted:group:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, admins@example.com?uid=123456789012345678901. If the group is recovered, this value reverts to group:{emailid} and the recovered group retains the role in the binding. deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: Deleted single identity in a workforce identity pool. For example, deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. members can have the following values: allUsers: A special identifier that represents anyone who is on the internet; with or without a Google account. allAuthenticatedUsers: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. user:{emailid}: An email address that represents a specific Google account. For example, alice@example.com . serviceAccount:{emailid}: An email address that represents a Google service account. For example, my-other-app@appspot.gserviceaccount.com. serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]: An identifier for a Kubernetes service account (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, my-project.svc.id.goog[my-namespace/my-kubernetes-sa]. group:{emailid}: An email address that represents a Google group. For example, admins@example.com. domain:{domain}: The G Suite domain (primary) that represents all the users of that domain. For example, google.com or example.com. principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workforce identity pool. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}: All workforce identities in a group. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All workforce identities with a specific attribute value. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*: All identities in a workforce identity pool. principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workload identity pool. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}: A workload identity pool group. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All identities in a workload identity pool with a certain attribute. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*: All identities in a workload identity pool. deleted:user:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a user that has been recently deleted. For example, alice@example.com?uid=123456789012345678901. If the user is recovered, this value reverts to user:{emailid} and the recovered user retains the role in the binding. deleted:serviceAccount:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. If the service account is undeleted, this value reverts to serviceAccount:{emailid} and the undeleted service account retains the role in the binding. deleted:group:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, admins@example.com?uid=123456789012345678901. If the group is recovered, this value reverts to group:{emailid} and the recovered group retains the role in the binding. deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: Deleted single identity in a workforce identity pool. For example, deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value. | | | `string` | Role that is assigned to the list of members, or principals. For example, roles/viewer, roles/editor, or roles/owner.For an overview of the IAM roles and permissions, see the IAM documentation (https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see here (https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.dataproc.operations_iam_policies +WHERE operationsId = '{{ operationsId }}' +AND projectsId = '{{ projectsId }}' +AND regionsId = '{{ regionsId }}'; +``` diff --git a/docs/google-docs/providers/google/dataproc/session_templates/index.md b/docs/google-docs/providers/google/dataproc/session_templates/index.md index fba9b88e0b..caa9022d42 100644 --- a/docs/google-docs/providers/google/dataproc/session_templates/index.md +++ b/docs/google-docs/providers/google/dataproc/session_templates/index.md @@ -1,3 +1,4 @@ + --- title: session_templates hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - session_templates - dataproc - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an session_template resource or lists session_templates in a region ## Overview
@@ -38,8 +40,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Jupyter configuration for an interactive session. | | | `object` | Optional. Labels to associate with sessions created using this template. Label keys must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values can be empty, but, if present, must contain 1 to 63 characters and conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be associated with a session. | | | `object` | Runtime configuration for a workload. | +| | `object` | Spark connect configuration for an interactive session. | | | `string` | Output only. The time the template was last updated. | | | `string` | Output only. A session template UUID (Unique Universal Identifier). The service generates this value when it creates the session template. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -48,4 +52,140 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Create a session template synchronously. | | | `DELETE` | | Deletes a session template. | | | `UPDATE` | | Updates the session template synchronously. | -| | `EXEC` | | Lists session templates. | + +## `SELECT` examples + +Lists session templates. + +```sql +SELECT +name, +description, +createTime, +creator, +environmentConfig, +jupyterSession, +labels, +runtimeConfig, +sparkConnectSession, +updateTime, +uuid +FROM google.dataproc.session_templates +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new session_templates resource. + + + + +```sql +/*+ create */ +INSERT INTO google.dataproc.session_templates ( +locationsId, +projectsId, +name, +description, +createTime, +jupyterSession, +sparkConnectSession, +creator, +labels, +runtimeConfig, +environmentConfig, +updateTime, +uuid +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ description }}', +'{{ createTime }}', +'{{ jupyterSession }}', +'{{ sparkConnectSession }}', +'{{ creator }}', +'{{ labels }}', +'{{ runtimeConfig }}', +'{{ environmentConfig }}', +'{{ updateTime }}', +'{{ uuid }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: createTime + value: '{{ createTime }}' + - name: jupyterSession + value: '{{ jupyterSession }}' + - name: sparkConnectSession + value: '{{ sparkConnectSession }}' + - name: creator + value: '{{ creator }}' + - name: labels + value: '{{ labels }}' + - name: runtimeConfig + value: '{{ runtimeConfig }}' + - name: environmentConfig + value: '{{ environmentConfig }}' + - name: updateTime + value: '{{ updateTime }}' + - name: uuid + value: '{{ uuid }}' + +``` + + + +## `UPDATE` example + +Updates a session_template only if the necessary resources are available. + +```sql +UPDATE google.dataproc.session_templates +SET +name = '{{ name }}', +description = '{{ description }}', +createTime = '{{ createTime }}', +jupyterSession = '{{ jupyterSession }}', +sparkConnectSession = '{{ sparkConnectSession }}', +creator = '{{ creator }}', +labels = '{{ labels }}', +runtimeConfig = '{{ runtimeConfig }}', +environmentConfig = '{{ environmentConfig }}', +updateTime = '{{ updateTime }}', +uuid = '{{ uuid }}' +WHERE +locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND sessionTemplatesId = '{{ sessionTemplatesId }}'; +``` + +## `DELETE` example + +Deletes the specified session_template resource. + +```sql +DELETE FROM google.dataproc.session_templates +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND sessionTemplatesId = '{{ sessionTemplatesId }}'; +``` diff --git a/docs/google-docs/providers/google/dataproc/sessions/index.md b/docs/google-docs/providers/google/dataproc/sessions/index.md index 84ba1c3c77..16fbfbb97a 100644 --- a/docs/google-docs/providers/google/dataproc/sessions/index.md +++ b/docs/google-docs/providers/google/dataproc/sessions/index.md @@ -1,3 +1,4 @@ + --- title: sessions hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - sessions - dataproc - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an session resource or lists sessions in a region ## Overview
@@ -39,12 +41,14 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Runtime configuration for a workload. | | | `object` | Runtime information about workload execution. | | | `string` | Optional. The session template used by the session.Only resource names, including project ID and location, are valid.Example: * https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/sessionTemplates/[template_id] * projects/[project_id]/locations/[dataproc_region]/sessionTemplates/[template_id]The template must be in the same project and Dataproc region as the session. | +| | `object` | Spark connect configuration for an interactive session. | | | `string` | Output only. A state of the session. | | | `array` | Output only. Historical state information for the session. | | | `string` | Output only. Session state details, such as the failure description if the state is FAILED. | | | `string` | Output only. The time when the session entered the current state. | | | `string` | Optional. The email address of the user who owns the session. | | | `string` | Output only. A session UUID (Unique Universal Identifier). The service generates this value when it creates the session. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -52,5 +56,142 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists interactive sessions. | | | `INSERT` | | Create an interactive session asynchronously. | | | `DELETE` | | Deletes the interactive session resource. If the session is not in terminal state, it is terminated, and then deleted. | -| | `EXEC` | | Lists interactive sessions. | | | `EXEC` | | Terminates the interactive session. | + +## `SELECT` examples + +Lists interactive sessions. + +```sql +SELECT +name, +createTime, +creator, +environmentConfig, +jupyterSession, +labels, +runtimeConfig, +runtimeInfo, +sessionTemplate, +sparkConnectSession, +state, +stateHistory, +stateMessage, +stateTime, +user, +uuid +FROM google.dataproc.sessions +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new sessions resource. + + + + +```sql +/*+ create */ +INSERT INTO google.dataproc.sessions ( +locationsId, +projectsId, +name, +uuid, +createTime, +jupyterSession, +sparkConnectSession, +runtimeInfo, +state, +stateMessage, +stateTime, +creator, +labels, +runtimeConfig, +environmentConfig, +user, +stateHistory, +sessionTemplate +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ uuid }}', +'{{ createTime }}', +'{{ jupyterSession }}', +'{{ sparkConnectSession }}', +'{{ runtimeInfo }}', +'{{ state }}', +'{{ stateMessage }}', +'{{ stateTime }}', +'{{ creator }}', +'{{ labels }}', +'{{ runtimeConfig }}', +'{{ environmentConfig }}', +'{{ user }}', +'{{ stateHistory }}', +'{{ sessionTemplate }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: uuid + value: '{{ uuid }}' + - name: createTime + value: '{{ createTime }}' + - name: jupyterSession + value: '{{ jupyterSession }}' + - name: sparkConnectSession + value: '{{ sparkConnectSession }}' + - name: runtimeInfo + value: '{{ runtimeInfo }}' + - name: state + value: '{{ state }}' + - name: stateMessage + value: '{{ stateMessage }}' + - name: stateTime + value: '{{ stateTime }}' + - name: creator + value: '{{ creator }}' + - name: labels + value: '{{ labels }}' + - name: runtimeConfig + value: '{{ runtimeConfig }}' + - name: environmentConfig + value: '{{ environmentConfig }}' + - name: user + value: '{{ user }}' + - name: stateHistory + value: '{{ stateHistory }}' + - name: sessionTemplate + value: '{{ sessionTemplate }}' + +``` + + + +## `DELETE` example + +Deletes the specified session resource. + +```sql +DELETE FROM google.dataproc.sessions +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND sessionsId = '{{ sessionsId }}'; +``` diff --git a/docs/google-docs/providers/google/dataproc/workflow_templates/index.md b/docs/google-docs/providers/google/dataproc/workflow_templates/index.md index 2a5eded291..06a923c489 100644 --- a/docs/google-docs/providers/google/dataproc/workflow_templates/index.md +++ b/docs/google-docs/providers/google/dataproc/workflow_templates/index.md @@ -1,3 +1,4 @@ + --- title: workflow_templates hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - workflow_templates - dataproc - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an workflow_template resource or lists workflow_templates in a region ## Overview
@@ -31,7 +33,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | Name | Datatype | Description | |:-----|:---------|:------------| | | `string` | | -| | `string` | Output only. The resource name of the workflow template, as described in https://cloud.google.com/apis/design/resource_names. For projects.regions.workflowTemplates, the resource name of the template has the following format: projects/{project_id}/regions/{region}/workflowTemplates/{template_id} For projects.locations.workflowTemplates, the resource name of the template has the following format: projects/{project_id}/locations/{location}/workflowTemplates/{template_id} | +| | `string` | Output only. The resource name of the workflow template, as described in https://cloud.google.com/apis/design/resource_names. For projects.regions.workflowTemplates, the resource name of the template has the following format: projects/{project_id}/regions/{region}/workflowTemplates/{template_id} For projects.locations.workflowTemplates, the resource name of the template has the following format: projects/{project_id}/locations/{location}/workflowTemplates/{template_id} | | | `string` | Output only. The time template was created. | | | `string` | Optional. Timeout duration for the DAG of jobs, expressed in seconds (see JSON representation of duration (https://developers.google.com/protocol-buffers/docs/proto3#json)). The timeout duration must be from 10 minutes ("600s") to 24 hours ("86400s"). The timer begins when the first job is submitted. If the workflow is running at the end of the timeout period, any remaining jobs are cancelled, the workflow is ended, and if the workflow was running on a managed cluster, the cluster is deleted. | | | `object` | Encryption settings for encrypting workflow template job arguments. | @@ -41,6 +43,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Specifies workflow execution target.Either managed_cluster or cluster_selector is required. | | | `string` | Output only. The time template was last updated. | | | `integer` | Optional. Used to perform a consistent read-modify-write.This field should be left blank for a CreateWorkflowTemplate request. It is required for an UpdateWorkflowTemplate request, and must match the current server version. A typical update template flow would fetch the current template with a GetWorkflowTemplate request, which will return the current template with the version field filled in with the current server version. The user updates other fields in the template, then returns it as part of the UpdateWorkflowTemplate request. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -52,11 +55,122 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates new workflow template. | | | `DELETE` | | Deletes a workflow template. It does not cancel in-progress workflows. | | | `DELETE` | | Deletes a workflow template. It does not cancel in-progress workflows. | -| | `UPDATE` | | Updates (replaces) workflow template. The updated template must contain version that matches the current server version. | -| | `UPDATE` | | Updates (replaces) workflow template. The updated template must contain version that matches the current server version. | -| | `EXEC` | | Lists workflows that match the specified filter in the request. | -| | `EXEC` | | Lists workflows that match the specified filter in the request. | | | `EXEC` | | Instantiates a template and begins execution.The returned Operation can be used to track execution of workflow by polling operations.get. The Operation will complete when entire workflow is finished.The running workflow can be aborted via operations.cancel. This will cause any inflight jobs to be cancelled and workflow-owned clusters to be deleted.The Operation.metadata will be WorkflowMetadata (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#workflowmetadata). Also see Using WorkflowMetadata (https://cloud.google.com/dataproc/docs/concepts/workflows/debugging#using_workflowmetadata).On successful completion, Operation.response will be Empty. | | | `EXEC` | | Instantiates a template and begins execution.This method is equivalent to executing the sequence CreateWorkflowTemplate, InstantiateWorkflowTemplate, DeleteWorkflowTemplate.The returned Operation can be used to track execution of workflow by polling operations.get. The Operation will complete when entire workflow is finished.The running workflow can be aborted via operations.cancel. This will cause any inflight jobs to be cancelled and workflow-owned clusters to be deleted.The Operation.metadata will be WorkflowMetadata (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#workflowmetadata). Also see Using WorkflowMetadata (https://cloud.google.com/dataproc/docs/concepts/workflows/debugging#using_workflowmetadata).On successful completion, Operation.response will be Empty. | +| | `EXEC` | | Updates (replaces) workflow template. The updated template must contain version that matches the current server version. | | | `EXEC` | | Instantiates a template and begins execution.The returned Operation can be used to track execution of workflow by polling operations.get. The Operation will complete when entire workflow is finished.The running workflow can be aborted via operations.cancel. This will cause any inflight jobs to be cancelled and workflow-owned clusters to be deleted.The Operation.metadata will be WorkflowMetadata (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#workflowmetadata). Also see Using WorkflowMetadata (https://cloud.google.com/dataproc/docs/concepts/workflows/debugging#using_workflowmetadata).On successful completion, Operation.response will be Empty. | | | `EXEC` | | Instantiates a template and begins execution.This method is equivalent to executing the sequence CreateWorkflowTemplate, InstantiateWorkflowTemplate, DeleteWorkflowTemplate.The returned Operation can be used to track execution of workflow by polling operations.get. The Operation will complete when entire workflow is finished.The running workflow can be aborted via operations.cancel. This will cause any inflight jobs to be cancelled and workflow-owned clusters to be deleted.The Operation.metadata will be WorkflowMetadata (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#workflowmetadata). Also see Using WorkflowMetadata (https://cloud.google.com/dataproc/docs/concepts/workflows/debugging#using_workflowmetadata).On successful completion, Operation.response will be Empty. | +| | `EXEC` | | Updates (replaces) workflow template. The updated template must contain version that matches the current server version. | + +## `SELECT` examples + +Lists workflows that match the specified filter in the request. + +```sql +SELECT +id, +name, +createTime, +dagTimeout, +encryptionConfig, +jobs, +labels, +parameters, +placement, +updateTime, +version +FROM google.dataproc.workflow_templates +WHERE projectsId = '{{ projectsId }}' +AND regionsId = '{{ regionsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new workflow_templates resource. + + + + +```sql +/*+ create */ +INSERT INTO google.dataproc.workflow_templates ( +projectsId, +regionsId, +id, +name, +version, +createTime, +updateTime, +labels, +placement, +jobs, +parameters, +dagTimeout, +encryptionConfig +) +SELECT +'{{ projectsId }}', +'{{ regionsId }}', +'{{ id }}', +'{{ name }}', +'{{ version }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ labels }}', +'{{ placement }}', +'{{ jobs }}', +'{{ parameters }}', +'{{ dagTimeout }}', +'{{ encryptionConfig }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: id + value: '{{ id }}' + - name: name + value: '{{ name }}' + - name: version + value: '{{ version }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: labels + value: '{{ labels }}' + - name: placement + value: '{{ placement }}' + - name: jobs + value: '{{ jobs }}' + - name: parameters + value: '{{ parameters }}' + - name: dagTimeout + value: '{{ dagTimeout }}' + - name: encryptionConfig + value: '{{ encryptionConfig }}' + +``` + + + +## `DELETE` example + +Deletes the specified workflow_template resource. + +```sql +DELETE FROM google.dataproc.workflow_templates +WHERE projectsId = '{{ projectsId }}' +AND regionsId = '{{ regionsId }}' +AND workflowTemplatesId = '{{ workflowTemplatesId }}'; +``` diff --git a/docs/google-docs/providers/google/dataproc/workflow_templates_iam_policies/index.md b/docs/google-docs/providers/google/dataproc/workflow_templates_iam_policies/index.md index 5b409a7182..b9c6f54e62 100644 --- a/docs/google-docs/providers/google/dataproc/workflow_templates_iam_policies/index.md +++ b/docs/google-docs/providers/google/dataproc/workflow_templates_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: workflow_templates_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - workflow_templates_iam_policies - dataproc - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an workflow_templates_iam_policy resource or lists workflow_templates_iam_policies in a region ## Overview
@@ -30,17 +32,31 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. members can have the following values: allUsers: A special identifier that represents anyone who is on the internet; with or without a Google account. allAuthenticatedUsers: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. user:{emailid}: An email address that represents a specific Google account. For example, alice@example.com . serviceAccount:{emailid}: An email address that represents a Google service account. For example, my-other-app@appspot.gserviceaccount.com. serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]: An identifier for a Kubernetes service account (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, my-project.svc.id.goog[my-namespace/my-kubernetes-sa]. group:{emailid}: An email address that represents a Google group. For example, admins@example.com. domain:{domain}: The G Suite domain (primary) that represents all the users of that domain. For example, google.com or example.com. principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workforce identity pool. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}: All workforce identities in a group. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All workforce identities with a specific attribute value. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*: All identities in a workforce identity pool. principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workload identity pool. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}: A workload identity pool group. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All identities in a workload identity pool with a certain attribute. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*: All identities in a workload identity pool. deleted:user:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a user that has been recently deleted. For example, alice@example.com?uid=123456789012345678901. If the user is recovered, this value reverts to user:{emailid} and the recovered user retains the role in the binding. deleted:serviceAccount:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. If the service account is undeleted, this value reverts to serviceAccount:{emailid} and the undeleted service account retains the role in the binding. deleted:group:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, admins@example.com?uid=123456789012345678901. If the group is recovered, this value reverts to group:{emailid} and the recovered group retains the role in the binding. deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: Deleted single identity in a workforce identity pool. For example, deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. members can have the following values: allUsers: A special identifier that represents anyone who is on the internet; with or without a Google account. allAuthenticatedUsers: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. user:{emailid}: An email address that represents a specific Google account. For example, alice@example.com . serviceAccount:{emailid}: An email address that represents a Google service account. For example, my-other-app@appspot.gserviceaccount.com. serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]: An identifier for a Kubernetes service account (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, my-project.svc.id.goog[my-namespace/my-kubernetes-sa]. group:{emailid}: An email address that represents a Google group. For example, admins@example.com. domain:{domain}: The G Suite domain (primary) that represents all the users of that domain. For example, google.com or example.com. principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workforce identity pool. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}: All workforce identities in a group. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All workforce identities with a specific attribute value. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*: All identities in a workforce identity pool. principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workload identity pool. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}: A workload identity pool group. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All identities in a workload identity pool with a certain attribute. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*: All identities in a workload identity pool. deleted:user:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a user that has been recently deleted. For example, alice@example.com?uid=123456789012345678901. If the user is recovered, this value reverts to user:{emailid} and the recovered user retains the role in the binding. deleted:serviceAccount:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. If the service account is undeleted, this value reverts to serviceAccount:{emailid} and the undeleted service account retains the role in the binding. deleted:group:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, admins@example.com?uid=123456789012345678901. If the group is recovered, this value reverts to group:{emailid} and the recovered group retains the role in the binding. deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: Deleted single identity in a workforce identity pool. For example, deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value. | | | `string` | Role that is assigned to the list of members, or principals. For example, roles/viewer, roles/editor, or roles/owner.For an overview of the IAM roles and permissions, see the IAM documentation (https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see here (https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.dataproc.workflow_templates_iam_policies +WHERE projectsId = '{{ projectsId }}' +AND regionsId = '{{ regionsId }}' +AND workflowTemplatesId = '{{ workflowTemplatesId }}'; +``` diff --git a/docs/google-docs/providers/google/datastore/index.md b/docs/google-docs/providers/google/datastore/index.md index e6a4dd72fc..68d9ad3068 100644 --- a/docs/google-docs/providers/google/datastore/index.md +++ b/docs/google-docs/providers/google/datastore/index.md @@ -9,41 +9,30 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Accesses the schemaless NoSQL database to provide fully managed, robust, scalable storage for your application. - +The datastore service documentation. + :::info Service Summary
total resources: 3
-total selectable resources: 2
-total methods: 20
::: -## Overview -
- - - - - -
Namegoogle.datastore
TypeService
TitleCloud Datastore API
DescriptionAccesses the schemaless NoSQL database to provide fully managed, robust, scalable storage for your application.
Iddatastore:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/datastore/indexes/index.md b/docs/google-docs/providers/google/datastore/indexes/index.md index ae828ba2c1..9e25f84b62 100644 --- a/docs/google-docs/providers/google/datastore/indexes/index.md +++ b/docs/google-docs/providers/google/datastore/indexes/index.md @@ -1,3 +1,4 @@ + --- title: indexes hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - indexes - datastore - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an index resource or lists indexes in a region ## Overview @@ -36,6 +38,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Project ID. | | | `array` | Required. An ordered sequence of property names and their index attributes. Requires: * A maximum of 100 properties. | | | `string` | Output only. The state of the index. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -43,4 +46,87 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists the indexes that match the specified filters. Datastore uses an eventually consistent query to fetch the list of indexes and may occasionally return stale results. | | | `INSERT` | | Creates the specified index. A newly created index's initial state is `CREATING`. On completion of the returned google.longrunning.Operation, the state will be `READY`. If the index already exists, the call will return an `ALREADY_EXISTS` status. During index creation, the process could result in an error, in which case the index will move to the `ERROR` state. The process can be recovered by fixing the data that caused the error, removing the index with delete, then re-creating the index with create. Indexes with a single property cannot be created. | | | `DELETE` | | Deletes an existing index. An index can only be deleted if it is in a `READY` or `ERROR` state. On successful execution of the request, the index will be in a `DELETING` state. And on completion of the returned google.longrunning.Operation, the index will be removed. During index deletion, the process could result in an error, in which case the index will move to the `ERROR` state. The process can be recovered by fixing the data that caused the error, followed by calling delete again. | -| | `EXEC` | | Lists the indexes that match the specified filters. Datastore uses an eventually consistent query to fetch the list of indexes and may occasionally return stale results. | + +## `SELECT` examples + +Lists the indexes that match the specified filters. Datastore uses an eventually consistent query to fetch the list of indexes and may occasionally return stale results. + +```sql +SELECT +ancestor, +indexId, +kind, +projectId, +properties, +state +FROM google.datastore.indexes +WHERE projectId = '{{ projectId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new indexes resource. + + + + +```sql +/*+ create */ +INSERT INTO google.datastore.indexes ( +projectId, +projectId, +indexId, +kind, +ancestor, +properties, +state +) +SELECT +'{{ projectId }}', +'{{ projectId }}', +'{{ indexId }}', +'{{ kind }}', +'{{ ancestor }}', +'{{ properties }}', +'{{ state }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: projectId + value: '{{ projectId }}' + - name: indexId + value: '{{ indexId }}' + - name: kind + value: '{{ kind }}' + - name: ancestor + value: '{{ ancestor }}' + - name: properties + value: '{{ properties }}' + - name: state + value: '{{ state }}' + +``` + + + +## `DELETE` example + +Deletes the specified index resource. + +```sql +DELETE FROM google.datastore.indexes +WHERE indexId = '{{ indexId }}' +AND projectId = '{{ projectId }}'; +``` diff --git a/docs/google-docs/providers/google/datastore/operations/index.md b/docs/google-docs/providers/google/datastore/operations/index.md index 7719ba1ec7..9093826368 100644 --- a/docs/google-docs/providers/google/datastore/operations/index.md +++ b/docs/google-docs/providers/google/datastore/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - datastore - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview
@@ -30,16 +32,41 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.datastore.operations +WHERE projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified operation resource. + +```sql +DELETE FROM google.datastore.operations +WHERE operationsId = '{{ operationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/datastore/projects/index.md b/docs/google-docs/providers/google/datastore/projects/index.md index d19a6e46cc..a0b637b67b 100644 --- a/docs/google-docs/providers/google/datastore/projects/index.md +++ b/docs/google-docs/providers/google/datastore/projects/index.md @@ -1,3 +1,4 @@ + --- title: projects hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - projects - datastore - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an project resource or lists projects in a region ## Overview
@@ -28,7 +30,9 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| diff --git a/docs/google-docs/providers/google/datastream/connection_profiles/index.md b/docs/google-docs/providers/google/datastream/connection_profiles/index.md index e00593eabf..a99631dfff 100644 --- a/docs/google-docs/providers/google/datastream/connection_profiles/index.md +++ b/docs/google-docs/providers/google/datastream/connection_profiles/index.md @@ -1,3 +1,4 @@ + --- title: connection_profiles hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - connection_profiles - datastream - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an connection_profile resource or lists connection_profiles in a region ## Overview @@ -44,6 +46,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | SQLServer database profile | | | `object` | Static IP address connectivity. Used when the source database is configured to allow incoming connections from the Datastream public IP addresses for the region specified in the connection profile. | | | `string` | Output only. The update time of the resource. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -52,5 +55,159 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Use this method to create a connection profile in a project and location. | | | `DELETE` | | Use this method to delete a connection profile. | | | `UPDATE` | | Use this method to update the parameters of a connection profile. | -| | `EXEC` | | Use this method to list connection profiles created in a project and location. | | | `EXEC` | | Use this method to discover a connection profile. The discover API call exposes the data objects and metadata belonging to the profile. Typically, a request returns children data objects of a parent data object that's optionally supplied in the request. | + +## `SELECT` examples + +Use this method to list connection profiles created in a project and location. + +```sql +SELECT +name, +bigqueryProfile, +createTime, +displayName, +forwardSshConnectivity, +gcsProfile, +labels, +mysqlProfile, +oracleProfile, +postgresqlProfile, +privateConnectivity, +sqlServerProfile, +staticServiceIpConnectivity, +updateTime +FROM google.datastream.connection_profiles +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new connection_profiles resource. + + + + +```sql +/*+ create */ +INSERT INTO google.datastream.connection_profiles ( +locationsId, +projectsId, +name, +createTime, +updateTime, +labels, +displayName, +oracleProfile, +gcsProfile, +mysqlProfile, +bigqueryProfile, +postgresqlProfile, +sqlServerProfile, +staticServiceIpConnectivity, +forwardSshConnectivity, +privateConnectivity +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ labels }}', +'{{ displayName }}', +'{{ oracleProfile }}', +'{{ gcsProfile }}', +'{{ mysqlProfile }}', +'{{ bigqueryProfile }}', +'{{ postgresqlProfile }}', +'{{ sqlServerProfile }}', +'{{ staticServiceIpConnectivity }}', +'{{ forwardSshConnectivity }}', +'{{ privateConnectivity }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: labels + value: '{{ labels }}' + - name: displayName + value: '{{ displayName }}' + - name: oracleProfile + value: '{{ oracleProfile }}' + - name: gcsProfile + value: '{{ gcsProfile }}' + - name: mysqlProfile + value: '{{ mysqlProfile }}' + - name: bigqueryProfile + value: '{{ bigqueryProfile }}' + - name: postgresqlProfile + value: '{{ postgresqlProfile }}' + - name: sqlServerProfile + value: '{{ sqlServerProfile }}' + - name: staticServiceIpConnectivity + value: '{{ staticServiceIpConnectivity }}' + - name: forwardSshConnectivity + value: '{{ forwardSshConnectivity }}' + - name: privateConnectivity + value: '{{ privateConnectivity }}' + +``` + + + +## `UPDATE` example + +Updates a connection_profile only if the necessary resources are available. + +```sql +UPDATE google.datastream.connection_profiles +SET +name = '{{ name }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +labels = '{{ labels }}', +displayName = '{{ displayName }}', +oracleProfile = '{{ oracleProfile }}', +gcsProfile = '{{ gcsProfile }}', +mysqlProfile = '{{ mysqlProfile }}', +bigqueryProfile = '{{ bigqueryProfile }}', +postgresqlProfile = '{{ postgresqlProfile }}', +sqlServerProfile = '{{ sqlServerProfile }}', +staticServiceIpConnectivity = '{{ staticServiceIpConnectivity }}', +forwardSshConnectivity = '{{ forwardSshConnectivity }}', +privateConnectivity = '{{ privateConnectivity }}' +WHERE +connectionProfilesId = '{{ connectionProfilesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified connection_profile resource. + +```sql +DELETE FROM google.datastream.connection_profiles +WHERE connectionProfilesId = '{{ connectionProfilesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/datastream/index.md b/docs/google-docs/providers/google/datastream/index.md index ac8219963c..1c692d2e82 100644 --- a/docs/google-docs/providers/google/datastream/index.md +++ b/docs/google-docs/providers/google/datastream/index.md @@ -9,46 +9,35 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- - - +The datastream service documentation. + :::info Service Summary
total resources: 8
-total selectable resources: 7
-total methods: 39
::: -## Overview -
- - - - - -
Namegoogle.datastream
TypeService
TitleDatastream API
Description
Iddatastream:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/datastream/locations/index.md b/docs/google-docs/providers/google/datastream/locations/index.md index 6baf82ba13..2b4948e0ef 100644 --- a/docs/google-docs/providers/google/datastream/locations/index.md +++ b/docs/google-docs/providers/google/datastream/locations/index.md @@ -1,3 +1,4 @@ + --- title: locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - locations - datastream - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an location resource or lists locations in a region ## Overview @@ -32,12 +34,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` | | | `string` | The friendly name for this location, typically a nearby city name. For example, "Tokyo". | -| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | +| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | | | `string` | The canonical id for this location. For example: `"us-east1"`. | | | `object` | Service-specific metadata. For example the available capacity at the given location. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about a location. | | | `SELECT` | | Lists information about the supported locations for this service. | -| | `EXEC` | | Lists information about the supported locations for this service. | + +## `SELECT` examples + +Lists information about the supported locations for this service. + +```sql +SELECT +name, +displayName, +labels, +locationId, +metadata +FROM google.datastream.locations +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/datastream/objects/index.md b/docs/google-docs/providers/google/datastream/objects/index.md index b522b2f4e7..22000bb171 100644 --- a/docs/google-docs/providers/google/datastream/objects/index.md +++ b/docs/google-docs/providers/google/datastream/objects/index.md @@ -1,3 +1,4 @@ + --- title: objects hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - objects - datastream - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an object resource or lists objects in a region ## Overview
@@ -37,12 +39,31 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `array` | Output only. Active errors on the object. | | | `object` | Represents an identifier of an object in the data source. | | | `string` | Output only. The last update time of the object. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Use this method to get details about a stream object. | | | `SELECT` | | Use this method to list the objects of a specific stream. | -| | `EXEC` | | Use this method to list the objects of a specific stream. | | | `EXEC` | | Use this method to look up a stream object by its source object identifier. | | | `EXEC` | | Use this method to start a backfill job for the specified stream object. | | | `EXEC` | | Use this method to stop a backfill job for the specified stream object. | + +## `SELECT` examples + +Use this method to list the objects of a specific stream. + +```sql +SELECT +name, +backfillJob, +createTime, +displayName, +errors, +sourceObject, +updateTime +FROM google.datastream.objects +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND streamsId = '{{ streamsId }}'; +``` diff --git a/docs/google-docs/providers/google/datastream/operations/index.md b/docs/google-docs/providers/google/datastream/operations/index.md index 311dfd5e1a..f961da2ab5 100644 --- a/docs/google-docs/providers/google/datastream/operations/index.md +++ b/docs/google-docs/providers/google/datastream/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - datastream - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview
@@ -30,16 +32,43 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.datastream.operations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified operation resource. + +```sql +DELETE FROM google.datastream.operations +WHERE locationsId = '{{ locationsId }}' +AND operationsId = '{{ operationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/datastream/private_connections/index.md b/docs/google-docs/providers/google/datastream/private_connections/index.md index 8515af1fde..bc970a2217 100644 --- a/docs/google-docs/providers/google/datastream/private_connections/index.md +++ b/docs/google-docs/providers/google/datastream/private_connections/index.md @@ -1,3 +1,4 @@ + --- title: private_connections hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - private_connections - datastream - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an private_connection resource or lists private_connections in a region ## Overview
@@ -38,6 +40,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The state of the Private Connection. | | | `string` | Output only. The update time of the resource. | | | `object` | The VPC Peering configuration is used to create VPC peering between Datastream and the consumer's VPC. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -45,4 +48,101 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Use this method to list private connectivity configurations in a project and location. | | | `INSERT` | | Use this method to create a private connectivity configuration. | | | `DELETE` | | Use this method to delete a private connectivity configuration. | -| | `EXEC` | | Use this method to list private connectivity configurations in a project and location. | + +## `SELECT` examples + +Use this method to list private connectivity configurations in a project and location. + +```sql +SELECT +name, +createTime, +displayName, +error, +labels, +state, +updateTime, +vpcPeeringConfig +FROM google.datastream.private_connections +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new private_connections resource. + + + + +```sql +/*+ create */ +INSERT INTO google.datastream.private_connections ( +locationsId, +projectsId, +name, +createTime, +updateTime, +labels, +displayName, +state, +error, +vpcPeeringConfig +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ labels }}', +'{{ displayName }}', +'{{ state }}', +'{{ error }}', +'{{ vpcPeeringConfig }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: labels + value: '{{ labels }}' + - name: displayName + value: '{{ displayName }}' + - name: state + value: '{{ state }}' + - name: error + value: '{{ error }}' + - name: vpcPeeringConfig + value: '{{ vpcPeeringConfig }}' + +``` + + + +## `DELETE` example + +Deletes the specified private_connection resource. + +```sql +DELETE FROM google.datastream.private_connections +WHERE locationsId = '{{ locationsId }}' +AND privateConnectionsId = '{{ privateConnectionsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/datastream/routes/index.md b/docs/google-docs/providers/google/datastream/routes/index.md index d81fc292c2..ada427052e 100644 --- a/docs/google-docs/providers/google/datastream/routes/index.md +++ b/docs/google-docs/providers/google/datastream/routes/index.md @@ -1,3 +1,4 @@ + --- title: routes hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - routes - datastream - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an route resource or lists routes in a region ## Overview
@@ -37,6 +39,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Required. Display name. | | | `object` | Labels. | | | `string` | Output only. The update time of the resource. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -44,4 +47,100 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Use this method to list routes created for a private connectivity configuration in a project and location. | | | `INSERT` | | Use this method to create a route for a private connectivity configuration in a project and location. | | | `DELETE` | | Use this method to delete a route. | -| | `EXEC` | | Use this method to list routes created for a private connectivity configuration in a project and location. | + +## `SELECT` examples + +Use this method to list routes created for a private connectivity configuration in a project and location. + +```sql +SELECT +name, +createTime, +destinationAddress, +destinationPort, +displayName, +labels, +updateTime +FROM google.datastream.routes +WHERE locationsId = '{{ locationsId }}' +AND privateConnectionsId = '{{ privateConnectionsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new routes resource. + + + + +```sql +/*+ create */ +INSERT INTO google.datastream.routes ( +locationsId, +privateConnectionsId, +projectsId, +name, +createTime, +updateTime, +labels, +displayName, +destinationAddress, +destinationPort +) +SELECT +'{{ locationsId }}', +'{{ privateConnectionsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ labels }}', +'{{ displayName }}', +'{{ destinationAddress }}', +'{{ destinationPort }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: labels + value: '{{ labels }}' + - name: displayName + value: '{{ displayName }}' + - name: destinationAddress + value: '{{ destinationAddress }}' + - name: destinationPort + value: '{{ destinationPort }}' + +``` + + + +## `DELETE` example + +Deletes the specified route resource. + +```sql +DELETE FROM google.datastream.routes +WHERE locationsId = '{{ locationsId }}' +AND privateConnectionsId = '{{ privateConnectionsId }}' +AND projectsId = '{{ projectsId }}' +AND routesId = '{{ routesId }}'; +``` diff --git a/docs/google-docs/providers/google/datastream/static_ips/index.md b/docs/google-docs/providers/google/datastream/static_ips/index.md index a39d9ac1d1..fa71a1590b 100644 --- a/docs/google-docs/providers/google/datastream/static_ips/index.md +++ b/docs/google-docs/providers/google/datastream/static_ips/index.md @@ -1,3 +1,4 @@ + --- title: static_ips hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - static_ips - datastream - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an static_ip resource or lists static_ips in a region ## Overview
@@ -28,8 +30,25 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. | +| | `array` | list of static ips by account | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | The FetchStaticIps API call exposes the static IP addresses used by Datastream. | + +## `SELECT` examples + +The FetchStaticIps API call exposes the static IP addresses used by Datastream. + +```sql +SELECT +nextPageToken, +staticIps +FROM google.datastream.static_ips +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/datastream/streams/index.md b/docs/google-docs/providers/google/datastream/streams/index.md index 8b5ca7ca92..db37d80be9 100644 --- a/docs/google-docs/providers/google/datastream/streams/index.md +++ b/docs/google-docs/providers/google/datastream/streams/index.md @@ -1,3 +1,4 @@ + --- title: streams hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - streams - datastream - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an stream resource or lists streams in a region ## Overview @@ -43,6 +45,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | The configuration of the stream source. | | | `string` | The state of the stream. | | | `string` | Output only. The last update time of the stream. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -51,5 +54,153 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Use this method to create a stream. | | | `DELETE` | | Use this method to delete a stream. | | | `UPDATE` | | Use this method to update the configuration of a stream. | -| | `EXEC` | | Use this method to list streams in a project and location. | -| | `EXEC` | | Use this method to start, resume or recover a stream with a non default CDC strategy. NOTE: This feature is currently experimental. | +| | `EXEC` | | Use this method to start, resume or recover a stream with a non default CDC strategy. | + +## `SELECT` examples + +Use this method to list streams in a project and location. + +```sql +SELECT +name, +backfillAll, +backfillNone, +createTime, +customerManagedEncryptionKey, +destinationConfig, +displayName, +errors, +labels, +lastRecoveryTime, +sourceConfig, +state, +updateTime +FROM google.datastream.streams +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new streams resource. + + + + +```sql +/*+ create */ +INSERT INTO google.datastream.streams ( +locationsId, +projectsId, +name, +createTime, +updateTime, +labels, +displayName, +sourceConfig, +destinationConfig, +state, +backfillAll, +backfillNone, +errors, +customerManagedEncryptionKey, +lastRecoveryTime +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ labels }}', +'{{ displayName }}', +'{{ sourceConfig }}', +'{{ destinationConfig }}', +'{{ state }}', +'{{ backfillAll }}', +'{{ backfillNone }}', +'{{ errors }}', +'{{ customerManagedEncryptionKey }}', +'{{ lastRecoveryTime }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: labels + value: '{{ labels }}' + - name: displayName + value: '{{ displayName }}' + - name: sourceConfig + value: '{{ sourceConfig }}' + - name: destinationConfig + value: '{{ destinationConfig }}' + - name: state + value: '{{ state }}' + - name: backfillAll + value: '{{ backfillAll }}' + - name: backfillNone + value: '{{ backfillNone }}' + - name: errors + value: '{{ errors }}' + - name: customerManagedEncryptionKey + value: '{{ customerManagedEncryptionKey }}' + - name: lastRecoveryTime + value: '{{ lastRecoveryTime }}' + +``` + + + +## `UPDATE` example + +Updates a stream only if the necessary resources are available. + +```sql +UPDATE google.datastream.streams +SET +name = '{{ name }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +labels = '{{ labels }}', +displayName = '{{ displayName }}', +sourceConfig = '{{ sourceConfig }}', +destinationConfig = '{{ destinationConfig }}', +state = '{{ state }}', +backfillAll = '{{ backfillAll }}', +backfillNone = '{{ backfillNone }}', +errors = '{{ errors }}', +customerManagedEncryptionKey = '{{ customerManagedEncryptionKey }}', +lastRecoveryTime = '{{ lastRecoveryTime }}' +WHERE +locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND streamsId = '{{ streamsId }}'; +``` + +## `DELETE` example + +Deletes the specified stream resource. + +```sql +DELETE FROM google.datastream.streams +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND streamsId = '{{ streamsId }}'; +``` diff --git a/docs/google-docs/providers/google/deploymentmanager/deployments/index.md b/docs/google-docs/providers/google/deploymentmanager/deployments/index.md index 687e10d434..58502bde0e 100644 --- a/docs/google-docs/providers/google/deploymentmanager/deployments/index.md +++ b/docs/google-docs/providers/google/deploymentmanager/deployments/index.md @@ -1,3 +1,4 @@ + --- title: deployments hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - deployments - deploymentmanager - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an deployment resource or lists deployments in a region ## Overview
@@ -37,11 +39,12 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Creation timestamp in RFC3339 text format. | | | `array` | Map of One Platform labels; provided by the client when the resource is created or updated. Specifically: Label keys must be between 1 and 63 characters long and must conform to the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?` Label values must be between 0 and 63 characters long and must conform to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`. | | | `string` | Output only. URL of the manifest representing the last manifest that was successfully deployed. If no manifest has been successfully deployed, this field will be absent. | -| | `object` | Represents an Operation resource. Google Compute Engine has three Operation resources: * [Global](/compute/docs/reference/rest/{$api_version}/globalOperations) * [Regional](/compute/docs/reference/rest/{$api_version}/regionOperations) * [Zonal](/compute/docs/reference/rest/{$api_version}/zoneOperations) You can use an operation resource to manage asynchronous API requests. For more information, read Handling API responses. Operations can be global, regional or zonal. - For global operations, use the `globalOperations` resource. - For regional operations, use the `regionOperations` resource. - For zonal operations, use the `zoneOperations` resource. For more information, read Global, Regional, and Zonal Resources. Note that completed Operation resources have a limited retention period. | +| | `object` | Represents an Operation resource. Google Compute Engine has three Operation resources: * [Global](/compute/docs/reference/rest/{$api_version}/globalOperations) * [Regional](/compute/docs/reference/rest/{$api_version}/regionOperations) * [Zonal](/compute/docs/reference/rest/{$api_version}/zoneOperations) You can use an operation resource to manage asynchronous API requests. For more information, read Handling API responses. Operations can be global, regional or zonal. - For global operations, use the `globalOperations` resource. - For regional operations, use the `regionOperations` resource. - For zonal operations, use the `zoneOperations` resource. For more information, read Global, Regional, and Zonal Resources. Note that completed Operation resources have a limited retention period. | | | `string` | Output only. Server defined URL for the resource. | | | `object` | | | | `object` | | | | `string` | Output only. Update timestamp in RFC3339 text format. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -50,7 +53,144 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a deployment and all of the resources described by the deployment manifest. | | | `DELETE` | | Deletes a deployment and all of the resources in the deployment. | | | `UPDATE` | | Patches a deployment and all of the resources described by the deployment manifest. | -| | `UPDATE` | | Updates a deployment and all of the resources described by the deployment manifest. | -| | `EXEC` | | Lists all deployments for a given project. | | | `EXEC` | | Cancels and removes the preview currently associated with the deployment. | | | `EXEC` | | Stops an ongoing operation. This does not roll back any work that has already been completed, but prevents any new work from being started. | +| | `EXEC` | | Updates a deployment and all of the resources described by the deployment manifest. | + +## `SELECT` examples + +Lists all deployments for a given project. + +```sql +SELECT +id, +name, +description, +fingerprint, +insertTime, +labels, +manifest, +operation, +selfLink, +target, +update, +updateTime +FROM google.deploymentmanager.deployments +WHERE project = '{{ project }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new deployments resource. + + + + +```sql +/*+ create */ +INSERT INTO google.deploymentmanager.deployments ( +project, +id, +name, +description, +operation, +fingerprint, +manifest, +update, +insertTime, +updateTime, +target, +labels, +selfLink +) +SELECT +'{{ project }}', +'{{ id }}', +'{{ name }}', +'{{ description }}', +'{{ operation }}', +'{{ fingerprint }}', +'{{ manifest }}', +'{{ update }}', +'{{ insertTime }}', +'{{ updateTime }}', +'{{ target }}', +'{{ labels }}', +'{{ selfLink }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: id + value: '{{ id }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: operation + value: '{{ operation }}' + - name: fingerprint + value: '{{ fingerprint }}' + - name: manifest + value: '{{ manifest }}' + - name: update + value: '{{ update }}' + - name: insertTime + value: '{{ insertTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: target + value: '{{ target }}' + - name: labels + value: '{{ labels }}' + - name: selfLink + value: '{{ selfLink }}' + +``` + + + +## `UPDATE` example + +Updates a deployment only if the necessary resources are available. + +```sql +UPDATE google.deploymentmanager.deployments +SET +id = '{{ id }}', +name = '{{ name }}', +description = '{{ description }}', +operation = '{{ operation }}', +fingerprint = '{{ fingerprint }}', +manifest = '{{ manifest }}', +update = '{{ update }}', +insertTime = '{{ insertTime }}', +updateTime = '{{ updateTime }}', +target = '{{ target }}', +labels = '{{ labels }}', +selfLink = '{{ selfLink }}' +WHERE +deployment = '{{ deployment }}' +AND project = '{{ project }}'; +``` + +## `DELETE` example + +Deletes the specified deployment resource. + +```sql +DELETE FROM google.deploymentmanager.deployments +WHERE deployment = '{{ deployment }}' +AND project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/deploymentmanager/deployments_iam_policies/index.md b/docs/google-docs/providers/google/deploymentmanager/deployments_iam_policies/index.md index d926dfe7e7..13282039ff 100644 --- a/docs/google-docs/providers/google/deploymentmanager/deployments_iam_policies/index.md +++ b/docs/google-docs/providers/google/deploymentmanager/deployments_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: deployments_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - deployments_iam_policies - deploymentmanager - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an deployments_iam_policy resource or lists deployments_iam_policies in a region ## Overview
@@ -30,13 +32,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. May be empty if no such policy or resource exists. | -| | `EXEC` | | Gets the access control policy for a resource. May be empty if no such policy or resource exists. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. | + +## `SELECT` examples + +Gets the access control policy for a resource. May be empty if no such policy or resource exists. + +```sql +SELECT +condition, +members, +role +FROM google.deploymentmanager.deployments_iam_policies +WHERE project = '{{ project }}' +AND resource = '{{ resource }}'; +``` diff --git a/docs/google-docs/providers/google/deploymentmanager/index.md b/docs/google-docs/providers/google/deploymentmanager/index.md index 051fd69ad2..877bffc2ca 100644 --- a/docs/google-docs/providers/google/deploymentmanager/index.md +++ b/docs/google-docs/providers/google/deploymentmanager/index.md @@ -9,44 +9,33 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -The Google Cloud Deployment Manager v2 API provides services for configuring, deploying, and viewing Google Cloud services and APIs via templates which specify deployments of Cloud resources. - +The deploymentmanager service documentation. + :::info Service Summary
total resources: 6
-total selectable resources: 6
-total methods: 24
::: -## Overview -
- - - - - -
Namegoogle.deploymentmanager
TypeService
TitleCloud Deployment Manager V2 API
DescriptionThe Google Cloud Deployment Manager v2 API provides services for configuring, deploying, and viewing Google Cloud services and APIs via templates which specify deployments of Cloud resources.
Iddeploymentmanager:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/deploymentmanager/manifests/index.md b/docs/google-docs/providers/google/deploymentmanager/manifests/index.md index 1dce412cc7..317af9f0f1 100644 --- a/docs/google-docs/providers/google/deploymentmanager/manifests/index.md +++ b/docs/google-docs/providers/google/deploymentmanager/manifests/index.md @@ -1,3 +1,4 @@ + --- title: manifests hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - manifests - deploymentmanager - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an manifest resource or lists manifests in a region ## Overview @@ -40,9 +42,30 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The computed size of the fully expanded manifest. | | | `string` | Output only. The size limit for expanded manifests in the project. | | | `string` | Output only. Self link for the manifest. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about a specific manifest. | | | `SELECT` | | Lists all manifests for a given deployment. | -| | `EXEC` | | Lists all manifests for a given deployment. | + +## `SELECT` examples + +Lists all manifests for a given deployment. + +```sql +SELECT +id, +name, +config, +expandedConfig, +imports, +insertTime, +layout, +manifestSizeBytes, +manifestSizeLimitBytes, +selfLink +FROM google.deploymentmanager.manifests +WHERE deployment = '{{ deployment }}' +AND project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/deploymentmanager/operations/index.md b/docs/google-docs/providers/google/deploymentmanager/operations/index.md index cec1c98391..1b4930d1d7 100644 --- a/docs/google-docs/providers/google/deploymentmanager/operations/index.md +++ b/docs/google-docs/providers/google/deploymentmanager/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - deploymentmanager - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview
@@ -56,9 +58,45 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | [Output Only] User who requested the operation, for example: `user@example.com` or `alice_smith_identifier (global/workforcePools/example-com-us-employees)`. | | | `array` | [Output Only] If warning messages are generated during processing of the operation, this field will be populated. | | | `string` | [Output Only] The URL of the zone where the operation resides. Only applicable when performing per-zone operations. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about a specific operation. | | | `SELECT` | | Lists all operations for a project. | -| | `EXEC` | | Lists all operations for a project. | + +## `SELECT` examples + +Lists all operations for a project. + +```sql +SELECT +id, +name, +description, +clientOperationId, +creationTimestamp, +endTime, +error, +httpErrorMessage, +httpErrorStatusCode, +insertTime, +instancesBulkInsertOperationMetadata, +kind, +operationGroupId, +operationType, +progress, +region, +selfLink, +setCommonInstanceMetadataOperationMetadata, +startTime, +status, +statusMessage, +targetId, +targetLink, +user, +warnings, +zone +FROM google.deploymentmanager.operations +WHERE project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/deploymentmanager/resources/index.md b/docs/google-docs/providers/google/deploymentmanager/resources/index.md index d11bfee5cd..90d6d5bb59 100644 --- a/docs/google-docs/providers/google/deploymentmanager/resources/index.md +++ b/docs/google-docs/providers/google/deploymentmanager/resources/index.md @@ -1,3 +1,4 @@ + --- title: resources hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - resources - deploymentmanager - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an resource resource or lists resources in a region ## Overview
@@ -42,9 +44,32 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Update timestamp in RFC3339 text format. | | | `string` | Output only. The URL of the actual resource. | | | `array` | Output only. If warning messages are generated during processing of this resource, this field will be populated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about a single resource. | | | `SELECT` | | Lists all resources in a given deployment. | -| | `EXEC` | | Lists all resources in a given deployment. | + +## `SELECT` examples + +Lists all resources in a given deployment. + +```sql +SELECT +id, +name, +accessControl, +finalProperties, +insertTime, +manifest, +properties, +type, +update, +updateTime, +url, +warnings +FROM google.deploymentmanager.resources +WHERE deployment = '{{ deployment }}' +AND project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/deploymentmanager/types/index.md b/docs/google-docs/providers/google/deploymentmanager/types/index.md index 2c9ecf3f2f..50e2b566c9 100644 --- a/docs/google-docs/providers/google/deploymentmanager/types/index.md +++ b/docs/google-docs/providers/google/deploymentmanager/types/index.md @@ -1,3 +1,4 @@ + --- title: types hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - types - deploymentmanager - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an type resource or lists types in a region ## Overview
@@ -33,10 +35,25 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | | | | `string` | Name of the type. | | | `string` | Output only. Creation timestamp in RFC3339 text format. | -| | `object` | Represents an Operation resource. Google Compute Engine has three Operation resources: * [Global](/compute/docs/reference/rest/{$api_version}/globalOperations) * [Regional](/compute/docs/reference/rest/{$api_version}/regionOperations) * [Zonal](/compute/docs/reference/rest/{$api_version}/zoneOperations) You can use an operation resource to manage asynchronous API requests. For more information, read Handling API responses. Operations can be global, regional or zonal. - For global operations, use the `globalOperations` resource. - For regional operations, use the `regionOperations` resource. - For zonal operations, use the `zoneOperations` resource. For more information, read Global, Regional, and Zonal Resources. Note that completed Operation resources have a limited retention period. | +| | `object` | Represents an Operation resource. Google Compute Engine has three Operation resources: * [Global](/compute/docs/reference/rest/{$api_version}/globalOperations) * [Regional](/compute/docs/reference/rest/{$api_version}/regionOperations) * [Zonal](/compute/docs/reference/rest/{$api_version}/zoneOperations) You can use an operation resource to manage asynchronous API requests. For more information, read Handling API responses. Operations can be global, regional or zonal. - For global operations, use the `globalOperations` resource. - For regional operations, use the `regionOperations` resource. - For zonal operations, use the `zoneOperations` resource. For more information, read Global, Regional, and Zonal Resources. Note that completed Operation resources have a limited retention period. | | | `string` | Output only. Server defined URL for the resource. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists all resource types for Deployment Manager. | + +## `SELECT` examples + +Lists all resource types for Deployment Manager. + +```sql +SELECT +id, +name, +insertTime, +operation, +selfLink +FROM google.deploymentmanager.types +WHERE project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/developerconnect/connections/index.md b/docs/google-docs/providers/google/developerconnect/connections/index.md index da875f476c..9f8e3ec84d 100644 --- a/docs/google-docs/providers/google/developerconnect/connections/index.md +++ b/docs/google-docs/providers/google/developerconnect/connections/index.md @@ -1,3 +1,4 @@ + --- title: connections hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - connections - developerconnect - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an connection resource or lists connections in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Identifier. The resource name of the connection, in the format `projects/{project}/locations/{location}/connections/{connection_id}`. | +| | `string` | Identifier. The resource name of the connection, in the format `projects/{project}/locations/{location}/connections/{connection_id}`. | | | `object` | Optional. Allows clients to store small amounts of arbitrary data. | | | `string` | Output only. [Output only] Create timestamp | | | `string` | Output only. [Output only] Delete timestamp | @@ -42,6 +44,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `boolean` | Output only. Set to true when the connection is being set up or updated in the background. | | | `string` | Output only. A system-assigned unique identifier for a the GitRepositoryLink. | | | `string` | Output only. [Output only] Update timestamp | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -50,4 +53,146 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new Connection in a given project and location. | | | `DELETE` | | Deletes a single Connection. | | | `UPDATE` | | Updates the parameters of a single Connection. | -| | `EXEC` | | Lists Connections in a given project and location. | + +## `SELECT` examples + +Lists Connections in a given project and location. + +```sql +SELECT +name, +annotations, +createTime, +deleteTime, +disabled, +etag, +githubConfig, +installationState, +labels, +reconciling, +uid, +updateTime +FROM google.developerconnect.connections +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new connections resource. + + + + +```sql +/*+ create */ +INSERT INTO google.developerconnect.connections ( +locationsId, +projectsId, +githubConfig, +name, +createTime, +updateTime, +deleteTime, +labels, +installationState, +disabled, +reconciling, +annotations, +etag, +uid +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ githubConfig }}', +'{{ name }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ deleteTime }}', +'{{ labels }}', +'{{ installationState }}', +true|false, +true|false, +'{{ annotations }}', +'{{ etag }}', +'{{ uid }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: githubConfig + value: '{{ githubConfig }}' + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: deleteTime + value: '{{ deleteTime }}' + - name: labels + value: '{{ labels }}' + - name: installationState + value: '{{ installationState }}' + - name: disabled + value: '{{ disabled }}' + - name: reconciling + value: '{{ reconciling }}' + - name: annotations + value: '{{ annotations }}' + - name: etag + value: '{{ etag }}' + - name: uid + value: '{{ uid }}' + +``` + + + +## `UPDATE` example + +Updates a connection only if the necessary resources are available. + +```sql +UPDATE google.developerconnect.connections +SET +githubConfig = '{{ githubConfig }}', +name = '{{ name }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +deleteTime = '{{ deleteTime }}', +labels = '{{ labels }}', +installationState = '{{ installationState }}', +disabled = true|false, +reconciling = true|false, +annotations = '{{ annotations }}', +etag = '{{ etag }}', +uid = '{{ uid }}' +WHERE +connectionsId = '{{ connectionsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified connection resource. + +```sql +DELETE FROM google.developerconnect.connections +WHERE connectionsId = '{{ connectionsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/developerconnect/connections_github_installations/index.md b/docs/google-docs/providers/google/developerconnect/connections_github_installations/index.md index 99534d2757..d4c556f481 100644 --- a/docs/google-docs/providers/google/developerconnect/connections_github_installations/index.md +++ b/docs/google-docs/providers/google/developerconnect/connections_github_installations/index.md @@ -1,3 +1,4 @@ + --- title: connections_github_installations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - connections_github_installations - developerconnect - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an connections_github_installation resource or lists connections_github_installations in a region ## Overview
@@ -28,8 +30,24 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `array` | List of installations available to the OAuth user (for github.com) or all the installations (for GitHub enterprise). | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | FetchGitHubInstallations returns the list of GitHub Installations that are available to be added to a Connection. For github.com, only installations accessible to the authorizer token are returned. For GitHub Enterprise, all installations are returned. | + +## `SELECT` examples + +FetchGitHubInstallations returns the list of GitHub Installations that are available to be added to a Connection. For github.com, only installations accessible to the authorizer token are returned. For GitHub Enterprise, all installations are returned. + +```sql +SELECT +installations +FROM google.developerconnect.connections_github_installations +WHERE connectionsId = '{{ connectionsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/developerconnect/connections_linkable_git_repositories/index.md b/docs/google-docs/providers/google/developerconnect/connections_linkable_git_repositories/index.md index 1b02b56cf3..eb1e5cf982 100644 --- a/docs/google-docs/providers/google/developerconnect/connections_linkable_git_repositories/index.md +++ b/docs/google-docs/providers/google/developerconnect/connections_linkable_git_repositories/index.md @@ -1,3 +1,4 @@ + --- title: connections_linkable_git_repositories hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - connections_linkable_git_repositories - developerconnect - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an connections_linkable_git_repository resource or lists connections_linkable_git_repositories in a region ## Overview @@ -28,8 +30,26 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `array` | The git repositories that can be linked to the connection. | +| | `string` | A token identifying a page of results the server should return. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | FetchLinkableGitRepositories returns a list of git repositories from an SCM that are available to be added to a Connection. | + +## `SELECT` examples + +FetchLinkableGitRepositories returns a list of git repositories from an SCM that are available to be added to a Connection. + +```sql +SELECT +linkableGitRepositories, +nextPageToken +FROM google.developerconnect.connections_linkable_git_repositories +WHERE connectionsId = '{{ connectionsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/developerconnect/git_repository_links/index.md b/docs/google-docs/providers/google/developerconnect/git_repository_links/index.md index ef9ccc91aa..3fa8a5fb12 100644 --- a/docs/google-docs/providers/google/developerconnect/git_repository_links/index.md +++ b/docs/google-docs/providers/google/developerconnect/git_repository_links/index.md @@ -1,3 +1,4 @@ + --- title: git_repository_links hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - git_repository_links - developerconnect - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an git_repository_link resource or lists git_repository_links in a region ## Overview @@ -40,6 +42,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `boolean` | Output only. Set to true when the connection is being set up or updated in the background. | | | `string` | Output only. A system-assigned unique identifier for a the GitRepositoryLink. | | | `string` | Output only. [Output only] Update timestamp | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -47,4 +50,115 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists GitRepositoryLinks in a given project, location, and connection. | | | `INSERT` | | Creates a GitRepositoryLink. Upon linking a Git Repository, Developer Connect will configure the Git Repository to send webhook events to Developer Connect. Connections that use Firebase GitHub Application will have events forwarded to the Firebase service. All other Connections will have events forwarded to Cloud Build. | | | `DELETE` | | Deletes a single GitRepositoryLink. | -| | `EXEC` | | Lists GitRepositoryLinks in a given project, location, and connection. | + +## `SELECT` examples + +Lists GitRepositoryLinks in a given project, location, and connection. + +```sql +SELECT +name, +annotations, +cloneUri, +createTime, +deleteTime, +etag, +labels, +reconciling, +uid, +updateTime +FROM google.developerconnect.git_repository_links +WHERE connectionsId = '{{ connectionsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new git_repository_links resource. + + + + +```sql +/*+ create */ +INSERT INTO google.developerconnect.git_repository_links ( +connectionsId, +locationsId, +projectsId, +name, +cloneUri, +createTime, +updateTime, +deleteTime, +labels, +etag, +reconciling, +annotations, +uid +) +SELECT +'{{ connectionsId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ cloneUri }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ deleteTime }}', +'{{ labels }}', +'{{ etag }}', +true|false, +'{{ annotations }}', +'{{ uid }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: cloneUri + value: '{{ cloneUri }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: deleteTime + value: '{{ deleteTime }}' + - name: labels + value: '{{ labels }}' + - name: etag + value: '{{ etag }}' + - name: reconciling + value: '{{ reconciling }}' + - name: annotations + value: '{{ annotations }}' + - name: uid + value: '{{ uid }}' + +``` + + + +## `DELETE` example + +Deletes the specified git_repository_link resource. + +```sql +DELETE FROM google.developerconnect.git_repository_links +WHERE connectionsId = '{{ connectionsId }}' +AND gitRepositoryLinksId = '{{ gitRepositoryLinksId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/developerconnect/git_repository_links_git_refs/index.md b/docs/google-docs/providers/google/developerconnect/git_repository_links_git_refs/index.md index b1558ed4f2..e1e8cad836 100644 --- a/docs/google-docs/providers/google/developerconnect/git_repository_links_git_refs/index.md +++ b/docs/google-docs/providers/google/developerconnect/git_repository_links_git_refs/index.md @@ -1,3 +1,4 @@ + --- title: git_repository_links_git_refs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - git_repository_links_git_refs - developerconnect - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an git_repository_links_git_ref resource or lists git_repository_links_git_refs in a region ## Overview
@@ -28,8 +30,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | A token identifying a page of results the server should return. | +| | `array` | Name of the refs fetched. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Fetch the list of branches or tags for a given repository. | + +## `SELECT` examples + +Fetch the list of branches or tags for a given repository. + +```sql +SELECT +nextPageToken, +refNames +FROM google.developerconnect.git_repository_links_git_refs +WHERE connectionsId = '{{ connectionsId }}' +AND gitRepositoryLinksId = '{{ gitRepositoryLinksId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/developerconnect/git_repository_links_read_token/index.md b/docs/google-docs/providers/google/developerconnect/git_repository_links_read_token/index.md index 2fdc5f4251..5c3b96f1ce 100644 --- a/docs/google-docs/providers/google/developerconnect/git_repository_links_read_token/index.md +++ b/docs/google-docs/providers/google/developerconnect/git_repository_links_read_token/index.md @@ -1,3 +1,4 @@ + --- title: git_repository_links_read_token hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - git_repository_links_read_token - developerconnect - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an git_repository_links_read_token resource or lists git_repository_links_read_token in a region ## Overview @@ -28,8 +30,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | Expiration timestamp. Can be empty if unknown or non-expiring. | +| | `string` | The git_username to specify when making a git clone with the token. For example, for GitHub GitRepositoryLinks, this would be "x-access-token" | +| | `string` | The token content. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Fetches read token of a given gitRepositoryLink. | + +## `SELECT` examples + +Fetches read token of a given gitRepositoryLink. + +```sql +SELECT +expirationTime, +gitUsername, +token +FROM google.developerconnect.git_repository_links_read_token +WHERE connectionsId = '{{ connectionsId }}' +AND gitRepositoryLinksId = '{{ gitRepositoryLinksId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/developerconnect/git_repository_links_read_write_token/index.md b/docs/google-docs/providers/google/developerconnect/git_repository_links_read_write_token/index.md index 26acf2a186..03991fa767 100644 --- a/docs/google-docs/providers/google/developerconnect/git_repository_links_read_write_token/index.md +++ b/docs/google-docs/providers/google/developerconnect/git_repository_links_read_write_token/index.md @@ -1,3 +1,4 @@ + --- title: git_repository_links_read_write_token hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - git_repository_links_read_write_token - developerconnect - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an git_repository_links_read_write_token resource or lists git_repository_links_read_write_token in a region ## Overview @@ -28,8 +30,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | Expiration timestamp. Can be empty if unknown or non-expiring. | +| | `string` | The git_username to specify when making a git clone with the token. For example, for GitHub GitRepositoryLinks, this would be "x-access-token" | +| | `string` | The token content. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Fetches read/write token of a given gitRepositoryLink. | + +## `SELECT` examples + +Fetches read/write token of a given gitRepositoryLink. + +```sql +SELECT +expirationTime, +gitUsername, +token +FROM google.developerconnect.git_repository_links_read_write_token +WHERE connectionsId = '{{ connectionsId }}' +AND gitRepositoryLinksId = '{{ gitRepositoryLinksId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/developerconnect/index.md b/docs/google-docs/providers/google/developerconnect/index.md index 991502eeb1..217a4c12c5 100644 --- a/docs/google-docs/providers/google/developerconnect/index.md +++ b/docs/google-docs/providers/google/developerconnect/index.md @@ -9,34 +9,23 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Connect third-party source code management to Google - +The developerconnect service documentation. + :::info Service Summary
total resources: 9
-total selectable resources: 4
-total methods: 24
::: -## Overview - - - - - - -
Namegoogle.developerconnect
TypeService
TitleDeveloper Connect API
DescriptionConnect third-party source code management to Google
Iddeveloperconnect:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/developerconnect/locations/index.md b/docs/google-docs/providers/google/developerconnect/locations/index.md index ca557eeff9..5511566f16 100644 --- a/docs/google-docs/providers/google/developerconnect/locations/index.md +++ b/docs/google-docs/providers/google/developerconnect/locations/index.md @@ -1,3 +1,4 @@ + --- title: locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - locations - developerconnect - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an location resource or lists locations in a region ## Overview @@ -32,12 +34,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` | | | `string` | The friendly name for this location, typically a nearby city name. For example, "Tokyo". | -| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | +| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | | | `string` | The canonical id for this location. For example: `"us-east1"`. | | | `object` | Service-specific metadata. For example the available capacity at the given location. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about a location. | | | `SELECT` | | Lists information about the supported locations for this service. | -| | `EXEC` | | Lists information about the supported locations for this service. | + +## `SELECT` examples + +Lists information about the supported locations for this service. + +```sql +SELECT +name, +displayName, +labels, +locationId, +metadata +FROM google.developerconnect.locations +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/developerconnect/operations/index.md b/docs/google-docs/providers/google/developerconnect/operations/index.md index a3fb9cac5e..eb5451495c 100644 --- a/docs/google-docs/providers/google/developerconnect/operations/index.md +++ b/docs/google-docs/providers/google/developerconnect/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - developerconnect - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview
@@ -30,16 +32,43 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.developerconnect.operations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified operation resource. + +```sql +DELETE FROM google.developerconnect.operations +WHERE locationsId = '{{ locationsId }}' +AND operationsId = '{{ operationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/dialogflow/agents/index.md b/docs/google-docs/providers/google/dialogflow/agents/index.md index 85c4490670..c5e7c6d7b0 100644 --- a/docs/google-docs/providers/google/dialogflow/agents/index.md +++ b/docs/google-docs/providers/google/dialogflow/agents/index.md @@ -1,3 +1,4 @@ + --- title: agents hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - agents - dialogflow - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an agent resource or lists agents in a region ## Overview
@@ -32,9 +34,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | The unique identifier of the agent. Required for the Agents.UpdateAgent method. Agents.CreateAgent populates the name automatically. Format: `projects//locations//agents/`. | | | `string` | The description of the agent. The maximum length is 500 characters. If exceeded, the request is rejected. | -| | `object` | Hierarchical advanced settings for agent/flow/page/fulfillment/parameter. Settings exposed at lower level overrides the settings exposed at higher level. Overriding occurs at the sub-setting level. For example, the playback_interruption_settings at fulfillment level only overrides the playback_interruption_settings at the agent level, leaving other settings at the agent level unchanged. DTMF settings does not override each other. DTMF settings set at different levels define DTMF detections running in parallel. Hierarchy: Agent->Flow->Page->Fulfillment/Parameter. | +| | `object` | Hierarchical advanced settings for agent/flow/page/fulfillment/parameter. Settings exposed at lower level overrides the settings exposed at higher level. Overriding occurs at the sub-setting level. For example, the playback_interruption_settings at fulfillment level only overrides the playback_interruption_settings at the agent level, leaving other settings at the agent level unchanged. DTMF settings does not override each other. DTMF settings set at different levels define DTMF detections running in parallel. Hierarchy: Agent->Flow->Page->Fulfillment/Parameter. | | | `object` | Settings for answer feedback collection. | | | `string` | The URI of the agent's avatar. Avatars are used throughout the Dialogflow console and in the self-hosted [Web Demo](https://cloud.google.com/dialogflow/docs/integrations/web-demo) integration. | +| | `object` | Settings for custom client certificates. | | | `string` | Required. Immutable. The default language of the agent as a language tag. See [Language Support](https://cloud.google.com/dialogflow/cx/docs/reference/language) for a list of the currently supported language codes. This field cannot be set by the Agents.UpdateAgent method. | | | `string` | Required. The human-readable name of the agent, unique within the location. | | | `boolean` | Optional. Enable training multi-lingual models for this agent. These models will be trained on all the languages supported by the agent. | @@ -50,6 +53,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `array` | The list of all languages supported by the agent (except for the `default_language_code`). | | | `object` | Settings related to speech synthesizing. | | | `string` | Required. The time zone of the agent from the [time zone database](https://www.iana.org/time-zones), e.g., America/New_York, Europe/Paris. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -58,7 +62,203 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates an agent in the specified location. Note: You should always train flows prior to sending them queries. See the [training documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training). | | | `DELETE` | | Deletes the specified agent. | | | `UPDATE` | | Updates the specified agent. Note: You should always train flows prior to sending them queries. See the [training documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training). | -| | `EXEC` | | Returns the list of all agents in the specified location. | | | `EXEC` | | Exports the specified agent to a binary file. This method is a [long-running operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). The returned `Operation` type has the following method-specific fields: - `metadata`: An empty [Struct message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - `response`: ExportAgentResponse | | | `EXEC` | | Restores the specified agent from a binary file. Replaces the current agent with a new one. Note that all existing resources in agent (e.g. intents, entity types, flows) will be removed. This method is a [long-running operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). The returned `Operation` type has the following method-specific fields: - `metadata`: An empty [Struct message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - `response`: An [Empty message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) Note: You should always train flows prior to sending them queries. See the [training documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training). | | | `EXEC` | | Validates the specified agent and creates or updates validation results. The agent in draft version is validated. Please call this API after the training is completed to get the complete validation results. | + +## `SELECT` examples + +Returns the list of all agents in the specified location. + +```sql +SELECT +name, +description, +advancedSettings, +answerFeedbackSettings, +avatarUri, +clientCertificateSettings, +defaultLanguageCode, +displayName, +enableMultiLanguageTraining, +enableSpellCorrection, +enableStackdriverLogging, +genAppBuilderSettings, +gitIntegrationSettings, +locked, +personalizationSettings, +securitySettings, +speechToTextSettings, +startFlow, +supportedLanguageCodes, +textToSpeechSettings, +timeZone +FROM google.dialogflow.agents +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new agents resource. + + + + +```sql +/*+ create */ +INSERT INTO google.dialogflow.agents ( +locationsId, +projectsId, +name, +displayName, +defaultLanguageCode, +supportedLanguageCodes, +timeZone, +description, +avatarUri, +speechToTextSettings, +startFlow, +securitySettings, +enableStackdriverLogging, +enableSpellCorrection, +enableMultiLanguageTraining, +locked, +advancedSettings, +gitIntegrationSettings, +textToSpeechSettings, +genAppBuilderSettings, +answerFeedbackSettings, +personalizationSettings, +clientCertificateSettings +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ displayName }}', +'{{ defaultLanguageCode }}', +'{{ supportedLanguageCodes }}', +'{{ timeZone }}', +'{{ description }}', +'{{ avatarUri }}', +'{{ speechToTextSettings }}', +'{{ startFlow }}', +'{{ securitySettings }}', +true|false, +true|false, +true|false, +true|false, +'{{ advancedSettings }}', +'{{ gitIntegrationSettings }}', +'{{ textToSpeechSettings }}', +'{{ genAppBuilderSettings }}', +'{{ answerFeedbackSettings }}', +'{{ personalizationSettings }}', +'{{ clientCertificateSettings }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: defaultLanguageCode + value: '{{ defaultLanguageCode }}' + - name: supportedLanguageCodes + value: '{{ supportedLanguageCodes }}' + - name: timeZone + value: '{{ timeZone }}' + - name: description + value: '{{ description }}' + - name: avatarUri + value: '{{ avatarUri }}' + - name: speechToTextSettings + value: '{{ speechToTextSettings }}' + - name: startFlow + value: '{{ startFlow }}' + - name: securitySettings + value: '{{ securitySettings }}' + - name: enableStackdriverLogging + value: '{{ enableStackdriverLogging }}' + - name: enableSpellCorrection + value: '{{ enableSpellCorrection }}' + - name: enableMultiLanguageTraining + value: '{{ enableMultiLanguageTraining }}' + - name: locked + value: '{{ locked }}' + - name: advancedSettings + value: '{{ advancedSettings }}' + - name: gitIntegrationSettings + value: '{{ gitIntegrationSettings }}' + - name: textToSpeechSettings + value: '{{ textToSpeechSettings }}' + - name: genAppBuilderSettings + value: '{{ genAppBuilderSettings }}' + - name: answerFeedbackSettings + value: '{{ answerFeedbackSettings }}' + - name: personalizationSettings + value: '{{ personalizationSettings }}' + - name: clientCertificateSettings + value: '{{ clientCertificateSettings }}' + +``` + + + +## `UPDATE` example + +Updates a agent only if the necessary resources are available. + +```sql +UPDATE google.dialogflow.agents +SET +name = '{{ name }}', +displayName = '{{ displayName }}', +defaultLanguageCode = '{{ defaultLanguageCode }}', +supportedLanguageCodes = '{{ supportedLanguageCodes }}', +timeZone = '{{ timeZone }}', +description = '{{ description }}', +avatarUri = '{{ avatarUri }}', +speechToTextSettings = '{{ speechToTextSettings }}', +startFlow = '{{ startFlow }}', +securitySettings = '{{ securitySettings }}', +enableStackdriverLogging = true|false, +enableSpellCorrection = true|false, +enableMultiLanguageTraining = true|false, +locked = true|false, +advancedSettings = '{{ advancedSettings }}', +gitIntegrationSettings = '{{ gitIntegrationSettings }}', +textToSpeechSettings = '{{ textToSpeechSettings }}', +genAppBuilderSettings = '{{ genAppBuilderSettings }}', +answerFeedbackSettings = '{{ answerFeedbackSettings }}', +personalizationSettings = '{{ personalizationSettings }}', +clientCertificateSettings = '{{ clientCertificateSettings }}' +WHERE +agentsId = '{{ agentsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified agent resource. + +```sql +DELETE FROM google.dialogflow.agents +WHERE agentsId = '{{ agentsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/dialogflow/agents_generative_settings/index.md b/docs/google-docs/providers/google/dialogflow/agents_generative_settings/index.md index 1e632b0b69..4c1a6fd593 100644 --- a/docs/google-docs/providers/google/dialogflow/agents_generative_settings/index.md +++ b/docs/google-docs/providers/google/dialogflow/agents_generative_settings/index.md @@ -1,3 +1,4 @@ + --- title: agents_generative_settings hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - agents_generative_settings - dialogflow - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an agents_generative_setting resource or lists agents_generative_settings in a region ## Overview
@@ -35,8 +37,44 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Settings for Generative Safety. | | | `object` | Settings for knowledge connector. These parameters are used for LLM prompt like "You are . You are a helpful and verbose at , . Your task is to help humans on ". | | | `string` | Language for this settings. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the generative settings for the agent. | -| | `EXEC` | | Updates the generative settings for the agent. | +| | `UPDATE` | | Updates the generative settings for the agent. | + +## `SELECT` examples + +Gets the generative settings for the agent. + +```sql +SELECT +name, +fallbackSettings, +generativeSafetySettings, +knowledgeConnectorSettings, +languageCode +FROM google.dialogflow.agents_generative_settings +WHERE agentsId = '{{ agentsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `UPDATE` example + +Updates a agents_generative_setting only if the necessary resources are available. + +```sql +UPDATE google.dialogflow.agents_generative_settings +SET +name = '{{ name }}', +fallbackSettings = '{{ fallbackSettings }}', +generativeSafetySettings = '{{ generativeSafetySettings }}', +knowledgeConnectorSettings = '{{ knowledgeConnectorSettings }}', +languageCode = '{{ languageCode }}' +WHERE +agentsId = '{{ agentsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/dialogflow/agents_validation_result/index.md b/docs/google-docs/providers/google/dialogflow/agents_validation_result/index.md index 6dcfd977fc..89b1010827 100644 --- a/docs/google-docs/providers/google/dialogflow/agents_validation_result/index.md +++ b/docs/google-docs/providers/google/dialogflow/agents_validation_result/index.md @@ -1,3 +1,4 @@ + --- title: agents_validation_result hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - agents_validation_result - dialogflow - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an agents_validation_result resource or lists agents_validation_result in a region ## Overview
@@ -32,7 +34,22 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | The unique identifier of the agent validation result. Format: `projects//locations//agents//validationResult`. | | | `array` | Contains all flow validation results. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets the latest agent validation result. Agent validation is performed when ValidateAgent is called. | + +## `SELECT` examples + +Gets the latest agent validation result. Agent validation is performed when ValidateAgent is called. + +```sql +SELECT +name, +flowValidationResults +FROM google.dialogflow.agents_validation_result +WHERE agentsId = '{{ agentsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/dialogflow/changelogs/index.md b/docs/google-docs/providers/google/dialogflow/changelogs/index.md index 2818d3d0ec..0836b614b1 100644 --- a/docs/google-docs/providers/google/dialogflow/changelogs/index.md +++ b/docs/google-docs/providers/google/dialogflow/changelogs/index.md @@ -1,3 +1,4 @@ + --- title: changelogs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - changelogs - dialogflow - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an changelog resource or lists changelogs in a region ## Overview
@@ -38,9 +40,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The affected resource name of the change. | | | `string` | The affected resource type. | | | `string` | Email address of the authenticated user. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Retrieves the specified Changelog. | | | `SELECT` | | Returns the list of Changelogs. | -| | `EXEC` | | Returns the list of Changelogs. | + +## `SELECT` examples + +Returns the list of Changelogs. + +```sql +SELECT +name, +action, +createTime, +displayName, +languageCode, +resource, +type, +userEmail +FROM google.dialogflow.changelogs +WHERE agentsId = '{{ agentsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/dialogflow/continuous_test_results/index.md b/docs/google-docs/providers/google/dialogflow/continuous_test_results/index.md index b3afdc93c1..c43c35993c 100644 --- a/docs/google-docs/providers/google/dialogflow/continuous_test_results/index.md +++ b/docs/google-docs/providers/google/dialogflow/continuous_test_results/index.md @@ -1,3 +1,4 @@ + --- title: continuous_test_results hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - continuous_test_results - dialogflow - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an continuous_test_result resource or lists continuous_test_results in a region ## Overview
@@ -34,8 +36,25 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The result of this continuous test run, i.e. whether all the tests in this continuous test run pass or not. | | | `string` | Time when the continuous testing run starts. | | | `array` | A list of individual test case results names in this continuous test run. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Fetches a list of continuous test results for a given environment. | + +## `SELECT` examples + +Fetches a list of continuous test results for a given environment. + +```sql +SELECT +name, +result, +runTime, +testCaseResults +FROM google.dialogflow.continuous_test_results +WHERE agentsId = '{{ agentsId }}' +AND environmentsId = '{{ environmentsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/dialogflow/deployments/index.md b/docs/google-docs/providers/google/dialogflow/deployments/index.md index e1bbdc3c02..7962ca7a55 100644 --- a/docs/google-docs/providers/google/dialogflow/deployments/index.md +++ b/docs/google-docs/providers/google/dialogflow/deployments/index.md @@ -1,3 +1,4 @@ + --- title: deployments hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - deployments - dialogflow - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an deployment resource or lists deployments in a region ## Overview
@@ -36,9 +38,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Result of the deployment. | | | `string` | Start time of this deployment. | | | `string` | The current state of the deployment. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Retrieves the specified Deployment. | | | `SELECT` | | Returns the list of all deployments in the specified Environment. | -| | `EXEC` | | Returns the list of all deployments in the specified Environment. | + +## `SELECT` examples + +Returns the list of all deployments in the specified Environment. + +```sql +SELECT +name, +endTime, +flowVersion, +result, +startTime, +state +FROM google.dialogflow.deployments +WHERE agentsId = '{{ agentsId }}' +AND environmentsId = '{{ environmentsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/dialogflow/entity_types/index.md b/docs/google-docs/providers/google/dialogflow/entity_types/index.md index 81e463ae02..f380715758 100644 --- a/docs/google-docs/providers/google/dialogflow/entity_types/index.md +++ b/docs/google-docs/providers/google/dialogflow/entity_types/index.md @@ -1,3 +1,4 @@ + --- title: entity_types hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - entity_types - dialogflow - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an entity_type resource or lists entity_types in a region ## Overview
@@ -33,6 +35,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Required. The unique identifier of the session entity type. Format: `projects//locations//agents//sessions//entityTypes/` or `projects//locations//agents//environments//sessions//entityTypes/`. If `Environment ID` is not specified, we assume default 'draft' environment. | | | `array` | Required. The collection of entities to override or supplement the custom entity type. | | | `string` | Required. Indicates whether the additional data should override or supplement the custom entity type definition. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -51,8 +54,124 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `UPDATE` | | Updates the specified entity type. Note: You should always train a flow prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training). | | | `UPDATE` | | Updates the specified session entity type. | | | `UPDATE` | | Updates the specified session entity type. | -| | `EXEC` | | Returns the list of all entity types in the specified agent. | -| | `EXEC` | | Returns the list of all session entity types in the specified session. | -| | `EXEC` | | Returns the list of all session entity types in the specified session. | | | `EXEC` | | Exports the selected entity types. | | | `EXEC` | | Imports the specified entitytypes into the agent. | + +## `SELECT` examples + +Returns the list of all entity types in the specified agent. + +```sql +SELECT +name, +entities, +entityOverrideMode +FROM google.dialogflow.entity_types +WHERE agentsId = '{{ agentsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new entity_types resource. + + + + +```sql +/*+ create */ +INSERT INTO google.dialogflow.entity_types ( +agentsId, +locationsId, +projectsId, +name, +displayName, +kind, +autoExpansionMode, +entities, +excludedPhrases, +enableFuzzyExtraction, +redact +) +SELECT +'{{ agentsId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ displayName }}', +'{{ kind }}', +'{{ autoExpansionMode }}', +'{{ entities }}', +'{{ excludedPhrases }}', +true|false, +true|false +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: kind + value: '{{ kind }}' + - name: autoExpansionMode + value: '{{ autoExpansionMode }}' + - name: entities + value: '{{ entities }}' + - name: excludedPhrases + value: '{{ excludedPhrases }}' + - name: enableFuzzyExtraction + value: '{{ enableFuzzyExtraction }}' + - name: redact + value: '{{ redact }}' + +``` + + + +## `UPDATE` example + +Updates a entity_type only if the necessary resources are available. + +```sql +UPDATE google.dialogflow.entity_types +SET +name = '{{ name }}', +displayName = '{{ displayName }}', +kind = '{{ kind }}', +autoExpansionMode = '{{ autoExpansionMode }}', +entities = '{{ entities }}', +excludedPhrases = '{{ excludedPhrases }}', +enableFuzzyExtraction = true|false, +redact = true|false +WHERE +agentsId = '{{ agentsId }}' +AND entityTypesId = '{{ entityTypesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified entity_type resource. + +```sql +DELETE FROM google.dialogflow.entity_types +WHERE agentsId = '{{ agentsId }}' +AND entityTypesId = '{{ entityTypesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/dialogflow/environments/index.md b/docs/google-docs/providers/google/dialogflow/environments/index.md index 213b4eaef9..9964aa6c22 100644 --- a/docs/google-docs/providers/google/dialogflow/environments/index.md +++ b/docs/google-docs/providers/google/dialogflow/environments/index.md @@ -1,3 +1,4 @@ + --- title: environments hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - environments - dialogflow - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an environment resource or lists environments in a region ## Overview
@@ -37,6 +39,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Update time of this environment. | | | `array` | A list of configurations for flow versions. You should include version configs for all flows that are reachable from `Start Flow` in the agent. Otherwise, an error will be returned. | | | `object` | Configuration for webhooks. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -45,7 +48,124 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates an Environment in the specified Agent. This method is a [long-running operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). The returned `Operation` type has the following method-specific fields: - `metadata`: An empty [Struct message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - `response`: Environment | | | `DELETE` | | Deletes the specified Environment. | | | `UPDATE` | | Updates the specified Environment. This method is a [long-running operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). The returned `Operation` type has the following method-specific fields: - `metadata`: An empty [Struct message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - `response`: Environment | -| | `EXEC` | | Returns the list of all environments in the specified Agent. | | | `EXEC` | | Deploys a flow to the specified Environment. This method is a [long-running operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). The returned `Operation` type has the following method-specific fields: - `metadata`: DeployFlowMetadata - `response`: DeployFlowResponse | | | `EXEC` | | Looks up the history of the specified Environment. | | | `EXEC` | | Kicks off a continuous test under the specified Environment. This method is a [long-running operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). The returned `Operation` type has the following method-specific fields: - `metadata`: RunContinuousTestMetadata - `response`: RunContinuousTestResponse | + +## `SELECT` examples + +Returns the list of all environments in the specified Agent. + +```sql +SELECT +name, +description, +displayName, +testCasesConfig, +updateTime, +versionConfigs, +webhookConfig +FROM google.dialogflow.environments +WHERE agentsId = '{{ agentsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new environments resource. + + + + +```sql +/*+ create */ +INSERT INTO google.dialogflow.environments ( +agentsId, +locationsId, +projectsId, +name, +displayName, +description, +versionConfigs, +updateTime, +testCasesConfig, +webhookConfig +) +SELECT +'{{ agentsId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ displayName }}', +'{{ description }}', +'{{ versionConfigs }}', +'{{ updateTime }}', +'{{ testCasesConfig }}', +'{{ webhookConfig }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: description + value: '{{ description }}' + - name: versionConfigs + value: '{{ versionConfigs }}' + - name: updateTime + value: '{{ updateTime }}' + - name: testCasesConfig + value: '{{ testCasesConfig }}' + - name: webhookConfig + value: '{{ webhookConfig }}' + +``` + + + +## `UPDATE` example + +Updates a environment only if the necessary resources are available. + +```sql +UPDATE google.dialogflow.environments +SET +name = '{{ name }}', +displayName = '{{ displayName }}', +description = '{{ description }}', +versionConfigs = '{{ versionConfigs }}', +updateTime = '{{ updateTime }}', +testCasesConfig = '{{ testCasesConfig }}', +webhookConfig = '{{ webhookConfig }}' +WHERE +agentsId = '{{ agentsId }}' +AND environmentsId = '{{ environmentsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified environment resource. + +```sql +DELETE FROM google.dialogflow.environments +WHERE agentsId = '{{ agentsId }}' +AND environmentsId = '{{ environmentsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/dialogflow/experiments/index.md b/docs/google-docs/providers/google/dialogflow/experiments/index.md index 2ff881107c..44bc1903c6 100644 --- a/docs/google-docs/providers/google/dialogflow/experiments/index.md +++ b/docs/google-docs/providers/google/dialogflow/experiments/index.md @@ -1,3 +1,4 @@ + --- title: experiments hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - experiments - dialogflow - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an experiment resource or lists experiments in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The name of the experiment. Format: projects//locations//agents//environments//experiments/.. | +| | `string` | The name of the experiment. Format: projects//locations//agents//environments//experiments/. | | | `string` | The human-readable description of the experiment. | | | `string` | Creation time of this experiment. | | | `object` | Definition of the experiment. | @@ -43,8 +45,9 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The reason why rollout has failed. Should only be set when state is ROLLOUT_FAILED. | | | `object` | State of the auto-rollout process. | | | `string` | Start time of this experiment. | -| | `string` | The current state of the experiment. Transition triggered by Experiments.StartExperiment: DRAFT->RUNNING. Transition triggered by Experiments.CancelExperiment: DRAFT->DONE or RUNNING->DONE. | +| | `string` | The current state of the experiment. Transition triggered by Experiments.StartExperiment: DRAFT->RUNNING. Transition triggered by Experiments.CancelExperiment: DRAFT->DONE or RUNNING->DONE. | | | `array` | The history of updates to the experiment variants. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -53,6 +56,176 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates an Experiment in the specified Environment. | | | `DELETE` | | Deletes the specified Experiment. | | | `UPDATE` | | Updates the specified Experiment. | -| | `EXEC` | | Returns the list of all experiments in the specified Environment. | | | `EXEC` | | Starts the specified Experiment. This rpc only changes the state of experiment from PENDING to RUNNING. | | | `EXEC` | | Stops the specified Experiment. This rpc only changes the state of experiment from RUNNING to DONE. | + +## `SELECT` examples + +Returns the list of all experiments in the specified Environment. + +```sql +SELECT +name, +description, +createTime, +definition, +displayName, +endTime, +experimentLength, +lastUpdateTime, +result, +rolloutConfig, +rolloutFailureReason, +rolloutState, +startTime, +state, +variantsHistory +FROM google.dialogflow.experiments +WHERE agentsId = '{{ agentsId }}' +AND environmentsId = '{{ environmentsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new experiments resource. + + + + +```sql +/*+ create */ +INSERT INTO google.dialogflow.experiments ( +agentsId, +environmentsId, +locationsId, +projectsId, +name, +displayName, +description, +state, +definition, +rolloutConfig, +rolloutState, +rolloutFailureReason, +result, +createTime, +startTime, +endTime, +lastUpdateTime, +experimentLength, +variantsHistory +) +SELECT +'{{ agentsId }}', +'{{ environmentsId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ displayName }}', +'{{ description }}', +'{{ state }}', +'{{ definition }}', +'{{ rolloutConfig }}', +'{{ rolloutState }}', +'{{ rolloutFailureReason }}', +'{{ result }}', +'{{ createTime }}', +'{{ startTime }}', +'{{ endTime }}', +'{{ lastUpdateTime }}', +'{{ experimentLength }}', +'{{ variantsHistory }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: description + value: '{{ description }}' + - name: state + value: '{{ state }}' + - name: definition + value: '{{ definition }}' + - name: rolloutConfig + value: '{{ rolloutConfig }}' + - name: rolloutState + value: '{{ rolloutState }}' + - name: rolloutFailureReason + value: '{{ rolloutFailureReason }}' + - name: result + value: '{{ result }}' + - name: createTime + value: '{{ createTime }}' + - name: startTime + value: '{{ startTime }}' + - name: endTime + value: '{{ endTime }}' + - name: lastUpdateTime + value: '{{ lastUpdateTime }}' + - name: experimentLength + value: '{{ experimentLength }}' + - name: variantsHistory + value: '{{ variantsHistory }}' + +``` + + + +## `UPDATE` example + +Updates a experiment only if the necessary resources are available. + +```sql +UPDATE google.dialogflow.experiments +SET +name = '{{ name }}', +displayName = '{{ displayName }}', +description = '{{ description }}', +state = '{{ state }}', +definition = '{{ definition }}', +rolloutConfig = '{{ rolloutConfig }}', +rolloutState = '{{ rolloutState }}', +rolloutFailureReason = '{{ rolloutFailureReason }}', +result = '{{ result }}', +createTime = '{{ createTime }}', +startTime = '{{ startTime }}', +endTime = '{{ endTime }}', +lastUpdateTime = '{{ lastUpdateTime }}', +experimentLength = '{{ experimentLength }}', +variantsHistory = '{{ variantsHistory }}' +WHERE +agentsId = '{{ agentsId }}' +AND environmentsId = '{{ environmentsId }}' +AND experimentsId = '{{ experimentsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified experiment resource. + +```sql +DELETE FROM google.dialogflow.experiments +WHERE agentsId = '{{ agentsId }}' +AND environmentsId = '{{ environmentsId }}' +AND experimentsId = '{{ experimentsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/dialogflow/flows/index.md b/docs/google-docs/providers/google/dialogflow/flows/index.md index 16bd75eaa6..f0d227b0ee 100644 --- a/docs/google-docs/providers/google/dialogflow/flows/index.md +++ b/docs/google-docs/providers/google/dialogflow/flows/index.md @@ -1,3 +1,4 @@ + --- title: flows hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - flows - dialogflow - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an flow resource or lists flows in a region ## Overview
@@ -32,14 +34,16 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | The unique identifier of the flow. Format: `projects//locations//agents//flows/`. | | | `string` | The description of the flow. The maximum length is 500 characters. If exceeded, the request is rejected. | -| | `object` | Hierarchical advanced settings for agent/flow/page/fulfillment/parameter. Settings exposed at lower level overrides the settings exposed at higher level. Overriding occurs at the sub-setting level. For example, the playback_interruption_settings at fulfillment level only overrides the playback_interruption_settings at the agent level, leaving other settings at the agent level unchanged. DTMF settings does not override each other. DTMF settings set at different levels define DTMF detections running in parallel. Hierarchy: Agent->Flow->Page->Fulfillment/Parameter. | +| | `object` | Hierarchical advanced settings for agent/flow/page/fulfillment/parameter. Settings exposed at lower level overrides the settings exposed at higher level. Overriding occurs at the sub-setting level. For example, the playback_interruption_settings at fulfillment level only overrides the playback_interruption_settings at the agent level, leaving other settings at the agent level unchanged. DTMF settings does not override each other. DTMF settings set at different levels define DTMF detections running in parallel. Hierarchy: Agent->Flow->Page->Fulfillment/Parameter. | | | `string` | Required. The human-readable name of the flow. | | | `array` | A flow's event handlers serve two purposes: * They are responsible for handling events (e.g. no match, webhook errors) in the flow. * They are inherited by every page's 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. Unlike transition_routes, these handlers are evaluated on a first-match basis. The first one that matches the event get executed, with the rest being ignored. | | | `object` | The Knowledge Connector settings for this page or flow. This includes information such as the attached Knowledge Bases, and the way to execute fulfillment. | +| | `boolean` | Indicates whether the flow is locked for changes. If the flow is locked, modifications to the flow will be rejected. | | | `object` | Settings for multi-lingual agents. | | | `object` | Settings related to NLU. | -| | `array` | A flow's transition route group serve two purposes: * They are responsible for matching the user's first utterances in the flow. * They are inherited by every page's transition route groups. Transition route groups defined in the page have higher priority than those defined in the flow. Format:`projects//locations//agents//flows//transitionRouteGroups/` or `projects//locations//agents//transitionRouteGroups/` for agent-level groups. | +| | `array` | A flow's transition route group serve two purposes: * They are responsible for matching the user's first utterances in the flow. * They are inherited by every page's transition route groups. Transition route groups defined in the page have higher priority than those defined in the flow. Format: `projects//locations//agents//flows//transitionRouteGroups/` or `projects//locations//agents//transitionRouteGroups/` for agent-level groups. | | | `array` | A flow's transition routes serve two purposes: * They are responsible for matching the user's first utterances in the flow. * They are inherited by every page's 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. TransitionRoutes are evalauted in the following order: * TransitionRoutes with intent specified. * TransitionRoutes with only condition specified. TransitionRoutes with intent specified are inherited by pages in the flow. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -48,8 +52,149 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a flow in the specified agent. Note: You should always train a flow prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training). | | | `DELETE` | | Deletes a specified flow. | | | `UPDATE` | | Updates the specified flow. Note: You should always train a flow prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training). | -| | `EXEC` | | Returns the list of all flows in the specified agent. | | | `EXEC` | | Exports the specified flow to a binary file. This method is a [long-running operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). The returned `Operation` type has the following method-specific fields: - `metadata`: An empty [Struct message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - `response`: ExportFlowResponse Note that resources (e.g. intents, entities, webhooks) that the flow references will also be exported. | | | `EXEC` | | Imports the specified flow to the specified agent from a binary file. This method is a [long-running operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). The returned `Operation` type has the following method-specific fields: - `metadata`: An empty [Struct message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - `response`: ImportFlowResponse Note: You should always train a flow prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training). | | | `EXEC` | | Trains the specified flow. Note that only the flow in 'draft' environment is trained. This method is a [long-running operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). The returned `Operation` type has the following method-specific fields: - `metadata`: An empty [Struct message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - `response`: An [Empty message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) Note: You should always train a flow prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training). | | | `EXEC` | | Validates the specified flow and creates or updates validation results. Please call this API after the training is completed to get the complete validation results. | + +## `SELECT` examples + +Returns the list of all flows in the specified agent. + +```sql +SELECT +name, +description, +advancedSettings, +displayName, +eventHandlers, +knowledgeConnectorSettings, +locked, +multiLanguageSettings, +nluSettings, +transitionRouteGroups, +transitionRoutes +FROM google.dialogflow.flows +WHERE agentsId = '{{ agentsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new flows resource. + + + + +```sql +/*+ create */ +INSERT INTO google.dialogflow.flows ( +agentsId, +locationsId, +projectsId, +name, +displayName, +description, +transitionRoutes, +eventHandlers, +transitionRouteGroups, +nluSettings, +advancedSettings, +knowledgeConnectorSettings, +multiLanguageSettings, +locked +) +SELECT +'{{ agentsId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ displayName }}', +'{{ description }}', +'{{ transitionRoutes }}', +'{{ eventHandlers }}', +'{{ transitionRouteGroups }}', +'{{ nluSettings }}', +'{{ advancedSettings }}', +'{{ knowledgeConnectorSettings }}', +'{{ multiLanguageSettings }}', +true|false +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: description + value: '{{ description }}' + - name: transitionRoutes + value: '{{ transitionRoutes }}' + - name: eventHandlers + value: '{{ eventHandlers }}' + - name: transitionRouteGroups + value: '{{ transitionRouteGroups }}' + - name: nluSettings + value: '{{ nluSettings }}' + - name: advancedSettings + value: '{{ advancedSettings }}' + - name: knowledgeConnectorSettings + value: '{{ knowledgeConnectorSettings }}' + - name: multiLanguageSettings + value: '{{ multiLanguageSettings }}' + - name: locked + value: '{{ locked }}' + +``` + + + +## `UPDATE` example + +Updates a flow only if the necessary resources are available. + +```sql +UPDATE google.dialogflow.flows +SET +name = '{{ name }}', +displayName = '{{ displayName }}', +description = '{{ description }}', +transitionRoutes = '{{ transitionRoutes }}', +eventHandlers = '{{ eventHandlers }}', +transitionRouteGroups = '{{ transitionRouteGroups }}', +nluSettings = '{{ nluSettings }}', +advancedSettings = '{{ advancedSettings }}', +knowledgeConnectorSettings = '{{ knowledgeConnectorSettings }}', +multiLanguageSettings = '{{ multiLanguageSettings }}', +locked = true|false +WHERE +agentsId = '{{ agentsId }}' +AND flowsId = '{{ flowsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified flow resource. + +```sql +DELETE FROM google.dialogflow.flows +WHERE agentsId = '{{ agentsId }}' +AND flowsId = '{{ flowsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/dialogflow/flows_validation_result/index.md b/docs/google-docs/providers/google/dialogflow/flows_validation_result/index.md index 4fd6b6678b..5ea54b0e5f 100644 --- a/docs/google-docs/providers/google/dialogflow/flows_validation_result/index.md +++ b/docs/google-docs/providers/google/dialogflow/flows_validation_result/index.md @@ -1,3 +1,4 @@ + --- title: flows_validation_result hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - flows_validation_result - dialogflow - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an flows_validation_result resource or lists flows_validation_result in a region ## Overview
@@ -33,7 +35,24 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The unique identifier of the flow validation result. Format: `projects//locations//agents//flows//validationResult`. | | | `string` | Last time the flow was validated. | | | `array` | Contains all validation messages. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets the latest flow validation result. Flow validation is performed when ValidateFlow is called. | + +## `SELECT` examples + +Gets the latest flow validation result. Flow validation is performed when ValidateFlow is called. + +```sql +SELECT +name, +updateTime, +validationMessages +FROM google.dialogflow.flows_validation_result +WHERE agentsId = '{{ agentsId }}' +AND flowsId = '{{ flowsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/dialogflow/generators/index.md b/docs/google-docs/providers/google/dialogflow/generators/index.md index 79442b5165..81c52f9d93 100644 --- a/docs/google-docs/providers/google/dialogflow/generators/index.md +++ b/docs/google-docs/providers/google/dialogflow/generators/index.md @@ -1,3 +1,4 @@ + --- title: generators hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - generators - dialogflow - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an generator resource or lists generators in a region ## Overview
@@ -34,6 +36,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Required. The human-readable name of the generator, unique within the agent. The prompt contains pre-defined parameters such as $conversation, $last-user-utterance, etc. populated by Dialogflow. It can also contain custom placeholders which will be resolved during fulfillment. | | | `array` | Optional. List of custom placeholders in the prompt text. | | | `object` | Text input which can be used for prompt or banned phrases. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -42,4 +45,103 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a generator in the specified agent. | | | `DELETE` | | Deletes the specified generators. | | | `UPDATE` | | Update the specified generator. | -| | `EXEC` | | Returns the list of all generators in the specified agent. | + +## `SELECT` examples + +Returns the list of all generators in the specified agent. + +```sql +SELECT +name, +displayName, +placeholders, +promptText +FROM google.dialogflow.generators +WHERE agentsId = '{{ agentsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new generators resource. + + + + +```sql +/*+ create */ +INSERT INTO google.dialogflow.generators ( +agentsId, +locationsId, +projectsId, +name, +displayName, +promptText, +placeholders +) +SELECT +'{{ agentsId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ displayName }}', +'{{ promptText }}', +'{{ placeholders }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: promptText + value: '{{ promptText }}' + - name: placeholders + value: '{{ placeholders }}' + +``` + + + +## `UPDATE` example + +Updates a generator only if the necessary resources are available. + +```sql +UPDATE google.dialogflow.generators +SET +name = '{{ name }}', +displayName = '{{ displayName }}', +promptText = '{{ promptText }}', +placeholders = '{{ placeholders }}' +WHERE +agentsId = '{{ agentsId }}' +AND generatorsId = '{{ generatorsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified generator resource. + +```sql +DELETE FROM google.dialogflow.generators +WHERE agentsId = '{{ agentsId }}' +AND generatorsId = '{{ generatorsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/dialogflow/index.md b/docs/google-docs/providers/google/dialogflow/index.md index fe56674f19..3a0bfbec18 100644 --- a/docs/google-docs/providers/google/dialogflow/index.md +++ b/docs/google-docs/providers/google/dialogflow/index.md @@ -9,34 +9,23 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Builds conversational interfaces (for example, chatbots, and voice-powered apps and devices). - +The dialogflow service documentation. + :::info Service Summary
total resources: 23
-total selectable resources: 22
-total methods: 154
::: -## Overview -
- - - - - -
Namegoogle.dialogflow
TypeService
TitleDialogflow API
DescriptionBuilds conversational interfaces (for example, chatbots, and voice-powered apps and devices).
Iddialogflow:v24.06.00236
- ## Resources
@@ -51,7 +40,7 @@ Builds conversational interfaces (for example, chatbots, and voice-powered apps experiments
flows
flows_validation_result
-generators
+generators
intents
@@ -64,6 +53,6 @@ Builds conversational interfaces (for example, chatbots, and voice-powered apps test_cases
transition_route_groups
versions
-webhooks
-
+webhooks
+ \ No newline at end of file diff --git a/docs/google-docs/providers/google/dialogflow/intents/index.md b/docs/google-docs/providers/google/dialogflow/intents/index.md index 594fc18100..d9ac5e1935 100644 --- a/docs/google-docs/providers/google/dialogflow/intents/index.md +++ b/docs/google-docs/providers/google/dialogflow/intents/index.md @@ -1,3 +1,4 @@ + --- title: intents hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - intents - dialogflow - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an intent resource or lists intents in a region ## Overview @@ -38,6 +40,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `array` | The collection of parameters associated with the intent. | | | `integer` | The priority of this intent. Higher numbers represent higher priorities. - If the supplied value is unspecified or 0, the service translates the value to 500,000, which corresponds to the `Normal` priority in the console. - If the supplied value is negative, the intent is ignored in runtime detect intent requests. | | | `array` | The collection of training phrases the agent is trained on to identify the intent. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -46,6 +49,129 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates an intent in the specified agent. Note: You should always train a flow prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training). | | | `DELETE` | | Deletes the specified intent. Note: You should always train a flow prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training). | | | `UPDATE` | | Updates the specified intent. Note: You should always train a flow prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training). | -| | `EXEC` | | Returns the list of all intents in the specified agent. | | | `EXEC` | | Exports the selected intents. This method is a [long-running operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). The returned `Operation` type has the following method-specific fields: - `metadata`: ExportIntentsMetadata - `response`: ExportIntentsResponse | | | `EXEC` | | Imports the specified intents into the agent. This method is a [long-running operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). The returned `Operation` type has the following method-specific fields: - `metadata`: ImportIntentsMetadata - `response`: ImportIntentsResponse | + +## `SELECT` examples + +Returns the list of all intents in the specified agent. + +```sql +SELECT +name, +description, +displayName, +isFallback, +labels, +parameters, +priority, +trainingPhrases +FROM google.dialogflow.intents +WHERE agentsId = '{{ agentsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new intents resource. + + + + +```sql +/*+ create */ +INSERT INTO google.dialogflow.intents ( +agentsId, +locationsId, +projectsId, +name, +displayName, +trainingPhrases, +parameters, +priority, +isFallback, +labels, +description +) +SELECT +'{{ agentsId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ displayName }}', +'{{ trainingPhrases }}', +'{{ parameters }}', +'{{ priority }}', +true|false, +'{{ labels }}', +'{{ description }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: trainingPhrases + value: '{{ trainingPhrases }}' + - name: parameters + value: '{{ parameters }}' + - name: priority + value: '{{ priority }}' + - name: isFallback + value: '{{ isFallback }}' + - name: labels + value: '{{ labels }}' + - name: description + value: '{{ description }}' + +``` + + + +## `UPDATE` example + +Updates a intent only if the necessary resources are available. + +```sql +UPDATE google.dialogflow.intents +SET +name = '{{ name }}', +displayName = '{{ displayName }}', +trainingPhrases = '{{ trainingPhrases }}', +parameters = '{{ parameters }}', +priority = '{{ priority }}', +isFallback = true|false, +labels = '{{ labels }}', +description = '{{ description }}' +WHERE +agentsId = '{{ agentsId }}' +AND intentsId = '{{ intentsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified intent resource. + +```sql +DELETE FROM google.dialogflow.intents +WHERE agentsId = '{{ agentsId }}' +AND intentsId = '{{ intentsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/dialogflow/locations/index.md b/docs/google-docs/providers/google/dialogflow/locations/index.md index c3d1e64805..4c9166a2b4 100644 --- a/docs/google-docs/providers/google/dialogflow/locations/index.md +++ b/docs/google-docs/providers/google/dialogflow/locations/index.md @@ -1,3 +1,4 @@ + --- title: locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - locations - dialogflow - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an location resource or lists locations in a region ## Overview
@@ -32,12 +34,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` | | | `string` | The friendly name for this location, typically a nearby city name. For example, "Tokyo". | -| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | +| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | | | `string` | The canonical id for this location. For example: `"us-east1"`. | | | `object` | Service-specific metadata. For example the available capacity at the given location. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about a location. | | | `SELECT` | | Lists information about the supported locations for this service. | -| | `EXEC` | | Lists information about the supported locations for this service. | + +## `SELECT` examples + +Lists information about the supported locations for this service. + +```sql +SELECT +name, +displayName, +labels, +locationId, +metadata +FROM google.dialogflow.locations +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/dialogflow/operations/index.md b/docs/google-docs/providers/google/dialogflow/operations/index.md index dc52a616e5..770b6d9940 100644 --- a/docs/google-docs/providers/google/dialogflow/operations/index.md +++ b/docs/google-docs/providers/google/dialogflow/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - dialogflow - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview
@@ -30,11 +32,12 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -42,7 +45,20 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.dialogflow.operations +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/dialogflow/pages/index.md b/docs/google-docs/providers/google/dialogflow/pages/index.md index 466d87b416..cab2974486 100644 --- a/docs/google-docs/providers/google/dialogflow/pages/index.md +++ b/docs/google-docs/providers/google/dialogflow/pages/index.md @@ -1,3 +1,4 @@ + --- title: pages hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - pages - dialogflow - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an page resource or lists pages in a region ## Overview
@@ -32,14 +34,15 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | The unique identifier of the page. Required for the Pages.UpdatePage method. Pages.CreatePage populates the name automatically. Format: `projects//locations//agents//flows//pages/`. | | | `string` | The description of the page. The maximum length is 500 characters. | -| | `object` | Hierarchical advanced settings for agent/flow/page/fulfillment/parameter. Settings exposed at lower level overrides the settings exposed at higher level. Overriding occurs at the sub-setting level. For example, the playback_interruption_settings at fulfillment level only overrides the playback_interruption_settings at the agent level, leaving other settings at the agent level unchanged. DTMF settings does not override each other. DTMF settings set at different levels define DTMF detections running in parallel. Hierarchy: Agent->Flow->Page->Fulfillment/Parameter. | +| | `object` | Hierarchical advanced settings for agent/flow/page/fulfillment/parameter. Settings exposed at lower level overrides the settings exposed at higher level. Overriding occurs at the sub-setting level. For example, the playback_interruption_settings at fulfillment level only overrides the playback_interruption_settings at the agent level, leaving other settings at the agent level unchanged. DTMF settings does not override each other. DTMF settings set at different levels define DTMF detections running in parallel. Hierarchy: Agent->Flow->Page->Fulfillment/Parameter. | | | `string` | Required. The human-readable name of the page, unique within the flow. | | | `object` | A fulfillment can do one or more of the following actions at the same time: * Generate rich message responses. * Set parameter values. * Call the webhook. Fulfillments can be called at various stages in the Page or Form lifecycle. For example, when a DetectIntentRequest drives a session to enter a new page, the page's entry fulfillment can add a static response to the QueryResult in the returning DetectIntentResponse, call the webhook (for example, to load user data from a database), or both. | | | `array` | Handlers associated with the page to handle events such as webhook errors, no match or no input. | | | `object` | A form is a data model that groups related parameters that can be collected from the user. The process in which the agent prompts the user and collects parameter values from the user is called form filling. A form can be added to a page. When form filling is done, the filled parameters will be written to the session. | | | `object` | The Knowledge Connector settings for this page or flow. This includes information such as the attached Knowledge Bases, and the way to execute fulfillment. | -| | `array` | Ordered list of `TransitionRouteGroups` added to the page. Transition route groups must be unique within a page. If the page links both flow-level transition route groups and agent-level transition route groups, the flow-level ones will have higher priority and will be put before the agent-level ones. * If 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. * If multiple transition route groups within a page contain the same intent, then the first group in the ordered list takes precedence. Format:`projects//locations//agents//flows//transitionRouteGroups/` or `projects//locations//agents//transitionRouteGroups/` for agent-level groups. | +| | `array` | Ordered list of `TransitionRouteGroups` added to the page. Transition route groups must be unique within a page. If the page links both flow-level transition route groups and agent-level transition route groups, the flow-level ones will have higher priority and will be put before the agent-level ones. * If 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. * If multiple transition route groups within a page contain the same intent, then the first group in the ordered list takes precedence. Format:`projects//locations//agents//flows//transitionRouteGroups/` or `projects//locations//agents//transitionRouteGroups/` for agent-level groups. | | | `array` | 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. When we are in a certain page, the TransitionRoutes are evalauted in the following order: * TransitionRoutes defined in the page with intent specified. * TransitionRoutes defined in the transition route groups with intent specified. * TransitionRoutes defined in flow with intent specified. * TransitionRoutes defined in the transition route groups with intent specified. * TransitionRoutes defined in the page with only condition specified. * TransitionRoutes defined in the transition route groups with only condition specified. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -48,4 +51,144 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a page in the specified flow. Note: You should always train a flow prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training). | | | `DELETE` | | Deletes the specified page. Note: You should always train a flow prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training). | | | `UPDATE` | | Updates the specified page. Note: You should always train a flow prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training). | -| | `EXEC` | | Returns the list of all pages in the specified flow. | + +## `SELECT` examples + +Returns the list of all pages in the specified flow. + +```sql +SELECT +name, +description, +advancedSettings, +displayName, +entryFulfillment, +eventHandlers, +form, +knowledgeConnectorSettings, +transitionRouteGroups, +transitionRoutes +FROM google.dialogflow.pages +WHERE agentsId = '{{ agentsId }}' +AND flowsId = '{{ flowsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new pages resource. + + + + +```sql +/*+ create */ +INSERT INTO google.dialogflow.pages ( +agentsId, +flowsId, +locationsId, +projectsId, +name, +displayName, +description, +entryFulfillment, +form, +transitionRouteGroups, +transitionRoutes, +eventHandlers, +advancedSettings, +knowledgeConnectorSettings +) +SELECT +'{{ agentsId }}', +'{{ flowsId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ displayName }}', +'{{ description }}', +'{{ entryFulfillment }}', +'{{ form }}', +'{{ transitionRouteGroups }}', +'{{ transitionRoutes }}', +'{{ eventHandlers }}', +'{{ advancedSettings }}', +'{{ knowledgeConnectorSettings }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: description + value: '{{ description }}' + - name: entryFulfillment + value: '{{ entryFulfillment }}' + - name: form + value: '{{ form }}' + - name: transitionRouteGroups + value: '{{ transitionRouteGroups }}' + - name: transitionRoutes + value: '{{ transitionRoutes }}' + - name: eventHandlers + value: '{{ eventHandlers }}' + - name: advancedSettings + value: '{{ advancedSettings }}' + - name: knowledgeConnectorSettings + value: '{{ knowledgeConnectorSettings }}' + +``` + + + +## `UPDATE` example + +Updates a page only if the necessary resources are available. + +```sql +UPDATE google.dialogflow.pages +SET +name = '{{ name }}', +displayName = '{{ displayName }}', +description = '{{ description }}', +entryFulfillment = '{{ entryFulfillment }}', +form = '{{ form }}', +transitionRouteGroups = '{{ transitionRouteGroups }}', +transitionRoutes = '{{ transitionRoutes }}', +eventHandlers = '{{ eventHandlers }}', +advancedSettings = '{{ advancedSettings }}', +knowledgeConnectorSettings = '{{ knowledgeConnectorSettings }}' +WHERE +agentsId = '{{ agentsId }}' +AND flowsId = '{{ flowsId }}' +AND locationsId = '{{ locationsId }}' +AND pagesId = '{{ pagesId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified page resource. + +```sql +DELETE FROM google.dialogflow.pages +WHERE agentsId = '{{ agentsId }}' +AND flowsId = '{{ flowsId }}' +AND locationsId = '{{ locationsId }}' +AND pagesId = '{{ pagesId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/dialogflow/results/index.md b/docs/google-docs/providers/google/dialogflow/results/index.md index 9e3444b919..22c597cf8d 100644 --- a/docs/google-docs/providers/google/dialogflow/results/index.md +++ b/docs/google-docs/providers/google/dialogflow/results/index.md @@ -1,3 +1,4 @@ + --- title: results hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - results - dialogflow - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an result resource or lists results in a region ## Overview
@@ -30,14 +32,32 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The resource name for the test case result. Format: `projects//locations//agents//testCases/ /results/`. | +| | `string` | The resource name for the test case result. Format: `projects//locations//agents//testCases//results/`. | | | `array` | The conversation turns uttered during the test case replay in chronological order. | | | `string` | Environment where the test was run. If not set, it indicates the draft environment. | | | `string` | Whether the test case passed in the agent environment. | | | `string` | The time that the test was run. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets a test case result. | | | `SELECT` | | Fetches the list of run results for the given test case. A maximum of 100 results are kept for each test case. | -| | `EXEC` | | Fetches the list of run results for the given test case. A maximum of 100 results are kept for each test case. | + +## `SELECT` examples + +Fetches the list of run results for the given test case. A maximum of 100 results are kept for each test case. + +```sql +SELECT +name, +conversationTurns, +environment, +testResult, +testTime +FROM google.dialogflow.results +WHERE agentsId = '{{ agentsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND testCasesId = '{{ testCasesId }}'; +``` diff --git a/docs/google-docs/providers/google/dialogflow/security_settings/index.md b/docs/google-docs/providers/google/dialogflow/security_settings/index.md index 00f022a461..432b3e156a 100644 --- a/docs/google-docs/providers/google/dialogflow/security_settings/index.md +++ b/docs/google-docs/providers/google/dialogflow/security_settings/index.md @@ -1,3 +1,4 @@ + --- title: security_settings hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - security_settings - dialogflow - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an security_setting resource or lists security_settings in a region ## Overview
@@ -41,6 +43,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Strategy that defines how we do redaction. | | | `string` | Specifies the retention behavior defined by SecuritySettings.RetentionStrategy. | | | `integer` | Retains the data for the specified number of days. User must set a value lower than Dialogflow's default 365d TTL (30 days for Agent Assist traffic), higher value will be ignored and use default. Setting a value higher than that has no effect. A missing value or setting to 0 also means we use default TTL. When data retention configuration is changed, it only applies to the data created after the change; the TTL of existing data created before the change stays intact. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -49,4 +52,140 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Create security settings in the specified location. | | | `DELETE` | | Deletes the specified SecuritySettings. | | | `UPDATE` | | Updates the specified SecuritySettings. | -| | `EXEC` | | Returns the list of all security settings in the specified location. | + +## `SELECT` examples + +Returns the list of all security settings in the specified location. + +```sql +SELECT +name, +audioExportSettings, +deidentifyTemplate, +displayName, +insightsExportSettings, +inspectTemplate, +purgeDataTypes, +redactionScope, +redactionStrategy, +retentionStrategy, +retentionWindowDays +FROM google.dialogflow.security_settings +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new security_settings resource. + + + + +```sql +/*+ create */ +INSERT INTO google.dialogflow.security_settings ( +locationsId, +projectsId, +name, +displayName, +redactionStrategy, +redactionScope, +inspectTemplate, +deidentifyTemplate, +retentionWindowDays, +retentionStrategy, +purgeDataTypes, +audioExportSettings, +insightsExportSettings +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ displayName }}', +'{{ redactionStrategy }}', +'{{ redactionScope }}', +'{{ inspectTemplate }}', +'{{ deidentifyTemplate }}', +'{{ retentionWindowDays }}', +'{{ retentionStrategy }}', +'{{ purgeDataTypes }}', +'{{ audioExportSettings }}', +'{{ insightsExportSettings }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: redactionStrategy + value: '{{ redactionStrategy }}' + - name: redactionScope + value: '{{ redactionScope }}' + - name: inspectTemplate + value: '{{ inspectTemplate }}' + - name: deidentifyTemplate + value: '{{ deidentifyTemplate }}' + - name: retentionWindowDays + value: '{{ retentionWindowDays }}' + - name: retentionStrategy + value: '{{ retentionStrategy }}' + - name: purgeDataTypes + value: '{{ purgeDataTypes }}' + - name: audioExportSettings + value: '{{ audioExportSettings }}' + - name: insightsExportSettings + value: '{{ insightsExportSettings }}' + +``` + + + +## `UPDATE` example + +Updates a security_setting only if the necessary resources are available. + +```sql +UPDATE google.dialogflow.security_settings +SET +name = '{{ name }}', +displayName = '{{ displayName }}', +redactionStrategy = '{{ redactionStrategy }}', +redactionScope = '{{ redactionScope }}', +inspectTemplate = '{{ inspectTemplate }}', +deidentifyTemplate = '{{ deidentifyTemplate }}', +retentionWindowDays = '{{ retentionWindowDays }}', +retentionStrategy = '{{ retentionStrategy }}', +purgeDataTypes = '{{ purgeDataTypes }}', +audioExportSettings = '{{ audioExportSettings }}', +insightsExportSettings = '{{ insightsExportSettings }}' +WHERE +locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND securitySettingsId = '{{ securitySettingsId }}'; +``` + +## `DELETE` example + +Deletes the specified security_setting resource. + +```sql +DELETE FROM google.dialogflow.security_settings +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND securitySettingsId = '{{ securitySettingsId }}'; +``` diff --git a/docs/google-docs/providers/google/dialogflow/sessions/index.md b/docs/google-docs/providers/google/dialogflow/sessions/index.md index 702f22d2ea..c77b95531c 100644 --- a/docs/google-docs/providers/google/dialogflow/sessions/index.md +++ b/docs/google-docs/providers/google/dialogflow/sessions/index.md @@ -1,3 +1,4 @@ + --- title: sessions hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - sessions - dialogflow - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an session resource or lists sessions in a region ## Overview
@@ -28,7 +30,9 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| diff --git a/docs/google-docs/providers/google/dialogflow/test_cases/index.md b/docs/google-docs/providers/google/dialogflow/test_cases/index.md index 2f7a7184ca..c6e4c792b7 100644 --- a/docs/google-docs/providers/google/dialogflow/test_cases/index.md +++ b/docs/google-docs/providers/google/dialogflow/test_cases/index.md @@ -1,3 +1,4 @@ + --- title: test_cases hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - test_cases - dialogflow - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an test_case resource or lists test_cases in a region ## Overview @@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The unique identifier of the test case. TestCases.CreateTestCase will populate the name automatically. Otherwise use format: `projects//locations//agents/ /testCases/`. | +| | `string` | The unique identifier of the test case. TestCases.CreateTestCase will populate the name automatically. Otherwise use format: `projects//locations//agents//testCases/`. | | | `string` | Output only. When the test was created. | | | `string` | Required. The human-readable name of the test case, unique within the agent. Limit of 200 characters. | | | `object` | Represents a result from running a test case in an agent environment. | @@ -38,17 +40,140 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `array` | Tags are short descriptions that users may apply to test cases for organizational and filtering purposes. Each tag should start with "#" and has a limit of 30 characters. | | | `array` | The conversation turns uttered when the test case was created, in chronological order. These include the canonical set of agent utterances that should occur when the agent is working properly. | | | `object` | Represents configurations for a test case. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets a test case. | | | `SELECT` | | Fetches a list of test cases for a given agent. | | | `INSERT` | | Creates a test case for the given agent. | +| | `DELETE` | | Batch deletes test cases. | | | `UPDATE` | | Updates the specified test case. | -| | `EXEC` | | Fetches a list of test cases for a given agent. | -| | `EXEC` | | Batch deletes test cases. | | | `EXEC` | | Kicks off a batch run of test cases. This method is a [long-running operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). The returned `Operation` type has the following method-specific fields: - `metadata`: BatchRunTestCasesMetadata - `response`: BatchRunTestCasesResponse | | | `EXEC` | | Calculates the test coverage for an agent. | | | `EXEC` | | Exports the test cases under the agent to a Cloud Storage bucket or a local file. Filter can be applied to export a subset of test cases. This method is a [long-running operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). The returned `Operation` type has the following method-specific fields: - `metadata`: ExportTestCasesMetadata - `response`: ExportTestCasesResponse | | | `EXEC` | | Imports the test cases from a Cloud Storage bucket or a local file. It always creates new test cases and won't overwrite any existing ones. The provided ID in the imported test case is neglected. This method is a [long-running operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). The returned `Operation` type has the following method-specific fields: - `metadata`: ImportTestCasesMetadata - `response`: ImportTestCasesResponse | | | `EXEC` | | Kicks off a test case run. This method is a [long-running operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). The returned `Operation` type has the following method-specific fields: - `metadata`: RunTestCaseMetadata - `response`: RunTestCaseResponse | + +## `SELECT` examples + +Fetches a list of test cases for a given agent. + +```sql +SELECT +name, +creationTime, +displayName, +lastTestResult, +notes, +tags, +testCaseConversationTurns, +testConfig +FROM google.dialogflow.test_cases +WHERE agentsId = '{{ agentsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new test_cases resource. + + + + +```sql +/*+ create */ +INSERT INTO google.dialogflow.test_cases ( +agentsId, +locationsId, +projectsId, +name, +tags, +displayName, +notes, +testConfig, +testCaseConversationTurns, +creationTime, +lastTestResult +) +SELECT +'{{ agentsId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ tags }}', +'{{ displayName }}', +'{{ notes }}', +'{{ testConfig }}', +'{{ testCaseConversationTurns }}', +'{{ creationTime }}', +'{{ lastTestResult }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: tags + value: '{{ tags }}' + - name: displayName + value: '{{ displayName }}' + - name: notes + value: '{{ notes }}' + - name: testConfig + value: '{{ testConfig }}' + - name: testCaseConversationTurns + value: '{{ testCaseConversationTurns }}' + - name: creationTime + value: '{{ creationTime }}' + - name: lastTestResult + value: '{{ lastTestResult }}' + +``` + + + +## `UPDATE` example + +Updates a test_case only if the necessary resources are available. + +```sql +UPDATE google.dialogflow.test_cases +SET +name = '{{ name }}', +tags = '{{ tags }}', +displayName = '{{ displayName }}', +notes = '{{ notes }}', +testConfig = '{{ testConfig }}', +testCaseConversationTurns = '{{ testCaseConversationTurns }}', +creationTime = '{{ creationTime }}', +lastTestResult = '{{ lastTestResult }}' +WHERE +agentsId = '{{ agentsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND testCasesId = '{{ testCasesId }}'; +``` + +## `DELETE` example + +Deletes the specified test_case resource. + +```sql +DELETE FROM google.dialogflow.test_cases +WHERE agentsId = '{{ agentsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/dialogflow/transition_route_groups/index.md b/docs/google-docs/providers/google/dialogflow/transition_route_groups/index.md index 25ff632530..0be1644877 100644 --- a/docs/google-docs/providers/google/dialogflow/transition_route_groups/index.md +++ b/docs/google-docs/providers/google/dialogflow/transition_route_groups/index.md @@ -1,3 +1,4 @@ + --- title: transition_route_groups hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - transition_route_groups - dialogflow - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an transition_route_group resource or lists transition_route_groups in a region ## Overview
@@ -33,6 +35,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The unique identifier of the transition route group. TransitionRouteGroups.CreateTransitionRouteGroup populates the name automatically. Format: `projects//locations//agents//flows//transitionRouteGroups/` . | | | `string` | Required. The human-readable name of the transition route group, unique within the flow. The display name can be no longer than 30 characters. | | | `array` | Transition routes associated with the TransitionRouteGroup. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -46,5 +49,97 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `DELETE` | | Deletes the specified TransitionRouteGroup. Note: You should always train a flow prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training). | | | `UPDATE` | | Updates the specified TransitionRouteGroup. Note: You should always train a flow prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training). | | | `UPDATE` | | Updates the specified TransitionRouteGroup. Note: You should always train a flow prior to sending it queries. See the [training documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training). | -| | `EXEC` | | Returns the list of all transition route groups in the specified flow. | -| | `EXEC` | | Returns the list of all transition route groups in the specified flow. | + +## `SELECT` examples + +Returns the list of all transition route groups in the specified flow. + +```sql +SELECT +name, +displayName, +transitionRoutes +FROM google.dialogflow.transition_route_groups +WHERE agentsId = '{{ agentsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new transition_route_groups resource. + + + + +```sql +/*+ create */ +INSERT INTO google.dialogflow.transition_route_groups ( +agentsId, +locationsId, +projectsId, +name, +displayName, +transitionRoutes +) +SELECT +'{{ agentsId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ displayName }}', +'{{ transitionRoutes }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: transitionRoutes + value: '{{ transitionRoutes }}' + +``` + + + +## `UPDATE` example + +Updates a transition_route_group only if the necessary resources are available. + +```sql +UPDATE google.dialogflow.transition_route_groups +SET +name = '{{ name }}', +displayName = '{{ displayName }}', +transitionRoutes = '{{ transitionRoutes }}' +WHERE +agentsId = '{{ agentsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND transitionRouteGroupsId = '{{ transitionRouteGroupsId }}'; +``` + +## `DELETE` example + +Deletes the specified transition_route_group resource. + +```sql +DELETE FROM google.dialogflow.transition_route_groups +WHERE agentsId = '{{ agentsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND transitionRouteGroupsId = '{{ transitionRouteGroupsId }}'; +``` diff --git a/docs/google-docs/providers/google/dialogflow/versions/index.md b/docs/google-docs/providers/google/dialogflow/versions/index.md index e6b4f04d87..6081a7cf22 100644 --- a/docs/google-docs/providers/google/dialogflow/versions/index.md +++ b/docs/google-docs/providers/google/dialogflow/versions/index.md @@ -1,3 +1,4 @@ + --- title: versions hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - versions - dialogflow - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an version resource or lists versions in a region ## Overview
@@ -36,6 +38,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Required. The human-readable name of the version. Limit of 64 characters. | | | `object` | Settings related to NLU. | | | `string` | Output only. The state of this version. This field is read-only and cannot be set by create and update methods. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -44,6 +47,122 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a Version in the specified Flow. This method is a [long-running operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). The returned `Operation` type has the following method-specific fields: - `metadata`: CreateVersionOperationMetadata - `response`: Version | | | `DELETE` | | Deletes the specified Version. | | | `UPDATE` | | Updates the specified Version. | -| | `EXEC` | | Returns the list of all versions in the specified Flow. | | | `EXEC` | | Compares the specified base version with target version. | | | `EXEC` | | Loads resources in the specified version to the draft flow. This method is a [long-running operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). The returned `Operation` type has the following method-specific fields: - `metadata`: An empty [Struct message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - `response`: An [Empty message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) | + +## `SELECT` examples + +Returns the list of all versions in the specified Flow. + +```sql +SELECT +name, +description, +createTime, +displayName, +nluSettings, +state +FROM google.dialogflow.versions +WHERE agentsId = '{{ agentsId }}' +AND flowsId = '{{ flowsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new versions resource. + + + + +```sql +/*+ create */ +INSERT INTO google.dialogflow.versions ( +agentsId, +flowsId, +locationsId, +projectsId, +name, +displayName, +description, +nluSettings, +createTime, +state +) +SELECT +'{{ agentsId }}', +'{{ flowsId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ displayName }}', +'{{ description }}', +'{{ nluSettings }}', +'{{ createTime }}', +'{{ state }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: description + value: '{{ description }}' + - name: nluSettings + value: '{{ nluSettings }}' + - name: createTime + value: '{{ createTime }}' + - name: state + value: '{{ state }}' + +``` + + + +## `UPDATE` example + +Updates a version only if the necessary resources are available. + +```sql +UPDATE google.dialogflow.versions +SET +name = '{{ name }}', +displayName = '{{ displayName }}', +description = '{{ description }}', +nluSettings = '{{ nluSettings }}', +createTime = '{{ createTime }}', +state = '{{ state }}' +WHERE +agentsId = '{{ agentsId }}' +AND flowsId = '{{ flowsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND versionsId = '{{ versionsId }}'; +``` + +## `DELETE` example + +Deletes the specified version resource. + +```sql +DELETE FROM google.dialogflow.versions +WHERE agentsId = '{{ agentsId }}' +AND flowsId = '{{ flowsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND versionsId = '{{ versionsId }}'; +``` diff --git a/docs/google-docs/providers/google/dialogflow/webhooks/index.md b/docs/google-docs/providers/google/dialogflow/webhooks/index.md index 819963eac4..ebd33605a2 100644 --- a/docs/google-docs/providers/google/dialogflow/webhooks/index.md +++ b/docs/google-docs/providers/google/dialogflow/webhooks/index.md @@ -1,3 +1,4 @@ + --- title: webhooks hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - webhooks - dialogflow - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an webhook resource or lists webhooks in a region ## Overview
@@ -36,6 +38,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Represents configuration for a generic web service. | | | `object` | Represents configuration for a [Service Directory](https://cloud.google.com/service-directory) service. | | | `string` | Webhook execution timeout. Execution is considered failed if Dialogflow doesn't receive a response from webhook at the end of the timeout period. Defaults to 5 seconds, maximum allowed timeout is 30 seconds. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -44,4 +47,115 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a webhook in the specified agent. | | | `DELETE` | | Deletes the specified webhook. | | | `UPDATE` | | Updates the specified webhook. | -| | `EXEC` | | Returns the list of all webhooks in the specified agent. | + +## `SELECT` examples + +Returns the list of all webhooks in the specified agent. + +```sql +SELECT +name, +disabled, +displayName, +genericWebService, +serviceDirectory, +timeout +FROM google.dialogflow.webhooks +WHERE agentsId = '{{ agentsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new webhooks resource. + + + + +```sql +/*+ create */ +INSERT INTO google.dialogflow.webhooks ( +agentsId, +locationsId, +projectsId, +name, +displayName, +genericWebService, +serviceDirectory, +timeout, +disabled +) +SELECT +'{{ agentsId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ displayName }}', +'{{ genericWebService }}', +'{{ serviceDirectory }}', +'{{ timeout }}', +true|false +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: genericWebService + value: '{{ genericWebService }}' + - name: serviceDirectory + value: '{{ serviceDirectory }}' + - name: timeout + value: '{{ timeout }}' + - name: disabled + value: '{{ disabled }}' + +``` + + + +## `UPDATE` example + +Updates a webhook only if the necessary resources are available. + +```sql +UPDATE google.dialogflow.webhooks +SET +name = '{{ name }}', +displayName = '{{ displayName }}', +genericWebService = '{{ genericWebService }}', +serviceDirectory = '{{ serviceDirectory }}', +timeout = '{{ timeout }}', +disabled = true|false +WHERE +agentsId = '{{ agentsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND webhooksId = '{{ webhooksId }}'; +``` + +## `DELETE` example + +Deletes the specified webhook resource. + +```sql +DELETE FROM google.dialogflow.webhooks +WHERE agentsId = '{{ agentsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND webhooksId = '{{ webhooksId }}'; +``` diff --git a/docs/google-docs/providers/google/discoveryengine/answers/index.md b/docs/google-docs/providers/google/discoveryengine/answers/index.md index ff943b0f1f..3725e0f5f0 100644 --- a/docs/google-docs/providers/google/discoveryengine/answers/index.md +++ b/docs/google-docs/providers/google/discoveryengine/answers/index.md @@ -1,3 +1,4 @@ + --- title: answers hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - answers - discoveryengine - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an answer resource or lists answers in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/engines/{engine}/sessions/*/answers/*` | +| | `string` | Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/engines/{engine}/sessions/*/answers/*` | | | `array` | Additional answer-skipped reasons. This provides the reason for ignored cases. If nothing is skipped, this field is not set. | | | `string` | The textual answer. | | | `array` | Citations. | @@ -41,9 +43,35 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `array` | Suggested related questions. | | | `string` | The state of the answer generation. | | | `array` | Answer generation steps. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `SELECT` | | -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets a Answer. | +| | `SELECT` | | Gets a Answer. | +| | `SELECT` | | Gets a Answer. | + +## `SELECT` examples + +Gets a Answer. + +```sql +SELECT +name, +answerSkippedReasons, +answerText, +citations, +completeTime, +createTime, +queryUnderstandingInfo, +references, +relatedQuestions, +state, +steps +FROM google.discoveryengine.answers +WHERE answersId = '{{ answersId }}' +AND dataStoresId = '{{ dataStoresId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND sessionsId = '{{ sessionsId }}'; +``` diff --git a/docs/google-docs/providers/google/discoveryengine/branches_documents_metadata/index.md b/docs/google-docs/providers/google/discoveryengine/branches_documents_metadata/index.md new file mode 100644 index 0000000000..cc8364a6b0 --- /dev/null +++ b/docs/google-docs/providers/google/discoveryengine/branches_documents_metadata/index.md @@ -0,0 +1,55 @@ + +--- +title: branches_documents_metadata +hide_title: false +hide_table_of_contents: false +keywords: + - branches_documents_metadata + - discoveryengine + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an branches_documents_metadatum resource or lists branches_documents_metadata in a region + +## Overview +
+ + + +
Namebranches_documents_metadata
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `array` | The metadata of the Documents. | + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets index freshness metadata for Documents. Supported for website search only. | +| | `SELECT` | | Gets index freshness metadata for Documents. Supported for website search only. | + +## `SELECT` examples + +Gets index freshness metadata for Documents. Supported for website search only. + +```sql +SELECT +documentsMetadata +FROM google.discoveryengine.branches_documents_metadata +WHERE branchesId = '{{ branchesId }}' +AND dataStoresId = '{{ dataStoresId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/discoveryengine/completion_suggestions/index.md b/docs/google-docs/providers/google/discoveryengine/completion_suggestions/index.md new file mode 100644 index 0000000000..5abb29f165 --- /dev/null +++ b/docs/google-docs/providers/google/discoveryengine/completion_suggestions/index.md @@ -0,0 +1,42 @@ + +--- +title: completion_suggestions +hide_title: false +hide_table_of_contents: false +keywords: + - completion_suggestions + - discoveryengine + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an completion_suggestion resource or lists completion_suggestions in a region + +## Overview + + + + +
Namecompletion_suggestions
TypeResource
Id
+ +## Fields +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Imports CompletionSuggestions for a DataStore. | +| | `EXEC` | | Permanently deletes all CompletionSuggestions for a DataStore. | +| | `EXEC` | | Imports CompletionSuggestions for a DataStore. | +| | `EXEC` | | Permanently deletes all CompletionSuggestions for a DataStore. | diff --git a/docs/google-docs/providers/google/discoveryengine/controls/index.md b/docs/google-docs/providers/google/discoveryengine/controls/index.md index 755cc0aaf5..14976523ab 100644 --- a/docs/google-docs/providers/google/discoveryengine/controls/index.md +++ b/docs/google-docs/providers/google/discoveryengine/controls/index.md @@ -1,3 +1,4 @@ + --- title: controls hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - controls - discoveryengine - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an control resource or lists controls in a region ## Overview @@ -31,7 +33,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | Name | Datatype | Description | |:-----|:---------|:------------| | | `string` | Immutable. Fully qualified name `projects/*/locations/global/dataStore/*/controls/*` | -| | `array` | Output only. List of all ServingConfig ids this control is attached to. May take up to 10 minutes to update after changes. | +| | `array` | Output only. List of all ServingConfig IDs this control is attached to. May take up to 10 minutes to update after changes. | | | `object` | Adjusts order of products in returned list. | | | `array` | Determines when the associated action will trigger. Omit to always apply the action. Currently only a single condition may be specified. Otherwise an INVALID ARGUMENT error is thrown. | | | `string` | Required. Human readable name. The identifier used in UI views. Must be UTF-8 encoded string. Length limit is 128 characters. Otherwise an INVALID ARGUMENT error is thrown. | @@ -40,6 +42,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Required. Immutable. What solution the control belongs to. Must be compatible with vertical of resource. Otherwise an INVALID ARGUMENT error is thrown. | | | `object` | Creates a set of terms that will act as synonyms of one another. Example: "happy" will also be considered as "glad", "glad" will also be considered as "happy". | | | `array` | Specifies the use case for the control. Affects what condition fields can be set. Only applies to SOLUTION_TYPE_SEARCH. Currently only allow one use case per control. Must be set when solution_type is SolutionType.SOLUTION_TYPE_SEARCH. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -58,6 +61,139 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `UPDATE` | | Updates a Control. Control action type cannot be changed. If the Control to update does not exist, a NOT_FOUND error is returned. | | | `UPDATE` | | Updates a Control. Control action type cannot be changed. If the Control to update does not exist, a NOT_FOUND error is returned. | | | `UPDATE` | | Updates a Control. Control action type cannot be changed. If the Control to update does not exist, a NOT_FOUND error is returned. | -| | `EXEC` | | Lists all Controls by their parent DataStore. | -| | `EXEC` | | Lists all Controls by their parent DataStore. | -| | `EXEC` | | Lists all Controls by their parent DataStore. | + +## `SELECT` examples + +Lists all Controls by their parent DataStore. + +```sql +SELECT +name, +associatedServingConfigIds, +boostAction, +conditions, +displayName, +filterAction, +redirectAction, +solutionType, +synonymsAction, +useCases +FROM google.discoveryengine.controls +WHERE dataStoresId = '{{ dataStoresId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new controls resource. + + + + +```sql +/*+ create */ +INSERT INTO google.discoveryengine.controls ( +dataStoresId, +locationsId, +projectsId, +boostAction, +filterAction, +redirectAction, +synonymsAction, +name, +displayName, +associatedServingConfigIds, +solutionType, +useCases, +conditions +) +SELECT +'{{ dataStoresId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ boostAction }}', +'{{ filterAction }}', +'{{ redirectAction }}', +'{{ synonymsAction }}', +'{{ name }}', +'{{ displayName }}', +'{{ associatedServingConfigIds }}', +'{{ solutionType }}', +'{{ useCases }}', +'{{ conditions }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: boostAction + value: '{{ boostAction }}' + - name: filterAction + value: '{{ filterAction }}' + - name: redirectAction + value: '{{ redirectAction }}' + - name: synonymsAction + value: '{{ synonymsAction }}' + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: associatedServingConfigIds + value: '{{ associatedServingConfigIds }}' + - name: solutionType + value: '{{ solutionType }}' + - name: useCases + value: '{{ useCases }}' + - name: conditions + value: '{{ conditions }}' + +``` + + + +## `UPDATE` example + +Updates a control only if the necessary resources are available. + +```sql +UPDATE google.discoveryengine.controls +SET +boostAction = '{{ boostAction }}', +filterAction = '{{ filterAction }}', +redirectAction = '{{ redirectAction }}', +synonymsAction = '{{ synonymsAction }}', +name = '{{ name }}', +displayName = '{{ displayName }}', +associatedServingConfigIds = '{{ associatedServingConfigIds }}', +solutionType = '{{ solutionType }}', +useCases = '{{ useCases }}', +conditions = '{{ conditions }}' +WHERE +controlsId = '{{ controlsId }}' +AND dataStoresId = '{{ dataStoresId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified control resource. + +```sql +DELETE FROM google.discoveryengine.controls +WHERE controlsId = '{{ controlsId }}' +AND dataStoresId = '{{ dataStoresId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/discoveryengine/conversations/index.md b/docs/google-docs/providers/google/discoveryengine/conversations/index.md index 8b50b885ee..3bc814f518 100644 --- a/docs/google-docs/providers/google/discoveryengine/conversations/index.md +++ b/docs/google-docs/providers/google/discoveryengine/conversations/index.md @@ -1,3 +1,4 @@ + --- title: conversations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - conversations - discoveryengine - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an conversation resource or lists conversations in a region ## Overview
@@ -30,12 +32,13 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/dataStore/*/conversations/*` or `projects/{project}/locations/global/collections/{collection}/engines/*/conversations/*`. | +| | `string` | Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/dataStore/*/conversations/*` or `projects/{project}/locations/global/collections/{collection}/engines/*/conversations/*`. | | | `string` | Output only. The time the conversation finished. | | | `array` | Conversation messages. | | | `string` | Output only. The time the conversation started. | | | `string` | The state of the Conversation. | | | `string` | A unique identifier for tracking users. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -54,9 +57,118 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `UPDATE` | | Updates a Conversation. Conversation action type cannot be changed. If the Conversation to update does not exist, a NOT_FOUND error is returned. | | | `UPDATE` | | Updates a Conversation. Conversation action type cannot be changed. If the Conversation to update does not exist, a NOT_FOUND error is returned. | | | `UPDATE` | | Updates a Conversation. Conversation action type cannot be changed. If the Conversation to update does not exist, a NOT_FOUND error is returned. | -| | `EXEC` | | Lists all Conversations by their parent DataStore. | -| | `EXEC` | | Lists all Conversations by their parent DataStore. | -| | `EXEC` | | Lists all Conversations by their parent DataStore. | | | `EXEC` | | Converses a conversation. | | | `EXEC` | | Converses a conversation. | | | `EXEC` | | Converses a conversation. | + +## `SELECT` examples + +Lists all Conversations by their parent DataStore. + +```sql +SELECT +name, +endTime, +messages, +startTime, +state, +userPseudoId +FROM google.discoveryengine.conversations +WHERE dataStoresId = '{{ dataStoresId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new conversations resource. + + + + +```sql +/*+ create */ +INSERT INTO google.discoveryengine.conversations ( +dataStoresId, +locationsId, +projectsId, +name, +state, +userPseudoId, +messages, +startTime, +endTime +) +SELECT +'{{ dataStoresId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ state }}', +'{{ userPseudoId }}', +'{{ messages }}', +'{{ startTime }}', +'{{ endTime }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: state + value: '{{ state }}' + - name: userPseudoId + value: '{{ userPseudoId }}' + - name: messages + value: '{{ messages }}' + - name: startTime + value: '{{ startTime }}' + - name: endTime + value: '{{ endTime }}' + +``` + + + +## `UPDATE` example + +Updates a conversation only if the necessary resources are available. + +```sql +UPDATE google.discoveryengine.conversations +SET +name = '{{ name }}', +state = '{{ state }}', +userPseudoId = '{{ userPseudoId }}', +messages = '{{ messages }}', +startTime = '{{ startTime }}', +endTime = '{{ endTime }}' +WHERE +conversationsId = '{{ conversationsId }}' +AND dataStoresId = '{{ dataStoresId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified conversation resource. + +```sql +DELETE FROM google.discoveryengine.conversations +WHERE conversationsId = '{{ conversationsId }}' +AND dataStoresId = '{{ dataStoresId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/discoveryengine/custom_models/index.md b/docs/google-docs/providers/google/discoveryengine/custom_models/index.md new file mode 100644 index 0000000000..f9ef66fdc7 --- /dev/null +++ b/docs/google-docs/providers/google/discoveryengine/custom_models/index.md @@ -0,0 +1,54 @@ + +--- +title: custom_models +hide_title: false +hide_table_of_contents: false +keywords: + - custom_models + - discoveryengine + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an custom_model resource or lists custom_models in a region + +## Overview +
+ + + +
Namecustom_models
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `array` | List of custom tuning models. | + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets a list of all the custom models. | + +## `SELECT` examples + +Gets a list of all the custom models. + +```sql +SELECT +models +FROM google.discoveryengine.custom_models +WHERE collectionsId = '{{ collectionsId }}' +AND dataStoresId = '{{ dataStoresId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/discoveryengine/data_store_operations/index.md b/docs/google-docs/providers/google/discoveryengine/data_store_operations/index.md index 627a6ccacd..01223950a7 100644 --- a/docs/google-docs/providers/google/discoveryengine/data_store_operations/index.md +++ b/docs/google-docs/providers/google/discoveryengine/data_store_operations/index.md @@ -1,3 +1,4 @@ + --- title: data_store_operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - data_store_operations - discoveryengine - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an data_store_operation resource or lists data_store_operations in a region ## Overview @@ -30,12 +32,32 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | + +## `SELECT` examples + +Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.discoveryengine.data_store_operations +WHERE collectionsId = '{{ collectionsId }}' +AND dataStoresId = '{{ dataStoresId }}' +AND locationsId = '{{ locationsId }}' +AND operationsId = '{{ operationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/discoveryengine/data_stores/index.md b/docs/google-docs/providers/google/discoveryengine/data_stores/index.md index e7ef86a14b..79b9fb0ee3 100644 --- a/docs/google-docs/providers/google/discoveryengine/data_stores/index.md +++ b/docs/google-docs/providers/google/discoveryengine/data_stores/index.md @@ -1,3 +1,4 @@ + --- title: data_stores hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - data_stores - discoveryengine - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an data_store resource or lists data_stores in a region ## Overview
@@ -30,15 +32,18 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Immutable. The full resource name of the data store. Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters. | +| | `string` | Immutable. The full resource name of the data store. Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters. | | | `string` | Immutable. The content config of the data store. If this field is unset, the server behavior defaults to ContentConfig.NO_CONTENT. | | | `string` | Output only. Timestamp the DataStore was created at. | | | `string` | Output only. The id of the default Schema asscociated to this data store. | | | `string` | Required. The data store display name. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. | | | `object` | A singleton resource of DataStore. It's empty when DataStore is created, which defaults to digital parser. The first call to DataStoreService.UpdateDocumentProcessingConfig method will initialize the config. | | | `string` | Immutable. The industry vertical that the data store registers. | +| | `object` | Stores information regarding the serving configurations at DataStore level. | | | `array` | The solutions that the data store enrolls. Available solutions for each industry_vertical: * `MEDIA`: `SOLUTION_TYPE_RECOMMENDATION` and `SOLUTION_TYPE_SEARCH`. * `SITE_SEARCH`: `SOLUTION_TYPE_SEARCH` is automatically enrolled. Other solutions cannot be enrolled. | | | `object` | Defines the structure and layout of a type of document data. | +| | `object` | Config to store data store type configuration for workspace data | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -52,7 +57,143 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `DELETE` | | Deletes a DataStore. | | | `UPDATE` | | Updates a DataStore | | | `UPDATE` | | Updates a DataStore | -| | `EXEC` | | Lists all the DataStores associated with the project. | -| | `EXEC` | | Lists all the DataStores associated with the project. | | | `EXEC` | | Completes the specified user input with keyword suggestions. | +| | `EXEC` | | Trains a custom model. | | | `EXEC` | | Completes the specified user input with keyword suggestions. | + +## `SELECT` examples + +Lists all the DataStores associated with the project. + +```sql +SELECT +name, +contentConfig, +createTime, +defaultSchemaId, +displayName, +documentProcessingConfig, +industryVertical, +servingConfigDataStore, +solutionTypes, +startingSchema, +workspaceConfig +FROM google.discoveryengine.data_stores +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new data_stores resource. + + + + +```sql +/*+ create */ +INSERT INTO google.discoveryengine.data_stores ( +locationsId, +projectsId, +name, +displayName, +industryVertical, +solutionTypes, +defaultSchemaId, +contentConfig, +createTime, +workspaceConfig, +documentProcessingConfig, +startingSchema, +servingConfigDataStore +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ displayName }}', +'{{ industryVertical }}', +'{{ solutionTypes }}', +'{{ defaultSchemaId }}', +'{{ contentConfig }}', +'{{ createTime }}', +'{{ workspaceConfig }}', +'{{ documentProcessingConfig }}', +'{{ startingSchema }}', +'{{ servingConfigDataStore }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: industryVertical + value: '{{ industryVertical }}' + - name: solutionTypes + value: '{{ solutionTypes }}' + - name: defaultSchemaId + value: '{{ defaultSchemaId }}' + - name: contentConfig + value: '{{ contentConfig }}' + - name: createTime + value: '{{ createTime }}' + - name: workspaceConfig + value: '{{ workspaceConfig }}' + - name: documentProcessingConfig + value: '{{ documentProcessingConfig }}' + - name: startingSchema + value: '{{ startingSchema }}' + - name: servingConfigDataStore + value: '{{ servingConfigDataStore }}' + +``` + + + +## `UPDATE` example + +Updates a data_store only if the necessary resources are available. + +```sql +UPDATE google.discoveryengine.data_stores +SET +name = '{{ name }}', +displayName = '{{ displayName }}', +industryVertical = '{{ industryVertical }}', +solutionTypes = '{{ solutionTypes }}', +defaultSchemaId = '{{ defaultSchemaId }}', +contentConfig = '{{ contentConfig }}', +createTime = '{{ createTime }}', +workspaceConfig = '{{ workspaceConfig }}', +documentProcessingConfig = '{{ documentProcessingConfig }}', +startingSchema = '{{ startingSchema }}', +servingConfigDataStore = '{{ servingConfigDataStore }}' +WHERE +dataStoresId = '{{ dataStoresId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified data_store resource. + +```sql +DELETE FROM google.discoveryengine.data_stores +WHERE dataStoresId = '{{ dataStoresId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/discoveryengine/data_stores_site_search_engine/index.md b/docs/google-docs/providers/google/discoveryengine/data_stores_site_search_engine/index.md index bd8be9557c..2f573470c3 100644 --- a/docs/google-docs/providers/google/discoveryengine/data_stores_site_search_engine/index.md +++ b/docs/google-docs/providers/google/discoveryengine/data_stores_site_search_engine/index.md @@ -1,3 +1,4 @@ + --- title: data_stores_site_search_engine hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - data_stores_site_search_engine - discoveryengine - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an data_stores_site_search_engine resource or lists data_stores_site_search_engine in a region ## Overview
@@ -28,8 +30,25 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | The fully qualified resource name of the site search engine. Format: `projects/*/locations/*/dataStores/*/siteSearchEngine` | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets the SiteSearchEngine. | +| | `SELECT` | | Gets the SiteSearchEngine. | + +## `SELECT` examples + +Gets the SiteSearchEngine. + +```sql +SELECT +name +FROM google.discoveryengine.data_stores_site_search_engine +WHERE dataStoresId = '{{ dataStoresId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/discoveryengine/documents/index.md b/docs/google-docs/providers/google/discoveryengine/documents/index.md index c0e34ba8ad..bb3f44daac 100644 --- a/docs/google-docs/providers/google/discoveryengine/documents/index.md +++ b/docs/google-docs/providers/google/discoveryengine/documents/index.md @@ -1,3 +1,4 @@ + --- title: documents hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - documents - discoveryengine - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an document resource or lists documents in a region ## Overview @@ -31,14 +33,16 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | Name | Datatype | Description | |:-----|:---------|:------------| | | `string` | Immutable. The identifier of the document. Id should conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters. | -| | `string` | Immutable. The full resource name of the document. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document_id}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters. | +| | `string` | Immutable. The full resource name of the document. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document_id}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters. | | | `object` | Unstructured data linked to this document. | | | `object` | Output only. This field is OUTPUT_ONLY. It contains derived data that are not in the original input document. | +| | `object` | Index status of the document. | | | `string` | Output only. The last time the document was indexed. If this field is set, the document could be returned in search results. This field is OUTPUT_ONLY. If this field is not populated, it means the document has never been indexed. | | | `string` | The JSON string representation of the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown. | | | `string` | The identifier of the parent document. Currently supports at most two level document hierarchy. Id should conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters. | | | `string` | The identifier of the schema located in the same data store. | | | `object` | The structured JSON data for the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -52,9 +56,148 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `DELETE` | | Deletes a Document. | | | `UPDATE` | | Updates a Document. | | | `UPDATE` | | Updates a Document. | -| | `EXEC` | | Gets a list of Documents. | -| | `EXEC` | | Gets a list of Documents. | | | `EXEC` | | Bulk import of multiple Documents. Request processing may be synchronous. Non-existing items are created. Note: It is possible for a subset of the Documents to be successfully updated. | | | `EXEC` | | Permanently deletes all selected Documents in a branch. This process is asynchronous. Depending on the number of Documents to be deleted, this operation can take hours to complete. Before the delete operation completes, some Documents might still be returned by DocumentService.GetDocument or DocumentService.ListDocuments. To get a list of the Documents to be deleted, set PurgeDocumentsRequest.force to false. | | | `EXEC` | | Bulk import of multiple Documents. Request processing may be synchronous. Non-existing items are created. Note: It is possible for a subset of the Documents to be successfully updated. | | | `EXEC` | | Permanently deletes all selected Documents in a branch. This process is asynchronous. Depending on the number of Documents to be deleted, this operation can take hours to complete. Before the delete operation completes, some Documents might still be returned by DocumentService.GetDocument or DocumentService.ListDocuments. To get a list of the Documents to be deleted, set PurgeDocumentsRequest.force to false. | + +## `SELECT` examples + +Gets a list of Documents. + +```sql +SELECT +id, +name, +content, +derivedStructData, +indexStatus, +indexTime, +jsonData, +parentDocumentId, +schemaId, +structData +FROM google.discoveryengine.documents +WHERE branchesId = '{{ branchesId }}' +AND dataStoresId = '{{ dataStoresId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new documents resource. + + + + +```sql +/*+ create */ +INSERT INTO google.discoveryengine.documents ( +branchesId, +dataStoresId, +locationsId, +projectsId, +structData, +jsonData, +name, +id, +schemaId, +content, +parentDocumentId, +derivedStructData, +indexTime, +indexStatus +) +SELECT +'{{ branchesId }}', +'{{ dataStoresId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ structData }}', +'{{ jsonData }}', +'{{ name }}', +'{{ id }}', +'{{ schemaId }}', +'{{ content }}', +'{{ parentDocumentId }}', +'{{ derivedStructData }}', +'{{ indexTime }}', +'{{ indexStatus }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: structData + value: '{{ structData }}' + - name: jsonData + value: '{{ jsonData }}' + - name: name + value: '{{ name }}' + - name: id + value: '{{ id }}' + - name: schemaId + value: '{{ schemaId }}' + - name: content + value: '{{ content }}' + - name: parentDocumentId + value: '{{ parentDocumentId }}' + - name: derivedStructData + value: '{{ derivedStructData }}' + - name: indexTime + value: '{{ indexTime }}' + - name: indexStatus + value: '{{ indexStatus }}' + +``` + + + +## `UPDATE` example + +Updates a document only if the necessary resources are available. + +```sql +UPDATE google.discoveryengine.documents +SET +structData = '{{ structData }}', +jsonData = '{{ jsonData }}', +name = '{{ name }}', +id = '{{ id }}', +schemaId = '{{ schemaId }}', +content = '{{ content }}', +parentDocumentId = '{{ parentDocumentId }}', +derivedStructData = '{{ derivedStructData }}', +indexTime = '{{ indexTime }}', +indexStatus = '{{ indexStatus }}' +WHERE +branchesId = '{{ branchesId }}' +AND dataStoresId = '{{ dataStoresId }}' +AND documentsId = '{{ documentsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified document resource. + +```sql +DELETE FROM google.discoveryengine.documents +WHERE branchesId = '{{ branchesId }}' +AND dataStoresId = '{{ dataStoresId }}' +AND documentsId = '{{ documentsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/discoveryengine/engines/index.md b/docs/google-docs/providers/google/discoveryengine/engines/index.md index 5710ee1ade..cbd669e223 100644 --- a/docs/google-docs/providers/google/discoveryengine/engines/index.md +++ b/docs/google-docs/providers/google/discoveryengine/engines/index.md @@ -1,3 +1,4 @@ + --- title: engines hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - engines - discoveryengine - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an engine resource or lists engines in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Immutable. The fully qualified resource name of the engine. This field must be a UTF-8 encoded string with a length limit of 1024 characters. Format: `projects/{project_number}/locations/{location}/collections/{collection}/engines/{engine}` engine should be 1-63 characters, and valid characters are /a-z0-9*/. Otherwise, an INVALID_ARGUMENT error is returned. | +| | `string` | Immutable. The fully qualified resource name of the engine. This field must be a UTF-8 encoded string with a length limit of 1024 characters. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}` engine should be 1-63 characters, and valid characters are /a-z0-9*/. Otherwise, an INVALID_ARGUMENT error is returned. | | | `object` | Configurations for a Chat Engine. | | | `object` | Additional information of a Chat Engine. Fields in this message are output only. | | | `object` | Common configurations for an Engine. | @@ -41,6 +43,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Configurations for a Search Engine. | | | `string` | Required. The solutions of the engine. | | | `string` | Output only. Timestamp the Recommendation Engine was last updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -49,4 +52,145 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a Engine. | | | `DELETE` | | Deletes a Engine. | | | `UPDATE` | | Updates an Engine | -| | `EXEC` | | Lists all the Engines associated with the project. | + +## `SELECT` examples + +Lists all the Engines associated with the project. + +```sql +SELECT +name, +chatEngineConfig, +chatEngineMetadata, +commonConfig, +createTime, +dataStoreIds, +displayName, +industryVertical, +searchEngineConfig, +solutionType, +updateTime +FROM google.discoveryengine.engines +WHERE collectionsId = '{{ collectionsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new engines resource. + + + + +```sql +/*+ create */ +INSERT INTO google.discoveryengine.engines ( +collectionsId, +locationsId, +projectsId, +chatEngineConfig, +searchEngineConfig, +chatEngineMetadata, +name, +displayName, +createTime, +updateTime, +dataStoreIds, +solutionType, +industryVertical, +commonConfig +) +SELECT +'{{ collectionsId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ chatEngineConfig }}', +'{{ searchEngineConfig }}', +'{{ chatEngineMetadata }}', +'{{ name }}', +'{{ displayName }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ dataStoreIds }}', +'{{ solutionType }}', +'{{ industryVertical }}', +'{{ commonConfig }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: chatEngineConfig + value: '{{ chatEngineConfig }}' + - name: searchEngineConfig + value: '{{ searchEngineConfig }}' + - name: chatEngineMetadata + value: '{{ chatEngineMetadata }}' + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: dataStoreIds + value: '{{ dataStoreIds }}' + - name: solutionType + value: '{{ solutionType }}' + - name: industryVertical + value: '{{ industryVertical }}' + - name: commonConfig + value: '{{ commonConfig }}' + +``` + + + +## `UPDATE` example + +Updates a engine only if the necessary resources are available. + +```sql +UPDATE google.discoveryengine.engines +SET +chatEngineConfig = '{{ chatEngineConfig }}', +searchEngineConfig = '{{ searchEngineConfig }}', +chatEngineMetadata = '{{ chatEngineMetadata }}', +name = '{{ name }}', +displayName = '{{ displayName }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +dataStoreIds = '{{ dataStoreIds }}', +solutionType = '{{ solutionType }}', +industryVertical = '{{ industryVertical }}', +commonConfig = '{{ commonConfig }}' +WHERE +collectionsId = '{{ collectionsId }}' +AND enginesId = '{{ enginesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified engine resource. + +```sql +DELETE FROM google.discoveryengine.engines +WHERE collectionsId = '{{ collectionsId }}' +AND enginesId = '{{ enginesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/discoveryengine/grounding_configs/index.md b/docs/google-docs/providers/google/discoveryengine/grounding_configs/index.md index 6818049dc8..08bc73b3ca 100644 --- a/docs/google-docs/providers/google/discoveryengine/grounding_configs/index.md +++ b/docs/google-docs/providers/google/discoveryengine/grounding_configs/index.md @@ -1,3 +1,4 @@ + --- title: grounding_configs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - grounding_configs - discoveryengine - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an grounding_config resource or lists grounding_configs in a region ## Overview
@@ -28,8 +30,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Performs a grounding check. | diff --git a/docs/google-docs/providers/google/discoveryengine/index.md b/docs/google-docs/providers/google/discoveryengine/index.md index 7384541d3f..15c266a34c 100644 --- a/docs/google-docs/providers/google/discoveryengine/index.md +++ b/docs/google-docs/providers/google/discoveryengine/index.md @@ -9,50 +9,42 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Discovery Engine API. - +The discoveryengine service documentation. + :::info Service Summary
-total resources: 22
-total selectable resources: 14
-total methods: 200
+total resources: 25
::: -## Overview - - - - - - -
Namegoogle.discoveryengine
TypeService
TitleDiscovery Engine API
DescriptionDiscovery Engine API.
Iddiscoveryengine:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/discoveryengine/operations/index.md b/docs/google-docs/providers/google/discoveryengine/operations/index.md index 45242d4c8e..ae8c929902 100644 --- a/docs/google-docs/providers/google/discoveryengine/operations/index.md +++ b/docs/google-docs/providers/google/discoveryengine/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - discoveryengine - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview @@ -30,11 +32,12 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -57,22 +60,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | +| | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | +| | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.discoveryengine.operations +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/discoveryengine/projects/index.md b/docs/google-docs/providers/google/discoveryengine/projects/index.md index d0c25b557e..d9ee9658bd 100644 --- a/docs/google-docs/providers/google/discoveryengine/projects/index.md +++ b/docs/google-docs/providers/google/discoveryengine/projects/index.md @@ -1,3 +1,4 @@ + --- title: projects hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - projects - discoveryengine - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an project resource or lists projects in a region ## Overview
@@ -28,8 +30,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Provisions the project resource. During the process, related systems will get prepared and initialized. Caller must read the [Terms for data use](https://cloud.google.com/retail/data-use-terms), and optionally specify in request to provide consent to that service terms. | diff --git a/docs/google-docs/providers/google/discoveryengine/ranking_configs/index.md b/docs/google-docs/providers/google/discoveryengine/ranking_configs/index.md index 40aafe496e..d8c81b1efe 100644 --- a/docs/google-docs/providers/google/discoveryengine/ranking_configs/index.md +++ b/docs/google-docs/providers/google/discoveryengine/ranking_configs/index.md @@ -1,3 +1,4 @@ + --- title: ranking_configs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - ranking_configs - discoveryengine - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an ranking_config resource or lists ranking_configs in a region ## Overview @@ -28,8 +30,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Ranks a list of text records based on the given input query. | diff --git a/docs/google-docs/providers/google/discoveryengine/schemas/index.md b/docs/google-docs/providers/google/discoveryengine/schemas/index.md index 5af0796441..ecf79e3ed1 100644 --- a/docs/google-docs/providers/google/discoveryengine/schemas/index.md +++ b/docs/google-docs/providers/google/discoveryengine/schemas/index.md @@ -1,3 +1,4 @@ + --- title: schemas hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - schemas - discoveryengine - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an schema resource or lists schemas in a region ## Overview @@ -30,9 +32,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Immutable. The full resource name of the schema, in the format of `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/schemas/{schema}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters. | +| | `string` | Immutable. The full resource name of the schema, in the format of `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/schemas/{schema}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters. | | | `string` | The JSON representation of the schema. | | | `object` | The structured representation of the schema. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -46,5 +49,97 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `DELETE` | | Deletes a Schema. | | | `UPDATE` | | Updates a Schema. | | | `UPDATE` | | Updates a Schema. | -| | `EXEC` | | Gets a list of Schemas. | -| | `EXEC` | | Gets a list of Schemas. | + +## `SELECT` examples + +Gets a list of Schemas. + +```sql +SELECT +name, +jsonSchema, +structSchema +FROM google.discoveryengine.schemas +WHERE dataStoresId = '{{ dataStoresId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new schemas resource. + + + + +```sql +/*+ create */ +INSERT INTO google.discoveryengine.schemas ( +dataStoresId, +locationsId, +projectsId, +structSchema, +jsonSchema, +name +) +SELECT +'{{ dataStoresId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ structSchema }}', +'{{ jsonSchema }}', +'{{ name }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: structSchema + value: '{{ structSchema }}' + - name: jsonSchema + value: '{{ jsonSchema }}' + - name: name + value: '{{ name }}' + +``` + + + +## `UPDATE` example + +Updates a schema only if the necessary resources are available. + +```sql +UPDATE google.discoveryengine.schemas +SET +structSchema = '{{ structSchema }}', +jsonSchema = '{{ jsonSchema }}', +name = '{{ name }}' +WHERE +dataStoresId = '{{ dataStoresId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND schemasId = '{{ schemasId }}'; +``` + +## `DELETE` example + +Deletes the specified schema resource. + +```sql +DELETE FROM google.discoveryengine.schemas +WHERE dataStoresId = '{{ dataStoresId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND schemasId = '{{ schemasId }}'; +``` diff --git a/docs/google-docs/providers/google/discoveryengine/search_engine_operations/index.md b/docs/google-docs/providers/google/discoveryengine/search_engine_operations/index.md index cc17eecd95..a4dc196c05 100644 --- a/docs/google-docs/providers/google/discoveryengine/search_engine_operations/index.md +++ b/docs/google-docs/providers/google/discoveryengine/search_engine_operations/index.md @@ -1,3 +1,4 @@ + --- title: search_engine_operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - search_engine_operations - discoveryengine - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an search_engine_operation resource or lists search_engine_operations in a region ## Overview
@@ -30,14 +32,32 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.discoveryengine.search_engine_operations +WHERE collectionsId = '{{ collectionsId }}' +AND dataStoresId = '{{ dataStoresId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/discoveryengine/serving_configs/index.md b/docs/google-docs/providers/google/discoveryengine/serving_configs/index.md index 743e26f26e..a79cd5810c 100644 --- a/docs/google-docs/providers/google/discoveryengine/serving_configs/index.md +++ b/docs/google-docs/providers/google/discoveryengine/serving_configs/index.md @@ -1,3 +1,4 @@ + --- title: serving_configs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - serving_configs - discoveryengine - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an serving_config resource or lists serving_configs in a region ## Overview
@@ -28,7 +30,9 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| diff --git a/docs/google-docs/providers/google/discoveryengine/sessions/index.md b/docs/google-docs/providers/google/discoveryengine/sessions/index.md index 83947a2fc1..ea620c61b4 100644 --- a/docs/google-docs/providers/google/discoveryengine/sessions/index.md +++ b/docs/google-docs/providers/google/discoveryengine/sessions/index.md @@ -1,3 +1,4 @@ + --- title: sessions hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - sessions - discoveryengine - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an session resource or lists sessions in a region ## Overview @@ -30,12 +32,13 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/engines/{engine}/sessions/*` | +| | `string` | Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/engines/{engine}/sessions/*` | | | `string` | Output only. The time the session finished. | | | `string` | Output only. The time the session started. | | | `string` | The state of the session. | | | `array` | Turns. | | | `string` | A unique identifier for tracking users. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -54,6 +57,115 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `UPDATE` | | Updates a Session. Session action type cannot be changed. If the Session to update does not exist, a NOT_FOUND error is returned. | | | `UPDATE` | | Updates a Session. Session action type cannot be changed. If the Session to update does not exist, a NOT_FOUND error is returned. | | | `UPDATE` | | Updates a Session. Session action type cannot be changed. If the Session to update does not exist, a NOT_FOUND error is returned. | -| | `EXEC` | | Lists all Sessions by their parent DataStore. | -| | `EXEC` | | Lists all Sessions by their parent DataStore. | -| | `EXEC` | | Lists all Sessions by their parent DataStore. | + +## `SELECT` examples + +Lists all Sessions by their parent DataStore. + +```sql +SELECT +name, +endTime, +startTime, +state, +turns, +userPseudoId +FROM google.discoveryengine.sessions +WHERE dataStoresId = '{{ dataStoresId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new sessions resource. + + + + +```sql +/*+ create */ +INSERT INTO google.discoveryengine.sessions ( +dataStoresId, +locationsId, +projectsId, +name, +state, +userPseudoId, +turns, +startTime, +endTime +) +SELECT +'{{ dataStoresId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ state }}', +'{{ userPseudoId }}', +'{{ turns }}', +'{{ startTime }}', +'{{ endTime }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: state + value: '{{ state }}' + - name: userPseudoId + value: '{{ userPseudoId }}' + - name: turns + value: '{{ turns }}' + - name: startTime + value: '{{ startTime }}' + - name: endTime + value: '{{ endTime }}' + +``` + + + +## `UPDATE` example + +Updates a session only if the necessary resources are available. + +```sql +UPDATE google.discoveryengine.sessions +SET +name = '{{ name }}', +state = '{{ state }}', +userPseudoId = '{{ userPseudoId }}', +turns = '{{ turns }}', +startTime = '{{ startTime }}', +endTime = '{{ endTime }}' +WHERE +dataStoresId = '{{ dataStoresId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND sessionsId = '{{ sessionsId }}'; +``` + +## `DELETE` example + +Deletes the specified session resource. + +```sql +DELETE FROM google.discoveryengine.sessions +WHERE dataStoresId = '{{ dataStoresId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND sessionsId = '{{ sessionsId }}'; +``` diff --git a/docs/google-docs/providers/google/discoveryengine/site_search_engine/index.md b/docs/google-docs/providers/google/discoveryengine/site_search_engine/index.md index f82a9d9dbb..0c7af9b671 100644 --- a/docs/google-docs/providers/google/discoveryengine/site_search_engine/index.md +++ b/docs/google-docs/providers/google/discoveryengine/site_search_engine/index.md @@ -1,3 +1,4 @@ + --- title: site_search_engine hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - site_search_engine - discoveryengine - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an site_search_engine resource or lists site_search_engine in a region ## Overview
@@ -28,7 +30,9 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| diff --git a/docs/google-docs/providers/google/discoveryengine/site_search_engine_domain_verification_status/index.md b/docs/google-docs/providers/google/discoveryengine/site_search_engine_domain_verification_status/index.md index 1355c0a9a3..510f569835 100644 --- a/docs/google-docs/providers/google/discoveryengine/site_search_engine_domain_verification_status/index.md +++ b/docs/google-docs/providers/google/discoveryengine/site_search_engine_domain_verification_status/index.md @@ -1,3 +1,4 @@ + --- title: site_search_engine_domain_verification_status hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - site_search_engine_domain_verification_status - discoveryengine - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an site_search_engine_domain_verification_status resource or lists site_search_engine_domain_verification_status in a region ## Overview @@ -28,8 +30,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. | +| | `array` | List of TargetSites containing the site verification status. | +| | `integer` | The total number of items matching the request. This will always be populated in the response. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Returns list of target sites with its domain verification status. This method can only be called under data store with BASIC_SITE_SEARCH state at the moment. | + +## `SELECT` examples + +Returns list of target sites with its domain verification status. This method can only be called under data store with BASIC_SITE_SEARCH state at the moment. + +```sql +SELECT +nextPageToken, +targetSites, +totalSize +FROM google.discoveryengine.site_search_engine_domain_verification_status +WHERE collectionsId = '{{ collectionsId }}' +AND dataStoresId = '{{ dataStoresId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/discoveryengine/suggestion_deny_list_entries/index.md b/docs/google-docs/providers/google/discoveryengine/suggestion_deny_list_entries/index.md index c9def85eb3..7df5857ce3 100644 --- a/docs/google-docs/providers/google/discoveryengine/suggestion_deny_list_entries/index.md +++ b/docs/google-docs/providers/google/discoveryengine/suggestion_deny_list_entries/index.md @@ -1,3 +1,4 @@ + --- title: suggestion_deny_list_entries hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - suggestion_deny_list_entries - discoveryengine - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an suggestion_deny_list_entry resource or lists suggestion_deny_list_entries in a region ## Overview @@ -28,7 +30,9 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| diff --git a/docs/google-docs/providers/google/discoveryengine/target_site_operations/index.md b/docs/google-docs/providers/google/discoveryengine/target_site_operations/index.md index dbd7c04eda..ce3687d05f 100644 --- a/docs/google-docs/providers/google/discoveryengine/target_site_operations/index.md +++ b/docs/google-docs/providers/google/discoveryengine/target_site_operations/index.md @@ -1,3 +1,4 @@ + --- title: target_site_operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - target_site_operations - discoveryengine - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an target_site_operation resource or lists target_site_operations in a region ## Overview @@ -30,14 +32,32 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.discoveryengine.target_site_operations +WHERE collectionsId = '{{ collectionsId }}' +AND dataStoresId = '{{ dataStoresId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/discoveryengine/target_sites/index.md b/docs/google-docs/providers/google/discoveryengine/target_sites/index.md index 7f81623e89..605ea465d2 100644 --- a/docs/google-docs/providers/google/discoveryengine/target_sites/index.md +++ b/docs/google-docs/providers/google/discoveryengine/target_sites/index.md @@ -1,3 +1,4 @@ + --- title: target_sites hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - target_sites - discoveryengine - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an target_site resource or lists target_sites in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. The fully qualified resource name of the target site. `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine/targetSites/{target_site}` The `target_site_id` is system-generated. | +| | `string` | Output only. The fully qualified resource name of the target site. `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine/targetSites/{target_site}` The `target_site_id` is system-generated. | | | `boolean` | Input only. If set to false, a uri_pattern is generated to include all pages whose address contains the provided_uri_pattern. If set to true, an uri_pattern is generated to try to be an exact match of the provided_uri_pattern or just the specific page if the provided_uri_pattern is a specific one. provided_uri_pattern is always normalized to generate the URI pattern to be used by the search engine. | | | `object` | Site search indexing failure reasons. | | | `string` | Output only. This is system-generated based on the provided_uri_pattern. | @@ -40,6 +42,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Verification information for target sites in advanced site search. | | | `string` | The type of the target site, e.g., whether the site is to be included or excluded. | | | `string` | Output only. The target site's last updated time. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -47,13 +50,111 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Gets a list of TargetSites. | | | `SELECT` | | Gets a TargetSite. | | | `SELECT` | | Gets a list of TargetSites. | +| | `INSERT` | | Creates TargetSite in a batch. | | | `INSERT` | | Creates a TargetSite. | +| | `INSERT` | | Creates TargetSite in a batch. | | | `INSERT` | | Creates a TargetSite. | | | `DELETE` | | Deletes a TargetSite. | | | `DELETE` | | Deletes a TargetSite. | | | `UPDATE` | | Updates a TargetSite. | | | `UPDATE` | | Updates a TargetSite. | -| | `EXEC` | | Gets a list of TargetSites. | -| | `EXEC` | | Gets a list of TargetSites. | -| | `EXEC` | | Creates TargetSite in a batch. | -| | `EXEC` | | Creates TargetSite in a batch. | + +## `SELECT` examples + +Gets a list of TargetSites. + +```sql +SELECT +name, +exactMatch, +failureReason, +generatedUriPattern, +indexingStatus, +providedUriPattern, +rootDomainUri, +siteVerificationInfo, +type, +updateTime +FROM google.discoveryengine.target_sites +WHERE dataStoresId = '{{ dataStoresId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new target_sites resource. + + + + +```sql +/*+ create */ +INSERT INTO google.discoveryengine.target_sites ( +dataStoresId, +locationsId, +projectsId, +requests +) +SELECT +'{{ dataStoresId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ requests }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: requests + value: '{{ requests }}' + +``` + + + +## `UPDATE` example + +Updates a target_site only if the necessary resources are available. + +```sql +UPDATE google.discoveryengine.target_sites +SET +name = '{{ name }}', +providedUriPattern = '{{ providedUriPattern }}', +type = '{{ type }}', +exactMatch = true|false, +generatedUriPattern = '{{ generatedUriPattern }}', +rootDomainUri = '{{ rootDomainUri }}', +siteVerificationInfo = '{{ siteVerificationInfo }}', +indexingStatus = '{{ indexingStatus }}', +updateTime = '{{ updateTime }}', +failureReason = '{{ failureReason }}' +WHERE +dataStoresId = '{{ dataStoresId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND targetSitesId = '{{ targetSitesId }}'; +``` + +## `DELETE` example + +Deletes the specified target_site resource. + +```sql +DELETE FROM google.discoveryengine.target_sites +WHERE dataStoresId = '{{ dataStoresId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND targetSitesId = '{{ targetSitesId }}'; +``` diff --git a/docs/google-docs/providers/google/discoveryengine/user_events/index.md b/docs/google-docs/providers/google/discoveryengine/user_events/index.md index 5fdb1afa79..78d6f0b244 100644 --- a/docs/google-docs/providers/google/discoveryengine/user_events/index.md +++ b/docs/google-docs/providers/google/discoveryengine/user_events/index.md @@ -1,3 +1,4 @@ + --- title: user_events hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - user_events - discoveryengine - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an user_event resource or lists user_events in a region ## Overview
@@ -28,14 +30,19 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `EXEC` | | Writes a single user event from the browser. This uses a GET request to due to browser restriction of POST-ing to a third-party domain. This method is used only by the Discovery Engine API JavaScript pixel and Google Tag Manager. Users should not call this method directly. | | | `EXEC` | | Bulk import of user events. Request processing might be synchronous. Events that already exist are skipped. Use this method for backfilling historical user events. Operation.response is of type ImportResponse. Note that it is possible for a subset of the items to be successfully inserted. Operation.metadata is of type ImportMetadata. | +| | `EXEC` | | Deletes permanently all user events specified by the filter provided. Depending on the number of events specified by the filter, this operation could take hours or days to complete. To test a filter, use the list command first. | | | `EXEC` | | Writes a single user event. | | | `EXEC` | | Writes a single user event from the browser. This uses a GET request to due to browser restriction of POST-ing to a third-party domain. This method is used only by the Discovery Engine API JavaScript pixel and Google Tag Manager. Users should not call this method directly. | | | `EXEC` | | Bulk import of user events. Request processing might be synchronous. Events that already exist are skipped. Use this method for backfilling historical user events. Operation.response is of type ImportResponse. Note that it is possible for a subset of the items to be successfully inserted. Operation.metadata is of type ImportMetadata. | +| | `EXEC` | | Deletes permanently all user events specified by the filter provided. Depending on the number of events specified by the filter, this operation could take hours or days to complete. To test a filter, use the list command first. | | | `EXEC` | | Writes a single user event. | +| | `EXEC` | | Writes a single user event from the browser. This uses a GET request to due to browser restriction of POST-ing to a third-party domain. This method is used only by the Discovery Engine API JavaScript pixel and Google Tag Manager. Users should not call this method directly. | | | `EXEC` | | Writes a single user event. | diff --git a/docs/google-docs/providers/google/dlp/column_data_profiles/index.md b/docs/google-docs/providers/google/dlp/column_data_profiles/index.md index a8324dfe50..c34b6bd9ab 100644 --- a/docs/google-docs/providers/google/dlp/column_data_profiles/index.md +++ b/docs/google-docs/providers/google/dlp/column_data_profiles/index.md @@ -1,3 +1,4 @@ + --- title: column_data_profiles hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - column_data_profiles - dlp - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an column_data_profile resource or lists column_data_profiles in a region ## Overview @@ -50,6 +52,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The resource name of the table data profile. | | | `string` | The resource name of the resource this column is within. | | | `string` | The BigQuery table ID. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -57,5 +60,34 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists column data profiles for an organization. | | | `SELECT` | | Gets a column data profile. | | | `SELECT` | | Lists column data profiles for an organization. | -| | `EXEC` | | Lists column data profiles for an organization. | -| | `EXEC` | | Lists column data profiles for an organization. | + +## `SELECT` examples + +Lists column data profiles for an organization. + +```sql +SELECT +name, +column, +columnInfoType, +columnType, +dataRiskLevel, +datasetId, +datasetLocation, +datasetProjectId, +estimatedNullPercentage, +estimatedUniquenessScore, +freeTextScore, +otherMatches, +policyState, +profileLastGenerated, +profileStatus, +sensitivityScore, +state, +tableDataProfile, +tableFullResource, +tableId +FROM google.dlp.column_data_profiles +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/dlp/connections/index.md b/docs/google-docs/providers/google/dlp/connections/index.md index 42380ad189..0d7da5329d 100644 --- a/docs/google-docs/providers/google/dlp/connections/index.md +++ b/docs/google-docs/providers/google/dlp/connections/index.md @@ -1,3 +1,4 @@ + --- title: connections hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - connections - dlp - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an connection resource or lists connections in a region ## Overview
@@ -30,18 +32,104 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. Name of the connection: `projects/{project}/locations/{location}/connections/{name}`. | +| | `string` | Output only. Name of the connection: `projects/{project}/locations/{location}/connections/{name}`. | | | `object` | Cloud SQL connection properties. | | | `array` | Output only. Set if status == ERROR, to provide additional details. Will store the last 10 errors sorted with the most recent first. | | | `string` | Required. The connection's state in its lifecycle. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Get a Connection by name. | +| | `SELECT` | | Lists Connections in a parent. Use SearchConnections to see all connections within an organization. | | | `SELECT` | | Get a Connection by name. | -| | `SELECT` | | Lists Connections in a parent. | +| | `SELECT` | | Lists Connections in a parent. Use SearchConnections to see all connections within an organization. | +| | `INSERT` | | Create a Connection to an external data source. | | | `INSERT` | | Create a Connection to an external data source. | +| | `DELETE` | | Delete a Connection. | | | `DELETE` | | Delete a Connection. | +| | `UPDATE` | | Update a Connection. | | | `UPDATE` | | Update a Connection. | -| | `EXEC` | | Lists Connections in a parent. | | | `EXEC` | | Searches for Connections in a parent. | | | `EXEC` | | Searches for Connections in a parent. | + +## `SELECT` examples + +Lists Connections in a parent. Use SearchConnections to see all connections within an organization. + +```sql +SELECT +name, +cloudSql, +errors, +state +FROM google.dlp.connections +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new connections resource. + + + + +```sql +/*+ create */ +INSERT INTO google.dlp.connections ( +locationsId, +projectsId, +connection +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ connection }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: connection + value: '{{ connection }}' + +``` + + + +## `UPDATE` example + +Updates a connection only if the necessary resources are available. + +```sql +UPDATE google.dlp.connections +SET +updateMask = '{{ updateMask }}', +connection = '{{ connection }}' +WHERE +connectionsId = '{{ connectionsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified connection resource. + +```sql +DELETE FROM google.dlp.connections +WHERE connectionsId = '{{ connectionsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/dlp/content/index.md b/docs/google-docs/providers/google/dlp/content/index.md index d3db6f6379..d489531dd8 100644 --- a/docs/google-docs/providers/google/dlp/content/index.md +++ b/docs/google-docs/providers/google/dlp/content/index.md @@ -1,3 +1,4 @@ + --- title: content hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - content - dlp - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an content resource or lists content in a region ## Overview
@@ -28,7 +30,9 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| diff --git a/docs/google-docs/providers/google/dlp/deidentify_templates/index.md b/docs/google-docs/providers/google/dlp/deidentify_templates/index.md index 3045fc791c..6ceb872c9c 100644 --- a/docs/google-docs/providers/google/dlp/deidentify_templates/index.md +++ b/docs/google-docs/providers/google/dlp/deidentify_templates/index.md @@ -1,3 +1,4 @@ + --- title: deidentify_templates hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - deidentify_templates - dlp - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an deidentify_template resource or lists deidentify_templates in a region ## Overview @@ -36,6 +38,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | The configuration that controls how the data will change. | | | `string` | Display name (max 256 chars). | | | `string` | Output only. The last update timestamp of an inspectTemplate. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -59,7 +62,89 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `UPDATE` | | Updates the DeidentifyTemplate. See https://cloud.google.com/sensitive-data-protection/docs/creating-templates-deid to learn more. | | | `UPDATE` | | Updates the DeidentifyTemplate. See https://cloud.google.com/sensitive-data-protection/docs/creating-templates-deid to learn more. | | | `UPDATE` | | Updates the DeidentifyTemplate. See https://cloud.google.com/sensitive-data-protection/docs/creating-templates-deid to learn more. | -| | `EXEC` | | Lists DeidentifyTemplates. See https://cloud.google.com/sensitive-data-protection/docs/creating-templates-deid to learn more. | -| | `EXEC` | | Lists DeidentifyTemplates. See https://cloud.google.com/sensitive-data-protection/docs/creating-templates-deid to learn more. | -| | `EXEC` | | Lists DeidentifyTemplates. See https://cloud.google.com/sensitive-data-protection/docs/creating-templates-deid to learn more. | -| | `EXEC` | | Lists DeidentifyTemplates. See https://cloud.google.com/sensitive-data-protection/docs/creating-templates-deid to learn more. | + +## `SELECT` examples + +Lists DeidentifyTemplates. See https://cloud.google.com/sensitive-data-protection/docs/creating-templates-deid to learn more. + +```sql +SELECT +name, +description, +createTime, +deidentifyConfig, +displayName, +updateTime +FROM google.dlp.deidentify_templates +WHERE projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new deidentify_templates resource. + + + + +```sql +/*+ create */ +INSERT INTO google.dlp.deidentify_templates ( +projectsId, +locationId, +deidentifyTemplate, +templateId +) +SELECT +'{{ projectsId }}', +'{{ locationId }}', +'{{ deidentifyTemplate }}', +'{{ templateId }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: locationId + value: '{{ locationId }}' + - name: deidentifyTemplate + value: '{{ deidentifyTemplate }}' + - name: templateId + value: '{{ templateId }}' + +``` + + + +## `UPDATE` example + +Updates a deidentify_template only if the necessary resources are available. + +```sql +UPDATE google.dlp.deidentify_templates +SET +deidentifyTemplate = '{{ deidentifyTemplate }}', +updateMask = '{{ updateMask }}' +WHERE +deidentifyTemplatesId = '{{ deidentifyTemplatesId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified deidentify_template resource. + +```sql +DELETE FROM google.dlp.deidentify_templates +WHERE deidentifyTemplatesId = '{{ deidentifyTemplatesId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/dlp/discovery_configs/index.md b/docs/google-docs/providers/google/dlp/discovery_configs/index.md index a547de4356..4bb4926fd0 100644 --- a/docs/google-docs/providers/google/dlp/discovery_configs/index.md +++ b/docs/google-docs/providers/google/dlp/discovery_configs/index.md @@ -1,3 +1,4 @@ + --- title: discovery_configs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - discovery_configs - dlp - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an discovery_config resource or lists discovery_configs in a region ## Overview
@@ -41,6 +43,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Required. A status for this configuration. | | | `array` | Target to match against for determining what to scan and how frequently. | | | `string` | Output only. The last update timestamp of a DiscoveryConfig. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -54,5 +57,95 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `DELETE` | | Deletes a discovery configuration. | | | `UPDATE` | | Updates a discovery configuration. | | | `UPDATE` | | Updates a discovery configuration. | -| | `EXEC` | | Lists discovery configurations. | -| | `EXEC` | | Lists discovery configurations. | + +## `SELECT` examples + +Lists discovery configurations. + +```sql +SELECT +name, +actions, +createTime, +displayName, +errors, +inspectTemplates, +lastRunTime, +orgConfig, +status, +targets, +updateTime +FROM google.dlp.discovery_configs +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new discovery_configs resource. + + + + +```sql +/*+ create */ +INSERT INTO google.dlp.discovery_configs ( +locationsId, +projectsId, +configId, +discoveryConfig +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ configId }}', +'{{ discoveryConfig }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: configId + value: '{{ configId }}' + - name: discoveryConfig + value: '{{ discoveryConfig }}' + +``` + + + +## `UPDATE` example + +Updates a discovery_config only if the necessary resources are available. + +```sql +UPDATE google.dlp.discovery_configs +SET +updateMask = '{{ updateMask }}', +discoveryConfig = '{{ discoveryConfig }}' +WHERE +discoveryConfigsId = '{{ discoveryConfigsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified discovery_config resource. + +```sql +DELETE FROM google.dlp.discovery_configs +WHERE discoveryConfigsId = '{{ discoveryConfigsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/dlp/dlp_jobs/index.md b/docs/google-docs/providers/google/dlp/dlp_jobs/index.md index c4c19ff083..8527880528 100644 --- a/docs/google-docs/providers/google/dlp/dlp_jobs/index.md +++ b/docs/google-docs/providers/google/dlp/dlp_jobs/index.md @@ -1,3 +1,4 @@ + --- title: dlp_jobs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - dlp_jobs - dlp - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an dlp_job resource or lists dlp_jobs in a region ## Overview
@@ -42,6 +44,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Time when the job started. | | | `string` | State of a job. | | | `string` | The type of job. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -54,10 +57,89 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new job to inspect storage or calculate risk metrics. See https://cloud.google.com/sensitive-data-protection/docs/inspecting-storage and https://cloud.google.com/sensitive-data-protection/docs/compute-risk-analysis to learn more. When no InfoTypes or CustomInfoTypes are specified in inspect jobs, the system will automatically choose what detectors to run. By default this may be all types, but may change over time as detectors are updated. | | | `DELETE` | | Deletes a long-running DlpJob. This method indicates that the client is no longer interested in the DlpJob result. The job will be canceled if possible. See https://cloud.google.com/sensitive-data-protection/docs/inspecting-storage and https://cloud.google.com/sensitive-data-protection/docs/compute-risk-analysis to learn more. | | | `DELETE` | | Deletes a long-running DlpJob. This method indicates that the client is no longer interested in the DlpJob result. The job will be canceled if possible. See https://cloud.google.com/sensitive-data-protection/docs/inspecting-storage and https://cloud.google.com/sensitive-data-protection/docs/compute-risk-analysis to learn more. | -| | `EXEC` | | Lists DlpJobs that match the specified filter in the request. See https://cloud.google.com/sensitive-data-protection/docs/inspecting-storage and https://cloud.google.com/sensitive-data-protection/docs/compute-risk-analysis to learn more. | -| | `EXEC` | | Lists DlpJobs that match the specified filter in the request. See https://cloud.google.com/sensitive-data-protection/docs/inspecting-storage and https://cloud.google.com/sensitive-data-protection/docs/compute-risk-analysis to learn more. | -| | `EXEC` | | Lists DlpJobs that match the specified filter in the request. See https://cloud.google.com/sensitive-data-protection/docs/inspecting-storage and https://cloud.google.com/sensitive-data-protection/docs/compute-risk-analysis to learn more. | | | `EXEC` | | Starts asynchronous cancellation on a long-running DlpJob. The server makes a best effort to cancel the DlpJob, but success is not guaranteed. See https://cloud.google.com/sensitive-data-protection/docs/inspecting-storage and https://cloud.google.com/sensitive-data-protection/docs/compute-risk-analysis to learn more. | | | `EXEC` | | Starts asynchronous cancellation on a long-running DlpJob. The server makes a best effort to cancel the DlpJob, but success is not guaranteed. See https://cloud.google.com/sensitive-data-protection/docs/inspecting-storage and https://cloud.google.com/sensitive-data-protection/docs/compute-risk-analysis to learn more. | | | `EXEC` | | Finish a running hybrid DlpJob. Triggers the finalization steps and running of any enabled actions that have not yet run. | | | `EXEC` | | Inspect hybrid content and store findings to a job. To review the findings, inspect the job. Inspection will occur asynchronously. | + +## `SELECT` examples + +Lists DlpJobs that match the specified filter in the request. See https://cloud.google.com/sensitive-data-protection/docs/inspecting-storage and https://cloud.google.com/sensitive-data-protection/docs/compute-risk-analysis to learn more. + +```sql +SELECT +name, +actionDetails, +createTime, +endTime, +errors, +inspectDetails, +jobTriggerName, +lastModified, +riskDetails, +startTime, +state, +type +FROM google.dlp.dlp_jobs +WHERE projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new dlp_jobs resource. + + + + +```sql +/*+ create */ +INSERT INTO google.dlp.dlp_jobs ( +projectsId, +jobId, +inspectJob, +locationId, +riskJob +) +SELECT +'{{ projectsId }}', +'{{ jobId }}', +'{{ inspectJob }}', +'{{ locationId }}', +'{{ riskJob }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: jobId + value: '{{ jobId }}' + - name: inspectJob + value: '{{ inspectJob }}' + - name: locationId + value: '{{ locationId }}' + - name: riskJob + value: '{{ riskJob }}' + +``` + + + +## `DELETE` example + +Deletes the specified dlp_job resource. + +```sql +DELETE FROM google.dlp.dlp_jobs +WHERE dlpJobsId = '{{ dlpJobsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/dlp/file_store_data_profiles/index.md b/docs/google-docs/providers/google/dlp/file_store_data_profiles/index.md new file mode 100644 index 0000000000..ff1d8c15ce --- /dev/null +++ b/docs/google-docs/providers/google/dlp/file_store_data_profiles/index.md @@ -0,0 +1,112 @@ + +--- +title: file_store_data_profiles +hide_title: false +hide_table_of_contents: false +keywords: + - file_store_data_profiles + - dlp + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an file_store_data_profile resource or lists file_store_data_profiles in a region + +## Overview +
+ + + +
Namefile_store_data_profiles
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | The name of the profile. | +| | `object` | Snapshot of the configurations used to generate the profile. | +| | `string` | The time the file store was first created. | +| | `object` | Score is a summary of all elements in the data profile. A higher number means more risk. | +| | `object` | Message used to identify the type of resource being profiled. | +| | `array` | For resources that have multiple storage locations, these are those regions. For Cloud Storage this is the list of regions chosen for dual-region storage. `file_store_location` will normally be the corresponding multi-region for the list of individual locations. The first region is always picked as the processing and storage location for the data profile. | +| | `array` | FileClusterSummary per each cluster. | +| | `array` | InfoTypes detected in this file store. | +| | `boolean` | The file store does not have any files. | +| | `string` | The location of the file store. * Cloud Storage: https://cloud.google.com/storage/docs/locations#available-locations | +| | `string` | The file store path. * Cloud Storage: `gs://{bucket}` | +| | `string` | The resource name of the resource profiled. https://cloud.google.com/apis/design/resource_names#full_resource_name | +| | `string` | The time the file store was last modified. | +| | `string` | The location type of the bucket (region, dual-region, multi-region, etc). If dual-region, expect data_storage_locations to be populated. | +| | `string` | The last time the profile was generated. | +| | `object` | Success or errors for the profile generation. | +| | `string` | The resource name of the project data profile for this file store. | +| | `string` | The Google Cloud project ID that owns the resource. | +| | `object` | Attributes of the resource being profiled. Currently used attributes: * customer_managed_encryption: boolean - true: the resource is encrypted with a customer-managed key. - false: the resource is encrypted with a provider-managed key. | +| | `object` | The labels applied to the resource at the time the profile was generated. | +| | `string` | How broadly a resource has been shared. | +| | `object` | Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. | +| | `string` | State of a profile. | + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets a file store data profile. | +| | `SELECT` | | Lists file store data profiles for an organization. | +| | `SELECT` | | Gets a file store data profile. | +| | `SELECT` | | Lists file store data profiles for an organization. | +| | `DELETE` | | Delete a FileStoreDataProfile. Will not prevent the profile from being regenerated if the resource is still included in a discovery configuration. | +| | `DELETE` | | Delete a FileStoreDataProfile. Will not prevent the profile from being regenerated if the resource is still included in a discovery configuration. | + +## `SELECT` examples + +Lists file store data profiles for an organization. + +```sql +SELECT +name, +configSnapshot, +createTime, +dataRiskLevel, +dataSourceType, +dataStorageLocations, +fileClusterSummaries, +fileStoreInfoTypeSummaries, +fileStoreIsEmpty, +fileStoreLocation, +fileStorePath, +fullResource, +lastModifiedTime, +locationType, +profileLastGenerated, +profileStatus, +projectDataProfile, +projectId, +resourceAttributes, +resourceLabels, +resourceVisibility, +sensitivityScore, +state +FROM google.dlp.file_store_data_profiles +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified file_store_data_profile resource. + +```sql +DELETE FROM google.dlp.file_store_data_profiles +WHERE fileStoreDataProfilesId = '{{ fileStoreDataProfilesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/dlp/image/index.md b/docs/google-docs/providers/google/dlp/image/index.md index ef37bab0cd..f9a062fd57 100644 --- a/docs/google-docs/providers/google/dlp/image/index.md +++ b/docs/google-docs/providers/google/dlp/image/index.md @@ -1,3 +1,4 @@ + --- title: image hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - image - dlp - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an image resource or lists image in a region ## Overview @@ -28,9 +30,11 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Redacts potentially sensitive info from an image. This method has limits on input size, processing time, and output size. See https://cloud.google.com/sensitive-data-protection/docs/redacting-sensitive-data-images to learn more. When no InfoTypes or CustomInfoTypes are specified in this request, the system will automatically choose what detectors to run. By default this may be all types, but may change over time as detectors are updated. | +| | `EXEC` | | Redacts potentially sensitive info from an image. This method has limits on input size, processing time, and output size. See https://cloud.google.com/sensitive-data-protection/docs/redacting-sensitive-data-images to learn more. When no InfoTypes or CustomInfoTypes are specified in this request, the system will automatically choose what detectors to run. By default this may be all types, but may change over time as detectors are updated. | diff --git a/docs/google-docs/providers/google/dlp/index.md b/docs/google-docs/providers/google/dlp/index.md index 13ea10e03e..1e5f67147a 100644 --- a/docs/google-docs/providers/google/dlp/index.md +++ b/docs/google-docs/providers/google/dlp/index.md @@ -9,34 +9,23 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Discover and protect your sensitive data. A fully managed service designed to help you discover, classify, and protect your valuable data assets with ease. - +The dlp service documentation. + :::info Service Summary
-total resources: 13
-total selectable resources: 11
-total methods: 159
+total resources: 14
::: -## Overview - - - - - - -
Namegoogle.dlp
TypeService
TitleSensitive Data Protection (DLP)
DescriptionDiscover and protect your sensitive data. A fully managed service designed to help you discover, classify, and protect your valuable data assets with ease.
Iddlp:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/dlp/info_types/index.md b/docs/google-docs/providers/google/dlp/info_types/index.md index b2c505ef32..c349b73316 100644 --- a/docs/google-docs/providers/google/dlp/info_types/index.md +++ b/docs/google-docs/providers/google/dlp/info_types/index.md @@ -1,3 +1,4 @@ + --- title: info_types hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - info_types - dlp - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an info_type resource or lists info_types in a region ## Overview @@ -28,8 +30,23 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `array` | Set of sensitive infoTypes. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Returns a list of the sensitive information types that DLP API supports. See https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference to learn more. | +| | `SELECT` | | Returns a list of the sensitive information types that DLP API supports. See https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference to learn more. | + +## `SELECT` examples + +Returns a list of the sensitive information types that DLP API supports. See https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference to learn more. + +```sql +SELECT +infoTypes +FROM google.dlp.info_types +WHERE = '{{ }}'; +``` diff --git a/docs/google-docs/providers/google/dlp/inspect_templates/index.md b/docs/google-docs/providers/google/dlp/inspect_templates/index.md index 17500e3ffa..072049186e 100644 --- a/docs/google-docs/providers/google/dlp/inspect_templates/index.md +++ b/docs/google-docs/providers/google/dlp/inspect_templates/index.md @@ -1,3 +1,4 @@ + --- title: inspect_templates hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - inspect_templates - dlp - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an inspect_template resource or lists inspect_templates in a region ## Overview @@ -36,6 +38,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Display name (max 256 chars). | | | `object` | Configuration description of the scanning process. When used with redactContent only info_types and min_likelihood are currently used. | | | `string` | Output only. The last update timestamp of an inspectTemplate. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -59,7 +62,89 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `UPDATE` | | Updates the InspectTemplate. See https://cloud.google.com/sensitive-data-protection/docs/creating-templates to learn more. | | | `UPDATE` | | Updates the InspectTemplate. See https://cloud.google.com/sensitive-data-protection/docs/creating-templates to learn more. | | | `UPDATE` | | Updates the InspectTemplate. See https://cloud.google.com/sensitive-data-protection/docs/creating-templates to learn more. | -| | `EXEC` | | Lists InspectTemplates. See https://cloud.google.com/sensitive-data-protection/docs/creating-templates to learn more. | -| | `EXEC` | | Lists InspectTemplates. See https://cloud.google.com/sensitive-data-protection/docs/creating-templates to learn more. | -| | `EXEC` | | Lists InspectTemplates. See https://cloud.google.com/sensitive-data-protection/docs/creating-templates to learn more. | -| | `EXEC` | | Lists InspectTemplates. See https://cloud.google.com/sensitive-data-protection/docs/creating-templates to learn more. | + +## `SELECT` examples + +Lists InspectTemplates. See https://cloud.google.com/sensitive-data-protection/docs/creating-templates to learn more. + +```sql +SELECT +name, +description, +createTime, +displayName, +inspectConfig, +updateTime +FROM google.dlp.inspect_templates +WHERE projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new inspect_templates resource. + + + + +```sql +/*+ create */ +INSERT INTO google.dlp.inspect_templates ( +projectsId, +templateId, +locationId, +inspectTemplate +) +SELECT +'{{ projectsId }}', +'{{ templateId }}', +'{{ locationId }}', +'{{ inspectTemplate }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: templateId + value: '{{ templateId }}' + - name: locationId + value: '{{ locationId }}' + - name: inspectTemplate + value: '{{ inspectTemplate }}' + +``` + + + +## `UPDATE` example + +Updates a inspect_template only if the necessary resources are available. + +```sql +UPDATE google.dlp.inspect_templates +SET +inspectTemplate = '{{ inspectTemplate }}', +updateMask = '{{ updateMask }}' +WHERE +inspectTemplatesId = '{{ inspectTemplatesId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified inspect_template resource. + +```sql +DELETE FROM google.dlp.inspect_templates +WHERE inspectTemplatesId = '{{ inspectTemplatesId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/dlp/job_triggers/index.md b/docs/google-docs/providers/google/dlp/job_triggers/index.md index 2de758510a..a94eecbcb0 100644 --- a/docs/google-docs/providers/google/dlp/job_triggers/index.md +++ b/docs/google-docs/providers/google/dlp/job_triggers/index.md @@ -1,3 +1,4 @@ + --- title: job_triggers hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - job_triggers - dlp - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an job_trigger resource or lists job_triggers in a region ## Overview
@@ -40,6 +42,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Required. A status for this trigger. | | | `array` | A list of triggers which will be OR'ed together. Only one in the list needs to trigger for a job to be started. The list may contain only a single Schedule trigger and must have at least one object. | | | `string` | Output only. The last update timestamp of a triggeredJob. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -58,9 +61,96 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `UPDATE` | | Updates a job trigger. See https://cloud.google.com/sensitive-data-protection/docs/creating-job-triggers to learn more. | | | `UPDATE` | | Updates a job trigger. See https://cloud.google.com/sensitive-data-protection/docs/creating-job-triggers to learn more. | | | `UPDATE` | | Updates a job trigger. See https://cloud.google.com/sensitive-data-protection/docs/creating-job-triggers to learn more. | -| | `EXEC` | | Lists job triggers. See https://cloud.google.com/sensitive-data-protection/docs/creating-job-triggers to learn more. | -| | `EXEC` | | Lists job triggers. See https://cloud.google.com/sensitive-data-protection/docs/creating-job-triggers to learn more. | -| | `EXEC` | | Lists job triggers. See https://cloud.google.com/sensitive-data-protection/docs/creating-job-triggers to learn more. | | | `EXEC` | | Activate a job trigger. Causes the immediate execute of a trigger instead of waiting on the trigger event to occur. | | | `EXEC` | | Activate a job trigger. Causes the immediate execute of a trigger instead of waiting on the trigger event to occur. | | | `EXEC` | | Inspect hybrid content and store findings to a trigger. The inspection will be processed asynchronously. To review the findings monitor the jobs within the trigger. | + +## `SELECT` examples + +Lists job triggers. See https://cloud.google.com/sensitive-data-protection/docs/creating-job-triggers to learn more. + +```sql +SELECT +name, +description, +createTime, +displayName, +errors, +inspectJob, +lastRunTime, +status, +triggers, +updateTime +FROM google.dlp.job_triggers +WHERE projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new job_triggers resource. + + + + +```sql +/*+ create */ +INSERT INTO google.dlp.job_triggers ( +projectsId, +jobTrigger, +triggerId, +locationId +) +SELECT +'{{ projectsId }}', +'{{ jobTrigger }}', +'{{ triggerId }}', +'{{ locationId }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: jobTrigger + value: '{{ jobTrigger }}' + - name: triggerId + value: '{{ triggerId }}' + - name: locationId + value: '{{ locationId }}' + +``` + + + +## `UPDATE` example + +Updates a job_trigger only if the necessary resources are available. + +```sql +UPDATE google.dlp.job_triggers +SET +updateMask = '{{ updateMask }}', +jobTrigger = '{{ jobTrigger }}' +WHERE +jobTriggersId = '{{ jobTriggersId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified job_trigger resource. + +```sql +DELETE FROM google.dlp.job_triggers +WHERE jobTriggersId = '{{ jobTriggersId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/dlp/project_data_profiles/index.md b/docs/google-docs/providers/google/dlp/project_data_profiles/index.md index 141078a638..1ccea41165 100644 --- a/docs/google-docs/providers/google/dlp/project_data_profiles/index.md +++ b/docs/google-docs/providers/google/dlp/project_data_profiles/index.md @@ -1,3 +1,4 @@ + --- title: project_data_profiles hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - project_data_profiles - dlp - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an project_data_profile resource or lists project_data_profiles in a region ## Overview
@@ -32,10 +34,13 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | The resource name of the profile. | | | `object` | Score is a summary of all elements in the data profile. A higher number means more risk. | +| | `string` | The number of file store data profiles generated for this project. | | | `string` | The last time the profile was generated. | | | `object` | Success or errors for the profile generation. | -| | `string` | Project ID that was profiled. | +| | `string` | Project ID or account that was profiled. | | | `object` | Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. | +| | `string` | The number of table data profiles generated for this project. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -43,5 +48,22 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists project data profiles for an organization. | | | `SELECT` | | Gets a project data profile. | | | `SELECT` | | Lists project data profiles for an organization. | -| | `EXEC` | | Lists project data profiles for an organization. | -| | `EXEC` | | Lists project data profiles for an organization. | + +## `SELECT` examples + +Lists project data profiles for an organization. + +```sql +SELECT +name, +dataRiskLevel, +fileStoreDataProfileCount, +profileLastGenerated, +profileStatus, +projectId, +sensitivityScore, +tableDataProfileCount +FROM google.dlp.project_data_profiles +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/dlp/stored_info_types/index.md b/docs/google-docs/providers/google/dlp/stored_info_types/index.md index 3846482d54..288d05c906 100644 --- a/docs/google-docs/providers/google/dlp/stored_info_types/index.md +++ b/docs/google-docs/providers/google/dlp/stored_info_types/index.md @@ -1,3 +1,4 @@ + --- title: stored_info_types hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - stored_info_types - dlp - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an stored_info_type resource or lists stored_info_types in a region ## Overview
@@ -33,6 +35,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Resource name. | | | `object` | Version of a StoredInfoType, including the configuration used to build it, create timestamp, and current state. | | | `array` | Pending versions of the stored info type. Empty if no versions are pending. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -56,7 +59,86 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `UPDATE` | | Updates the stored infoType by creating a new version. The existing version will continue to be used until the new version is ready. See https://cloud.google.com/sensitive-data-protection/docs/creating-stored-infotypes to learn more. | | | `UPDATE` | | Updates the stored infoType by creating a new version. The existing version will continue to be used until the new version is ready. See https://cloud.google.com/sensitive-data-protection/docs/creating-stored-infotypes to learn more. | | | `UPDATE` | | Updates the stored infoType by creating a new version. The existing version will continue to be used until the new version is ready. See https://cloud.google.com/sensitive-data-protection/docs/creating-stored-infotypes to learn more. | -| | `EXEC` | | Lists stored infoTypes. See https://cloud.google.com/sensitive-data-protection/docs/creating-stored-infotypes to learn more. | -| | `EXEC` | | Lists stored infoTypes. See https://cloud.google.com/sensitive-data-protection/docs/creating-stored-infotypes to learn more. | -| | `EXEC` | | Lists stored infoTypes. See https://cloud.google.com/sensitive-data-protection/docs/creating-stored-infotypes to learn more. | -| | `EXEC` | | Lists stored infoTypes. See https://cloud.google.com/sensitive-data-protection/docs/creating-stored-infotypes to learn more. | + +## `SELECT` examples + +Lists stored infoTypes. See https://cloud.google.com/sensitive-data-protection/docs/creating-stored-infotypes to learn more. + +```sql +SELECT +name, +currentVersion, +pendingVersions +FROM google.dlp.stored_info_types +WHERE projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new stored_info_types resource. + + + + +```sql +/*+ create */ +INSERT INTO google.dlp.stored_info_types ( +projectsId, +storedInfoTypeId, +locationId, +config +) +SELECT +'{{ projectsId }}', +'{{ storedInfoTypeId }}', +'{{ locationId }}', +'{{ config }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: storedInfoTypeId + value: '{{ storedInfoTypeId }}' + - name: locationId + value: '{{ locationId }}' + - name: config + value: '{{ config }}' + +``` + + + +## `UPDATE` example + +Updates a stored_info_type only if the necessary resources are available. + +```sql +UPDATE google.dlp.stored_info_types +SET +updateMask = '{{ updateMask }}', +config = '{{ config }}' +WHERE +projectsId = '{{ projectsId }}' +AND storedInfoTypesId = '{{ storedInfoTypesId }}'; +``` + +## `DELETE` example + +Deletes the specified stored_info_type resource. + +```sql +DELETE FROM google.dlp.stored_info_types +WHERE projectsId = '{{ projectsId }}' +AND storedInfoTypesId = '{{ storedInfoTypesId }}'; +``` diff --git a/docs/google-docs/providers/google/dlp/table_data_profiles/index.md b/docs/google-docs/providers/google/dlp/table_data_profiles/index.md index 360c22fdf2..29e4d36892 100644 --- a/docs/google-docs/providers/google/dlp/table_data_profiles/index.md +++ b/docs/google-docs/providers/google/dlp/table_data_profiles/index.md @@ -1,3 +1,4 @@ + --- title: table_data_profiles hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - table_data_profiles - dlp - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an table_data_profile resource or lists table_data_profiles in a region ## Overview
@@ -47,7 +49,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `array` | The infoTypes predicted from this table's data. | | | `string` | The last time the profile was generated. | | | `object` | Success or errors for the profile generation. | -| | `string` | The resource name to the project data profile for this table. | +| | `string` | The resource name of the project data profile for this table. | | | `object` | The labels applied to the resource at the time the profile was generated. | | | `string` | How broadly a resource has been shared. | | | `string` | Number of rows in the table when the profile was generated. This will not be populated for BigLake tables. | @@ -56,6 +58,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | State of a profile. | | | `string` | If the resource is BigQuery, the BigQuery table ID. | | | `string` | The size of the table when the profile was generated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -65,5 +68,51 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists table data profiles for an organization. | | | `DELETE` | | Delete a TableDataProfile. Will not prevent the profile from being regenerated if the table is still included in a discovery configuration. | | | `DELETE` | | Delete a TableDataProfile. Will not prevent the profile from being regenerated if the table is still included in a discovery configuration. | -| | `EXEC` | | Lists table data profiles for an organization. | -| | `EXEC` | | Lists table data profiles for an organization. | + +## `SELECT` examples + +Lists table data profiles for an organization. + +```sql +SELECT +name, +configSnapshot, +createTime, +dataRiskLevel, +dataSourceType, +datasetId, +datasetLocation, +datasetProjectId, +encryptionStatus, +expirationTime, +failedColumnCount, +fullResource, +lastModifiedTime, +otherInfoTypes, +predictedInfoTypes, +profileLastGenerated, +profileStatus, +projectDataProfile, +resourceLabels, +resourceVisibility, +rowCount, +scannedColumnCount, +sensitivityScore, +state, +tableId, +tableSizeBytes +FROM google.dlp.table_data_profiles +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified table_data_profile resource. + +```sql +DELETE FROM google.dlp.table_data_profiles +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND tableDataProfilesId = '{{ tableDataProfilesId }}'; +``` diff --git a/docs/google-docs/providers/google/dns/changes/index.md b/docs/google-docs/providers/google/dns/changes/index.md index 15b91a92c1..55d4405744 100644 --- a/docs/google-docs/providers/google/dns/changes/index.md +++ b/docs/google-docs/providers/google/dns/changes/index.md @@ -1,3 +1,4 @@ + --- title: changes hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - changes - dns - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an change resource or lists changes in a region ## Overview
@@ -37,10 +39,92 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | | | | `string` | The time that this operation was started by the server (output only). This is in RFC3339 text format. | | | `string` | Status of the operation (output only). A status of "done" means that the request to update the authoritative servers has been sent, but the servers might not be updated yet. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Fetches the representation of an existing Change. | | | `SELECT` | | Enumerates Changes to a ResourceRecordSet collection. | | | `INSERT` | | Atomically updates the ResourceRecordSet collection. | -| | `EXEC` | | Enumerates Changes to a ResourceRecordSet collection. | + +## `SELECT` examples + +Enumerates Changes to a ResourceRecordSet collection. + +```sql +SELECT +id, +additions, +deletions, +isServing, +kind, +startTime, +status +FROM google.dns.changes +WHERE managedZone = '{{ managedZone }}' +AND project = '{{ project }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new changes resource. + + + + +```sql +/*+ create */ +INSERT INTO google.dns.changes ( +managedZone, +project, +additions, +deletions, +startTime, +id, +status, +isServing, +kind +) +SELECT +'{{ managedZone }}', +'{{ project }}', +'{{ additions }}', +'{{ deletions }}', +'{{ startTime }}', +'{{ id }}', +'{{ status }}', +true|false, +'{{ kind }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: additions + value: '{{ additions }}' + - name: deletions + value: '{{ deletions }}' + - name: startTime + value: '{{ startTime }}' + - name: id + value: '{{ id }}' + - name: status + value: '{{ status }}' + - name: isServing + value: '{{ isServing }}' + - name: kind + value: '{{ kind }}' + +``` + + diff --git a/docs/google-docs/providers/google/dns/dns_keys/index.md b/docs/google-docs/providers/google/dns/dns_keys/index.md index 30ddf75113..1efebb3ed4 100644 --- a/docs/google-docs/providers/google/dns/dns_keys/index.md +++ b/docs/google-docs/providers/google/dns/dns_keys/index.md @@ -1,3 +1,4 @@ + --- title: dns_keys hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - dns_keys - dns - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an dns_key resource or lists dns_keys in a region ## Overview
@@ -41,9 +43,31 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | | | | `string` | Base64 encoded public half of this key. Output only. | | | `string` | One of "KEY_SIGNING" or "ZONE_SIGNING". Keys of type KEY_SIGNING have the Secure Entry Point flag set and, when active, are used to sign only resource record sets of type DNSKEY. Otherwise, the Secure Entry Point flag is cleared, and this key is used to sign only resource record sets of other types. Immutable after creation time. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Fetches the representation of an existing DnsKey. | | | `SELECT` | | Enumerates DnsKeys to a ResourceRecordSet collection. | -| | `EXEC` | | Enumerates DnsKeys to a ResourceRecordSet collection. | + +## `SELECT` examples + +Enumerates DnsKeys to a ResourceRecordSet collection. + +```sql +SELECT +id, +description, +algorithm, +creationTime, +digests, +isActive, +keyLength, +keyTag, +kind, +publicKey, +type +FROM google.dns.dns_keys +WHERE managedZone = '{{ managedZone }}' +AND project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/dns/index.md b/docs/google-docs/providers/google/dns/index.md index c5439f4b97..a975cf8af7 100644 --- a/docs/google-docs/providers/google/dns/index.md +++ b/docs/google-docs/providers/google/dns/index.md @@ -9,34 +9,23 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- - - +The dns service documentation. + :::info Service Summary
total resources: 10
-total selectable resources: 10
-total methods: 49
::: -## Overview -
- - - - - -
Namegoogle.dns
TypeService
TitleCloud DNS API
Description
Iddns:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/dns/managed_zone_operations/index.md b/docs/google-docs/providers/google/dns/managed_zone_operations/index.md index 12d8c573d7..7ab50cda40 100644 --- a/docs/google-docs/providers/google/dns/managed_zone_operations/index.md +++ b/docs/google-docs/providers/google/dns/managed_zone_operations/index.md @@ -1,3 +1,4 @@ + --- title: managed_zone_operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - managed_zone_operations - dns - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an managed_zone_operation resource or lists managed_zone_operations in a region ## Overview @@ -38,9 +40,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Type of the operation. Operations include insert, update, and delete (output only). | | | `string` | User who requested the operation, for example: user@example.com. cloud-dns-system for operations automatically done by the system. (output only) | | | `object` | | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Fetches the representation of an existing Operation. | | | `SELECT` | | Enumerates Operations for the given ManagedZone. | -| | `EXEC` | | Enumerates Operations for the given ManagedZone. | + +## `SELECT` examples + +Enumerates Operations for the given ManagedZone. + +```sql +SELECT +id, +dnsKeyContext, +kind, +startTime, +status, +type, +user, +zoneContext +FROM google.dns.managed_zone_operations +WHERE managedZone = '{{ managedZone }}' +AND project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/dns/managed_zones/index.md b/docs/google-docs/providers/google/dns/managed_zones/index.md index 9823ad96ec..13ecd943f9 100644 --- a/docs/google-docs/providers/google/dns/managed_zones/index.md +++ b/docs/google-docs/providers/google/dns/managed_zones/index.md @@ -1,3 +1,4 @@ + --- title: managed_zones hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - managed_zones - dns - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an managed_zone resource or lists managed_zones in a region ## Overview
@@ -47,6 +49,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | | | | `object` | Contains information about Service Directory-backed zones. | | | `string` | The zone's visibility: public zones are exposed to the Internet, while private zones are visible only to Virtual Private Cloud resources. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -55,5 +58,172 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new ManagedZone. | | | `DELETE` | | Deletes a previously created ManagedZone. | | | `UPDATE` | | Applies a partial update to an existing ManagedZone. | -| | `UPDATE` | | Updates an existing ManagedZone. | -| | `EXEC` | | Enumerates ManagedZones that have been created but not yet deleted. | +| | `EXEC` | | Updates an existing ManagedZone. | + +## `SELECT` examples + +Enumerates ManagedZones that have been created but not yet deleted. + +```sql +SELECT +id, +name, +description, +cloudLoggingConfig, +creationTime, +dnsName, +dnssecConfig, +forwardingConfig, +kind, +labels, +nameServerSet, +nameServers, +peeringConfig, +privateVisibilityConfig, +reverseLookupConfig, +serviceDirectoryConfig, +visibility +FROM google.dns.managed_zones +WHERE project = '{{ project }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new managed_zones resource. + + + + +```sql +/*+ create */ +INSERT INTO google.dns.managed_zones ( +project, +name, +dnsName, +description, +id, +nameServers, +creationTime, +dnssecConfig, +nameServerSet, +visibility, +privateVisibilityConfig, +forwardingConfig, +labels, +peeringConfig, +reverseLookupConfig, +serviceDirectoryConfig, +cloudLoggingConfig, +kind +) +SELECT +'{{ project }}', +'{{ name }}', +'{{ dnsName }}', +'{{ description }}', +'{{ id }}', +'{{ nameServers }}', +'{{ creationTime }}', +'{{ dnssecConfig }}', +'{{ nameServerSet }}', +'{{ visibility }}', +'{{ privateVisibilityConfig }}', +'{{ forwardingConfig }}', +'{{ labels }}', +'{{ peeringConfig }}', +'{{ reverseLookupConfig }}', +'{{ serviceDirectoryConfig }}', +'{{ cloudLoggingConfig }}', +'{{ kind }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: dnsName + value: '{{ dnsName }}' + - name: description + value: '{{ description }}' + - name: id + value: '{{ id }}' + - name: nameServers + value: '{{ nameServers }}' + - name: creationTime + value: '{{ creationTime }}' + - name: dnssecConfig + value: '{{ dnssecConfig }}' + - name: nameServerSet + value: '{{ nameServerSet }}' + - name: visibility + value: '{{ visibility }}' + - name: privateVisibilityConfig + value: '{{ privateVisibilityConfig }}' + - name: forwardingConfig + value: '{{ forwardingConfig }}' + - name: labels + value: '{{ labels }}' + - name: peeringConfig + value: '{{ peeringConfig }}' + - name: reverseLookupConfig + value: '{{ reverseLookupConfig }}' + - name: serviceDirectoryConfig + value: '{{ serviceDirectoryConfig }}' + - name: cloudLoggingConfig + value: '{{ cloudLoggingConfig }}' + - name: kind + value: '{{ kind }}' + +``` + + + +## `UPDATE` example + +Updates a managed_zone only if the necessary resources are available. + +```sql +UPDATE google.dns.managed_zones +SET +name = '{{ name }}', +dnsName = '{{ dnsName }}', +description = '{{ description }}', +id = '{{ id }}', +nameServers = '{{ nameServers }}', +creationTime = '{{ creationTime }}', +dnssecConfig = '{{ dnssecConfig }}', +nameServerSet = '{{ nameServerSet }}', +visibility = '{{ visibility }}', +privateVisibilityConfig = '{{ privateVisibilityConfig }}', +forwardingConfig = '{{ forwardingConfig }}', +labels = '{{ labels }}', +peeringConfig = '{{ peeringConfig }}', +reverseLookupConfig = '{{ reverseLookupConfig }}', +serviceDirectoryConfig = '{{ serviceDirectoryConfig }}', +cloudLoggingConfig = '{{ cloudLoggingConfig }}', +kind = '{{ kind }}' +WHERE +managedZone = '{{ managedZone }}' +AND project = '{{ project }}'; +``` + +## `DELETE` example + +Deletes the specified managed_zone resource. + +```sql +DELETE FROM google.dns.managed_zones +WHERE managedZone = '{{ managedZone }}' +AND project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/dns/managed_zones_iam_policies/index.md b/docs/google-docs/providers/google/dns/managed_zones_iam_policies/index.md index f6f8b44114..ef9529b9ae 100644 --- a/docs/google-docs/providers/google/dns/managed_zones_iam_policies/index.md +++ b/docs/google-docs/providers/google/dns/managed_zones_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: managed_zones_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - managed_zones_iam_policies - dns - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an managed_zones_iam_policy resource or lists managed_zones_iam_policies in a region ## Overview
@@ -30,13 +32,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this returns an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.dns.managed_zones_iam_policies +WHERE managedZonesId = '{{ managedZonesId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/dns/policies/index.md b/docs/google-docs/providers/google/dns/policies/index.md index 706aa439d6..6b309a6864 100644 --- a/docs/google-docs/providers/google/dns/policies/index.md +++ b/docs/google-docs/providers/google/dns/policies/index.md @@ -1,3 +1,4 @@ + --- title: policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - policies - dns - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an policy resource or lists policies in a region ## Overview
@@ -38,6 +40,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `boolean` | Controls whether logging is enabled for the networks bound to this policy. Defaults to no logging if not set. | | | `string` | | | | `array` | List of network names specifying networks to which this policy is applied. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -46,5 +49,118 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new Policy. | | | `DELETE` | | Deletes a previously created Policy. Fails if the policy is still being referenced by a network. | | | `UPDATE` | | Applies a partial update to an existing Policy. | -| | `UPDATE` | | Updates an existing Policy. | -| | `EXEC` | | Enumerates all Policies associated with a project. | +| | `EXEC` | | Updates an existing Policy. | + +## `SELECT` examples + +Enumerates all Policies associated with a project. + +```sql +SELECT +id, +name, +description, +alternativeNameServerConfig, +enableInboundForwarding, +enableLogging, +kind, +networks +FROM google.dns.policies +WHERE project = '{{ project }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new policies resource. + + + + +```sql +/*+ create */ +INSERT INTO google.dns.policies ( +project, +id, +name, +enableInboundForwarding, +description, +networks, +alternativeNameServerConfig, +enableLogging, +kind +) +SELECT +'{{ project }}', +'{{ id }}', +'{{ name }}', +true|false, +'{{ description }}', +'{{ networks }}', +'{{ alternativeNameServerConfig }}', +true|false, +'{{ kind }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: id + value: '{{ id }}' + - name: name + value: '{{ name }}' + - name: enableInboundForwarding + value: '{{ enableInboundForwarding }}' + - name: description + value: '{{ description }}' + - name: networks + value: '{{ networks }}' + - name: alternativeNameServerConfig + value: '{{ alternativeNameServerConfig }}' + - name: enableLogging + value: '{{ enableLogging }}' + - name: kind + value: '{{ kind }}' + +``` + + + +## `UPDATE` example + +Updates a policy only if the necessary resources are available. + +```sql +UPDATE google.dns.policies +SET +id = '{{ id }}', +name = '{{ name }}', +enableInboundForwarding = true|false, +description = '{{ description }}', +networks = '{{ networks }}', +alternativeNameServerConfig = '{{ alternativeNameServerConfig }}', +enableLogging = true|false, +kind = '{{ kind }}' +WHERE +policy = '{{ policy }}' +AND project = '{{ project }}'; +``` + +## `DELETE` example + +Deletes the specified policy resource. + +```sql +DELETE FROM google.dns.policies +WHERE policy = '{{ policy }}' +AND project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/dns/projects/index.md b/docs/google-docs/providers/google/dns/projects/index.md index f9fe5d01fd..9412067f0f 100644 --- a/docs/google-docs/providers/google/dns/projects/index.md +++ b/docs/google-docs/providers/google/dns/projects/index.md @@ -1,3 +1,4 @@ + --- title: projects hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - projects - dns - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an project resource or lists projects in a region ## Overview
@@ -34,7 +36,22 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | | | | `string` | Unique numeric identifier for the resource; defined by the server (output only). | | | `object` | Limits associated with a Project. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Fetches the representation of an existing Project. | + +## `SELECT` examples + +Fetches the representation of an existing Project. + +```sql +SELECT +id, +kind, +number, +quota +FROM google.dns.projects +WHERE project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/dns/resource_record_sets/index.md b/docs/google-docs/providers/google/dns/resource_record_sets/index.md index 8a13b67281..ea6442f216 100644 --- a/docs/google-docs/providers/google/dns/resource_record_sets/index.md +++ b/docs/google-docs/providers/google/dns/resource_record_sets/index.md @@ -1,3 +1,4 @@ + --- title: resource_record_sets hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - resource_record_sets - dns - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an resource_record_set resource or lists resource_record_sets in a region ## Overview
@@ -35,8 +37,9 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | A RRSetRoutingPolicy represents ResourceRecordSet data that is returned dynamically with the response varying based on configured properties such as geolocation or by weighted random selection. | | | `array` | As defined in RFC 1035 (section 5) and RFC 1034 (section 3.6.1) -- see examples. | | | `array` | As defined in RFC 4034 (section 3.2). | -| | `integer` | Number of seconds that this ResourceRecordSet can be cached by resolvers. | +| | `integer` | Number of seconds that this `ResourceRecordSet` can be cached by resolvers. | | | `string` | The identifier of a supported record type. See the list of Supported DNS record types. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -45,4 +48,118 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new ResourceRecordSet. | | | `DELETE` | | Deletes a previously created ResourceRecordSet. | | | `UPDATE` | | Applies a partial update to an existing ResourceRecordSet. | -| | `EXEC` | | Enumerates ResourceRecordSets that you have created but not yet deleted. | + +## `SELECT` examples + +Enumerates ResourceRecordSets that you have created but not yet deleted. + +```sql +SELECT +name, +kind, +routingPolicy, +rrdatas, +signatureRrdatas, +ttl, +type +FROM google.dns.resource_record_sets +WHERE managedZone = '{{ managedZone }}' +AND project = '{{ project }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new resource_record_sets resource. + + + + +```sql +/*+ create */ +INSERT INTO google.dns.resource_record_sets ( +managedZone, +project, +name, +type, +ttl, +rrdatas, +signatureRrdatas, +routingPolicy, +kind +) +SELECT +'{{ managedZone }}', +'{{ project }}', +'{{ name }}', +'{{ type }}', +'{{ ttl }}', +'{{ rrdatas }}', +'{{ signatureRrdatas }}', +'{{ routingPolicy }}', +'{{ kind }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: type + value: '{{ type }}' + - name: ttl + value: '{{ ttl }}' + - name: rrdatas + value: '{{ rrdatas }}' + - name: signatureRrdatas + value: '{{ signatureRrdatas }}' + - name: routingPolicy + value: '{{ routingPolicy }}' + - name: kind + value: '{{ kind }}' + +``` + + + +## `UPDATE` example + +Updates a resource_record_set only if the necessary resources are available. + +```sql +UPDATE google.dns.resource_record_sets +SET +name = '{{ name }}', +type = '{{ type }}', +ttl = '{{ ttl }}', +rrdatas = '{{ rrdatas }}', +signatureRrdatas = '{{ signatureRrdatas }}', +routingPolicy = '{{ routingPolicy }}', +kind = '{{ kind }}' +WHERE +managedZone = '{{ managedZone }}' +AND name = '{{ name }}' +AND project = '{{ project }}' +AND type = '{{ type }}'; +``` + +## `DELETE` example + +Deletes the specified resource_record_set resource. + +```sql +DELETE FROM google.dns.resource_record_sets +WHERE managedZone = '{{ managedZone }}' +AND name = '{{ name }}' +AND project = '{{ project }}' +AND type = '{{ type }}'; +``` diff --git a/docs/google-docs/providers/google/dns/response_policies/index.md b/docs/google-docs/providers/google/dns/response_policies/index.md index d16d37f5af..1215da7e91 100644 --- a/docs/google-docs/providers/google/dns/response_policies/index.md +++ b/docs/google-docs/providers/google/dns/response_policies/index.md @@ -1,3 +1,4 @@ + --- title: response_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - response_policies - dns - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an response_policy resource or lists response_policies in a region ## Overview
@@ -37,6 +39,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | User labels. | | | `array` | List of network names specifying networks to which this policy is applied. | | | `string` | User assigned name for this Response Policy. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -45,5 +48,112 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new Response Policy | | | `DELETE` | | Deletes a previously created Response Policy. Fails if the response policy is non-empty or still being referenced by a network. | | | `UPDATE` | | Applies a partial update to an existing Response Policy. | -| | `UPDATE` | | Updates an existing Response Policy. | -| | `EXEC` | | Enumerates all Response Policies associated with a project. | +| | `EXEC` | | Updates an existing Response Policy. | + +## `SELECT` examples + +Enumerates all Response Policies associated with a project. + +```sql +SELECT +id, +description, +gkeClusters, +kind, +labels, +networks, +responsePolicyName +FROM google.dns.response_policies +WHERE project = '{{ project }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new response_policies resource. + + + + +```sql +/*+ create */ +INSERT INTO google.dns.response_policies ( +project, +id, +responsePolicyName, +description, +networks, +gkeClusters, +labels, +kind +) +SELECT +'{{ project }}', +'{{ id }}', +'{{ responsePolicyName }}', +'{{ description }}', +'{{ networks }}', +'{{ gkeClusters }}', +'{{ labels }}', +'{{ kind }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: id + value: '{{ id }}' + - name: responsePolicyName + value: '{{ responsePolicyName }}' + - name: description + value: '{{ description }}' + - name: networks + value: '{{ networks }}' + - name: gkeClusters + value: '{{ gkeClusters }}' + - name: labels + value: '{{ labels }}' + - name: kind + value: '{{ kind }}' + +``` + + + +## `UPDATE` example + +Updates a response_policy only if the necessary resources are available. + +```sql +UPDATE google.dns.response_policies +SET +id = '{{ id }}', +responsePolicyName = '{{ responsePolicyName }}', +description = '{{ description }}', +networks = '{{ networks }}', +gkeClusters = '{{ gkeClusters }}', +labels = '{{ labels }}', +kind = '{{ kind }}' +WHERE +project = '{{ project }}' +AND responsePolicy = '{{ responsePolicy }}'; +``` + +## `DELETE` example + +Deletes the specified response_policy resource. + +```sql +DELETE FROM google.dns.response_policies +WHERE project = '{{ project }}' +AND responsePolicy = '{{ responsePolicy }}'; +``` diff --git a/docs/google-docs/providers/google/dns/response_policy_rules/index.md b/docs/google-docs/providers/google/dns/response_policy_rules/index.md index 42252a7215..0c4164c593 100644 --- a/docs/google-docs/providers/google/dns/response_policy_rules/index.md +++ b/docs/google-docs/providers/google/dns/response_policy_rules/index.md @@ -1,3 +1,4 @@ + --- title: response_policy_rules hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - response_policy_rules - dns - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an response_policy_rule resource or lists response_policy_rules in a region ## Overview
@@ -35,6 +37,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | | | | `object` | | | | `string` | An identifier for this rule. Must be unique with the ResponsePolicy. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -43,5 +46,105 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new Response Policy Rule. | | | `DELETE` | | Deletes a previously created Response Policy Rule. | | | `UPDATE` | | Applies a partial update to an existing Response Policy Rule. | -| | `UPDATE` | | Updates an existing Response Policy Rule. | -| | `EXEC` | | Enumerates all Response Policy Rules associated with a project. | +| | `EXEC` | | Updates an existing Response Policy Rule. | + +## `SELECT` examples + +Enumerates all Response Policy Rules associated with a project. + +```sql +SELECT +behavior, +dnsName, +kind, +localData, +ruleName +FROM google.dns.response_policy_rules +WHERE project = '{{ project }}' +AND responsePolicy = '{{ responsePolicy }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new response_policy_rules resource. + + + + +```sql +/*+ create */ +INSERT INTO google.dns.response_policy_rules ( +project, +responsePolicy, +ruleName, +dnsName, +localData, +behavior, +kind +) +SELECT +'{{ project }}', +'{{ responsePolicy }}', +'{{ ruleName }}', +'{{ dnsName }}', +'{{ localData }}', +'{{ behavior }}', +'{{ kind }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: ruleName + value: '{{ ruleName }}' + - name: dnsName + value: '{{ dnsName }}' + - name: localData + value: '{{ localData }}' + - name: behavior + value: '{{ behavior }}' + - name: kind + value: '{{ kind }}' + +``` + + + +## `UPDATE` example + +Updates a response_policy_rule only if the necessary resources are available. + +```sql +UPDATE google.dns.response_policy_rules +SET +ruleName = '{{ ruleName }}', +dnsName = '{{ dnsName }}', +localData = '{{ localData }}', +behavior = '{{ behavior }}', +kind = '{{ kind }}' +WHERE +project = '{{ project }}' +AND responsePolicy = '{{ responsePolicy }}' +AND responsePolicyRule = '{{ responsePolicyRule }}'; +``` + +## `DELETE` example + +Deletes the specified response_policy_rule resource. + +```sql +DELETE FROM google.dns.response_policy_rules +WHERE project = '{{ project }}' +AND responsePolicy = '{{ responsePolicy }}' +AND responsePolicyRule = '{{ responsePolicyRule }}'; +``` diff --git a/docs/google-docs/providers/google/documentai/evaluations/index.md b/docs/google-docs/providers/google/documentai/evaluations/index.md index 41de403ef4..56393c8e12 100644 --- a/docs/google-docs/providers/google/documentai/evaluations/index.md +++ b/docs/google-docs/providers/google/documentai/evaluations/index.md @@ -1,3 +1,4 @@ + --- title: evaluations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - evaluations - documentai - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an evaluation resource or lists evaluations in a region ## Overview
@@ -30,16 +32,36 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The resource name of the evaluation. Format: `projects/{project}/locations/{location}/processors/{processor}/processorVersions/{processor_version}/evaluations/{evaluation}` | +| | `string` | The resource name of the evaluation. Format: `projects/{project}/locations/{location}/processors/{processor}/processorVersions/{processor_version}/evaluations/{evaluation}` | | | `object` | Metrics across multiple confidence levels. | | | `string` | The time that the evaluation was created. | | | `object` | Evaluation counters for the documents that were used. | | | `object` | Metrics across confidence levels, for different entities. | | | `string` | The KMS key name used for encryption. | | | `string` | The KMS key version with which data is encrypted. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Retrieves a specific evaluation. | | | `SELECT` | | Retrieves a set of evaluations for a given processor version. | -| | `EXEC` | | Retrieves a set of evaluations for a given processor version. | + +## `SELECT` examples + +Retrieves a set of evaluations for a given processor version. + +```sql +SELECT +name, +allEntitiesMetrics, +createTime, +documentCounters, +entityMetrics, +kmsKeyName, +kmsKeyVersionName +FROM google.documentai.evaluations +WHERE locationsId = '{{ locationsId }}' +AND processorVersionsId = '{{ processorVersionsId }}' +AND processorsId = '{{ processorsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/documentai/human_review_config/index.md b/docs/google-docs/providers/google/documentai/human_review_config/index.md index 315c5c69de..a55c45ad48 100644 --- a/docs/google-docs/providers/google/documentai/human_review_config/index.md +++ b/docs/google-docs/providers/google/documentai/human_review_config/index.md @@ -1,3 +1,4 @@ + --- title: human_review_config hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - human_review_config - documentai - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an human_review_config resource or lists human_review_config in a region ## Overview
@@ -28,8 +30,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Send a document for Human Review. The input document should be processed by the specified processor. | diff --git a/docs/google-docs/providers/google/documentai/index.md b/docs/google-docs/providers/google/documentai/index.md index 8abd7265f0..299f4c569d 100644 --- a/docs/google-docs/providers/google/documentai/index.md +++ b/docs/google-docs/providers/google/documentai/index.md @@ -9,45 +9,34 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Service to parse structured information from unstructured or semi-structured documents using state-of-the-art Google AI such as natural language, computer vision, translation, and AutoML. - +The documentai service documentation. + :::info Service Summary
total resources: 7
-total selectable resources: 6
-total methods: 37
::: -## Overview - - - - - - -
Namegoogle.documentai
TypeService
TitleCloud Document AI API
DescriptionService to parse structured information from unstructured or semi-structured documents using state-of-the-art Google AI such as natural language, computer vision, translation, and AutoML.
Iddocumentai:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/documentai/locations/index.md b/docs/google-docs/providers/google/documentai/locations/index.md index b484c9a209..2cc95e0875 100644 --- a/docs/google-docs/providers/google/documentai/locations/index.md +++ b/docs/google-docs/providers/google/documentai/locations/index.md @@ -1,3 +1,4 @@ + --- title: locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - locations - documentai - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an location resource or lists locations in a region ## Overview @@ -32,12 +34,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` | | | `string` | The friendly name for this location, typically a nearby city name. For example, "Tokyo". | -| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | +| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | | | `string` | The canonical id for this location. For example: `"us-east1"`. | | | `object` | Service-specific metadata. For example the available capacity at the given location. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about a location. | | | `SELECT` | | Lists information about the supported locations for this service. | -| | `EXEC` | | Lists information about the supported locations for this service. | + +## `SELECT` examples + +Lists information about the supported locations for this service. + +```sql +SELECT +name, +displayName, +labels, +locationId, +metadata +FROM google.documentai.locations +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/documentai/operations/index.md b/docs/google-docs/providers/google/documentai/operations/index.md index d656ac55b9..e586ba03b8 100644 --- a/docs/google-docs/providers/google/documentai/operations/index.md +++ b/docs/google-docs/providers/google/documentai/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - documentai - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview
@@ -30,11 +32,12 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -42,5 +45,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.documentai.operations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified operation resource. + +```sql +DELETE FROM google.documentai.operations +WHERE operationsId = '{{ operationsId }}'; +``` diff --git a/docs/google-docs/providers/google/documentai/processor_types/index.md b/docs/google-docs/providers/google/documentai/processor_types/index.md index 91cab3c068..4ee6f0eb78 100644 --- a/docs/google-docs/providers/google/documentai/processor_types/index.md +++ b/docs/google-docs/providers/google/documentai/processor_types/index.md @@ -1,3 +1,4 @@ + --- title: processor_types hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - processor_types - documentai - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an processor_type resource or lists processor_types in a region ## Overview
@@ -30,17 +32,35 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The resource name of the processor type. Format: `projects/{project}/processorTypes/{processor_type}` | +| | `string` | The resource name of the processor type. Format: `projects/{project}/processorTypes/{processor_type}` | | | `boolean` | Whether the processor type allows creation. If true, users can create a processor of this processor type. Otherwise, users need to request access. | | | `array` | The locations in which this processor is available. | | | `string` | The processor category, used by UI to group processor types. | | | `string` | Launch stage of the processor type | | | `array` | A set of Cloud Storage URIs of sample documents for this processor. | | | `string` | The processor type, such as: `OCR_PROCESSOR`, `INVOICE_PROCESSOR`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Fetches processor types. Note that we don't use ListProcessorTypes here, because it isn't paginated. | | | `SELECT` | | Gets a processor type detail. | | | `SELECT` | | Lists the processor types that exist. | -| | `EXEC` | | Lists the processor types that exist. | -| | `EXEC` | | Fetches processor types. Note that we don't use ListProcessorTypes here, because it isn't paginated. | + +## `SELECT` examples + +Fetches processor types. Note that we don't use ListProcessorTypes here, because it isn't paginated. + +```sql +SELECT +name, +allowCreation, +availableLocations, +category, +launchStage, +sampleDocumentUris, +type +FROM google.documentai.processor_types +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/documentai/processor_versions/index.md b/docs/google-docs/providers/google/documentai/processor_versions/index.md index 2f93190b25..3145a69b3f 100644 --- a/docs/google-docs/providers/google/documentai/processor_versions/index.md +++ b/docs/google-docs/providers/google/documentai/processor_versions/index.md @@ -1,3 +1,4 @@ + --- title: processor_versions hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - processor_versions - documentai - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an processor_version resource or lists processor_versions in a region ## Overview
@@ -30,27 +32,68 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Identifier. The resource name of the processor version. Format: `projects/{project}/locations/{location}/processors/{processor}/processorVersions/{processor_version}` | +| | `string` | Identifier. The resource name of the processor version. Format: `projects/{project}/locations/{location}/processors/{processor}/processorVersions/{processor_version}` | | | `string` | The time the processor version was created. | | | `object` | Information about the upcoming deprecation of this processor version. | | | `string` | The display name of the processor version. | | | `object` | The schema defines the output of the processed document by a processor. | +| | `object` | Information about Generative AI model-based processor versions. | | | `boolean` | Output only. Denotes that this `ProcessorVersion` is managed by Google. | | | `string` | The KMS key name used for encryption. | | | `string` | The KMS key version with which data is encrypted. | | | `object` | Gives a short summary of an evaluation, and links to the evaluation itself. | | | `string` | Output only. The model type of this processor version. | +| | `boolean` | Output only. Reserved for future use. | +| | `boolean` | Output only. Reserved for future use. | | | `string` | Output only. The state of the processor version. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets a processor version detail. | | | `SELECT` | | Lists all versions of a processor. | | | `DELETE` | | Deletes the processor version, all artifacts under the processor version will be deleted. | -| | `EXEC` | | Lists all versions of a processor. | | | `EXEC` | | LRO endpoint to batch process many documents. The output is written to Cloud Storage as JSON in the [Document] format. | | | `EXEC` | | Deploys the processor version. | | | `EXEC` | | Evaluates a ProcessorVersion against annotated documents, producing an Evaluation. | | | `EXEC` | | Processes a single document. | | | `EXEC` | | Trains a new processor version. Operation metadata is returned as TrainProcessorVersionMetadata. | | | `EXEC` | | Undeploys the processor version. | + +## `SELECT` examples + +Lists all versions of a processor. + +```sql +SELECT +name, +createTime, +deprecationInfo, +displayName, +documentSchema, +genAiModelInfo, +googleManaged, +kmsKeyName, +kmsKeyVersionName, +latestEvaluation, +modelType, +satisfiesPzi, +satisfiesPzs, +state +FROM google.documentai.processor_versions +WHERE locationsId = '{{ locationsId }}' +AND processorsId = '{{ processorsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified processor_version resource. + +```sql +DELETE FROM google.documentai.processor_versions +WHERE locationsId = '{{ locationsId }}' +AND processorVersionsId = '{{ processorVersionsId }}' +AND processorsId = '{{ processorsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/documentai/processors/index.md b/docs/google-docs/providers/google/documentai/processors/index.md index a92ab3d2d8..deddb75943 100644 --- a/docs/google-docs/providers/google/documentai/processors/index.md +++ b/docs/google-docs/providers/google/documentai/processors/index.md @@ -1,3 +1,4 @@ + --- title: processors hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - processors - documentai - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an processor resource or lists processors in a region ## Overview
@@ -30,25 +32,140 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. Immutable. The resource name of the processor. Format: `projects/{project}/locations/{location}/processors/{processor}` | +| | `string` | Output only. Immutable. The resource name of the processor. Format: `projects/{project}/locations/{location}/processors/{processor}` | | | `string` | The time the processor was created. | | | `string` | The default processor version. | | | `string` | The display name of the processor. | | | `string` | The [KMS key](https://cloud.google.com/security-key-management) used for encryption and decryption in CMEK scenarios. | | | `string` | Output only. Immutable. The http endpoint that can be called to invoke processing. | | | `array` | Output only. The processor version aliases. | +| | `boolean` | Output only. Reserved for future use. | +| | `boolean` | Output only. Reserved for future use. | | | `string` | Output only. The state of the processor. | | | `string` | The processor type, such as: `OCR_PROCESSOR`, `INVOICE_PROCESSOR`. To get a list of processor types, see FetchProcessorTypes. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets a processor detail. | | | `SELECT` | | Lists all processors which belong to this project. | -| | `INSERT` | | Creates a processor from the ProcessorType provided. The processor will be at `ENABLED` state by default after its creation. | +| | `INSERT` | | Creates a processor from the ProcessorType provided. The processor will be at `ENABLED` state by default after its creation. Note that this method requires the `documentai.processors.create` permission on the project, which is highly privileged. A user or service account with this permission can create new processors that can interact with any gcs bucket in your project. | | | `DELETE` | | Deletes the processor, unloads all deployed model artifacts if it was enabled and then deletes all artifacts associated with this processor. | -| | `EXEC` | | Lists all processors which belong to this project. | | | `EXEC` | | LRO endpoint to batch process many documents. The output is written to Cloud Storage as JSON in the [Document] format. | | | `EXEC` | | Disables a processor | | | `EXEC` | | Enables a processor | | | `EXEC` | | Processes a single document. | | | `EXEC` | | Set the default (active) version of a Processor that will be used in ProcessDocument and BatchProcessDocuments. | + +## `SELECT` examples + +Lists all processors which belong to this project. + +```sql +SELECT +name, +createTime, +defaultProcessorVersion, +displayName, +kmsKeyName, +processEndpoint, +processorVersionAliases, +satisfiesPzi, +satisfiesPzs, +state, +type +FROM google.documentai.processors +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new processors resource. + + + + +```sql +/*+ create */ +INSERT INTO google.documentai.processors ( +locationsId, +projectsId, +state, +createTime, +defaultProcessorVersion, +processorVersionAliases, +satisfiesPzs, +displayName, +processEndpoint, +kmsKeyName, +satisfiesPzi, +name, +type +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ state }}', +'{{ createTime }}', +'{{ defaultProcessorVersion }}', +'{{ processorVersionAliases }}', +true|false, +'{{ displayName }}', +'{{ processEndpoint }}', +'{{ kmsKeyName }}', +true|false, +'{{ name }}', +'{{ type }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: state + value: '{{ state }}' + - name: createTime + value: '{{ createTime }}' + - name: defaultProcessorVersion + value: '{{ defaultProcessorVersion }}' + - name: processorVersionAliases + value: '{{ processorVersionAliases }}' + - name: satisfiesPzs + value: '{{ satisfiesPzs }}' + - name: displayName + value: '{{ displayName }}' + - name: processEndpoint + value: '{{ processEndpoint }}' + - name: kmsKeyName + value: '{{ kmsKeyName }}' + - name: satisfiesPzi + value: '{{ satisfiesPzi }}' + - name: name + value: '{{ name }}' + - name: type + value: '{{ type }}' + +``` + + + +## `DELETE` example + +Deletes the specified processor resource. + +```sql +DELETE FROM google.documentai.processors +WHERE locationsId = '{{ locationsId }}' +AND processorsId = '{{ processorsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/domains/index.md b/docs/google-docs/providers/google/domains/index.md index 360415903f..3d5f5bb43c 100644 --- a/docs/google-docs/providers/google/domains/index.md +++ b/docs/google-docs/providers/google/domains/index.md @@ -9,34 +9,23 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Enables management and configuration of domain names. - +The domains service documentation. + :::info Service Summary
-total resources: 8
-total selectable resources: 4
-total methods: 28
+total resources: 10
::: -## Overview -
- - - - - -
Namegoogle.domains
TypeService
TitleCloud Domains API
DescriptionEnables management and configuration of domain names.
Iddomains:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/domains/locations/index.md b/docs/google-docs/providers/google/domains/locations/index.md index 934a760178..fcf7a22374 100644 --- a/docs/google-docs/providers/google/domains/locations/index.md +++ b/docs/google-docs/providers/google/domains/locations/index.md @@ -1,3 +1,4 @@ + --- title: locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - locations - domains - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an location resource or lists locations in a region ## Overview @@ -32,12 +34,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` | | | `string` | The friendly name for this location, typically a nearby city name. For example, "Tokyo". | -| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | +| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | | | `string` | The canonical id for this location. For example: `"us-east1"`. | | | `object` | Service-specific metadata. For example the available capacity at the given location. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about a location. | | | `SELECT` | | Lists information about the supported locations for this service. | -| | `EXEC` | | Lists information about the supported locations for this service. | + +## `SELECT` examples + +Lists information about the supported locations for this service. + +```sql +SELECT +name, +displayName, +labels, +locationId, +metadata +FROM google.domains.locations +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/domains/operations/index.md b/docs/google-docs/providers/google/domains/operations/index.md index 735bef7623..9027e93072 100644 --- a/docs/google-docs/providers/google/domains/operations/index.md +++ b/docs/google-docs/providers/google/domains/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - domains - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview
@@ -30,14 +32,30 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.domains.operations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/domains/registrations/index.md b/docs/google-docs/providers/google/domains/registrations/index.md index 7af62c50be..61c5367b98 100644 --- a/docs/google-docs/providers/google/domains/registrations/index.md +++ b/docs/google-docs/providers/google/domains/registrations/index.md @@ -1,3 +1,4 @@ + --- title: registrations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - registrations - domains - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an registration resource or lists registrations in a region ## Overview
@@ -35,6 +37,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The creation timestamp of the `Registration` resource. | | | `object` | Defines the DNS configuration of a `Registration`, including name servers, DNSSEC, and glue records. | | | `string` | Required. Immutable. The domain name. Unicode domain names must be expressed in Punycode format. | +| | `array` | Output only. Special properties of the domain. | | | `string` | Output only. The expiration timestamp of the `Registration`. | | | `array` | Output only. The set of issues with the `Registration` that require attention. | | | `object` | Set of labels associated with the `Registration`. | @@ -44,6 +47,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The state of the `Registration` | | | `array` | Output only. Set of options for the `contact_settings.privacy` field that this `Registration` supports. | | | `string` | Output only. Deprecated: For more information, see [Cloud Domains feature deprecation](https://cloud.google.com/domains/docs/deprecations/feature-deprecations). The reason the domain transfer failed. Only set for domains in TRANSFER_FAILED state. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -51,13 +55,79 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists the `Registration` resources in a project. | | | `DELETE` | | Deletes a `Registration` resource. This method works on any `Registration` resource using [Subscription or Commitment billing](/domains/pricing#billing-models), provided that the resource was created at least 1 day in the past. When an active registration is successfully deleted, you can continue to use the domain in [Google Domains](https://domains.google/) until it expires. The calling user becomes the domain's sole owner in Google Domains, and permissions for the domain are subsequently managed there. The domain does not renew automatically unless the new owner sets up billing in Google Domains. After January 2024 you will only be able to delete `Registration` resources when `state` is one of: `EXPORTED`, `EXPIRED`,`REGISTRATION_FAILED` or `TRANSFER_FAILED`. See [Cloud Domains feature deprecation](https://cloud.google.com/domains/docs/deprecations/feature-deprecations) for more details. | | | `UPDATE` | | Updates select fields of a `Registration` resource, notably `labels`. To update other fields, use the appropriate custom update method: * To update management settings, see `ConfigureManagementSettings` * To update DNS configuration, see `ConfigureDnsSettings` * To update contact information, see `ConfigureContactSettings` | -| | `EXEC` | | Lists the `Registration` resources in a project. | | | `EXEC` | | Updates a `Registration`'s contact settings. Some changes require confirmation by the domain's registrant contact . Caution: Please consider carefully any changes to contact privacy settings when changing from `REDACTED_CONTACT_DATA` to `PUBLIC_CONTACT_DATA.` There may be a delay in reflecting updates you make to registrant contact information such that any changes you make to contact privacy (including from `REDACTED_CONTACT_DATA` to `PUBLIC_CONTACT_DATA`) will be applied without delay but changes to registrant contact information may take a limited time to be publicized. This means that changes to contact privacy from `REDACTED_CONTACT_DATA` to `PUBLIC_CONTACT_DATA` may make the previous registrant contact data public until the modified registrant contact details are published. | | | `EXEC` | | Updates a `Registration`'s DNS settings. | | | `EXEC` | | Updates a `Registration`'s management settings. | | | `EXEC` | | Deprecated: For more information, see [Cloud Domains feature deprecation](https://cloud.google.com/domains/docs/deprecations/feature-deprecations) Exports a `Registration` resource, such that it is no longer managed by Cloud Domains. When an active domain is successfully exported, you can continue to use the domain in [Google Domains](https://domains.google/) until it expires. The calling user becomes the domain's sole owner in Google Domains, and permissions for the domain are subsequently managed there. The domain does not renew automatically unless the new owner sets up billing in Google Domains. | | | `EXEC` | | Deprecated: For more information, see [Cloud Domains feature deprecation](https://cloud.google.com/domains/docs/deprecations/feature-deprecations) Imports a domain name from [Google Domains](https://domains.google/) for use in Cloud Domains. To transfer a domain from another registrar, use the `TransferDomain` method instead. Since individual users can own domains in Google Domains, the calling user must have ownership permission on the domain. | +| | `EXEC` | | Initiates the `Push Transfer` process to transfer the domain to another registrar. The process might complete instantly or might require confirmation or additional work. Check the emails sent to the email address of the registrant. The process is aborted after a timeout if it's not completed. This method is only supported for domains that have the `REQUIRE_PUSH_TRANSFER` property in the list of `domain_properties`. The domain must also be unlocked before it can be transferred to a different registrar. For more information, see [Transfer a registered domain to another registrar](https://cloud.google.com/domains/docs/transfer-domain-to-another-registrar). | | | `EXEC` | | Registers a new domain name and creates a corresponding `Registration` resource. Call `RetrieveRegisterParameters` first to check availability of the domain name and determine parameters like price that are needed to build a call to this method. A successful call creates a `Registration` resource in state `REGISTRATION_PENDING`, which resolves to `ACTIVE` within 1-2 minutes, indicating that the domain was successfully registered. If the resource ends up in state `REGISTRATION_FAILED`, it indicates that the domain was not registered successfully, and you can safely delete the resource and retry registration. | -| | `EXEC` | | Resets the authorization code of the `Registration` to a new random string. You can call this method only after 60 days have elapsed since the initial domain registration. | +| | `EXEC` | | Renews a recently expired domain. This method can only be called on domains that expired in the previous 30 days. After the renewal, the new expiration time of the domain is one year after the old expiration time and you are charged a `yearly_price` for the renewal. | +| | `EXEC` | | Resets the authorization code of the `Registration` to a new random string. You can call this method only after 60 days have elapsed since the initial domain registration. Domains that have the `REQUIRE_PUSH_TRANSFER` property in the list of `domain_properties` don't support authorization codes and must use the `InitiatePushTransfer` method to initiate the process to transfer the domain to a different registrar. | | | `EXEC` | | Searches for available domain names similar to the provided query. Availability results from this method are approximate; call `RetrieveRegisterParameters` on a domain before registering to confirm availability. | | | `EXEC` | | Deprecated: For more information, see [Cloud Domains feature deprecation](https://cloud.google.com/domains/docs/deprecations/feature-deprecations) Transfers a domain name from another registrar to Cloud Domains. For domains already managed by [Google Domains](https://domains.google/), use `ImportDomain` instead. Before calling this method, go to the domain's current registrar to unlock the domain for transfer and retrieve the domain's transfer authorization code. Then call `RetrieveTransferParameters` to confirm that the domain is unlocked and to get values needed to build a call to this method. A successful call creates a `Registration` resource in state `TRANSFER_PENDING`. It can take several days to complete the transfer process. The registrant can often speed up this process by approving the transfer through the current registrar, either by clicking a link in an email from the registrar or by visiting the registrar's website. A few minutes after transfer approval, the resource transitions to state `ACTIVE`, indicating that the transfer was successful. If the transfer is rejected or the request expires without being approved, the resource can end up in state `TRANSFER_FAILED`. If transfer fails, you can safely delete the resource and retry the transfer. | + +## `SELECT` examples + +Lists the `Registration` resources in a project. + +```sql +SELECT +name, +contactSettings, +createTime, +dnsSettings, +domainName, +domainProperties, +expireTime, +issues, +labels, +managementSettings, +pendingContactSettings, +registerFailureReason, +state, +supportedPrivacy, +transferFailureReason +FROM google.domains.registrations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `UPDATE` example + +Updates a registration only if the necessary resources are available. + +```sql +UPDATE google.domains.registrations +SET +name = '{{ name }}', +domainName = '{{ domainName }}', +createTime = '{{ createTime }}', +expireTime = '{{ expireTime }}', +state = '{{ state }}', +issues = '{{ issues }}', +labels = '{{ labels }}', +managementSettings = '{{ managementSettings }}', +dnsSettings = '{{ dnsSettings }}', +contactSettings = '{{ contactSettings }}', +pendingContactSettings = '{{ pendingContactSettings }}', +supportedPrivacy = '{{ supportedPrivacy }}', +registerFailureReason = '{{ registerFailureReason }}', +transferFailureReason = '{{ transferFailureReason }}', +domainProperties = '{{ domainProperties }}' +WHERE +locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND registrationsId = '{{ registrationsId }}'; +``` + +## `DELETE` example + +Deletes the specified registration resource. + +```sql +DELETE FROM google.domains.registrations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND registrationsId = '{{ registrationsId }}'; +``` diff --git a/docs/google-docs/providers/google/domains/registrations_authorization_code/index.md b/docs/google-docs/providers/google/domains/registrations_authorization_code/index.md index cf0c41ab8b..d928b97791 100644 --- a/docs/google-docs/providers/google/domains/registrations_authorization_code/index.md +++ b/docs/google-docs/providers/google/domains/registrations_authorization_code/index.md @@ -1,3 +1,4 @@ + --- title: registrations_authorization_code hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - registrations_authorization_code - domains - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an registrations_authorization_code resource or lists registrations_authorization_code in a region ## Overview
@@ -28,8 +30,24 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | The Authorization Code in ASCII. It can be used to transfer the domain to or from another registrar. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets the authorization code of the `Registration` for the purpose of transferring the domain to another registrar. You can call this method only after 60 days have elapsed since the initial domain registration. Domains that have the `REQUIRE_PUSH_TRANSFER` property in the list of `domain_properties` don't support authorization codes and must use the `InitiatePushTransfer` method to initiate the process to transfer the domain to a different registrar. | + +## `SELECT` examples + +Gets the authorization code of the `Registration` for the purpose of transferring the domain to another registrar. You can call this method only after 60 days have elapsed since the initial domain registration. Domains that have the `REQUIRE_PUSH_TRANSFER` property in the list of `domain_properties` don't support authorization codes and must use the `InitiatePushTransfer` method to initiate the process to transfer the domain to a different registrar. + +```sql +SELECT +code +FROM google.domains.registrations_authorization_code +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND registrationsId = '{{ registrationsId }}'; +``` diff --git a/docs/google-docs/providers/google/domains/registrations_google_domains_dns_records/index.md b/docs/google-docs/providers/google/domains/registrations_google_domains_dns_records/index.md new file mode 100644 index 0000000000..af87e12f52 --- /dev/null +++ b/docs/google-docs/providers/google/domains/registrations_google_domains_dns_records/index.md @@ -0,0 +1,55 @@ + +--- +title: registrations_google_domains_dns_records +hide_title: false +hide_table_of_contents: false +keywords: + - registrations_google_domains_dns_records + - domains + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an registrations_google_domains_dns_record resource or lists registrations_google_domains_dns_records in a region + +## Overview + + + + +
Nameregistrations_google_domains_dns_records
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | When present, there are more results to retrieve. Set `page_token` to this value on a subsequent call to get the next page of results. | +| | `array` | The resource record set resources (DNS Zone records). | + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists the DNS records from the Google Domains DNS zone for domains that use the deprecated `google_domains_dns` in the `Registration`'s `dns_settings`. | + +## `SELECT` examples + +Lists the DNS records from the Google Domains DNS zone for domains that use the deprecated `google_domains_dns` in the `Registration`'s `dns_settings`. + +```sql +SELECT +nextPageToken, +rrset +FROM google.domains.registrations_google_domains_dns_records +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND registrationsId = '{{ registrationsId }}'; +``` diff --git a/docs/google-docs/providers/google/domains/registrations_google_domains_forwarding_config/index.md b/docs/google-docs/providers/google/domains/registrations_google_domains_forwarding_config/index.md new file mode 100644 index 0000000000..c670d4438e --- /dev/null +++ b/docs/google-docs/providers/google/domains/registrations_google_domains_forwarding_config/index.md @@ -0,0 +1,55 @@ + +--- +title: registrations_google_domains_forwarding_config +hide_title: false +hide_table_of_contents: false +keywords: + - registrations_google_domains_forwarding_config + - domains + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an registrations_google_domains_forwarding_config resource or lists registrations_google_domains_forwarding_config in a region + +## Overview + + + + +
Nameregistrations_google_domains_forwarding_config
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `array` | The list of domain forwarding configurations. A forwarding configuration might not work correctly if the required DNS records are not present in the domain's authoritative DNS zone. | +| | `array` | The list of email forwarding configurations. A forwarding configuration might not work correctly if the required DNS records are not present in the domain's authoritative DNS zone. | + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists the deprecated domain and email forwarding configurations you set up in the deprecated Google Domains UI. The configuration is present only for domains with the `google_domains_redirects_data_available` set to `true` in the `Registration`'s `dns_settings`. A forwarding configuration might not work correctly if required DNS records are not present in the domain's authoritative DNS Zone. | + +## `SELECT` examples + +Lists the deprecated domain and email forwarding configurations you set up in the deprecated Google Domains UI. The configuration is present only for domains with the `google_domains_redirects_data_available` set to `true` in the `Registration`'s `dns_settings`. A forwarding configuration might not work correctly if required DNS records are not present in the domain's authoritative DNS Zone. + +```sql +SELECT +domainForwardings, +emailForwardings +FROM google.domains.registrations_google_domains_forwarding_config +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND registrationsId = '{{ registrationsId }}'; +``` diff --git a/docs/google-docs/providers/google/domains/registrations_iam_policies/index.md b/docs/google-docs/providers/google/domains/registrations_iam_policies/index.md index 3362f5efb5..8ecc6a2fab 100644 --- a/docs/google-docs/providers/google/domains/registrations_iam_policies/index.md +++ b/docs/google-docs/providers/google/domains/registrations_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: registrations_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - registrations_iam_policies - domains - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an registrations_iam_policy resource or lists registrations_iam_policies in a region ## Overview @@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.domains.registrations_iam_policies +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND registrationsId = '{{ registrationsId }}'; +``` diff --git a/docs/google-docs/providers/google/domains/registrations_importable_domains/index.md b/docs/google-docs/providers/google/domains/registrations_importable_domains/index.md index 598e8b690c..a223dc67f5 100644 --- a/docs/google-docs/providers/google/domains/registrations_importable_domains/index.md +++ b/docs/google-docs/providers/google/domains/registrations_importable_domains/index.md @@ -1,3 +1,4 @@ + --- title: registrations_importable_domains hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - registrations_importable_domains - domains - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an registrations_importable_domain resource or lists registrations_importable_domains in a region ## Overview
@@ -28,8 +30,25 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `array` | A list of domains that the calling user manages in Google Domains. | +| | `string` | When present, there are more results to retrieve. Set `page_token` to this value on a subsequent call to get the next page of results. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Deprecated: For more information, see [Cloud Domains feature deprecation](https://cloud.google.com/domains/docs/deprecations/feature-deprecations) Lists domain names from [Google Domains](https://domains.google/) that can be imported to Cloud Domains using the `ImportDomain` method. Since individual users can own domains in Google Domains, the list of domains returned depends on the individual user making the call. Domains already managed by Cloud Domains are not returned. | + +## `SELECT` examples + +Deprecated: For more information, see [Cloud Domains feature deprecation](https://cloud.google.com/domains/docs/deprecations/feature-deprecations) Lists domain names from [Google Domains](https://domains.google/) that can be imported to Cloud Domains using the `ImportDomain` method. Since individual users can own domains in Google Domains, the list of domains returned depends on the individual user making the call. Domains already managed by Cloud Domains are not returned. + +```sql +SELECT +domains, +nextPageToken +FROM google.domains.registrations_importable_domains +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/domains/registrations_register_parameters/index.md b/docs/google-docs/providers/google/domains/registrations_register_parameters/index.md index d987b532e5..fd9db2bcab 100644 --- a/docs/google-docs/providers/google/domains/registrations_register_parameters/index.md +++ b/docs/google-docs/providers/google/domains/registrations_register_parameters/index.md @@ -1,3 +1,4 @@ + --- title: registrations_register_parameters hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - registrations_register_parameters - domains - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an registrations_register_parameter resource or lists registrations_register_parameters in a region ## Overview @@ -28,8 +30,23 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `object` | Parameters required to register a new domain. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets parameters needed to register a new domain name, including price and up-to-date availability. Use the returned values to call `RegisterDomain`. | + +## `SELECT` examples + +Gets parameters needed to register a new domain name, including price and up-to-date availability. Use the returned values to call `RegisterDomain`. + +```sql +SELECT +registerParameters +FROM google.domains.registrations_register_parameters +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/domains/registrations_transfer_parameters/index.md b/docs/google-docs/providers/google/domains/registrations_transfer_parameters/index.md index 969d8f4028..a62a9baecb 100644 --- a/docs/google-docs/providers/google/domains/registrations_transfer_parameters/index.md +++ b/docs/google-docs/providers/google/domains/registrations_transfer_parameters/index.md @@ -1,3 +1,4 @@ + --- title: registrations_transfer_parameters hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - registrations_transfer_parameters - domains - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an registrations_transfer_parameter resource or lists registrations_transfer_parameters in a region ## Overview @@ -28,8 +30,23 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `object` | Deprecated: For more information, see [Cloud Domains feature deprecation](https://cloud.google.com/domains/docs/deprecations/feature-deprecations). Parameters required to transfer a domain from another registrar. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Deprecated: For more information, see [Cloud Domains feature deprecation](https://cloud.google.com/domains/docs/deprecations/feature-deprecations) Gets parameters needed to transfer a domain name from another registrar to Cloud Domains. For domains already managed by [Google Domains](https://domains.google/), use `ImportDomain` instead. Use the returned values to call `TransferDomain`. | + +## `SELECT` examples + +Deprecated: For more information, see [Cloud Domains feature deprecation](https://cloud.google.com/domains/docs/deprecations/feature-deprecations) Gets parameters needed to transfer a domain name from another registrar to Cloud Domains. For domains already managed by [Google Domains](https://domains.google/), use `ImportDomain` instead. Use the returned values to call `TransferDomain`. + +```sql +SELECT +transferParameters +FROM google.domains.registrations_transfer_parameters +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/essentialcontacts/contacts/index.md b/docs/google-docs/providers/google/essentialcontacts/contacts/index.md index 2e5e50df87..da6a04635f 100644 --- a/docs/google-docs/providers/google/essentialcontacts/contacts/index.md +++ b/docs/google-docs/providers/google/essentialcontacts/contacts/index.md @@ -1,3 +1,4 @@ + --- title: contacts hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - contacts - essentialcontacts - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an contact resource or lists contacts in a region ## Overview @@ -30,12 +32,13 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. The identifier for the contact. Format: {resource_type}/{resource_id}/contacts/{contact_id} | +| | `string` | Output only. The identifier for the contact. Format: {resource_type}/{resource_id}/contacts/{contact_id} | | | `string` | Required. The email address to send notifications to. The email address does not need to be a Google Account. | | | `string` | Required. The preferred language for notifications, as a ISO 639-1 language code. See [Supported languages](https://cloud.google.com/resource-manager/docs/managing-notification-contacts#supported-languages) for a list of supported languages. | | | `array` | Required. The categories of notifications that the contact will receive communications for. | | | `string` | The last time the validation_state was updated, either manually or automatically. A contact is considered stale if its validation state was updated more than 1 year ago. | -| | `string` | The validity of the contact. A contact is considered valid if it is the correct recipient for notifications for a particular resource. | +| | `string` | Output only. The validity of the contact. A contact is considered valid if it is the correct recipient for notifications for a particular resource. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -54,12 +57,111 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `UPDATE` | | Updates a contact. Note: A contact's email address cannot be changed. | | | `UPDATE` | | Updates a contact. Note: A contact's email address cannot be changed. | | | `UPDATE` | | Updates a contact. Note: A contact's email address cannot be changed. | -| | `EXEC` | | Lists the contacts that have been set on a resource. | -| | `EXEC` | | Lists the contacts that have been set on a resource. | -| | `EXEC` | | Lists the contacts that have been set on a resource. | | | `EXEC` | | Lists all contacts for the resource that are subscribed to the specified notification categories, including contacts inherited from any parent resources. | | | `EXEC` | | Allows a contact admin to send a test message to contact to verify that it has been configured correctly. | | | `EXEC` | | Lists all contacts for the resource that are subscribed to the specified notification categories, including contacts inherited from any parent resources. | | | `EXEC` | | Allows a contact admin to send a test message to contact to verify that it has been configured correctly. | | | `EXEC` | | Lists all contacts for the resource that are subscribed to the specified notification categories, including contacts inherited from any parent resources. | | | `EXEC` | | Allows a contact admin to send a test message to contact to verify that it has been configured correctly. | + +## `SELECT` examples + +Lists the contacts that have been set on a resource. + +```sql +SELECT +name, +email, +languageTag, +notificationCategorySubscriptions, +validateTime, +validationState +FROM google.essentialcontacts.contacts +WHERE foldersId = '{{ foldersId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new contacts resource. + + + + +```sql +/*+ create */ +INSERT INTO google.essentialcontacts.contacts ( +foldersId, +validateTime, +languageTag, +notificationCategorySubscriptions, +email, +validationState, +name +) +SELECT +'{{ foldersId }}', +'{{ validateTime }}', +'{{ languageTag }}', +'{{ notificationCategorySubscriptions }}', +'{{ email }}', +'{{ validationState }}', +'{{ name }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: validateTime + value: '{{ validateTime }}' + - name: languageTag + value: '{{ languageTag }}' + - name: notificationCategorySubscriptions + value: '{{ notificationCategorySubscriptions }}' + - name: email + value: '{{ email }}' + - name: validationState + value: '{{ validationState }}' + - name: name + value: '{{ name }}' + +``` + + + +## `UPDATE` example + +Updates a contact only if the necessary resources are available. + +```sql +UPDATE google.essentialcontacts.contacts +SET +validateTime = '{{ validateTime }}', +languageTag = '{{ languageTag }}', +notificationCategorySubscriptions = '{{ notificationCategorySubscriptions }}', +email = '{{ email }}', +validationState = '{{ validationState }}', +name = '{{ name }}' +WHERE +contactsId = '{{ contactsId }}' +AND foldersId = '{{ foldersId }}'; +``` + +## `DELETE` example + +Deletes the specified contact resource. + +```sql +DELETE FROM google.essentialcontacts.contacts +WHERE contactsId = '{{ contactsId }}' +AND foldersId = '{{ foldersId }}'; +``` diff --git a/docs/google-docs/providers/google/essentialcontacts/index.md b/docs/google-docs/providers/google/essentialcontacts/index.md index 3f75775952..696593fac2 100644 --- a/docs/google-docs/providers/google/essentialcontacts/index.md +++ b/docs/google-docs/providers/google/essentialcontacts/index.md @@ -9,39 +9,29 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- - - +The essentialcontacts service documentation. + :::info Service Summary
total resources: 1
-total selectable resources: 1
-total methods: 24
::: -## Overview -
- - - - - -
Namegoogle.essentialcontacts
TypeService
TitleEssential Contacts API
Description
Idessentialcontacts:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/eventarc/channel_connections/index.md b/docs/google-docs/providers/google/eventarc/channel_connections/index.md index 26a50d0383..17e1541fb8 100644 --- a/docs/google-docs/providers/google/eventarc/channel_connections/index.md +++ b/docs/google-docs/providers/google/eventarc/channel_connections/index.md @@ -1,3 +1,4 @@ + --- title: channel_connections hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - channel_connections - eventarc - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an channel_connection resource or lists channel_connections in a region ## Overview @@ -32,10 +34,11 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Required. The name of the connection. | | | `string` | Input only. Activation token for the channel. The token will be used during the creation of ChannelConnection to bind the channel with the provider project. This field will not be stored in the provider resource. | -| | `string` | Required. The name of the connected subscriber Channel. This is a weak reference to avoid cross project and cross accounts references. This must be in `projects/{project}/location/{location}/channels/{channel_id}` format. | +| | `string` | Required. The name of the connected subscriber Channel. This is a weak reference to avoid cross project and cross accounts references. This must be in `projects/{project}/location/{location}/channels/{channel_id}` format. | | | `string` | Output only. The creation time. | | | `string` | Output only. Server assigned ID of the resource. The server guarantees uniqueness and immutability until deleted. | | | `string` | Output only. The last-modified time. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -43,4 +46,91 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | List channel connections. | | | `INSERT` | | Create a new ChannelConnection in a particular project and location. | | | `DELETE` | | Delete a single ChannelConnection. | -| | `EXEC` | | List channel connections. | + +## `SELECT` examples + +List channel connections. + +```sql +SELECT +name, +activationToken, +channel, +createTime, +uid, +updateTime +FROM google.eventarc.channel_connections +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new channel_connections resource. + + + + +```sql +/*+ create */ +INSERT INTO google.eventarc.channel_connections ( +locationsId, +projectsId, +name, +uid, +channel, +createTime, +updateTime, +activationToken +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ uid }}', +'{{ channel }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ activationToken }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: uid + value: '{{ uid }}' + - name: channel + value: '{{ channel }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: activationToken + value: '{{ activationToken }}' + +``` + + + +## `DELETE` example + +Deletes the specified channel_connection resource. + +```sql +DELETE FROM google.eventarc.channel_connections +WHERE channelConnectionsId = '{{ channelConnectionsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/eventarc/channel_connections_iam_policies/index.md b/docs/google-docs/providers/google/eventarc/channel_connections_iam_policies/index.md index b0371d4185..12fe2e954f 100644 --- a/docs/google-docs/providers/google/eventarc/channel_connections_iam_policies/index.md +++ b/docs/google-docs/providers/google/eventarc/channel_connections_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: channel_connections_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - channel_connections_iam_policies - eventarc - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an channel_connections_iam_policy resource or lists channel_connections_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.eventarc.channel_connections_iam_policies +WHERE channelConnectionsId = '{{ channelConnectionsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/eventarc/channels/index.md b/docs/google-docs/providers/google/eventarc/channels/index.md index 85d55adcf6..932b3de5aa 100644 --- a/docs/google-docs/providers/google/eventarc/channels/index.md +++ b/docs/google-docs/providers/google/eventarc/channels/index.md @@ -1,3 +1,4 @@ + --- title: channels hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - channels - eventarc - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an channel resource or lists channels in a region ## Overview
@@ -30,16 +32,17 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Required. The resource name of the channel. Must be unique within the location on the project and must be in `projects/{project}/locations/{location}/channels/{channel_id}` format. | +| | `string` | Required. The resource name of the channel. Must be unique within the location on the project and must be in `projects/{project}/locations/{location}/channels/{channel_id}` format. | | | `string` | Output only. The activation token for the channel. The token must be used by the provider to register the channel for publishing. | | | `string` | Output only. The creation time. | | | `string` | Resource name of a KMS crypto key (managed by the user) used to encrypt/decrypt their event data. It must match the pattern `projects/*/locations/*/keyRings/*/cryptoKeys/*`. | -| | `string` | The name of the event provider (e.g. Eventarc SaaS partner) associated with the channel. This provider will be granted permissions to publish events to the channel. Format: `projects/{project}/locations/{location}/providers/{provider_id}`. | -| | `string` | Output only. The name of the Pub/Sub topic created and managed by Eventarc system as a transport for the event delivery. Format: `projects/{project}/topics/{topic_id}`. | +| | `string` | The name of the event provider (e.g. Eventarc SaaS partner) associated with the channel. This provider will be granted permissions to publish events to the channel. Format: `projects/{project}/locations/{location}/providers/{provider_id}`. | +| | `string` | Output only. The name of the Pub/Sub topic created and managed by Eventarc system as a transport for the event delivery. Format: `projects/{project}/topics/{topic_id}`. | | | `boolean` | Output only. Whether or not this Channel satisfies the requirements of physical zone separation | | | `string` | Output only. The state of a Channel. | | | `string` | Output only. Server assigned unique identifier for the channel. The value is a UUID4 string and guaranteed to remain unchanged until the resource is deleted. | | | `string` | Output only. The last-modified time. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -48,4 +51,134 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Create a new channel in a particular project and location. | | | `DELETE` | | Delete a single channel. | | | `UPDATE` | | Update a single channel. | -| | `EXEC` | | List channels. | + +## `SELECT` examples + +List channels. + +```sql +SELECT +name, +activationToken, +createTime, +cryptoKeyName, +provider, +pubsubTopic, +satisfiesPzs, +state, +uid, +updateTime +FROM google.eventarc.channels +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new channels resource. + + + + +```sql +/*+ create */ +INSERT INTO google.eventarc.channels ( +locationsId, +projectsId, +name, +uid, +createTime, +updateTime, +provider, +pubsubTopic, +state, +activationToken, +cryptoKeyName, +satisfiesPzs +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ uid }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ provider }}', +'{{ pubsubTopic }}', +'{{ state }}', +'{{ activationToken }}', +'{{ cryptoKeyName }}', +true|false +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: uid + value: '{{ uid }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: provider + value: '{{ provider }}' + - name: pubsubTopic + value: '{{ pubsubTopic }}' + - name: state + value: '{{ state }}' + - name: activationToken + value: '{{ activationToken }}' + - name: cryptoKeyName + value: '{{ cryptoKeyName }}' + - name: satisfiesPzs + value: '{{ satisfiesPzs }}' + +``` + + + +## `UPDATE` example + +Updates a channel only if the necessary resources are available. + +```sql +UPDATE google.eventarc.channels +SET +name = '{{ name }}', +uid = '{{ uid }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +provider = '{{ provider }}', +pubsubTopic = '{{ pubsubTopic }}', +state = '{{ state }}', +activationToken = '{{ activationToken }}', +cryptoKeyName = '{{ cryptoKeyName }}', +satisfiesPzs = true|false +WHERE +channelsId = '{{ channelsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified channel resource. + +```sql +DELETE FROM google.eventarc.channels +WHERE channelsId = '{{ channelsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/eventarc/channels_iam_policies/index.md b/docs/google-docs/providers/google/eventarc/channels_iam_policies/index.md index c479d40c45..b4ba3541ed 100644 --- a/docs/google-docs/providers/google/eventarc/channels_iam_policies/index.md +++ b/docs/google-docs/providers/google/eventarc/channels_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: channels_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - channels_iam_policies - eventarc - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an channels_iam_policy resource or lists channels_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.eventarc.channels_iam_policies +WHERE channelsId = '{{ channelsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/eventarc/google_channel_config/index.md b/docs/google-docs/providers/google/eventarc/google_channel_config/index.md index f903d07025..61e250d70e 100644 --- a/docs/google-docs/providers/google/eventarc/google_channel_config/index.md +++ b/docs/google-docs/providers/google/eventarc/google_channel_config/index.md @@ -1,3 +1,4 @@ + --- title: google_channel_config hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - google_channel_config - eventarc - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an google_channel_config resource or lists google_channel_config in a region ## Overview
@@ -30,11 +32,41 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Required. The resource name of the config. Must be in the format of, `projects/{project}/locations/{location}/googleChannelConfig`. | +| | `string` | Required. The resource name of the config. Must be in the format of, `projects/{project}/locations/{location}/googleChannelConfig`. | | | `string` | Optional. Resource name of a KMS crypto key (managed by the user) used to encrypt/decrypt their event data. It must match the pattern `projects/*/locations/*/keyRings/*/cryptoKeys/*`. | | | `string` | Output only. The last-modified time. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Get a GoogleChannelConfig | -| | `EXEC` | | Update a single GoogleChannelConfig | +| | `UPDATE` | | Update a single GoogleChannelConfig | + +## `SELECT` examples + +Get a GoogleChannelConfig + +```sql +SELECT +name, +cryptoKeyName, +updateTime +FROM google.eventarc.google_channel_config +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `UPDATE` example + +Updates a google_channel_config only if the necessary resources are available. + +```sql +UPDATE google.eventarc.google_channel_config +SET +name = '{{ name }}', +updateTime = '{{ updateTime }}', +cryptoKeyName = '{{ cryptoKeyName }}' +WHERE +locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/eventarc/index.md b/docs/google-docs/providers/google/eventarc/index.md index 85cfaef9d5..4c68594575 100644 --- a/docs/google-docs/providers/google/eventarc/index.md +++ b/docs/google-docs/providers/google/eventarc/index.md @@ -9,34 +9,23 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Build event-driven applications on Google Cloud Platform. - +The eventarc service documentation. + :::info Service Summary
total resources: 10
-total selectable resources: 10
-total methods: 42
::: -## Overview -
- - - - - -
Namegoogle.eventarc
TypeService
TitleEventarc API
DescriptionBuild event-driven applications on Google Cloud Platform.
Ideventarc:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/eventarc/locations/index.md b/docs/google-docs/providers/google/eventarc/locations/index.md index 292ef3a4d8..a8dc9a225f 100644 --- a/docs/google-docs/providers/google/eventarc/locations/index.md +++ b/docs/google-docs/providers/google/eventarc/locations/index.md @@ -1,3 +1,4 @@ + --- title: locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - locations - eventarc - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an location resource or lists locations in a region ## Overview @@ -32,12 +34,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` | | | `string` | The friendly name for this location, typically a nearby city name. For example, "Tokyo". | -| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | +| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | | | `string` | The canonical id for this location. For example: `"us-east1"`. | | | `object` | Service-specific metadata. For example the available capacity at the given location. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about a location. | | | `SELECT` | | Lists information about the supported locations for this service. | -| | `EXEC` | | Lists information about the supported locations for this service. | + +## `SELECT` examples + +Lists information about the supported locations for this service. + +```sql +SELECT +name, +displayName, +labels, +locationId, +metadata +FROM google.eventarc.locations +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/eventarc/operations/index.md b/docs/google-docs/providers/google/eventarc/operations/index.md index 25e7a2a25e..9130a3a7d7 100644 --- a/docs/google-docs/providers/google/eventarc/operations/index.md +++ b/docs/google-docs/providers/google/eventarc/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - eventarc - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview
@@ -30,16 +32,43 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.eventarc.operations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified operation resource. + +```sql +DELETE FROM google.eventarc.operations +WHERE locationsId = '{{ locationsId }}' +AND operationsId = '{{ operationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/eventarc/providers/index.md b/docs/google-docs/providers/google/eventarc/providers/index.md index cb82400186..3ddb807ff9 100644 --- a/docs/google-docs/providers/google/eventarc/providers/index.md +++ b/docs/google-docs/providers/google/eventarc/providers/index.md @@ -1,3 +1,4 @@ + --- title: providers hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - providers - eventarc - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an provider resource or lists providers in a region ## Overview
@@ -30,12 +32,26 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. In `projects/{project}/locations/{location}/providers/{provider_id}` format. | +| | `string` | Output only. In `projects/{project}/locations/{location}/providers/{provider_id}` format. | | | `string` | Output only. Human friendly name for the Provider. For example "Cloud Storage". | | | `array` | Output only. Event types for this provider. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Get a single Provider. | | | `SELECT` | | List providers. | -| | `EXEC` | | List providers. | + +## `SELECT` examples + +List providers. + +```sql +SELECT +name, +displayName, +eventTypes +FROM google.eventarc.providers +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/eventarc/triggers/index.md b/docs/google-docs/providers/google/eventarc/triggers/index.md index b035cffbe5..17922b0994 100644 --- a/docs/google-docs/providers/google/eventarc/triggers/index.md +++ b/docs/google-docs/providers/google/eventarc/triggers/index.md @@ -1,3 +1,4 @@ + --- title: triggers hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - triggers - eventarc - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an trigger resource or lists triggers in a region ## Overview
@@ -30,8 +32,8 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Required. The resource name of the trigger. Must be unique within the location of the project and must be in `projects/{project}/locations/{location}/triggers/{trigger}` format. | -| | `string` | Optional. The name of the channel associated with the trigger in `projects/{project}/locations/{location}/channels/{channel}` format. You must provide a channel to receive events from Eventarc SaaS partners. | +| | `string` | Required. The resource name of the trigger. Must be unique within the location of the project and must be in `projects/{project}/locations/{location}/triggers/{trigger}` format. | +| | `string` | Optional. The name of the channel associated with the trigger in `projects/{project}/locations/{location}/channels/{channel}` format. You must provide a channel to receive events from Eventarc SaaS partners. | | | `object` | Output only. The reason(s) why a trigger is in FAILED state. | | | `string` | Output only. The creation time. | | | `object` | Represents a target of an invocation over HTTP. | @@ -44,6 +46,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Represents the transport intermediaries created for the trigger to deliver events. | | | `string` | Output only. Server-assigned unique identifier for the trigger. The value is a UUID4 string and guaranteed to remain unchanged until the resource is deleted. | | | `string` | Output only. The last-modified time. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -52,4 +55,158 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Create a new trigger in a particular project and location. | | | `DELETE` | | Delete a single trigger. | | | `UPDATE` | | Update a single trigger. | -| | `EXEC` | | List triggers. | + +## `SELECT` examples + +List triggers. + +```sql +SELECT +name, +channel, +conditions, +createTime, +destination, +etag, +eventDataContentType, +eventFilters, +labels, +satisfiesPzs, +serviceAccount, +transport, +uid, +updateTime +FROM google.eventarc.triggers +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new triggers resource. + + + + +```sql +/*+ create */ +INSERT INTO google.eventarc.triggers ( +locationsId, +projectsId, +name, +uid, +createTime, +updateTime, +eventFilters, +serviceAccount, +destination, +transport, +labels, +channel, +conditions, +eventDataContentType, +satisfiesPzs, +etag +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ uid }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ eventFilters }}', +'{{ serviceAccount }}', +'{{ destination }}', +'{{ transport }}', +'{{ labels }}', +'{{ channel }}', +'{{ conditions }}', +'{{ eventDataContentType }}', +true|false, +'{{ etag }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: uid + value: '{{ uid }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: eventFilters + value: '{{ eventFilters }}' + - name: serviceAccount + value: '{{ serviceAccount }}' + - name: destination + value: '{{ destination }}' + - name: transport + value: '{{ transport }}' + - name: labels + value: '{{ labels }}' + - name: channel + value: '{{ channel }}' + - name: conditions + value: '{{ conditions }}' + - name: eventDataContentType + value: '{{ eventDataContentType }}' + - name: satisfiesPzs + value: '{{ satisfiesPzs }}' + - name: etag + value: '{{ etag }}' + +``` + + + +## `UPDATE` example + +Updates a trigger only if the necessary resources are available. + +```sql +UPDATE google.eventarc.triggers +SET +name = '{{ name }}', +uid = '{{ uid }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +eventFilters = '{{ eventFilters }}', +serviceAccount = '{{ serviceAccount }}', +destination = '{{ destination }}', +transport = '{{ transport }}', +labels = '{{ labels }}', +channel = '{{ channel }}', +conditions = '{{ conditions }}', +eventDataContentType = '{{ eventDataContentType }}', +satisfiesPzs = true|false, +etag = '{{ etag }}' +WHERE +locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND triggersId = '{{ triggersId }}'; +``` + +## `DELETE` example + +Deletes the specified trigger resource. + +```sql +DELETE FROM google.eventarc.triggers +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND triggersId = '{{ triggersId }}'; +``` diff --git a/docs/google-docs/providers/google/eventarc/triggers_iam_policies/index.md b/docs/google-docs/providers/google/eventarc/triggers_iam_policies/index.md index 0d981b6c6c..820cc9e84b 100644 --- a/docs/google-docs/providers/google/eventarc/triggers_iam_policies/index.md +++ b/docs/google-docs/providers/google/eventarc/triggers_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: triggers_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - triggers_iam_policies - eventarc - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an triggers_iam_policy resource or lists triggers_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.eventarc.triggers_iam_policies +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND triggersId = '{{ triggersId }}'; +``` diff --git a/docs/google-docs/providers/google/file/backups/index.md b/docs/google-docs/providers/google/file/backups/index.md index 3ea52a8189..e19bbf2f03 100644 --- a/docs/google-docs/providers/google/file/backups/index.md +++ b/docs/google-docs/providers/google/file/backups/index.md @@ -1,3 +1,4 @@ + --- title: backups hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - backups - file - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an backup resource or lists backups in a region ## Overview
@@ -30,20 +32,23 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. The resource name of the backup, in the format `projects/{project_number}/locations/{location_id}/backups/{backup_id}`. | +| | `string` | Output only. The resource name of the backup, in the format `projects/{project_number}/locations/{location_id}/backups/{backup_id}`. | | | `string` | A description of the backup with 2048 characters or less. Requests with longer descriptions will be rejected. | | | `string` | Output only. Capacity of the source file share when the backup was created. | | | `string` | Output only. The time when the backup was created. | | | `string` | Output only. Amount of bytes that will be downloaded if the backup is restored. This may be different than storage bytes, since sequential backups of the same disk will share storage. | +| | `string` | Output only. The file system protocol of the source Filestore instance that this backup is created from. | | | `string` | Immutable. KMS key name used for data encryption. | | | `object` | Resource labels to represent user provided metadata. | | | `boolean` | Output only. Reserved for future use. | | | `boolean` | Output only. Reserved for future use. | | | `string` | Name of the file share in the source Filestore instance that the backup is created from. | -| | `string` | The resource name of the source Filestore instance, in the format `projects/{project_number}/locations/{location_id}/instances/{instance_id}`, used to create this backup. | +| | `string` | The resource name of the source Filestore instance, in the format `projects/{project_number}/locations/{location_id}/instances/{instance_id}`, used to create this backup. | | | `string` | Output only. The service tier of the source Filestore instance that this backup is created from. | | | `string` | Output only. The backup state. | | | `string` | Output only. The size of the storage used by the backup. As backups share storage, this number is expected to change with backup creation/deletion. | +| | `object` | Optional. Input only. Immutable. Tag key-value pairs are bound to this resource. For example: "123/environment": "production", "123/costCenter": "marketing" | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -52,4 +57,170 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a backup. | | | `DELETE` | | Deletes a backup. | | | `UPDATE` | | Updates the settings of a specific backup. | -| | `EXEC` | | Lists all backups in a project for either a specified location or for all locations. | + +## `SELECT` examples + +Lists all backups in a project for either a specified location or for all locations. + +```sql +SELECT +name, +description, +capacityGb, +createTime, +downloadBytes, +fileSystemProtocol, +kmsKey, +labels, +satisfiesPzi, +satisfiesPzs, +sourceFileShare, +sourceInstance, +sourceInstanceTier, +state, +storageBytes, +tags +FROM google.file.backups +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new backups resource. + + + + +```sql +/*+ create */ +INSERT INTO google.file.backups ( +locationsId, +projectsId, +name, +description, +state, +createTime, +labels, +capacityGb, +storageBytes, +sourceInstance, +sourceFileShare, +sourceInstanceTier, +downloadBytes, +satisfiesPzs, +satisfiesPzi, +kmsKey, +tags, +fileSystemProtocol +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ description }}', +'{{ state }}', +'{{ createTime }}', +'{{ labels }}', +'{{ capacityGb }}', +'{{ storageBytes }}', +'{{ sourceInstance }}', +'{{ sourceFileShare }}', +'{{ sourceInstanceTier }}', +'{{ downloadBytes }}', +true|false, +true|false, +'{{ kmsKey }}', +'{{ tags }}', +'{{ fileSystemProtocol }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: state + value: '{{ state }}' + - name: createTime + value: '{{ createTime }}' + - name: labels + value: '{{ labels }}' + - name: capacityGb + value: '{{ capacityGb }}' + - name: storageBytes + value: '{{ storageBytes }}' + - name: sourceInstance + value: '{{ sourceInstance }}' + - name: sourceFileShare + value: '{{ sourceFileShare }}' + - name: sourceInstanceTier + value: '{{ sourceInstanceTier }}' + - name: downloadBytes + value: '{{ downloadBytes }}' + - name: satisfiesPzs + value: '{{ satisfiesPzs }}' + - name: satisfiesPzi + value: '{{ satisfiesPzi }}' + - name: kmsKey + value: '{{ kmsKey }}' + - name: tags + value: '{{ tags }}' + - name: fileSystemProtocol + value: '{{ fileSystemProtocol }}' + +``` + + + +## `UPDATE` example + +Updates a backup only if the necessary resources are available. + +```sql +UPDATE google.file.backups +SET +name = '{{ name }}', +description = '{{ description }}', +state = '{{ state }}', +createTime = '{{ createTime }}', +labels = '{{ labels }}', +capacityGb = '{{ capacityGb }}', +storageBytes = '{{ storageBytes }}', +sourceInstance = '{{ sourceInstance }}', +sourceFileShare = '{{ sourceFileShare }}', +sourceInstanceTier = '{{ sourceInstanceTier }}', +downloadBytes = '{{ downloadBytes }}', +satisfiesPzs = true|false, +satisfiesPzi = true|false, +kmsKey = '{{ kmsKey }}', +tags = '{{ tags }}', +fileSystemProtocol = '{{ fileSystemProtocol }}' +WHERE +backupsId = '{{ backupsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified backup resource. + +```sql +DELETE FROM google.file.backups +WHERE backupsId = '{{ backupsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/file/index.md b/docs/google-docs/providers/google/file/index.md index e74f077ccb..1615fcf4ca 100644 --- a/docs/google-docs/providers/google/file/index.md +++ b/docs/google-docs/providers/google/file/index.md @@ -9,43 +9,32 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -The Cloud Filestore API is used for creating and managing cloud file servers. - +The file service documentation. + :::info Service Summary
total resources: 5
-total selectable resources: 5
-total methods: 28
::: -## Overview -
- - - - - -
Namegoogle.file
TypeService
TitleCloud Filestore API
DescriptionThe Cloud Filestore API is used for creating and managing cloud file servers.
Idfile:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/file/instances/index.md b/docs/google-docs/providers/google/file/instances/index.md index f99a9976d4..c629a31302 100644 --- a/docs/google-docs/providers/google/file/instances/index.md +++ b/docs/google-docs/providers/google/file/instances/index.md @@ -1,3 +1,4 @@ + --- title: instances hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - instances - file - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an instance resource or lists instances in a region ## Overview @@ -30,21 +32,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. The resource name of the instance, in the format `projects/{project}/locations/{location}/instances/{instance}`. | +| | `string` | Output only. The resource name of the instance, in the format `projects/{project}/locations/{location}/instances/{instance}`. | | | `string` | The description of the instance (2048 characters or less). | +| | `boolean` | Output only. Indicates whether this instance's performance is configurable. If enabled, adjust it using the 'performance_config' field. | | | `string` | Output only. The time when the instance was created. | +| | `boolean` | Optional. Indicates whether the instance is protected against deletion. | +| | `string` | Optional. The reason for enabling deletion protection. | | | `string` | Server-specified ETag for the instance resource to prevent simultaneous updates from overwriting each other. | | | `array` | File system shares on the instance. For this version, only a single file share is supported. | | | `string` | KMS key name used for data encryption. | | | `object` | Resource labels to represent user provided metadata. | | | `array` | VPC networks to which the instance is connected. For this version, only a single network is supported. | +| | `object` | Used for setting the performance configuration. If the user doesn't specify PerformanceConfig, automatically provision the default performance settings as described in https://cloud.google.com/filestore/docs/performance. Larger instances will be linearly set to more IOPS. If the instance's capacity is increased or decreased, its performance will be automatically adjusted upwards or downwards accordingly (respectively). | +| | `object` | The enforced performance limits, calculated from the instance's performance configuration. | +| | `string` | Immutable. The protocol indicates the access protocol for all shares in the instance. This field is immutable and it cannot be changed after the instance has been created. Default value: `NFS_V3`. | | | `object` | Replication specifications. | | | `boolean` | Output only. Reserved for future use. | | | `boolean` | Output only. Reserved for future use. | | | `string` | Output only. The instance state. | | | `string` | Output only. Additional information about the instance state, if available. | | | `array` | Output only. Field indicates all the reasons the instance is in "SUSPENDED" state. | +| | `object` | Optional. Input only. Immutable. Tag key-value pairs are bound to this resource. For example: "123/environment": "production", "123/costCenter": "marketing" | | | `string` | The service tier of the instance. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -53,6 +63,209 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates an instance. When creating from a backup, the capacity of the new instance needs to be equal to or larger than the capacity of the backup (and also equal to or larger than the minimum capacity of the tier). | | | `DELETE` | | Deletes an instance. | | | `UPDATE` | | Updates the settings of a specific instance. | -| | `EXEC` | | Lists all instances in a project for either a specified location or for all locations. | +| | `EXEC` | | Promote the standby instance (replica). | | | `EXEC` | | Restores an existing instance's file share from a backup. The capacity of the instance needs to be equal to or larger than the capacity of the backup (and also equal to or larger than the minimum capacity of the tier). | | | `EXEC` | | Revert an existing instance's file system to a specified snapshot. | + +## `SELECT` examples + +Lists all instances in a project for either a specified location or for all locations. + +```sql +SELECT +name, +description, +configurablePerformanceEnabled, +createTime, +deletionProtectionEnabled, +deletionProtectionReason, +etag, +fileShares, +kmsKeyName, +labels, +networks, +performanceConfig, +performanceLimits, +protocol, +replication, +satisfiesPzi, +satisfiesPzs, +state, +statusMessage, +suspensionReasons, +tags, +tier +FROM google.file.instances +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new instances resource. + + + + +```sql +/*+ create */ +INSERT INTO google.file.instances ( +locationsId, +projectsId, +name, +description, +state, +statusMessage, +createTime, +tier, +labels, +fileShares, +networks, +etag, +satisfiesPzs, +satisfiesPzi, +kmsKeyName, +suspensionReasons, +replication, +tags, +protocol, +configurablePerformanceEnabled, +performanceConfig, +performanceLimits, +deletionProtectionEnabled, +deletionProtectionReason +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ description }}', +'{{ state }}', +'{{ statusMessage }}', +'{{ createTime }}', +'{{ tier }}', +'{{ labels }}', +'{{ fileShares }}', +'{{ networks }}', +'{{ etag }}', +true|false, +true|false, +'{{ kmsKeyName }}', +'{{ suspensionReasons }}', +'{{ replication }}', +'{{ tags }}', +'{{ protocol }}', +true|false, +'{{ performanceConfig }}', +'{{ performanceLimits }}', +true|false, +'{{ deletionProtectionReason }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: state + value: '{{ state }}' + - name: statusMessage + value: '{{ statusMessage }}' + - name: createTime + value: '{{ createTime }}' + - name: tier + value: '{{ tier }}' + - name: labels + value: '{{ labels }}' + - name: fileShares + value: '{{ fileShares }}' + - name: networks + value: '{{ networks }}' + - name: etag + value: '{{ etag }}' + - name: satisfiesPzs + value: '{{ satisfiesPzs }}' + - name: satisfiesPzi + value: '{{ satisfiesPzi }}' + - name: kmsKeyName + value: '{{ kmsKeyName }}' + - name: suspensionReasons + value: '{{ suspensionReasons }}' + - name: replication + value: '{{ replication }}' + - name: tags + value: '{{ tags }}' + - name: protocol + value: '{{ protocol }}' + - name: configurablePerformanceEnabled + value: '{{ configurablePerformanceEnabled }}' + - name: performanceConfig + value: '{{ performanceConfig }}' + - name: performanceLimits + value: '{{ performanceLimits }}' + - name: deletionProtectionEnabled + value: '{{ deletionProtectionEnabled }}' + - name: deletionProtectionReason + value: '{{ deletionProtectionReason }}' + +``` + + + +## `UPDATE` example + +Updates a instance only if the necessary resources are available. + +```sql +UPDATE google.file.instances +SET +name = '{{ name }}', +description = '{{ description }}', +state = '{{ state }}', +statusMessage = '{{ statusMessage }}', +createTime = '{{ createTime }}', +tier = '{{ tier }}', +labels = '{{ labels }}', +fileShares = '{{ fileShares }}', +networks = '{{ networks }}', +etag = '{{ etag }}', +satisfiesPzs = true|false, +satisfiesPzi = true|false, +kmsKeyName = '{{ kmsKeyName }}', +suspensionReasons = '{{ suspensionReasons }}', +replication = '{{ replication }}', +tags = '{{ tags }}', +protocol = '{{ protocol }}', +configurablePerformanceEnabled = true|false, +performanceConfig = '{{ performanceConfig }}', +performanceLimits = '{{ performanceLimits }}', +deletionProtectionEnabled = true|false, +deletionProtectionReason = '{{ deletionProtectionReason }}' +WHERE +instancesId = '{{ instancesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified instance resource. + +```sql +DELETE FROM google.file.instances +WHERE instancesId = '{{ instancesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/file/locations/index.md b/docs/google-docs/providers/google/file/locations/index.md index 5a9a766e7a..c8b8535a54 100644 --- a/docs/google-docs/providers/google/file/locations/index.md +++ b/docs/google-docs/providers/google/file/locations/index.md @@ -1,3 +1,4 @@ + --- title: locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - locations - file - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an location resource or lists locations in a region ## Overview
@@ -32,12 +34,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` | | | `string` | The friendly name for this location, typically a nearby city name. For example, "Tokyo". | -| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | +| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | | | `string` | The canonical id for this location. For example: `"us-east1"`. | | | `object` | Service-specific metadata. For example the available capacity at the given location. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about a location. | | | `SELECT` | | Lists information about the supported locations for this service. | -| | `EXEC` | | Lists information about the supported locations for this service. | + +## `SELECT` examples + +Lists information about the supported locations for this service. + +```sql +SELECT +name, +displayName, +labels, +locationId, +metadata +FROM google.file.locations +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/file/operations/index.md b/docs/google-docs/providers/google/file/operations/index.md index 9f8bdb366b..c8efee59af 100644 --- a/docs/google-docs/providers/google/file/operations/index.md +++ b/docs/google-docs/providers/google/file/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - file - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview
@@ -30,16 +32,43 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.file.operations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified operation resource. + +```sql +DELETE FROM google.file.operations +WHERE locationsId = '{{ locationsId }}' +AND operationsId = '{{ operationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/file/snapshots/index.md b/docs/google-docs/providers/google/file/snapshots/index.md index 3f968694dd..50eca119b6 100644 --- a/docs/google-docs/providers/google/file/snapshots/index.md +++ b/docs/google-docs/providers/google/file/snapshots/index.md @@ -1,3 +1,4 @@ + --- title: snapshots hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - snapshots - file - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an snapshot resource or lists snapshots in a region ## Overview
@@ -30,12 +32,14 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. The resource name of the snapshot, in the format `projects/{project_id}/locations/{location_id}/instances/{instance_id}/snapshots/{snapshot_id}`. | +| | `string` | Output only. The resource name of the snapshot, in the format `projects/{project_id}/locations/{location_id}/instances/{instance_id}/snapshots/{snapshot_id}`. | | | `string` | A description of the snapshot with 2048 characters or less. Requests with longer descriptions will be rejected. | | | `string` | Output only. The time when the snapshot was created. | | | `string` | Output only. The amount of bytes needed to allocate a full copy of the snapshot content | | | `object` | Resource labels to represent user provided metadata. | | | `string` | Output only. The snapshot state. | +| | `object` | Optional. Input only. Immutable. Tag key-value pairs are bound to this resource. For example: "123/environment": "production", "123/costCenter": "marketing" | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -44,4 +48,121 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a snapshot. | | | `DELETE` | | Deletes a snapshot. | | | `UPDATE` | | Updates the settings of a specific snapshot. | -| | `EXEC` | | Lists all snapshots in a project for either a specified location or for all locations. | + +## `SELECT` examples + +Lists all snapshots in a project for either a specified location or for all locations. + +```sql +SELECT +name, +description, +createTime, +filesystemUsedBytes, +labels, +state, +tags +FROM google.file.snapshots +WHERE instancesId = '{{ instancesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new snapshots resource. + + + + +```sql +/*+ create */ +INSERT INTO google.file.snapshots ( +instancesId, +locationsId, +projectsId, +name, +description, +state, +createTime, +labels, +filesystemUsedBytes, +tags +) +SELECT +'{{ instancesId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ description }}', +'{{ state }}', +'{{ createTime }}', +'{{ labels }}', +'{{ filesystemUsedBytes }}', +'{{ tags }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: state + value: '{{ state }}' + - name: createTime + value: '{{ createTime }}' + - name: labels + value: '{{ labels }}' + - name: filesystemUsedBytes + value: '{{ filesystemUsedBytes }}' + - name: tags + value: '{{ tags }}' + +``` + + + +## `UPDATE` example + +Updates a snapshot only if the necessary resources are available. + +```sql +UPDATE google.file.snapshots +SET +name = '{{ name }}', +description = '{{ description }}', +state = '{{ state }}', +createTime = '{{ createTime }}', +labels = '{{ labels }}', +filesystemUsedBytes = '{{ filesystemUsedBytes }}', +tags = '{{ tags }}' +WHERE +instancesId = '{{ instancesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND snapshotsId = '{{ snapshotsId }}'; +``` + +## `DELETE` example + +Deletes the specified snapshot resource. + +```sql +DELETE FROM google.file.snapshots +WHERE instancesId = '{{ instancesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND snapshotsId = '{{ snapshotsId }}'; +``` diff --git a/docs/google-docs/providers/google/firestore/backup_schedules/index.md b/docs/google-docs/providers/google/firestore/backup_schedules/index.md index 75841abca3..b8ef5af6ee 100644 --- a/docs/google-docs/providers/google/firestore/backup_schedules/index.md +++ b/docs/google-docs/providers/google/firestore/backup_schedules/index.md @@ -1,3 +1,4 @@ + --- title: backup_schedules hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - backup_schedules - firestore - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an backup_schedule resource or lists backup_schedules in a region ## Overview
@@ -30,12 +32,13 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. The unique backup schedule identifier across all locations and databases for the given project. This will be auto-assigned. Format is `projects/{project}/databases/{database}/backupSchedules/{backup_schedule}` | +| | `string` | Output only. The unique backup schedule identifier across all locations and databases for the given project. This will be auto-assigned. Format is `projects/{project}/databases/{database}/backupSchedules/{backup_schedule}` | | | `string` | Output only. The timestamp at which this backup schedule was created and effective since. No backups will be created for this schedule before this time. | | | `object` | Represents a recurring schedule that runs every day. The time zone is UTC. | -| | `string` | At what relative time in the future, compared to its creation time, the backup should be deleted, e.g. keep backups for 7 days. | +| | `string` | At what relative time in the future, compared to its creation time, the backup should be deleted, e.g. keep backups for 7 days. The maximum supported retention period is 14 weeks. | | | `string` | Output only. The timestamp at which this backup schedule was most recently updated. When a backup schedule is first created, this is the same as create_time. | | | `object` | Represents a recurring schedule that runs on a specified day of the week. The time zone is UTC. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -44,3 +47,110 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a backup schedule on a database. At most two backup schedules can be configured on a database, one daily backup schedule and one weekly backup schedule. | | | `DELETE` | | Deletes a backup schedule. | | | `UPDATE` | | Updates a backup schedule. | + +## `SELECT` examples + +List backup schedules. + +```sql +SELECT +name, +createTime, +dailyRecurrence, +retention, +updateTime, +weeklyRecurrence +FROM google.firestore.backup_schedules +WHERE databasesId = '{{ databasesId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new backup_schedules resource. + + + + +```sql +/*+ create */ +INSERT INTO google.firestore.backup_schedules ( +databasesId, +projectsId, +name, +createTime, +updateTime, +retention, +dailyRecurrence, +weeklyRecurrence +) +SELECT +'{{ databasesId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ retention }}', +'{{ dailyRecurrence }}', +'{{ weeklyRecurrence }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: retention + value: '{{ retention }}' + - name: dailyRecurrence + value: '{{ dailyRecurrence }}' + - name: weeklyRecurrence + value: '{{ weeklyRecurrence }}' + +``` + + + +## `UPDATE` example + +Updates a backup_schedule only if the necessary resources are available. + +```sql +UPDATE google.firestore.backup_schedules +SET +name = '{{ name }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +retention = '{{ retention }}', +dailyRecurrence = '{{ dailyRecurrence }}', +weeklyRecurrence = '{{ weeklyRecurrence }}' +WHERE +backupSchedulesId = '{{ backupSchedulesId }}' +AND databasesId = '{{ databasesId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified backup_schedule resource. + +```sql +DELETE FROM google.firestore.backup_schedules +WHERE backupSchedulesId = '{{ backupSchedulesId }}' +AND databasesId = '{{ databasesId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/firestore/backups/index.md b/docs/google-docs/providers/google/firestore/backups/index.md index 564e0048fd..37c0db73ee 100644 --- a/docs/google-docs/providers/google/firestore/backups/index.md +++ b/docs/google-docs/providers/google/firestore/backups/index.md @@ -1,3 +1,4 @@ + --- title: backups hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - backups - firestore - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an backup resource or lists backups in a region ## Overview
@@ -30,16 +32,46 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. The unique resource name of the Backup. Format is `projects/{project}/locations/{location}/backups/{backup}`. | -| | `string` | Output only. Name of the Firestore database that the backup is from. Format is `projects/{project}/databases/{database}`. | +| | `string` | Output only. The unique resource name of the Backup. Format is `projects/{project}/locations/{location}/backups/{backup}`. | +| | `string` | Output only. Name of the Firestore database that the backup is from. Format is `projects/{project}/databases/{database}`. | | | `string` | Output only. The system-generated UUID4 for the Firestore database that the backup is from. | | | `string` | Output only. The timestamp at which this backup expires. | | | `string` | Output only. The backup contains an externally consistent copy of the database at this time. | | | `string` | Output only. The current state of the backup. | | | `object` | Backup specific statistics. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about a backup. | | | `SELECT` | | Lists all the backups. | | | `DELETE` | | Deletes a backup. | + +## `SELECT` examples + +Lists all the backups. + +```sql +SELECT +name, +database, +databaseUid, +expireTime, +snapshotTime, +state, +stats +FROM google.firestore.backups +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified backup resource. + +```sql +DELETE FROM google.firestore.backups +WHERE backupsId = '{{ backupsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/firestore/databases/index.md b/docs/google-docs/providers/google/firestore/databases/index.md index 8e452f7210..ee84067d68 100644 --- a/docs/google-docs/providers/google/firestore/databases/index.md +++ b/docs/google-docs/providers/google/firestore/databases/index.md @@ -1,3 +1,4 @@ + --- title: databases hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - databases - firestore - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an database resource or lists databases in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The resource name of the Database. Format: `projects/{project}/databases/{database}` | +| | `string` | The resource name of the Database. Format: `projects/{project}/databases/{database}` | | | `string` | The App Engine integration mode to use for this database. | | | `object` | The CMEK (Customer Managed Encryption Key) configuration for a Firestore database. If not present, the database is secured by the default Google encryption key. | | | `string` | The concurrency control mode to use for this database. | @@ -39,22 +41,199 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The timestamp at which this database was deleted. Only set if the database has been deleted. | | | `string` | Output only. The earliest timestamp at which older versions of the data can be read from the database. See [version_retention_period] above; this field is populated with `now - version_retention_period`. This value is continuously updated, and becomes stale the moment it is queried. If you are using this value to recover data, make sure to account for the time from the moment when the value is queried to the moment when you initiate the recovery. | | | `string` | This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. | -| | `string` | Output only. The key_prefix for this database. This key_prefix is used, in combination with the project id ("~") to construct the application id that is returned from the Cloud Datastore APIs in Google App Engine first generation runtimes. This value may be empty in which case the appid to use for URL-encoded keys is the project_id (eg: foo instead of v~foo). | +| | `string` | Output only. The key_prefix for this database. This key_prefix is used, in combination with the project ID ("~") to construct the application ID that is returned from the Cloud Datastore APIs in Google App Engine first generation runtimes. This value may be empty in which case the appid to use for URL-encoded keys is the project_id (eg: foo instead of v~foo). | | | `string` | The location of the database. Available locations are listed at https://cloud.google.com/firestore/docs/locations. | | | `string` | Whether to enable the PITR feature on this database. | | | `string` | Output only. The database resource's prior database ID. This field is only populated for deleted databases. | +| | `object` | Information about the provenance of this database. | | | `string` | The type of the database. See https://cloud.google.com/datastore/docs/firestore-or-datastore for information about how to choose. | | | `string` | Output only. The system-generated UUID4 for this Database. | | | `string` | Output only. The timestamp at which this database was most recently updated. Note this only includes updates to the database resource and not data contained by the database. | | | `string` | Output only. The period during which past versions of data are retained in the database. Any read or query can specify a `read_time` within this window, and will read the state of the database at that time. If the PITR feature is enabled, the retention period is 7 days. Otherwise, the retention period is 1 hour. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about a database. | | | `SELECT` | | List all the databases in the project. | | | `INSERT` | | Create a database. | +| | `DELETE` | | Bulk deletes a subset of documents from Google Cloud Firestore. Documents created or updated after the underlying system starts to process the request will not be deleted. The bulk delete occurs in the background and its progress can be monitored and managed via the Operation resource that is created. For more details on bulk delete behavior, refer to: https://cloud.google.com/firestore/docs/manage-data/bulk-delete | | | `DELETE` | | Deletes a database. | | | `UPDATE` | | Updates a database. | | | `EXEC` | | Exports a copy of all or a subset of documents from Google Cloud Firestore to another storage system, such as Google Cloud Storage. Recent updates to documents may not be reflected in the export. The export occurs in the background and its progress can be monitored and managed via the Operation resource that is created. The output of an export may only be used once the associated operation is done. If an export operation is cancelled before completion it may leave partial data behind in Google Cloud Storage. For more details on export behavior and output format, refer to: https://cloud.google.com/firestore/docs/manage-data/export-import | | | `EXEC` | | Imports documents into Google Cloud Firestore. Existing documents with the same name are overwritten. The import occurs in the background and its progress can be monitored and managed via the Operation resource that is created. If an ImportDocuments operation is cancelled, it is possible that a subset of the data has already been imported to Cloud Firestore. | | | `EXEC` | | Creates a new database by restoring from an existing backup. The new database must be in the same cloud region or multi-region location as the existing backup. This behaves similar to FirestoreAdmin.CreateDatabase except instead of creating a new empty database, a new database is created with the database type, index configuration, and documents from an existing backup. The long-running operation can be used to track the progress of the restore, with the Operation's metadata field type being the RestoreDatabaseMetadata. The response type is the Database if the restore was successful. The new database is not readable or writeable until the LRO has completed. | + +## `SELECT` examples + +List all the databases in the project. + +```sql +SELECT +name, +appEngineIntegrationMode, +cmekConfig, +concurrencyMode, +createTime, +deleteProtectionState, +deleteTime, +earliestVersionTime, +etag, +keyPrefix, +locationId, +pointInTimeRecoveryEnablement, +previousId, +sourceInfo, +type, +uid, +updateTime, +versionRetentionPeriod +FROM google.firestore.databases +WHERE projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new databases resource. + + + + +```sql +/*+ create */ +INSERT INTO google.firestore.databases ( +projectsId, +name, +uid, +createTime, +updateTime, +deleteTime, +locationId, +type, +concurrencyMode, +versionRetentionPeriod, +earliestVersionTime, +pointInTimeRecoveryEnablement, +appEngineIntegrationMode, +keyPrefix, +deleteProtectionState, +cmekConfig, +previousId, +sourceInfo, +etag +) +SELECT +'{{ projectsId }}', +'{{ name }}', +'{{ uid }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ deleteTime }}', +'{{ locationId }}', +'{{ type }}', +'{{ concurrencyMode }}', +'{{ versionRetentionPeriod }}', +'{{ earliestVersionTime }}', +'{{ pointInTimeRecoveryEnablement }}', +'{{ appEngineIntegrationMode }}', +'{{ keyPrefix }}', +'{{ deleteProtectionState }}', +'{{ cmekConfig }}', +'{{ previousId }}', +'{{ sourceInfo }}', +'{{ etag }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: uid + value: '{{ uid }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: deleteTime + value: '{{ deleteTime }}' + - name: locationId + value: '{{ locationId }}' + - name: type + value: '{{ type }}' + - name: concurrencyMode + value: '{{ concurrencyMode }}' + - name: versionRetentionPeriod + value: '{{ versionRetentionPeriod }}' + - name: earliestVersionTime + value: '{{ earliestVersionTime }}' + - name: pointInTimeRecoveryEnablement + value: '{{ pointInTimeRecoveryEnablement }}' + - name: appEngineIntegrationMode + value: '{{ appEngineIntegrationMode }}' + - name: keyPrefix + value: '{{ keyPrefix }}' + - name: deleteProtectionState + value: '{{ deleteProtectionState }}' + - name: cmekConfig + value: '{{ cmekConfig }}' + - name: previousId + value: '{{ previousId }}' + - name: sourceInfo + value: '{{ sourceInfo }}' + - name: etag + value: '{{ etag }}' + +``` + + + +## `UPDATE` example + +Updates a database only if the necessary resources are available. + +```sql +UPDATE google.firestore.databases +SET +name = '{{ name }}', +uid = '{{ uid }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +deleteTime = '{{ deleteTime }}', +locationId = '{{ locationId }}', +type = '{{ type }}', +concurrencyMode = '{{ concurrencyMode }}', +versionRetentionPeriod = '{{ versionRetentionPeriod }}', +earliestVersionTime = '{{ earliestVersionTime }}', +pointInTimeRecoveryEnablement = '{{ pointInTimeRecoveryEnablement }}', +appEngineIntegrationMode = '{{ appEngineIntegrationMode }}', +keyPrefix = '{{ keyPrefix }}', +deleteProtectionState = '{{ deleteProtectionState }}', +cmekConfig = '{{ cmekConfig }}', +previousId = '{{ previousId }}', +sourceInfo = '{{ sourceInfo }}', +etag = '{{ etag }}' +WHERE +databasesId = '{{ databasesId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified database resource. + +```sql +DELETE FROM google.firestore.databases +WHERE databasesId = '{{ databasesId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/firestore/documents/index.md b/docs/google-docs/providers/google/firestore/documents/index.md index 158ab44ac5..7f7c540dbc 100644 --- a/docs/google-docs/providers/google/firestore/documents/index.md +++ b/docs/google-docs/providers/google/firestore/documents/index.md @@ -1,3 +1,4 @@ + --- title: documents hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - documents - firestore - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an document resource or lists documents in a region ## Overview
@@ -30,28 +32,128 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The resource name of the document, for example `projects/{project_id}/databases/{database_id}/documents/{document_path}`. | +| | `string` | The resource name of the document, for example `projects/{project_id}/databases/{database_id}/documents/{document_path}`. | | | `string` | Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `read_time` of a query. | -| | `object` | The document's fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The field names, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by a dot-delimited (`.`) string of segments. Each segment is either a simple field name (defined below) or a quoted field name. For example, the structured field `"foo" : { map_value: { "x&y" : { string_value: "hello" }}}` would be represented by the field path `` foo.`x&y` ``. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. A quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\`. For example, `` `x&y` `` represents `x&y` and `` `bak\`tik` `` represents `` bak`tik ``. | +| | `object` | The document's fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The field names, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by a dot-delimited (`.`) string of segments. Each segment is either a simple field name (defined below) or a quoted field name. For example, the structured field `"foo" : { map_value: { "x&y" : { string_value: "hello" }}}` would be represented by the field path `` foo.`x&y` ``. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. A quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\`. For example, `` `x&y` `` represents `x&y` and `` `bak\`tik` `` represents `` bak`tik ``. | | | `string` | Output only. The time at which the document was last changed. This value is initially set to the `create_time` then increases monotonically with each change to the document. It can also be compared to values from other documents and the `read_time` of a query. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets a single document. | | | `SELECT` | | Lists documents. | | | `SELECT` | | Lists documents. | +| | `SELECT` | | Listens to changes. This method is only available via gRPC or WebChannel (not REST). | | | `INSERT` | | Creates a new document. | | | `DELETE` | | Deletes a document. | | | `UPDATE` | | Updates or inserts a document. | -| | `EXEC` | | Lists documents. | -| | `EXEC` | | Lists documents. | | | `EXEC` | | Gets multiple documents. Documents returned by this method are not guaranteed to be returned in the same order that they were requested. | | | `EXEC` | | Applies a batch of write operations. The BatchWrite method does not apply the write operations atomically and can apply them out of order. Method does not allow more than one write per document. Each write succeeds or fails independently. See the BatchWriteResponse for the success status of each write. If you require an atomically applied set of writes, use Commit instead. | | | `EXEC` | | Starts a new transaction. | | | `EXEC` | | Commits a transaction, while optionally updating documents. | -| | `EXEC` | | Listens to changes. This method is only available via gRPC or WebChannel (not REST). | | | `EXEC` | | Partitions a query by returning partition cursors that can be used to run the query in parallel. The returned partition cursors are split points that can be used by RunQuery as starting/end points for the query results. | | | `EXEC` | | Rolls back a transaction. | | | `EXEC` | | Runs an aggregation query. Rather than producing Document results like Firestore.RunQuery, this API allows running an aggregation to produce a series of AggregationResult server-side. High-Level Example: ``` -- Return the number of documents in table given a filter. SELECT COUNT(*) FROM ( SELECT * FROM k where a = true ); ``` | | | `EXEC` | | Runs a query. | | | `EXEC` | | Streams batches of document updates and deletes, in order. This method is only available via gRPC or WebChannel (not REST). | + +## `SELECT` examples + +Listens to changes. This method is only available via gRPC or WebChannel (not REST). + +```sql +SELECT +name, +createTime, +fields, +updateTime +FROM google.firestore.documents +WHERE databasesId = '{{ databasesId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new documents resource. + + + + +```sql +/*+ create */ +INSERT INTO google.firestore.documents ( +collectionId, +databasesId, +documentsId, +projectsId, +name, +fields, +createTime, +updateTime +) +SELECT +'{{ collectionId }}', +'{{ databasesId }}', +'{{ documentsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ fields }}', +'{{ createTime }}', +'{{ updateTime }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: fields + value: '{{ fields }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + +``` + + + +## `UPDATE` example + +Updates a document only if the necessary resources are available. + +```sql +UPDATE google.firestore.documents +SET +name = '{{ name }}', +fields = '{{ fields }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}' +WHERE +databasesId = '{{ databasesId }}' +AND documentsId = '{{ documentsId }}' +AND documentsId1 = '{{ documentsId1 }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified document resource. + +```sql +DELETE FROM google.firestore.documents +WHERE databasesId = '{{ databasesId }}' +AND documentsId = '{{ documentsId }}' +AND documentsId1 = '{{ documentsId1 }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/firestore/documents_collection_ids/index.md b/docs/google-docs/providers/google/firestore/documents_collection_ids/index.md index c4a8457997..49de5618b1 100644 --- a/docs/google-docs/providers/google/firestore/documents_collection_ids/index.md +++ b/docs/google-docs/providers/google/firestore/documents_collection_ids/index.md @@ -1,3 +1,4 @@ + --- title: documents_collection_ids hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - documents_collection_ids - firestore - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an documents_collection_id resource or lists documents_collection_ids in a region ## Overview
@@ -28,8 +30,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `array` | The collection ids. | +| | `string` | A page token that may be used to continue the list. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists all the collection IDs underneath a document. | + +## `SELECT` examples + +Lists all the collection IDs underneath a document. + +```sql +SELECT +collectionIds, +nextPageToken +FROM google.firestore.documents_collection_ids +WHERE databasesId = '{{ databasesId }}' +AND documentsId = '{{ documentsId }}' +AND documentsId1 = '{{ documentsId1 }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/firestore/fields/index.md b/docs/google-docs/providers/google/firestore/fields/index.md index b411088fc5..4df8f4c823 100644 --- a/docs/google-docs/providers/google/firestore/fields/index.md +++ b/docs/google-docs/providers/google/firestore/fields/index.md @@ -1,3 +1,4 @@ + --- title: fields hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - fields - firestore - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an field resource or lists fields in a region ## Overview @@ -30,13 +32,45 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Required. A field name of the form `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/fields/{field_path}` A field path may be a simple field name, e.g. `address` or a path to fields within map_value , e.g. `address.city`, or a special field path. The only valid special field is `*`, which represents any field. Field paths may be quoted using ` (backtick). The only character that needs to be escaped within a quoted field path is the backtick character itself, escaped using a backslash. Special characters in field paths that must be quoted include: `*`, `.`, ``` (backtick), `[`, `]`, as well as any ascii symbolic characters. Examples: (Note: Comments here are written in markdown syntax, so there is an additional layer of backticks to represent a code block) `\`address.city\`` represents a field named `address.city`, not the map key `city` in the field `address`. `\`*\`` represents a field named `*`, not any field. A special `Field` contains the default indexing settings for all fields. This field's resource name is: `projects/{project_id}/databases/{database_id}/collectionGroups/__default__/fields/*` Indexes defined on this `Field` will be applied to all fields which do not have their own `Field` index configuration. | +| | `string` | Required. A field name of the form: `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/fields/{field_path}` A field path can be a simple field name, e.g. `address` or a path to fields within `map_value` , e.g. `address.city`, or a special field path. The only valid special field is `*`, which represents any field. Field paths can be quoted using `` ` `` (backtick). The only character that must be escaped within a quoted field path is the backtick character itself, escaped using a backslash. Special characters in field paths that must be quoted include: `*`, `.`, `` ` `` (backtick), `[`, `]`, as well as any ascii symbolic characters. Examples: `` `address.city` `` represents a field named `address.city`, not the map key `city` in the field `address`. `` `*` `` represents a field named `*`, not any field. A special `Field` contains the default indexing settings for all fields. This field's resource name is: `projects/{project_id}/databases/{database_id}/collectionGroups/__default__/fields/*` Indexes defined on this `Field` will be applied to all fields which do not have their own `Field` index configuration. | | | `object` | The index configuration for this field. | | | `object` | The TTL (time-to-live) configuration for documents that have this `Field` set. Storing a timestamp value into a TTL-enabled field will be treated as the document's absolute expiration time. Timestamp values in the past indicate that the document is eligible for immediate expiration. Using any other data type or leaving the field absent will disable expiration for the individual document. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the metadata and configuration for a Field. | | | `SELECT` | | Lists the field configuration and metadata for this database. Currently, FirestoreAdmin.ListFields only supports listing fields that have been explicitly overridden. To issue this query, call FirestoreAdmin.ListFields with the filter set to `indexConfig.usesAncestorConfig:false` or `ttlConfig:*`. | -| | `UPDATE` | | Updates a field configuration. Currently, field updates apply only to single field index configuration. However, calls to FirestoreAdmin.UpdateField should provide a field mask to avoid changing any configuration that the caller isn't aware of. The field mask should be specified as: `{ paths: "index_config" }`. This call returns a google.longrunning.Operation which may be used to track the status of the field update. The metadata for the operation will be the type FieldOperationMetadata. To configure the default field settings for the database, use the special `Field` with resource name: `projects/{project_id}/databases/{database_id}/collectionGroups/__default__/fields/*`. | -| | `EXEC` | | Lists the field configuration and metadata for this database. Currently, FirestoreAdmin.ListFields only supports listing fields that have been explicitly overridden. To issue this query, call FirestoreAdmin.ListFields with the filter set to `indexConfig.usesAncestorConfig:false` or `ttlConfig:*`. | +| | `UPDATE` | | Updates a field configuration. Currently, field updates apply only to single field index configuration. However, calls to FirestoreAdmin.UpdateField should provide a field mask to avoid changing any configuration that the caller isn't aware of. The field mask should be specified as: `{ paths: "index_config" }`. This call returns a google.longrunning.Operation which may be used to track the status of the field update. The metadata for the operation will be the type FieldOperationMetadata. To configure the default field settings for the database, use the special `Field` with resource name: `projects/{project_id}/databases/{database_id}/collectionGroups/__default__/fields/*`. | + +## `SELECT` examples + +Lists the field configuration and metadata for this database. Currently, FirestoreAdmin.ListFields only supports listing fields that have been explicitly overridden. To issue this query, call FirestoreAdmin.ListFields with the filter set to `indexConfig.usesAncestorConfig:false` or `ttlConfig:*`. + +```sql +SELECT +name, +indexConfig, +ttlConfig +FROM google.firestore.fields +WHERE collectionGroupsId = '{{ collectionGroupsId }}' +AND databasesId = '{{ databasesId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `UPDATE` example + +Updates a field only if the necessary resources are available. + +```sql +UPDATE google.firestore.fields +SET +name = '{{ name }}', +indexConfig = '{{ indexConfig }}', +ttlConfig = '{{ ttlConfig }}' +WHERE +collectionGroupsId = '{{ collectionGroupsId }}' +AND databasesId = '{{ databasesId }}' +AND fieldsId = '{{ fieldsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/firestore/index.md b/docs/google-docs/providers/google/firestore/index.md index 84b2a61313..279c0378d2 100644 --- a/docs/google-docs/providers/google/firestore/index.md +++ b/docs/google-docs/providers/google/firestore/index.md @@ -9,34 +9,23 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Accesses the NoSQL document database built for automatic scaling, high performance, and ease of application development. - +The firestore service documentation. + :::info Service Summary
total resources: 9
-total selectable resources: 8
-total methods: 52
::: -## Overview -
- - - - - -
Namegoogle.firestore
TypeService
TitleCloud Firestore API
DescriptionAccesses the NoSQL document database built for automatic scaling, high performance, and ease of application development.
Idfirestore:v24.06.00236
- ## Resources
@@ -44,12 +33,12 @@ Accesses the NoSQL document database built for automatic scaling, high performan backups
databases
documents
-documents_collection_ids
+documents_collection_ids
+operations
+ \ No newline at end of file diff --git a/docs/google-docs/providers/google/firestore/indexes/index.md b/docs/google-docs/providers/google/firestore/indexes/index.md index 8eebb188ed..057d7d703e 100644 --- a/docs/google-docs/providers/google/firestore/indexes/index.md +++ b/docs/google-docs/providers/google/firestore/indexes/index.md @@ -1,3 +1,4 @@ + --- title: indexes hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - indexes - firestore - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an index resource or lists indexes in a region ## Overview @@ -30,11 +32,12 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. A server defined name for this index. The form of this name for composite indexes will be: `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{composite_index_id}` For single field indexes, this field will be empty. | +| | `string` | Output only. A server defined name for this index. The form of this name for composite indexes will be: `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{composite_index_id}` For single field indexes, this field will be empty. | | | `string` | The API scope supported by this index. | | | `array` | The fields supported by this index. For composite indexes, this requires a minimum of 2 and a maximum of 100 fields. The last field entry is always for the field path `__name__`. If, on creation, `__name__` was not specified as the last field, it will be added automatically with the same direction as that of the last field defined. If the final field in a composite index is not directional, the `__name__` will be ordered ASCENDING (unless explicitly specified). For single field indexes, this will always be exactly one entry with a field path equal to the field path of the associated field. | -| | `string` | Indexes with a collection query scope specified allow queries against a collection that is the child of a specific document, specified at query time, and that has the same collection id. Indexes with a collection group query scope specified allow queries against all collections descended from a specific document, specified at query time, and that have the same collection id as this index. | +| | `string` | Indexes with a collection query scope specified allow queries against a collection that is the child of a specific document, specified at query time, and that has the same collection ID. Indexes with a collection group query scope specified allow queries against all collections descended from a specific document, specified at query time, and that have the same collection ID as this index. | | | `string` | Output only. The serving state of the index. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -42,4 +45,90 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists composite indexes. | | | `INSERT` | | Creates a composite index. This returns a google.longrunning.Operation which may be used to track the status of the creation. The metadata for the operation will be the type IndexOperationMetadata. | | | `DELETE` | | Deletes a composite index. | -| | `EXEC` | | Lists composite indexes. | + +## `SELECT` examples + +Lists composite indexes. + +```sql +SELECT +name, +apiScope, +fields, +queryScope, +state +FROM google.firestore.indexes +WHERE collectionGroupsId = '{{ collectionGroupsId }}' +AND databasesId = '{{ databasesId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new indexes resource. + + + + +```sql +/*+ create */ +INSERT INTO google.firestore.indexes ( +collectionGroupsId, +databasesId, +projectsId, +name, +queryScope, +apiScope, +fields, +state +) +SELECT +'{{ collectionGroupsId }}', +'{{ databasesId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ queryScope }}', +'{{ apiScope }}', +'{{ fields }}', +'{{ state }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: queryScope + value: '{{ queryScope }}' + - name: apiScope + value: '{{ apiScope }}' + - name: fields + value: '{{ fields }}' + - name: state + value: '{{ state }}' + +``` + + + +## `DELETE` example + +Deletes the specified index resource. + +```sql +DELETE FROM google.firestore.indexes +WHERE collectionGroupsId = '{{ collectionGroupsId }}' +AND databasesId = '{{ databasesId }}' +AND indexesId = '{{ indexesId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/firestore/locations/index.md b/docs/google-docs/providers/google/firestore/locations/index.md index 1b88cbba82..f9635b1106 100644 --- a/docs/google-docs/providers/google/firestore/locations/index.md +++ b/docs/google-docs/providers/google/firestore/locations/index.md @@ -1,3 +1,4 @@ + --- title: locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - locations - firestore - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an location resource or lists locations in a region ## Overview
@@ -32,12 +34,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` | | | `string` | The friendly name for this location, typically a nearby city name. For example, "Tokyo". | -| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | +| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | | | `string` | The canonical id for this location. For example: `"us-east1"`. | | | `object` | Service-specific metadata. For example the available capacity at the given location. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about a location. | | | `SELECT` | | Lists information about the supported locations for this service. | -| | `EXEC` | | Lists information about the supported locations for this service. | + +## `SELECT` examples + +Lists information about the supported locations for this service. + +```sql +SELECT +name, +displayName, +labels, +locationId, +metadata +FROM google.firestore.locations +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/firestore/operations/index.md b/docs/google-docs/providers/google/firestore/operations/index.md index fb33696c3e..67cee44333 100644 --- a/docs/google-docs/providers/google/firestore/operations/index.md +++ b/docs/google-docs/providers/google/firestore/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - firestore - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview
@@ -30,16 +32,43 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.firestore.operations +WHERE databasesId = '{{ databasesId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified operation resource. + +```sql +DELETE FROM google.firestore.operations +WHERE databasesId = '{{ databasesId }}' +AND operationsId = '{{ operationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/gkebackup/backup_plans/index.md b/docs/google-docs/providers/google/gkebackup/backup_plans/index.md index 1bf5f03f5d..9c6985eb83 100644 --- a/docs/google-docs/providers/google/gkebackup/backup_plans/index.md +++ b/docs/google-docs/providers/google/gkebackup/backup_plans/index.md @@ -1,3 +1,4 @@ + --- title: backup_plans hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - backup_plans - gkebackup - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an backup_plan resource or lists backup_plans in a region ## Overview
@@ -47,6 +49,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Human-readable description of why BackupPlan is in the current `state` | | | `string` | Output only. Server generated global unique identifier of [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier) format. | | | `string` | Output only. The timestamp when this BackupPlan resource was last updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -55,4 +58,176 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new BackupPlan in a given location. | | | `DELETE` | | Deletes an existing BackupPlan. | | | `UPDATE` | | Update a BackupPlan. | -| | `EXEC` | | Lists BackupPlans in a given location. | + +## `SELECT` examples + +Lists BackupPlans in a given location. + +```sql +SELECT +name, +description, +backupConfig, +backupSchedule, +cluster, +createTime, +deactivated, +etag, +labels, +protectedPodCount, +retentionPolicy, +rpoRiskLevel, +rpoRiskReason, +state, +stateReason, +uid, +updateTime +FROM google.gkebackup.backup_plans +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new backup_plans resource. + + + + +```sql +/*+ create */ +INSERT INTO google.gkebackup.backup_plans ( +locationsId, +projectsId, +name, +uid, +createTime, +updateTime, +description, +cluster, +retentionPolicy, +labels, +backupSchedule, +etag, +deactivated, +backupConfig, +protectedPodCount, +state, +stateReason, +rpoRiskLevel, +rpoRiskReason +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ uid }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ description }}', +'{{ cluster }}', +'{{ retentionPolicy }}', +'{{ labels }}', +'{{ backupSchedule }}', +'{{ etag }}', +true|false, +'{{ backupConfig }}', +'{{ protectedPodCount }}', +'{{ state }}', +'{{ stateReason }}', +'{{ rpoRiskLevel }}', +'{{ rpoRiskReason }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: uid + value: '{{ uid }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: description + value: '{{ description }}' + - name: cluster + value: '{{ cluster }}' + - name: retentionPolicy + value: '{{ retentionPolicy }}' + - name: labels + value: '{{ labels }}' + - name: backupSchedule + value: '{{ backupSchedule }}' + - name: etag + value: '{{ etag }}' + - name: deactivated + value: '{{ deactivated }}' + - name: backupConfig + value: '{{ backupConfig }}' + - name: protectedPodCount + value: '{{ protectedPodCount }}' + - name: state + value: '{{ state }}' + - name: stateReason + value: '{{ stateReason }}' + - name: rpoRiskLevel + value: '{{ rpoRiskLevel }}' + - name: rpoRiskReason + value: '{{ rpoRiskReason }}' + +``` + + + +## `UPDATE` example + +Updates a backup_plan only if the necessary resources are available. + +```sql +UPDATE google.gkebackup.backup_plans +SET +name = '{{ name }}', +uid = '{{ uid }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +description = '{{ description }}', +cluster = '{{ cluster }}', +retentionPolicy = '{{ retentionPolicy }}', +labels = '{{ labels }}', +backupSchedule = '{{ backupSchedule }}', +etag = '{{ etag }}', +deactivated = true|false, +backupConfig = '{{ backupConfig }}', +protectedPodCount = '{{ protectedPodCount }}', +state = '{{ state }}', +stateReason = '{{ stateReason }}', +rpoRiskLevel = '{{ rpoRiskLevel }}', +rpoRiskReason = '{{ rpoRiskReason }}' +WHERE +backupPlansId = '{{ backupPlansId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified backup_plan resource. + +```sql +DELETE FROM google.gkebackup.backup_plans +WHERE backupPlansId = '{{ backupPlansId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/gkebackup/backup_plans_iam_policies/index.md b/docs/google-docs/providers/google/gkebackup/backup_plans_iam_policies/index.md index d8c08530a5..3086b55ec1 100644 --- a/docs/google-docs/providers/google/gkebackup/backup_plans_iam_policies/index.md +++ b/docs/google-docs/providers/google/gkebackup/backup_plans_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: backup_plans_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - backup_plans_iam_policies - gkebackup - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an backup_plans_iam_policy resource or lists backup_plans_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.gkebackup.backup_plans_iam_policies +WHERE backupPlansId = '{{ backupPlansId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/gkebackup/backups/index.md b/docs/google-docs/providers/google/gkebackup/backups/index.md index 67bb48afe5..f2f9274354 100644 --- a/docs/google-docs/providers/google/gkebackup/backups/index.md +++ b/docs/google-docs/providers/google/gkebackup/backups/index.md @@ -1,3 +1,4 @@ + --- title: backups hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - backups - gkebackup - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an backup resource or lists backups in a region ## Overview
@@ -48,16 +50,17 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `boolean` | Output only. If false, Backup will fail when Backup for GKE detects Kubernetes configuration that is non-standard or requires additional setup to restore. Inherited from the parent BackupPlan's permissive_mode value. | | | `integer` | Output only. The total number of Kubernetes Pods contained in the Backup. | | | `integer` | Output only. The total number of Kubernetes resources included in the Backup. | -| | `integer` | Optional. The age (in days) after which this Backup will be automatically deleted. Must be an integer value >= 0: - If 0, no automatic deletion will occur for this Backup. - If not 0, this must be >= delete_lock_days and <= 365. Once a Backup is created, this value may only be increased. Defaults to the parent BackupPlan's backup_retain_days value. | +| | `integer` | Optional. The age (in days) after which this Backup will be automatically deleted. Must be an integer value >= 0: - If 0, no automatic deletion will occur for this Backup. - If not 0, this must be >= delete_lock_days and <= 365. Once a Backup is created, this value may only be increased. Defaults to the parent BackupPlan's backup_retain_days value. | | | `string` | Output only. The time at which this Backup will be automatically deleted (calculated from create_time + retain_days). | | | `object` | A list of namespaced Kubernetes resources. | -| | `object` | A list of Kubernetes Namespaces | +| | `object` | A list of Kubernetes Namespaces. | | | `string` | Output only. The total size of the Backup in bytes = config backup size + sum(volume backup sizes) | | | `string` | Output only. Current state of the Backup | | | `string` | Output only. Human-readable description of why the backup is in the current `state`. | | | `string` | Output only. Server generated global unique identifier of [UUID4](https://en.wikipedia.org/wiki/Universally_unique_identifier) | | | `string` | Output only. The timestamp when this Backup resource was last updated. | | | `integer` | Output only. The total number of volume backups contained in the Backup. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -66,4 +69,247 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a Backup for the given BackupPlan. | | | `DELETE` | | Deletes an existing Backup. | | | `UPDATE` | | Update a Backup. | -| | `EXEC` | | Lists the Backups for a given BackupPlan. | + +## `SELECT` examples + +Lists the Backups for a given BackupPlan. + +```sql +SELECT +name, +description, +allNamespaces, +clusterMetadata, +completeTime, +configBackupSizeBytes, +containsSecrets, +containsVolumeData, +createTime, +deleteLockDays, +deleteLockExpireTime, +encryptionKey, +etag, +labels, +manual, +permissiveMode, +podCount, +resourceCount, +retainDays, +retainExpireTime, +selectedApplications, +selectedNamespaces, +sizeBytes, +state, +stateReason, +uid, +updateTime, +volumeCount +FROM google.gkebackup.backups +WHERE backupPlansId = '{{ backupPlansId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new backups resource. + + + + +```sql +/*+ create */ +INSERT INTO google.gkebackup.backups ( +backupPlansId, +locationsId, +projectsId, +name, +uid, +createTime, +updateTime, +manual, +labels, +deleteLockDays, +deleteLockExpireTime, +retainDays, +retainExpireTime, +encryptionKey, +allNamespaces, +selectedNamespaces, +selectedApplications, +containsVolumeData, +containsSecrets, +clusterMetadata, +state, +stateReason, +completeTime, +resourceCount, +volumeCount, +sizeBytes, +etag, +description, +podCount, +configBackupSizeBytes, +permissiveMode +) +SELECT +'{{ backupPlansId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ uid }}', +'{{ createTime }}', +'{{ updateTime }}', +true|false, +'{{ labels }}', +'{{ deleteLockDays }}', +'{{ deleteLockExpireTime }}', +'{{ retainDays }}', +'{{ retainExpireTime }}', +'{{ encryptionKey }}', +true|false, +'{{ selectedNamespaces }}', +'{{ selectedApplications }}', +true|false, +true|false, +'{{ clusterMetadata }}', +'{{ state }}', +'{{ stateReason }}', +'{{ completeTime }}', +'{{ resourceCount }}', +'{{ volumeCount }}', +'{{ sizeBytes }}', +'{{ etag }}', +'{{ description }}', +'{{ podCount }}', +'{{ configBackupSizeBytes }}', +true|false +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: uid + value: '{{ uid }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: manual + value: '{{ manual }}' + - name: labels + value: '{{ labels }}' + - name: deleteLockDays + value: '{{ deleteLockDays }}' + - name: deleteLockExpireTime + value: '{{ deleteLockExpireTime }}' + - name: retainDays + value: '{{ retainDays }}' + - name: retainExpireTime + value: '{{ retainExpireTime }}' + - name: encryptionKey + value: '{{ encryptionKey }}' + - name: allNamespaces + value: '{{ allNamespaces }}' + - name: selectedNamespaces + value: '{{ selectedNamespaces }}' + - name: selectedApplications + value: '{{ selectedApplications }}' + - name: containsVolumeData + value: '{{ containsVolumeData }}' + - name: containsSecrets + value: '{{ containsSecrets }}' + - name: clusterMetadata + value: '{{ clusterMetadata }}' + - name: state + value: '{{ state }}' + - name: stateReason + value: '{{ stateReason }}' + - name: completeTime + value: '{{ completeTime }}' + - name: resourceCount + value: '{{ resourceCount }}' + - name: volumeCount + value: '{{ volumeCount }}' + - name: sizeBytes + value: '{{ sizeBytes }}' + - name: etag + value: '{{ etag }}' + - name: description + value: '{{ description }}' + - name: podCount + value: '{{ podCount }}' + - name: configBackupSizeBytes + value: '{{ configBackupSizeBytes }}' + - name: permissiveMode + value: '{{ permissiveMode }}' + +``` + + + +## `UPDATE` example + +Updates a backup only if the necessary resources are available. + +```sql +UPDATE google.gkebackup.backups +SET +name = '{{ name }}', +uid = '{{ uid }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +manual = true|false, +labels = '{{ labels }}', +deleteLockDays = '{{ deleteLockDays }}', +deleteLockExpireTime = '{{ deleteLockExpireTime }}', +retainDays = '{{ retainDays }}', +retainExpireTime = '{{ retainExpireTime }}', +encryptionKey = '{{ encryptionKey }}', +allNamespaces = true|false, +selectedNamespaces = '{{ selectedNamespaces }}', +selectedApplications = '{{ selectedApplications }}', +containsVolumeData = true|false, +containsSecrets = true|false, +clusterMetadata = '{{ clusterMetadata }}', +state = '{{ state }}', +stateReason = '{{ stateReason }}', +completeTime = '{{ completeTime }}', +resourceCount = '{{ resourceCount }}', +volumeCount = '{{ volumeCount }}', +sizeBytes = '{{ sizeBytes }}', +etag = '{{ etag }}', +description = '{{ description }}', +podCount = '{{ podCount }}', +configBackupSizeBytes = '{{ configBackupSizeBytes }}', +permissiveMode = true|false +WHERE +backupPlansId = '{{ backupPlansId }}' +AND backupsId = '{{ backupsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified backup resource. + +```sql +DELETE FROM google.gkebackup.backups +WHERE backupPlansId = '{{ backupPlansId }}' +AND backupsId = '{{ backupsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/gkebackup/backups_backup_index_download_url/index.md b/docs/google-docs/providers/google/gkebackup/backups_backup_index_download_url/index.md index 55692149f6..f207459425 100644 --- a/docs/google-docs/providers/google/gkebackup/backups_backup_index_download_url/index.md +++ b/docs/google-docs/providers/google/gkebackup/backups_backup_index_download_url/index.md @@ -1,3 +1,4 @@ + --- title: backups_backup_index_download_url hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - backups_backup_index_download_url - gkebackup - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an backups_backup_index_download_url resource or lists backups_backup_index_download_url in a region ## Overview
@@ -28,7 +30,25 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Retrieve the link to the backupIndex. | + +## `SELECT` examples + +Retrieve the link to the backupIndex. + +```sql +SELECT +signedUrl +FROM google.gkebackup.backups_backup_index_download_url +WHERE backupPlansId = '{{ backupPlansId }}' +AND backupsId = '{{ backupsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/gkebackup/backups_iam_policies/index.md b/docs/google-docs/providers/google/gkebackup/backups_iam_policies/index.md index a99e2f0b60..79e456fb90 100644 --- a/docs/google-docs/providers/google/gkebackup/backups_iam_policies/index.md +++ b/docs/google-docs/providers/google/gkebackup/backups_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: backups_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - backups_iam_policies - gkebackup - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an backups_iam_policy resource or lists backups_iam_policies in a region ## Overview @@ -30,13 +32,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.gkebackup.backups_iam_policies +WHERE backupPlansId = '{{ backupPlansId }}' +AND backupsId = '{{ backupsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/gkebackup/index.md b/docs/google-docs/providers/google/gkebackup/index.md index 42ad2e931d..38a974d569 100644 --- a/docs/google-docs/providers/google/gkebackup/index.md +++ b/docs/google-docs/providers/google/gkebackup/index.md @@ -9,34 +9,23 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Backup for GKE is a managed Kubernetes workload backup and restore service for GKE clusters. - +The gkebackup service documentation. + :::info Service Summary
total resources: 15
-total selectable resources: 15
-total methods: 63
::: -## Overview -
- - - - - -
Namegoogle.gkebackup
TypeService
TitleBackup for GKE API
DescriptionBackup for GKE is a managed Kubernetes workload backup and restore service for GKE clusters.
Idgkebackup:v24.06.00236
- ## Resources
@@ -47,7 +36,7 @@ Backup for GKE is a managed Kubernetes workload backup and restore service for G backups_iam_policies
locations
operations
-restore_plans
+restore_plans
restore_plans_iam_policies
@@ -56,6 +45,6 @@ Backup for GKE is a managed Kubernetes workload backup and restore service for G volume_backups
volume_backups_iam_policies
volume_restores
-volume_restores_iam_policies
-
+volume_restores_iam_policies
+ \ No newline at end of file diff --git a/docs/google-docs/providers/google/gkebackup/locations/index.md b/docs/google-docs/providers/google/gkebackup/locations/index.md index 4c107b69e5..adf0a3f981 100644 --- a/docs/google-docs/providers/google/gkebackup/locations/index.md +++ b/docs/google-docs/providers/google/gkebackup/locations/index.md @@ -1,3 +1,4 @@ + --- title: locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - locations - gkebackup - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an location resource or lists locations in a region ## Overview @@ -32,12 +34,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` | | | `string` | The friendly name for this location, typically a nearby city name. For example, "Tokyo". | -| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | +| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | | | `string` | The canonical id for this location. For example: `"us-east1"`. | | | `object` | Service-specific metadata. For example the available capacity at the given location. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about a location. | | | `SELECT` | | Lists information about the supported locations for this service. | -| | `EXEC` | | Lists information about the supported locations for this service. | + +## `SELECT` examples + +Lists information about the supported locations for this service. + +```sql +SELECT +name, +displayName, +labels, +locationId, +metadata +FROM google.gkebackup.locations +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/gkebackup/operations/index.md b/docs/google-docs/providers/google/gkebackup/operations/index.md index 14358bb914..b05ae25159 100644 --- a/docs/google-docs/providers/google/gkebackup/operations/index.md +++ b/docs/google-docs/providers/google/gkebackup/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - gkebackup - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview
@@ -30,16 +32,43 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.gkebackup.operations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified operation resource. + +```sql +DELETE FROM google.gkebackup.operations +WHERE locationsId = '{{ locationsId }}' +AND operationsId = '{{ operationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/gkebackup/restore_plans/index.md b/docs/google-docs/providers/google/gkebackup/restore_plans/index.md index 9051623048..dd231ae3da 100644 --- a/docs/google-docs/providers/google/gkebackup/restore_plans/index.md +++ b/docs/google-docs/providers/google/gkebackup/restore_plans/index.md @@ -1,3 +1,4 @@ + --- title: restore_plans hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - restore_plans - gkebackup - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an restore_plan resource or lists restore_plans in a region ## Overview
@@ -42,6 +44,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Human-readable description of why RestorePlan is in the current `state` | | | `string` | Output only. Server generated global unique identifier of [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier) format. | | | `string` | Output only. The timestamp when this RestorePlan resource was last updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -50,4 +53,146 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new RestorePlan in a given location. | | | `DELETE` | | Deletes an existing RestorePlan. | | | `UPDATE` | | Update a RestorePlan. | -| | `EXEC` | | Lists RestorePlans in a given location. | + +## `SELECT` examples + +Lists RestorePlans in a given location. + +```sql +SELECT +name, +description, +backupPlan, +cluster, +createTime, +etag, +labels, +restoreConfig, +state, +stateReason, +uid, +updateTime +FROM google.gkebackup.restore_plans +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new restore_plans resource. + + + + +```sql +/*+ create */ +INSERT INTO google.gkebackup.restore_plans ( +locationsId, +projectsId, +name, +uid, +createTime, +updateTime, +description, +backupPlan, +cluster, +restoreConfig, +labels, +etag, +state, +stateReason +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ uid }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ description }}', +'{{ backupPlan }}', +'{{ cluster }}', +'{{ restoreConfig }}', +'{{ labels }}', +'{{ etag }}', +'{{ state }}', +'{{ stateReason }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: uid + value: '{{ uid }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: description + value: '{{ description }}' + - name: backupPlan + value: '{{ backupPlan }}' + - name: cluster + value: '{{ cluster }}' + - name: restoreConfig + value: '{{ restoreConfig }}' + - name: labels + value: '{{ labels }}' + - name: etag + value: '{{ etag }}' + - name: state + value: '{{ state }}' + - name: stateReason + value: '{{ stateReason }}' + +``` + + + +## `UPDATE` example + +Updates a restore_plan only if the necessary resources are available. + +```sql +UPDATE google.gkebackup.restore_plans +SET +name = '{{ name }}', +uid = '{{ uid }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +description = '{{ description }}', +backupPlan = '{{ backupPlan }}', +cluster = '{{ cluster }}', +restoreConfig = '{{ restoreConfig }}', +labels = '{{ labels }}', +etag = '{{ etag }}', +state = '{{ state }}', +stateReason = '{{ stateReason }}' +WHERE +locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND restorePlansId = '{{ restorePlansId }}'; +``` + +## `DELETE` example + +Deletes the specified restore_plan resource. + +```sql +DELETE FROM google.gkebackup.restore_plans +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND restorePlansId = '{{ restorePlansId }}'; +``` diff --git a/docs/google-docs/providers/google/gkebackup/restore_plans_iam_policies/index.md b/docs/google-docs/providers/google/gkebackup/restore_plans_iam_policies/index.md index 3d92727481..86651611cf 100644 --- a/docs/google-docs/providers/google/gkebackup/restore_plans_iam_policies/index.md +++ b/docs/google-docs/providers/google/gkebackup/restore_plans_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: restore_plans_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - restore_plans_iam_policies - gkebackup - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an restore_plans_iam_policy resource or lists restore_plans_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.gkebackup.restore_plans_iam_policies +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND restorePlansId = '{{ restorePlansId }}'; +``` diff --git a/docs/google-docs/providers/google/gkebackup/restores/index.md b/docs/google-docs/providers/google/gkebackup/restores/index.md index 73f74ca8d1..87654b27fb 100644 --- a/docs/google-docs/providers/google/gkebackup/restores/index.md +++ b/docs/google-docs/providers/google/gkebackup/restores/index.md @@ -1,3 +1,4 @@ + --- title: restores hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - restores - gkebackup - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an restore resource or lists restores in a region ## Overview
@@ -49,6 +51,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The timestamp when this Restore resource was last updated. | | | `array` | Optional. Immutable. Overrides the volume data restore policies selected in the Restore Config for override-scoped resources. | | | `integer` | Output only. Number of volumes restored during the restore execution. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -57,4 +60,193 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new Restore for the given RestorePlan. | | | `DELETE` | | Deletes an existing Restore. | | | `UPDATE` | | Update a Restore. | -| | `EXEC` | | Lists the Restores for a given RestorePlan. | + +## `SELECT` examples + +Lists the Restores for a given RestorePlan. + +```sql +SELECT +name, +description, +backup, +cluster, +completeTime, +createTime, +etag, +filter, +labels, +resourcesExcludedCount, +resourcesFailedCount, +resourcesRestoredCount, +restoreConfig, +state, +stateReason, +uid, +updateTime, +volumeDataRestorePolicyOverrides, +volumesRestoredCount +FROM google.gkebackup.restores +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND restorePlansId = '{{ restorePlansId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new restores resource. + + + + +```sql +/*+ create */ +INSERT INTO google.gkebackup.restores ( +locationsId, +projectsId, +restorePlansId, +name, +uid, +createTime, +updateTime, +description, +backup, +cluster, +restoreConfig, +labels, +state, +stateReason, +completeTime, +resourcesRestoredCount, +resourcesExcludedCount, +resourcesFailedCount, +volumesRestoredCount, +etag, +filter, +volumeDataRestorePolicyOverrides +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ restorePlansId }}', +'{{ name }}', +'{{ uid }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ description }}', +'{{ backup }}', +'{{ cluster }}', +'{{ restoreConfig }}', +'{{ labels }}', +'{{ state }}', +'{{ stateReason }}', +'{{ completeTime }}', +'{{ resourcesRestoredCount }}', +'{{ resourcesExcludedCount }}', +'{{ resourcesFailedCount }}', +'{{ volumesRestoredCount }}', +'{{ etag }}', +'{{ filter }}', +'{{ volumeDataRestorePolicyOverrides }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: uid + value: '{{ uid }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: description + value: '{{ description }}' + - name: backup + value: '{{ backup }}' + - name: cluster + value: '{{ cluster }}' + - name: restoreConfig + value: '{{ restoreConfig }}' + - name: labels + value: '{{ labels }}' + - name: state + value: '{{ state }}' + - name: stateReason + value: '{{ stateReason }}' + - name: completeTime + value: '{{ completeTime }}' + - name: resourcesRestoredCount + value: '{{ resourcesRestoredCount }}' + - name: resourcesExcludedCount + value: '{{ resourcesExcludedCount }}' + - name: resourcesFailedCount + value: '{{ resourcesFailedCount }}' + - name: volumesRestoredCount + value: '{{ volumesRestoredCount }}' + - name: etag + value: '{{ etag }}' + - name: filter + value: '{{ filter }}' + - name: volumeDataRestorePolicyOverrides + value: '{{ volumeDataRestorePolicyOverrides }}' + +``` + + + +## `UPDATE` example + +Updates a restore only if the necessary resources are available. + +```sql +UPDATE google.gkebackup.restores +SET +name = '{{ name }}', +uid = '{{ uid }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +description = '{{ description }}', +backup = '{{ backup }}', +cluster = '{{ cluster }}', +restoreConfig = '{{ restoreConfig }}', +labels = '{{ labels }}', +state = '{{ state }}', +stateReason = '{{ stateReason }}', +completeTime = '{{ completeTime }}', +resourcesRestoredCount = '{{ resourcesRestoredCount }}', +resourcesExcludedCount = '{{ resourcesExcludedCount }}', +resourcesFailedCount = '{{ resourcesFailedCount }}', +volumesRestoredCount = '{{ volumesRestoredCount }}', +etag = '{{ etag }}', +filter = '{{ filter }}', +volumeDataRestorePolicyOverrides = '{{ volumeDataRestorePolicyOverrides }}' +WHERE +locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND restorePlansId = '{{ restorePlansId }}' +AND restoresId = '{{ restoresId }}'; +``` + +## `DELETE` example + +Deletes the specified restore resource. + +```sql +DELETE FROM google.gkebackup.restores +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND restorePlansId = '{{ restorePlansId }}' +AND restoresId = '{{ restoresId }}'; +``` diff --git a/docs/google-docs/providers/google/gkebackup/restores_iam_policies/index.md b/docs/google-docs/providers/google/gkebackup/restores_iam_policies/index.md index 0dcce0c3ed..de3e7ca2b1 100644 --- a/docs/google-docs/providers/google/gkebackup/restores_iam_policies/index.md +++ b/docs/google-docs/providers/google/gkebackup/restores_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: restores_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - restores_iam_policies - gkebackup - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an restores_iam_policy resource or lists restores_iam_policies in a region ## Overview
@@ -30,13 +32,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.gkebackup.restores_iam_policies +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND restorePlansId = '{{ restorePlansId }}' +AND restoresId = '{{ restoresId }}'; +``` diff --git a/docs/google-docs/providers/google/gkebackup/volume_backups/index.md b/docs/google-docs/providers/google/gkebackup/volume_backups/index.md index 9f294afad9..78db07aad8 100644 --- a/docs/google-docs/providers/google/gkebackup/volume_backups/index.md +++ b/docs/google-docs/providers/google/gkebackup/volume_backups/index.md @@ -1,3 +1,4 @@ + --- title: volume_backups hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - volume_backups - gkebackup - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an volume_backup resource or lists volume_backups in a region ## Overview
@@ -43,9 +45,35 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Server generated global unique identifier of [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier) format. | | | `string` | Output only. The timestamp when this VolumeBackup resource was last updated. | | | `string` | Output only. A storage system-specific opaque handle to the underlying volume backup. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Retrieve the details of a single VolumeBackup. | | | `SELECT` | | Lists the VolumeBackups for a given Backup. | -| | `EXEC` | | Lists the VolumeBackups for a given Backup. | + +## `SELECT` examples + +Lists the VolumeBackups for a given Backup. + +```sql +SELECT +name, +completeTime, +createTime, +diskSizeBytes, +etag, +format, +sourcePvc, +state, +stateMessage, +storageBytes, +uid, +updateTime, +volumeBackupHandle +FROM google.gkebackup.volume_backups +WHERE backupPlansId = '{{ backupPlansId }}' +AND backupsId = '{{ backupsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/gkebackup/volume_backups_iam_policies/index.md b/docs/google-docs/providers/google/gkebackup/volume_backups_iam_policies/index.md index a843d03698..1d6405dc53 100644 --- a/docs/google-docs/providers/google/gkebackup/volume_backups_iam_policies/index.md +++ b/docs/google-docs/providers/google/gkebackup/volume_backups_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: volume_backups_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - volume_backups_iam_policies - gkebackup - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an volume_backups_iam_policy resource or lists volume_backups_iam_policies in a region ## Overview
@@ -30,13 +32,30 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.gkebackup.volume_backups_iam_policies +WHERE backupPlansId = '{{ backupPlansId }}' +AND backupsId = '{{ backupsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND volumeBackupsId = '{{ volumeBackupsId }}'; +``` diff --git a/docs/google-docs/providers/google/gkebackup/volume_restores/index.md b/docs/google-docs/providers/google/gkebackup/volume_restores/index.md index f06d45ebd0..2e95a3cc46 100644 --- a/docs/google-docs/providers/google/gkebackup/volume_restores/index.md +++ b/docs/google-docs/providers/google/gkebackup/volume_restores/index.md @@ -1,3 +1,4 @@ + --- title: volume_restores hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - volume_restores - gkebackup - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an volume_restore resource or lists volume_restores in a region ## Overview
@@ -42,9 +44,34 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The full name of the VolumeBackup from which the volume will be restored. Format: `projects/*/locations/*/backupPlans/*/backups/*/volumeBackups/*`. | | | `string` | Output only. A storage system-specific opaque handler to the underlying volume created for the target PVC from the volume backup. | | | `string` | Output only. The type of volume provisioned | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Retrieve the details of a single VolumeRestore. | | | `SELECT` | | Lists the VolumeRestores for a given Restore. | -| | `EXEC` | | Lists the VolumeRestores for a given Restore. | + +## `SELECT` examples + +Lists the VolumeRestores for a given Restore. + +```sql +SELECT +name, +completeTime, +createTime, +etag, +state, +stateMessage, +targetPvc, +uid, +updateTime, +volumeBackup, +volumeHandle, +volumeType +FROM google.gkebackup.volume_restores +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND restorePlansId = '{{ restorePlansId }}' +AND restoresId = '{{ restoresId }}'; +``` diff --git a/docs/google-docs/providers/google/gkebackup/volume_restores_iam_policies/index.md b/docs/google-docs/providers/google/gkebackup/volume_restores_iam_policies/index.md index dcaac06c53..b7dfcde1fb 100644 --- a/docs/google-docs/providers/google/gkebackup/volume_restores_iam_policies/index.md +++ b/docs/google-docs/providers/google/gkebackup/volume_restores_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: volume_restores_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - volume_restores_iam_policies - gkebackup - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an volume_restores_iam_policy resource or lists volume_restores_iam_policies in a region ## Overview
@@ -30,13 +32,30 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.gkebackup.volume_restores_iam_policies +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND restorePlansId = '{{ restorePlansId }}' +AND restoresId = '{{ restoresId }}' +AND volumeRestoresId = '{{ volumeRestoresId }}'; +``` diff --git a/docs/google-docs/providers/google/gkehub/bindings/index.md b/docs/google-docs/providers/google/gkehub/bindings/index.md deleted file mode 100644 index d28fa110e8..0000000000 --- a/docs/google-docs/providers/google/gkehub/bindings/index.md +++ /dev/null @@ -1,49 +0,0 @@ ---- -title: bindings -hide_title: false -hide_table_of_contents: false -keywords: - - bindings - - gkehub - - google - - stackql - - infrastructure-as-code - - configuration-as-data - - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL -custom_edit_url: null -image: /img/providers/google/stackql-google-provider-featured-image.png ---- - -import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; - - - - -## Overview -
- - - -
Namebindings
TypeResource
Id
- -## Fields -| Name | Datatype | Description | -|:-----|:---------|:------------| -| | `string` | The resource name for the membershipbinding itself `projects/{project}/locations/{location}/memberships/{membership}/bindings/{membershipbinding}` | -| | `string` | Output only. When the membership binding was created. | -| | `string` | Output only. When the membership binding was deleted. | -| | `object` | Optional. Labels for this MembershipBinding. | -| | `string` | A Scope resource name in the format `projects/*/locations/*/scopes/*`. | -| | `object` | MembershipBindingLifecycleState describes the state of a Binding resource. | -| | `string` | Output only. Google-generated UUID for this resource. This is unique across all membershipbinding resources. If a membershipbinding resource is deleted and another resource with the same name is created, it gets a different uid. | -| | `string` | Output only. When the membership binding was last updated. | -## Methods -| Name | Accessible by | Required Params | Description | -|:-----|:--------------|:----------------|:------------| -| | `SELECT` | | Returns the details of a MembershipBinding. | -| | `SELECT` | | Lists MembershipBindings. | -| | `INSERT` | | Creates a MembershipBinding. | -| | `DELETE` | | Deletes a MembershipBinding. | -| | `UPDATE` | | Updates a MembershipBinding. | -| | `EXEC` | | Lists MembershipBindings. | diff --git a/docs/google-docs/providers/google/gkehub/features/index.md b/docs/google-docs/providers/google/gkehub/features/index.md deleted file mode 100644 index 4d5075ece7..0000000000 --- a/docs/google-docs/providers/google/gkehub/features/index.md +++ /dev/null @@ -1,54 +0,0 @@ ---- -title: features -hide_title: false -hide_table_of_contents: false -keywords: - - features - - gkehub - - google - - stackql - - infrastructure-as-code - - configuration-as-data - - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL -custom_edit_url: null -image: /img/providers/google/stackql-google-provider-featured-image.png ---- - -import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; - - - - -## Overview - - - - -
Namefeatures
TypeResource
Id
- -## Fields -| Name | Datatype | Description | -|:-----|:---------|:------------| -| | `string` | Output only. The full, unique name of this Feature resource in the format `projects/*/locations/*/features/*`. | -| | `string` | Output only. When the Feature resource was created. | -| | `string` | Output only. When the Feature resource was deleted. | -| | `object` | CommonFleetDefaultMemberConfigSpec contains default configuration information for memberships of a fleet | -| | `object` | Labels for this Feature. | -| | `object` | Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. | -| | `object` | Output only. Membership-specific Feature status. If this Feature does report any per-Membership status, this field may be unused. The keys indicate which Membership the state is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project number, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} MUST match the Feature's project number. | -| | `object` | FeatureResourceState describes the state of a Feature *resource* in the GkeHub API. See `FeatureState` for the "running state" of the Feature in the Hub and across Memberships. | -| | `object` | Optional. Scope-specific configuration for this Feature. If this Feature does not support any per-Scope configuration, this field may be unused. The keys indicate which Scope the configuration is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Scope is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. | -| | `object` | Output only. Scope-specific Feature status. If this Feature does report any per-Scope status, this field may be unused. The keys indicate which Scope the state is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. | -| | `object` | CommonFeatureSpec contains Hub-wide configuration information | -| | `object` | CommonFeatureState contains Hub-wide Feature status information. | -| | `string` | Output only. When the Feature resource was last updated. | -## Methods -| Name | Accessible by | Required Params | Description | -|:-----|:--------------|:----------------|:------------| -| | `SELECT` | | Gets details of a single Feature. | -| | `SELECT` | | Lists Features in a given project and location. | -| | `INSERT` | | Adds a new Feature. | -| | `DELETE` | | Removes a Feature. | -| | `UPDATE` | | Updates an existing Feature. | -| | `EXEC` | | Lists Features in a given project and location. | diff --git a/docs/google-docs/providers/google/gkehub/features_iam_policies/index.md b/docs/google-docs/providers/google/gkehub/features_iam_policies/index.md deleted file mode 100644 index 54be52a5a7..0000000000 --- a/docs/google-docs/providers/google/gkehub/features_iam_policies/index.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -title: features_iam_policies -hide_title: false -hide_table_of_contents: false -keywords: - - features_iam_policies - - gkehub - - google - - stackql - - infrastructure-as-code - - configuration-as-data - - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL -custom_edit_url: null -image: /img/providers/google/stackql-google-provider-featured-image.png ---- - -import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; - - - - -## Overview - - - - -
Namefeatures_iam_policies
TypeResource
Id
- -## Fields -| Name | Datatype | Description | -|:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | -| | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | -## Methods -| Name | Accessible by | Required Params | Description | -|:-----|:--------------|:----------------|:------------| -| | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | -| | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | diff --git a/docs/google-docs/providers/google/gkehub/fleets/index.md b/docs/google-docs/providers/google/gkehub/fleets/index.md deleted file mode 100644 index ebd43009d8..0000000000 --- a/docs/google-docs/providers/google/gkehub/fleets/index.md +++ /dev/null @@ -1,52 +0,0 @@ ---- -title: fleets -hide_title: false -hide_table_of_contents: false -keywords: - - fleets - - gkehub - - google - - stackql - - infrastructure-as-code - - configuration-as-data - - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL -custom_edit_url: null -image: /img/providers/google/stackql-google-provider-featured-image.png ---- - -import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; - - - - -## Overview - - - - -
Namefleets
TypeResource
Id
- -## Fields -| Name | Datatype | Description | -|:-----|:---------|:------------| -| | `string` | Output only. The full, unique resource name of this fleet in the format of `projects/{project}/locations/{location}/fleets/{fleet}`. Each Google Cloud project can have at most one fleet resource, named "default". | -| | `string` | Output only. When the Fleet was created. | -| | `object` | DefaultClusterConfig describes the default cluster configurations to be applied to all clusters born-in-fleet. | -| | `string` | Output only. When the Fleet was deleted. | -| | `string` | Optional. A user-assigned display name of the Fleet. When present, it must be between 4 to 30 characters. Allowed characters are: lowercase and uppercase letters, numbers, hyphen, single-quote, double-quote, space, and exclamation point. Example: `Production Fleet` | -| | `object` | Optional. Labels for this Fleet. | -| | `object` | FleetLifecycleState describes the state of a Fleet resource. | -| | `string` | Output only. Google-generated UUID for this resource. This is unique across all Fleet resources. If a Fleet resource is deleted and another resource with the same name is created, it gets a different uid. | -| | `string` | Output only. When the Fleet was last updated. | -## Methods -| Name | Accessible by | Required Params | Description | -|:-----|:--------------|:----------------|:------------| -| | `SELECT` | | Returns all fleets within an organization or a project that the caller has access to. | -| | `SELECT` | | Returns the details of a fleet. | -| | `SELECT` | | Returns all fleets within an organization or a project that the caller has access to. | -| | `INSERT` | | Creates a fleet. | -| | `DELETE` | | Removes a Fleet. There must be no memberships remaining in the Fleet. | -| | `UPDATE` | | Updates a fleet. | -| | `EXEC` | | Returns all fleets within an organization or a project that the caller has access to. | -| | `EXEC` | | Returns all fleets within an organization or a project that the caller has access to. | diff --git a/docs/google-docs/providers/google/gkehub/index.md b/docs/google-docs/providers/google/gkehub/index.md index 073878e457..4c16082ce4 100644 --- a/docs/google-docs/providers/google/gkehub/index.md +++ b/docs/google-docs/providers/google/gkehub/index.md @@ -9,52 +9,29 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- - - +The gkehub service documentation. + :::info Service Summary
-total resources: 14
-total selectable resources: 14
-total methods: 69
+total resources: 2
::: -## Overview - - - - - - -
Namegoogle.gkehub
TypeService
TitleGKE Hub API
Description
Idgkehub:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/gkehub/locations/index.md b/docs/google-docs/providers/google/gkehub/locations/index.md index 256a58ca31..04506b4e7c 100644 --- a/docs/google-docs/providers/google/gkehub/locations/index.md +++ b/docs/google-docs/providers/google/gkehub/locations/index.md @@ -1,3 +1,4 @@ + --- title: locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - locations - gkehub - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an location resource or lists locations in a region ## Overview @@ -32,12 +34,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` | | | `string` | The friendly name for this location, typically a nearby city name. For example, "Tokyo". | -| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | +| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | | | `string` | The canonical id for this location. For example: `"us-east1"`. | | | `object` | Service-specific metadata. For example the available capacity at the given location. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about a location. | | | `SELECT` | | Lists information about the supported locations for this service. | -| | `EXEC` | | Lists information about the supported locations for this service. | + +## `SELECT` examples + +Lists information about the supported locations for this service. + +```sql +SELECT +name, +displayName, +labels, +locationId, +metadata +FROM google.gkehub.locations +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/gkehub/memberships/index.md b/docs/google-docs/providers/google/gkehub/memberships/index.md deleted file mode 100644 index a4f200c229..0000000000 --- a/docs/google-docs/providers/google/gkehub/memberships/index.md +++ /dev/null @@ -1,55 +0,0 @@ ---- -title: memberships -hide_title: false -hide_table_of_contents: false -keywords: - - memberships - - gkehub - - google - - stackql - - infrastructure-as-code - - configuration-as-data - - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL -custom_edit_url: null -image: /img/providers/google/stackql-google-provider-featured-image.png ---- - -import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; - - - - -## Overview -
- - - -
Namememberships
TypeResource
Id
- -## Fields -| Name | Datatype | Description | -|:-----|:---------|:------------| -| | `string` | Output only. The full, unique name of this Membership resource in the format `projects/*/locations/*/memberships/{membership_id}`, set during creation. `membership_id` must be a valid RFC 1123 compliant DNS label: 1. At most 63 characters in length 2. It must consist of lower case alphanumeric characters or `-` 3. It must start and end with an alphanumeric character Which can be expressed as the regex: `[a-z0-9]([-a-z0-9]*[a-z0-9])?`, with a maximum length of 63 characters. | -| | `string` | Output only. Description of this membership, limited to 63 characters. Must match the regex: `a-zA-Z0-9*` This field is present for legacy purposes. | -| | `object` | Authority encodes how Google will recognize identities from this Membership. See the workload identity documentation for more details: https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity | -| | `string` | Output only. When the Membership was created. | -| | `string` | Output only. When the Membership was deleted. | -| | `object` | MembershipEndpoint contains information needed to contact a Kubernetes API, endpoint and any additional Kubernetes metadata. | -| | `string` | Optional. An externally-generated and managed ID for this Membership. This ID may be modified after creation, but this is not recommended. The ID must match the regex: `a-zA-Z0-9*` If this Membership represents a Kubernetes cluster, this value should be set to the UID of the `kube-system` namespace object. | -| | `object` | Optional. Labels for this membership. | -| | `string` | Output only. For clusters using Connect, the timestamp of the most recent connection established with Google Cloud. This time is updated every several minutes, not continuously. For clusters that do not use GKE Connect, or that have never connected successfully, this field will be unset. | -| | `object` | MonitoringConfig informs Fleet-based applications/services/UIs how the metrics for the underlying cluster is reported to cloud monitoring services. It can be set from empty to non-empty, but can't be mutated directly to prevent accidentally breaking the constinousty of metrics. | -| | `object` | MembershipState describes the state of a Membership resource. | -| | `string` | Output only. Google-generated UUID for this resource. This is unique across all Membership resources. If a Membership resource is deleted and another resource with the same name is created, it gets a different unique_id. | -| | `string` | Output only. When the Membership was last updated. | -## Methods -| Name | Accessible by | Required Params | Description | -|:-----|:--------------|:----------------|:------------| -| | `SELECT` | | Gets the details of a Membership. | -| | `SELECT` | | Lists Memberships in a given project and location. | -| | `INSERT` | | Creates a new Membership. **This is currently only supported for GKE clusters on Google Cloud**. To register other clusters, follow the instructions at https://cloud.google.com/anthos/multicluster-management/connect/registering-a-cluster. | -| | `DELETE` | | Removes a Membership. **This is currently only supported for GKE clusters on Google Cloud**. To unregister other clusters, follow the instructions at https://cloud.google.com/anthos/multicluster-management/connect/unregistering-a-cluster. | -| | `UPDATE` | | Updates an existing Membership. | -| | `EXEC` | | Lists Memberships in a given project and location. | -| | `EXEC` | | Generates the manifest for deployment of the GKE connect agent. **This method is used internally by Google-provided libraries.** Most clients should not need to call this method directly. | diff --git a/docs/google-docs/providers/google/gkehub/memberships_iam_policies/index.md b/docs/google-docs/providers/google/gkehub/memberships_iam_policies/index.md deleted file mode 100644 index f7ef9056a4..0000000000 --- a/docs/google-docs/providers/google/gkehub/memberships_iam_policies/index.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -title: memberships_iam_policies -hide_title: false -hide_table_of_contents: false -keywords: - - memberships_iam_policies - - gkehub - - google - - stackql - - infrastructure-as-code - - configuration-as-data - - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL -custom_edit_url: null -image: /img/providers/google/stackql-google-provider-featured-image.png ---- - -import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; - - - - -## Overview - - - - -
Namememberships_iam_policies
TypeResource
Id
- -## Fields -| Name | Datatype | Description | -|:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | -| | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | -## Methods -| Name | Accessible by | Required Params | Description | -|:-----|:--------------|:----------------|:------------| -| | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | -| | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | diff --git a/docs/google-docs/providers/google/gkehub/namespaces/index.md b/docs/google-docs/providers/google/gkehub/namespaces/index.md deleted file mode 100644 index a111630960..0000000000 --- a/docs/google-docs/providers/google/gkehub/namespaces/index.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -title: namespaces -hide_title: false -hide_table_of_contents: false -keywords: - - namespaces - - gkehub - - google - - stackql - - infrastructure-as-code - - configuration-as-data - - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL -custom_edit_url: null -image: /img/providers/google/stackql-google-provider-featured-image.png ---- - -import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; - - - - -## Overview - - - - -
Namenamespaces
TypeResource
Id
- -## Fields -| Name | Datatype | Description | -|:-----|:---------|:------------| -| | `string` | The resource name for the namespace `projects/{project}/locations/{location}/namespaces/{namespace}` | -| | `string` | Output only. When the namespace was created. | -| | `string` | Output only. When the namespace was deleted. | -| | `object` | Optional. Labels for this Namespace. | -| | `object` | Optional. Namespace-level cluster namespace labels. These labels are applied to the related namespace of the member clusters bound to the parent Scope. Scope-level labels (`namespace_labels` in the Fleet Scope resource) take precedence over Namespace-level labels if they share a key. Keys and values must be Kubernetes-conformant. | -| | `string` | Required. Scope associated with the namespace | -| | `object` | NamespaceLifecycleState describes the state of a Namespace resource. | -| | `string` | Output only. Google-generated UUID for this resource. This is unique across all namespace resources. If a namespace resource is deleted and another resource with the same name is created, it gets a different uid. | -| | `string` | Output only. When the namespace was last updated. | -## Methods -| Name | Accessible by | Required Params | Description | -|:-----|:--------------|:----------------|:------------| -| | `SELECT` | | Returns the details of a fleet namespace. | -| | `SELECT` | | Lists fleet namespaces. | -| | `INSERT` | | Creates a fleet namespace. | -| | `DELETE` | | Deletes a fleet namespace. | -| | `UPDATE` | | Updates a fleet namespace. | -| | `EXEC` | | Lists fleet namespaces. | diff --git a/docs/google-docs/providers/google/gkehub/operations/index.md b/docs/google-docs/providers/google/gkehub/operations/index.md index 924e603795..8c136621ca 100644 --- a/docs/google-docs/providers/google/gkehub/operations/index.md +++ b/docs/google-docs/providers/google/gkehub/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - gkehub - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview @@ -30,16 +32,31 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | -| | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.gkehub.operations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/gkehub/rbacrolebindings/index.md b/docs/google-docs/providers/google/gkehub/rbacrolebindings/index.md deleted file mode 100644 index 66194a3a5f..0000000000 --- a/docs/google-docs/providers/google/gkehub/rbacrolebindings/index.md +++ /dev/null @@ -1,51 +0,0 @@ ---- -title: rbacrolebindings -hide_title: false -hide_table_of_contents: false -keywords: - - rbacrolebindings - - gkehub - - google - - stackql - - infrastructure-as-code - - configuration-as-data - - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL -custom_edit_url: null -image: /img/providers/google/stackql-google-provider-featured-image.png ---- - -import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; - - - - -## Overview -
- - - -
Namerbacrolebindings
TypeResource
Id
- -## Fields -| Name | Datatype | Description | -|:-----|:---------|:------------| -| | `string` | The resource name for the rbacrolebinding `projects/{project}/locations/{location}/scopes/{scope}/rbacrolebindings/{rbacrolebinding}` or `projects/{project}/locations/{location}/memberships/{membership}/rbacrolebindings/{rbacrolebinding}` | -| | `string` | Output only. When the rbacrolebinding was created. | -| | `string` | Output only. When the rbacrolebinding was deleted. | -| | `string` | group is the group, as seen by the kubernetes cluster. | -| | `object` | Optional. Labels for this RBACRolebinding. | -| | `object` | Role is the type for Kubernetes roles | -| | `object` | RBACRoleBindingLifecycleState describes the state of a RbacRoleBinding resource. | -| | `string` | Output only. Google-generated UUID for this resource. This is unique across all rbacrolebinding resources. If a rbacrolebinding resource is deleted and another resource with the same name is created, it gets a different uid. | -| | `string` | Output only. When the rbacrolebinding was last updated. | -| | `string` | user is the name of the user as seen by the kubernetes cluster, example "alice" or "alice@domain.tld" | -## Methods -| Name | Accessible by | Required Params | Description | -|:-----|:--------------|:----------------|:------------| -| | `SELECT` | | Returns the details of a Scope RBACRoleBinding. | -| | `SELECT` | | Lists all Scope RBACRoleBindings. | -| | `INSERT` | | Creates a Scope RBACRoleBinding. | -| | `DELETE` | | Deletes a Scope RBACRoleBinding. | -| | `UPDATE` | | Updates a Scope RBACRoleBinding. | -| | `EXEC` | | Lists all Scope RBACRoleBindings. | diff --git a/docs/google-docs/providers/google/gkehub/scopes/index.md b/docs/google-docs/providers/google/gkehub/scopes/index.md deleted file mode 100644 index 5a25ed20c3..0000000000 --- a/docs/google-docs/providers/google/gkehub/scopes/index.md +++ /dev/null @@ -1,49 +0,0 @@ ---- -title: scopes -hide_title: false -hide_table_of_contents: false -keywords: - - scopes - - gkehub - - google - - stackql - - infrastructure-as-code - - configuration-as-data - - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL -custom_edit_url: null -image: /img/providers/google/stackql-google-provider-featured-image.png ---- - -import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; - - - - -## Overview - - - - -
Namescopes
TypeResource
Id
- -## Fields -| Name | Datatype | Description | -|:-----|:---------|:------------| -| | `string` | The resource name for the scope `projects/{project}/locations/{location}/scopes/{scope}` | -| | `string` | Output only. When the scope was created. | -| | `string` | Output only. When the scope was deleted. | -| | `object` | Optional. Labels for this Scope. | -| | `object` | Optional. Scope-level cluster namespace labels. For the member clusters bound to the Scope, these labels are applied to each namespace under the Scope. Scope-level labels take precedence over Namespace-level labels (`namespace_labels` in the Fleet Namespace resource) if they share a key. Keys and values must be Kubernetes-conformant. | -| | `object` | ScopeLifecycleState describes the state of a Scope resource. | -| | `string` | Output only. Google-generated UUID for this resource. This is unique across all scope resources. If a scope resource is deleted and another resource with the same name is created, it gets a different uid. | -| | `string` | Output only. When the scope was last updated. | -## Methods -| Name | Accessible by | Required Params | Description | -|:-----|:--------------|:----------------|:------------| -| | `SELECT` | | Returns the details of a Scope. | -| | `SELECT` | | Lists Scopes. | -| | `INSERT` | | Creates a Scope. | -| | `DELETE` | | Deletes a Scope. | -| | `UPDATE` | | Updates a scopes. | -| | `EXEC` | | Lists Scopes. | diff --git a/docs/google-docs/providers/google/gkehub/scopes_iam_policies/index.md b/docs/google-docs/providers/google/gkehub/scopes_iam_policies/index.md deleted file mode 100644 index 9be3c1493f..0000000000 --- a/docs/google-docs/providers/google/gkehub/scopes_iam_policies/index.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -title: scopes_iam_policies -hide_title: false -hide_table_of_contents: false -keywords: - - scopes_iam_policies - - gkehub - - google - - stackql - - infrastructure-as-code - - configuration-as-data - - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL -custom_edit_url: null -image: /img/providers/google/stackql-google-provider-featured-image.png ---- - -import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; - - - - -## Overview - - - - -
Namescopes_iam_policies
TypeResource
Id
- -## Fields -| Name | Datatype | Description | -|:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | -| | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | -## Methods -| Name | Accessible by | Required Params | Description | -|:-----|:--------------|:----------------|:------------| -| | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | -| | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | diff --git a/docs/google-docs/providers/google/gkehub/scopes_memberships/index.md b/docs/google-docs/providers/google/gkehub/scopes_memberships/index.md deleted file mode 100644 index cdba677e84..0000000000 --- a/docs/google-docs/providers/google/gkehub/scopes_memberships/index.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -title: scopes_memberships -hide_title: false -hide_table_of_contents: false -keywords: - - scopes_memberships - - gkehub - - google - - stackql - - infrastructure-as-code - - configuration-as-data - - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL -custom_edit_url: null -image: /img/providers/google/stackql-google-provider-featured-image.png ---- - -import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; - - - - -## Overview - - - - -
Namescopes_memberships
TypeResource
Id
- -## Fields -| Name | Datatype | Description | -|:-----|:---------|:------------| -| | `string` | Output only. The full, unique name of this Membership resource in the format `projects/*/locations/*/memberships/{membership_id}`, set during creation. `membership_id` must be a valid RFC 1123 compliant DNS label: 1. At most 63 characters in length 2. It must consist of lower case alphanumeric characters or `-` 3. It must start and end with an alphanumeric character Which can be expressed as the regex: `[a-z0-9]([-a-z0-9]*[a-z0-9])?`, with a maximum length of 63 characters. | -| | `string` | Output only. Description of this membership, limited to 63 characters. Must match the regex: `a-zA-Z0-9*` This field is present for legacy purposes. | -| | `object` | Authority encodes how Google will recognize identities from this Membership. See the workload identity documentation for more details: https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity | -| | `string` | Output only. When the Membership was created. | -| | `string` | Output only. When the Membership was deleted. | -| | `object` | MembershipEndpoint contains information needed to contact a Kubernetes API, endpoint and any additional Kubernetes metadata. | -| | `string` | Optional. An externally-generated and managed ID for this Membership. This ID may be modified after creation, but this is not recommended. The ID must match the regex: `a-zA-Z0-9*` If this Membership represents a Kubernetes cluster, this value should be set to the UID of the `kube-system` namespace object. | -| | `object` | Optional. Labels for this membership. | -| | `string` | Output only. For clusters using Connect, the timestamp of the most recent connection established with Google Cloud. This time is updated every several minutes, not continuously. For clusters that do not use GKE Connect, or that have never connected successfully, this field will be unset. | -| | `object` | MonitoringConfig informs Fleet-based applications/services/UIs how the metrics for the underlying cluster is reported to cloud monitoring services. It can be set from empty to non-empty, but can't be mutated directly to prevent accidentally breaking the constinousty of metrics. | -| | `object` | MembershipState describes the state of a Membership resource. | -| | `string` | Output only. Google-generated UUID for this resource. This is unique across all Membership resources. If a Membership resource is deleted and another resource with the same name is created, it gets a different unique_id. | -| | `string` | Output only. When the Membership was last updated. | -## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | diff --git a/docs/google-docs/providers/google/gkehub/scopes_permitted/index.md b/docs/google-docs/providers/google/gkehub/scopes_permitted/index.md deleted file mode 100644 index 2fed6ec7d3..0000000000 --- a/docs/google-docs/providers/google/gkehub/scopes_permitted/index.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -title: scopes_permitted -hide_title: false -hide_table_of_contents: false -keywords: - - scopes_permitted - - gkehub - - google - - stackql - - infrastructure-as-code - - configuration-as-data - - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL -custom_edit_url: null -image: /img/providers/google/stackql-google-provider-featured-image.png ---- - -import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; - - - - -## Overview - - - - -
Namescopes_permitted
TypeResource
Id
- -## Fields -| Name | Datatype | Description | -|:-----|:---------|:------------| -| | `string` | The resource name for the scope `projects/{project}/locations/{location}/scopes/{scope}` | -| | `string` | Output only. When the scope was created. | -| | `string` | Output only. When the scope was deleted. | -| | `object` | Optional. Labels for this Scope. | -| | `object` | Optional. Scope-level cluster namespace labels. For the member clusters bound to the Scope, these labels are applied to each namespace under the Scope. Scope-level labels take precedence over Namespace-level labels (`namespace_labels` in the Fleet Namespace resource) if they share a key. Keys and values must be Kubernetes-conformant. | -| | `object` | ScopeLifecycleState describes the state of a Scope resource. | -| | `string` | Output only. Google-generated UUID for this resource. This is unique across all scope resources. If a scope resource is deleted and another resource with the same name is created, it gets a different uid. | -| | `string` | Output only. When the scope was last updated. | -## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | diff --git a/docs/google-docs/providers/google/gkeonprem/bare_metal_admin_clusters/index.md b/docs/google-docs/providers/google/gkeonprem/bare_metal_admin_clusters/index.md index b3932a623a..60c681140a 100644 --- a/docs/google-docs/providers/google/gkeonprem/bare_metal_admin_clusters/index.md +++ b/docs/google-docs/providers/google/gkeonprem/bare_metal_admin_clusters/index.md @@ -1,3 +1,4 @@ + --- title: bare_metal_admin_clusters hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - bare_metal_admin_clusters - gkeonprem - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an bare_metal_admin_cluster resource or lists bare_metal_admin_clusters in a region ## Overview @@ -59,6 +61,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The unique identifier of the bare metal admin cluster. | | | `string` | Output only. The time at which this bare metal admin cluster was last updated. | | | `object` | ValidationCheck represents the result of preflight check. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -66,7 +69,240 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists bare metal admin clusters in a given project and location. | | | `INSERT` | | Creates a new bare metal admin cluster in a given project and location. The API needs to be combined with creating a bootstrap cluster to work. See: https://cloud.google.com/anthos/clusters/docs/bare-metal/latest/installing/creating-clusters/create-admin-cluster-api#prepare_bootstrap_environment | | | `UPDATE` | | Updates the parameters of a single bare metal admin cluster. | -| | `EXEC` | | Lists bare metal admin clusters in a given project and location. | | | `EXEC` | | Enrolls an existing bare metal admin cluster to the Anthos On-Prem API within a given project and location. Through enrollment, an existing admin cluster will become Anthos On-Prem API managed. The corresponding GCP resources will be created and all future modifications to the cluster will be expected to be performed through the API. | | | `EXEC` | | Queries the bare metal admin cluster version config. | | | `EXEC` | | Unenrolls an existing bare metal admin cluster from the Anthos On-Prem API within a given project and location. Unenrollment removes the Cloud reference to the cluster without modifying the underlying OnPrem Resources. Clusters will continue to run; however, they will no longer be accessible through the Anthos On-Prem API or its clients. | + +## `SELECT` examples + +Lists bare metal admin clusters in a given project and location. + +```sql +SELECT +name, +description, +annotations, +bareMetalVersion, +binaryAuthorization, +clusterOperations, +controlPlane, +createTime, +deleteTime, +endpoint, +etag, +fleet, +loadBalancer, +localName, +maintenanceConfig, +maintenanceStatus, +networkConfig, +nodeAccessConfig, +nodeConfig, +osEnvironmentConfig, +proxy, +reconciling, +securityConfig, +state, +status, +storage, +uid, +updateTime, +validationCheck +FROM google.gkeonprem.bare_metal_admin_clusters +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new bare_metal_admin_clusters resource. + + + + +```sql +/*+ create */ +INSERT INTO google.gkeonprem.bare_metal_admin_clusters ( +locationsId, +projectsId, +name, +description, +uid, +bareMetalVersion, +state, +endpoint, +reconciling, +createTime, +updateTime, +deleteTime, +localName, +etag, +annotations, +networkConfig, +controlPlane, +loadBalancer, +storage, +fleet, +clusterOperations, +status, +maintenanceConfig, +maintenanceStatus, +validationCheck, +nodeConfig, +proxy, +securityConfig, +nodeAccessConfig, +osEnvironmentConfig, +binaryAuthorization +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ description }}', +'{{ uid }}', +'{{ bareMetalVersion }}', +'{{ state }}', +'{{ endpoint }}', +true|false, +'{{ createTime }}', +'{{ updateTime }}', +'{{ deleteTime }}', +'{{ localName }}', +'{{ etag }}', +'{{ annotations }}', +'{{ networkConfig }}', +'{{ controlPlane }}', +'{{ loadBalancer }}', +'{{ storage }}', +'{{ fleet }}', +'{{ clusterOperations }}', +'{{ status }}', +'{{ maintenanceConfig }}', +'{{ maintenanceStatus }}', +'{{ validationCheck }}', +'{{ nodeConfig }}', +'{{ proxy }}', +'{{ securityConfig }}', +'{{ nodeAccessConfig }}', +'{{ osEnvironmentConfig }}', +'{{ binaryAuthorization }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: uid + value: '{{ uid }}' + - name: bareMetalVersion + value: '{{ bareMetalVersion }}' + - name: state + value: '{{ state }}' + - name: endpoint + value: '{{ endpoint }}' + - name: reconciling + value: '{{ reconciling }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: deleteTime + value: '{{ deleteTime }}' + - name: localName + value: '{{ localName }}' + - name: etag + value: '{{ etag }}' + - name: annotations + value: '{{ annotations }}' + - name: networkConfig + value: '{{ networkConfig }}' + - name: controlPlane + value: '{{ controlPlane }}' + - name: loadBalancer + value: '{{ loadBalancer }}' + - name: storage + value: '{{ storage }}' + - name: fleet + value: '{{ fleet }}' + - name: clusterOperations + value: '{{ clusterOperations }}' + - name: status + value: '{{ status }}' + - name: maintenanceConfig + value: '{{ maintenanceConfig }}' + - name: maintenanceStatus + value: '{{ maintenanceStatus }}' + - name: validationCheck + value: '{{ validationCheck }}' + - name: nodeConfig + value: '{{ nodeConfig }}' + - name: proxy + value: '{{ proxy }}' + - name: securityConfig + value: '{{ securityConfig }}' + - name: nodeAccessConfig + value: '{{ nodeAccessConfig }}' + - name: osEnvironmentConfig + value: '{{ osEnvironmentConfig }}' + - name: binaryAuthorization + value: '{{ binaryAuthorization }}' + +``` + + + +## `UPDATE` example + +Updates a bare_metal_admin_cluster only if the necessary resources are available. + +```sql +UPDATE google.gkeonprem.bare_metal_admin_clusters +SET +name = '{{ name }}', +description = '{{ description }}', +uid = '{{ uid }}', +bareMetalVersion = '{{ bareMetalVersion }}', +state = '{{ state }}', +endpoint = '{{ endpoint }}', +reconciling = true|false, +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +deleteTime = '{{ deleteTime }}', +localName = '{{ localName }}', +etag = '{{ etag }}', +annotations = '{{ annotations }}', +networkConfig = '{{ networkConfig }}', +controlPlane = '{{ controlPlane }}', +loadBalancer = '{{ loadBalancer }}', +storage = '{{ storage }}', +fleet = '{{ fleet }}', +clusterOperations = '{{ clusterOperations }}', +status = '{{ status }}', +maintenanceConfig = '{{ maintenanceConfig }}', +maintenanceStatus = '{{ maintenanceStatus }}', +validationCheck = '{{ validationCheck }}', +nodeConfig = '{{ nodeConfig }}', +proxy = '{{ proxy }}', +securityConfig = '{{ securityConfig }}', +nodeAccessConfig = '{{ nodeAccessConfig }}', +osEnvironmentConfig = '{{ osEnvironmentConfig }}', +binaryAuthorization = '{{ binaryAuthorization }}' +WHERE +bareMetalAdminClustersId = '{{ bareMetalAdminClustersId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/gkeonprem/bare_metal_admin_clusters_iam_policies/index.md b/docs/google-docs/providers/google/gkeonprem/bare_metal_admin_clusters_iam_policies/index.md index 9cca5844b5..a00b424856 100644 --- a/docs/google-docs/providers/google/gkeonprem/bare_metal_admin_clusters_iam_policies/index.md +++ b/docs/google-docs/providers/google/gkeonprem/bare_metal_admin_clusters_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: bare_metal_admin_clusters_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - bare_metal_admin_clusters_iam_policies - gkeonprem - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an bare_metal_admin_clusters_iam_policy resource or lists bare_metal_admin_clusters_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.gkeonprem.bare_metal_admin_clusters_iam_policies +WHERE bareMetalAdminClustersId = '{{ bareMetalAdminClustersId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/gkeonprem/bare_metal_clusters/index.md b/docs/google-docs/providers/google/gkeonprem/bare_metal_clusters/index.md index 921841049b..a51fcfaff1 100644 --- a/docs/google-docs/providers/google/gkeonprem/bare_metal_clusters/index.md +++ b/docs/google-docs/providers/google/gkeonprem/bare_metal_clusters/index.md @@ -1,3 +1,4 @@ + --- title: bare_metal_clusters hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - bare_metal_clusters - gkeonprem - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an bare_metal_cluster resource or lists bare_metal_clusters in a region ## Overview
@@ -62,6 +64,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The time when the bare metal user cluster was last updated. | | | `object` | BareMetalClusterUpgradePolicy defines the cluster upgrade policy. | | | `object` | ValidationCheck represents the result of preflight check. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -70,7 +73,269 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new bare metal cluster in a given project and location. | | | `DELETE` | | Deletes a single bare metal Cluster. | | | `UPDATE` | | Updates the parameters of a single bare metal Cluster. | -| | `EXEC` | | Lists bare metal clusters in a given project and location. | | | `EXEC` | | Enrolls an existing bare metal user cluster and its node pools to the Anthos On-Prem API within a given project and location. Through enrollment, an existing cluster will become Anthos On-Prem API managed. The corresponding GCP resources will be created and all future modifications to the cluster and/or its node pools will be expected to be performed through the API. | | | `EXEC` | | Queries the bare metal user cluster version config. | | | `EXEC` | | Unenrolls an existing bare metal user cluster and its node pools from the Anthos On-Prem API within a given project and location. Unenrollment removes the Cloud reference to the cluster without modifying the underlying OnPrem Resources. Clusters and node pools will continue to run; however, they will no longer be accessible through the Anthos On-Prem API or its clients. | + +## `SELECT` examples + +Lists bare metal clusters in a given project and location. + +```sql +SELECT +name, +description, +adminClusterMembership, +adminClusterName, +annotations, +bareMetalVersion, +binaryAuthorization, +clusterOperations, +controlPlane, +createTime, +deleteTime, +endpoint, +etag, +fleet, +loadBalancer, +localName, +maintenanceConfig, +maintenanceStatus, +networkConfig, +nodeAccessConfig, +nodeConfig, +osEnvironmentConfig, +proxy, +reconciling, +securityConfig, +state, +status, +storage, +uid, +updateTime, +upgradePolicy, +validationCheck +FROM google.gkeonprem.bare_metal_clusters +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new bare_metal_clusters resource. + + + + +```sql +/*+ create */ +INSERT INTO google.gkeonprem.bare_metal_clusters ( +locationsId, +projectsId, +name, +adminClusterMembership, +description, +bareMetalVersion, +uid, +state, +endpoint, +reconciling, +createTime, +updateTime, +deleteTime, +localName, +etag, +annotations, +networkConfig, +controlPlane, +loadBalancer, +storage, +proxy, +clusterOperations, +maintenanceConfig, +nodeConfig, +fleet, +status, +validationCheck, +securityConfig, +maintenanceStatus, +adminClusterName, +nodeAccessConfig, +osEnvironmentConfig, +binaryAuthorization, +upgradePolicy +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ adminClusterMembership }}', +'{{ description }}', +'{{ bareMetalVersion }}', +'{{ uid }}', +'{{ state }}', +'{{ endpoint }}', +true|false, +'{{ createTime }}', +'{{ updateTime }}', +'{{ deleteTime }}', +'{{ localName }}', +'{{ etag }}', +'{{ annotations }}', +'{{ networkConfig }}', +'{{ controlPlane }}', +'{{ loadBalancer }}', +'{{ storage }}', +'{{ proxy }}', +'{{ clusterOperations }}', +'{{ maintenanceConfig }}', +'{{ nodeConfig }}', +'{{ fleet }}', +'{{ status }}', +'{{ validationCheck }}', +'{{ securityConfig }}', +'{{ maintenanceStatus }}', +'{{ adminClusterName }}', +'{{ nodeAccessConfig }}', +'{{ osEnvironmentConfig }}', +'{{ binaryAuthorization }}', +'{{ upgradePolicy }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: adminClusterMembership + value: '{{ adminClusterMembership }}' + - name: description + value: '{{ description }}' + - name: bareMetalVersion + value: '{{ bareMetalVersion }}' + - name: uid + value: '{{ uid }}' + - name: state + value: '{{ state }}' + - name: endpoint + value: '{{ endpoint }}' + - name: reconciling + value: '{{ reconciling }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: deleteTime + value: '{{ deleteTime }}' + - name: localName + value: '{{ localName }}' + - name: etag + value: '{{ etag }}' + - name: annotations + value: '{{ annotations }}' + - name: networkConfig + value: '{{ networkConfig }}' + - name: controlPlane + value: '{{ controlPlane }}' + - name: loadBalancer + value: '{{ loadBalancer }}' + - name: storage + value: '{{ storage }}' + - name: proxy + value: '{{ proxy }}' + - name: clusterOperations + value: '{{ clusterOperations }}' + - name: maintenanceConfig + value: '{{ maintenanceConfig }}' + - name: nodeConfig + value: '{{ nodeConfig }}' + - name: fleet + value: '{{ fleet }}' + - name: status + value: '{{ status }}' + - name: validationCheck + value: '{{ validationCheck }}' + - name: securityConfig + value: '{{ securityConfig }}' + - name: maintenanceStatus + value: '{{ maintenanceStatus }}' + - name: adminClusterName + value: '{{ adminClusterName }}' + - name: nodeAccessConfig + value: '{{ nodeAccessConfig }}' + - name: osEnvironmentConfig + value: '{{ osEnvironmentConfig }}' + - name: binaryAuthorization + value: '{{ binaryAuthorization }}' + - name: upgradePolicy + value: '{{ upgradePolicy }}' + +``` + + + +## `UPDATE` example + +Updates a bare_metal_cluster only if the necessary resources are available. + +```sql +UPDATE google.gkeonprem.bare_metal_clusters +SET +name = '{{ name }}', +adminClusterMembership = '{{ adminClusterMembership }}', +description = '{{ description }}', +bareMetalVersion = '{{ bareMetalVersion }}', +uid = '{{ uid }}', +state = '{{ state }}', +endpoint = '{{ endpoint }}', +reconciling = true|false, +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +deleteTime = '{{ deleteTime }}', +localName = '{{ localName }}', +etag = '{{ etag }}', +annotations = '{{ annotations }}', +networkConfig = '{{ networkConfig }}', +controlPlane = '{{ controlPlane }}', +loadBalancer = '{{ loadBalancer }}', +storage = '{{ storage }}', +proxy = '{{ proxy }}', +clusterOperations = '{{ clusterOperations }}', +maintenanceConfig = '{{ maintenanceConfig }}', +nodeConfig = '{{ nodeConfig }}', +fleet = '{{ fleet }}', +status = '{{ status }}', +validationCheck = '{{ validationCheck }}', +securityConfig = '{{ securityConfig }}', +maintenanceStatus = '{{ maintenanceStatus }}', +adminClusterName = '{{ adminClusterName }}', +nodeAccessConfig = '{{ nodeAccessConfig }}', +osEnvironmentConfig = '{{ osEnvironmentConfig }}', +binaryAuthorization = '{{ binaryAuthorization }}', +upgradePolicy = '{{ upgradePolicy }}' +WHERE +bareMetalClustersId = '{{ bareMetalClustersId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified bare_metal_cluster resource. + +```sql +DELETE FROM google.gkeonprem.bare_metal_clusters +WHERE bareMetalClustersId = '{{ bareMetalClustersId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/gkeonprem/bare_metal_clusters_iam_policies/index.md b/docs/google-docs/providers/google/gkeonprem/bare_metal_clusters_iam_policies/index.md index efd83de35e..a4615aa726 100644 --- a/docs/google-docs/providers/google/gkeonprem/bare_metal_clusters_iam_policies/index.md +++ b/docs/google-docs/providers/google/gkeonprem/bare_metal_clusters_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: bare_metal_clusters_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - bare_metal_clusters_iam_policies - gkeonprem - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an bare_metal_clusters_iam_policy resource or lists bare_metal_clusters_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.gkeonprem.bare_metal_clusters_iam_policies +WHERE bareMetalClustersId = '{{ bareMetalClustersId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/gkeonprem/bare_metal_node_pools/index.md b/docs/google-docs/providers/google/gkeonprem/bare_metal_node_pools/index.md index 15c8eaf892..795750475c 100644 --- a/docs/google-docs/providers/google/gkeonprem/bare_metal_node_pools/index.md +++ b/docs/google-docs/providers/google/gkeonprem/bare_metal_node_pools/index.md @@ -1,3 +1,4 @@ + --- title: bare_metal_node_pools hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - bare_metal_node_pools - gkeonprem - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an bare_metal_node_pool resource or lists bare_metal_node_pools in a region ## Overview
@@ -43,6 +45,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The unique identifier of the bare metal node pool. | | | `string` | Output only. The time at which this bare metal node pool was last updated. | | | `object` | BareMetalNodePoolUpgradePolicy defines the node pool upgrade policy. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -51,6 +54,159 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new bare metal node pool in a given project, location and Bare Metal cluster. | | | `DELETE` | | Deletes a single bare metal node pool. | | | `UPDATE` | | Updates the parameters of a single bare metal node pool. | -| | `EXEC` | | Lists bare metal node pools in a given project, location and bare metal cluster. | | | `EXEC` | | Enrolls an existing bare metal node pool to the Anthos On-Prem API within a given project and location. Through enrollment, an existing node pool will become Anthos On-Prem API managed. The corresponding GCP resources will be created. | | | `EXEC` | | Unenrolls a bare metal node pool from Anthos On-Prem API. | + +## `SELECT` examples + +Lists bare metal node pools in a given project, location and bare metal cluster. + +```sql +SELECT +name, +annotations, +createTime, +deleteTime, +displayName, +etag, +nodePoolConfig, +reconciling, +state, +status, +uid, +updateTime, +upgradePolicy +FROM google.gkeonprem.bare_metal_node_pools +WHERE bareMetalClustersId = '{{ bareMetalClustersId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new bare_metal_node_pools resource. + + + + +```sql +/*+ create */ +INSERT INTO google.gkeonprem.bare_metal_node_pools ( +bareMetalClustersId, +locationsId, +projectsId, +name, +displayName, +uid, +state, +reconciling, +createTime, +updateTime, +deleteTime, +etag, +annotations, +nodePoolConfig, +status, +upgradePolicy +) +SELECT +'{{ bareMetalClustersId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ displayName }}', +'{{ uid }}', +'{{ state }}', +true|false, +'{{ createTime }}', +'{{ updateTime }}', +'{{ deleteTime }}', +'{{ etag }}', +'{{ annotations }}', +'{{ nodePoolConfig }}', +'{{ status }}', +'{{ upgradePolicy }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: uid + value: '{{ uid }}' + - name: state + value: '{{ state }}' + - name: reconciling + value: '{{ reconciling }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: deleteTime + value: '{{ deleteTime }}' + - name: etag + value: '{{ etag }}' + - name: annotations + value: '{{ annotations }}' + - name: nodePoolConfig + value: '{{ nodePoolConfig }}' + - name: status + value: '{{ status }}' + - name: upgradePolicy + value: '{{ upgradePolicy }}' + +``` + + + +## `UPDATE` example + +Updates a bare_metal_node_pool only if the necessary resources are available. + +```sql +UPDATE google.gkeonprem.bare_metal_node_pools +SET +name = '{{ name }}', +displayName = '{{ displayName }}', +uid = '{{ uid }}', +state = '{{ state }}', +reconciling = true|false, +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +deleteTime = '{{ deleteTime }}', +etag = '{{ etag }}', +annotations = '{{ annotations }}', +nodePoolConfig = '{{ nodePoolConfig }}', +status = '{{ status }}', +upgradePolicy = '{{ upgradePolicy }}' +WHERE +bareMetalClustersId = '{{ bareMetalClustersId }}' +AND bareMetalNodePoolsId = '{{ bareMetalNodePoolsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified bare_metal_node_pool resource. + +```sql +DELETE FROM google.gkeonprem.bare_metal_node_pools +WHERE bareMetalClustersId = '{{ bareMetalClustersId }}' +AND bareMetalNodePoolsId = '{{ bareMetalNodePoolsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/gkeonprem/bare_metal_node_pools_iam_policies/index.md b/docs/google-docs/providers/google/gkeonprem/bare_metal_node_pools_iam_policies/index.md index 9796b24ee9..f93b3e7deb 100644 --- a/docs/google-docs/providers/google/gkeonprem/bare_metal_node_pools_iam_policies/index.md +++ b/docs/google-docs/providers/google/gkeonprem/bare_metal_node_pools_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: bare_metal_node_pools_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - bare_metal_node_pools_iam_policies - gkeonprem - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an bare_metal_node_pools_iam_policy resource or lists bare_metal_node_pools_iam_policies in a region ## Overview
@@ -30,13 +32,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.gkeonprem.bare_metal_node_pools_iam_policies +WHERE bareMetalClustersId = '{{ bareMetalClustersId }}' +AND bareMetalNodePoolsId = '{{ bareMetalNodePoolsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/gkeonprem/index.md b/docs/google-docs/providers/google/gkeonprem/index.md index 8bf0942e2b..27cda47060 100644 --- a/docs/google-docs/providers/google/gkeonprem/index.md +++ b/docs/google-docs/providers/google/gkeonprem/index.md @@ -9,34 +9,23 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- - - +The gkeonprem service documentation. + :::info Service Summary
total resources: 14
-total selectable resources: 14
-total methods: 98
::: -## Overview -
- - - - - -
Namegoogle.gkeonprem
TypeService
TitleAnthos On-Prem API
Description
Idgkeonprem:v24.06.00236
- ## Resources
@@ -46,7 +35,7 @@ image: /img/providers/google/stackql-google-provider-featured-image.png bare_metal_clusters_iam_policies
bare_metal_node_pools
bare_metal_node_pools_iam_policies
-locations
+locations
operations
@@ -55,6 +44,6 @@ image: /img/providers/google/stackql-google-provider-featured-image.png vmware_clusters
vmware_clusters_iam_policies
vmware_node_pools
-vmware_node_pools_iam_policies
-
+vmware_node_pools_iam_policies
+ \ No newline at end of file diff --git a/docs/google-docs/providers/google/gkeonprem/locations/index.md b/docs/google-docs/providers/google/gkeonprem/locations/index.md index 4de4558e39..cf33ea4a65 100644 --- a/docs/google-docs/providers/google/gkeonprem/locations/index.md +++ b/docs/google-docs/providers/google/gkeonprem/locations/index.md @@ -1,3 +1,4 @@ + --- title: locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - locations - gkeonprem - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an location resource or lists locations in a region ## Overview @@ -32,12 +34,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` | | | `string` | The friendly name for this location, typically a nearby city name. For example, "Tokyo". | -| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | +| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | | | `string` | The canonical id for this location. For example: `"us-east1"`. | | | `object` | Service-specific metadata. For example the available capacity at the given location. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about a location. | | | `SELECT` | | Lists information about the supported locations for this service. | -| | `EXEC` | | Lists information about the supported locations for this service. | + +## `SELECT` examples + +Lists information about the supported locations for this service. + +```sql +SELECT +name, +displayName, +labels, +locationId, +metadata +FROM google.gkeonprem.locations +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/gkeonprem/operations/index.md b/docs/google-docs/providers/google/gkeonprem/operations/index.md index cfea713939..4a8d2c65cc 100644 --- a/docs/google-docs/providers/google/gkeonprem/operations/index.md +++ b/docs/google-docs/providers/google/gkeonprem/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - gkeonprem - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview
@@ -30,11 +32,12 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -53,11 +56,31 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.gkeonprem.operations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified operation resource. + +```sql +DELETE FROM google.gkeonprem.operations +WHERE locationsId = '{{ locationsId }}' +AND operationsId = '{{ operationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/gkeonprem/vmware_admin_clusters/index.md b/docs/google-docs/providers/google/gkeonprem/vmware_admin_clusters/index.md index 66e969faaa..7707c50e4e 100644 --- a/docs/google-docs/providers/google/gkeonprem/vmware_admin_clusters/index.md +++ b/docs/google-docs/providers/google/gkeonprem/vmware_admin_clusters/index.md @@ -1,3 +1,4 @@ + --- title: vmware_admin_clusters hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - vmware_admin_clusters - gkeonprem - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an vmware_admin_cluster resource or lists vmware_admin_clusters in a region ## Overview
@@ -55,13 +57,92 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | ResourceStatus describes why a cluster or node pool has a certain status. (e.g., ERROR or DEGRADED). | | | `string` | Output only. The unique identifier of the VMware admin cluster. | | | `string` | Output only. The time at which VMware admin cluster was last updated. | +| | `object` | ValidationCheck represents the result of preflight check. | | | `object` | VmwareAdminVCenterConfig contains VCenter configuration for VMware admin cluster. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets details of a single VMware admin cluster. | | | `SELECT` | | Lists VMware admin clusters in a given project and location. | | | `UPDATE` | | Updates the parameters of a single VMware admin cluster. | -| | `EXEC` | | Lists VMware admin clusters in a given project and location. | | | `EXEC` | | Enrolls an existing VMware admin cluster to the Anthos On-Prem API within a given project and location. Through enrollment, an existing admin cluster will become Anthos On-Prem API managed. The corresponding GCP resources will be created and all future modifications to the cluster will be expected to be performed through the API. | | | `EXEC` | | Unenrolls an existing VMware admin cluster from the Anthos On-Prem API within a given project and location. Unenrollment removes the Cloud reference to the cluster without modifying the underlying OnPrem Resources. Clusters will continue to run; however, they will no longer be accessible through the Anthos On-Prem API or its clients. | + +## `SELECT` examples + +Lists VMware admin clusters in a given project and location. + +```sql +SELECT +name, +description, +addonNode, +annotations, +antiAffinityGroups, +authorization, +autoRepairConfig, +bootstrapClusterMembership, +controlPlaneNode, +createTime, +endpoint, +etag, +fleet, +imageType, +loadBalancer, +localName, +networkConfig, +onPremVersion, +platformConfig, +preparedSecrets, +reconciling, +state, +status, +uid, +updateTime, +validationCheck, +vcenter +FROM google.gkeonprem.vmware_admin_clusters +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `UPDATE` example + +Updates a vmware_admin_cluster only if the necessary resources are available. + +```sql +UPDATE google.gkeonprem.vmware_admin_clusters +SET +name = '{{ name }}', +description = '{{ description }}', +uid = '{{ uid }}', +etag = '{{ etag }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +annotations = '{{ annotations }}', +state = '{{ state }}', +endpoint = '{{ endpoint }}', +reconciling = true|false, +localName = '{{ localName }}', +bootstrapClusterMembership = '{{ bootstrapClusterMembership }}', +onPremVersion = '{{ onPremVersion }}', +fleet = '{{ fleet }}', +imageType = '{{ imageType }}', +vcenter = '{{ vcenter }}', +networkConfig = '{{ networkConfig }}', +loadBalancer = '{{ loadBalancer }}', +controlPlaneNode = '{{ controlPlaneNode }}', +addonNode = '{{ addonNode }}', +antiAffinityGroups = '{{ antiAffinityGroups }}', +autoRepairConfig = '{{ autoRepairConfig }}', +status = '{{ status }}', +platformConfig = '{{ platformConfig }}', +preparedSecrets = '{{ preparedSecrets }}', +authorization = '{{ authorization }}', +validationCheck = '{{ validationCheck }}' +WHERE +locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND vmwareAdminClustersId = '{{ vmwareAdminClustersId }}'; +``` diff --git a/docs/google-docs/providers/google/gkeonprem/vmware_admin_clusters_iam_policies/index.md b/docs/google-docs/providers/google/gkeonprem/vmware_admin_clusters_iam_policies/index.md index f1c5d2382d..cfb90b7f62 100644 --- a/docs/google-docs/providers/google/gkeonprem/vmware_admin_clusters_iam_policies/index.md +++ b/docs/google-docs/providers/google/gkeonprem/vmware_admin_clusters_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: vmware_admin_clusters_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - vmware_admin_clusters_iam_policies - gkeonprem - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an vmware_admin_clusters_iam_policy resource or lists vmware_admin_clusters_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.gkeonprem.vmware_admin_clusters_iam_policies +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND vmwareAdminClustersId = '{{ vmwareAdminClustersId }}'; +``` diff --git a/docs/google-docs/providers/google/gkeonprem/vmware_clusters/index.md b/docs/google-docs/providers/google/gkeonprem/vmware_clusters/index.md index 09b73112a3..d980dea2d1 100644 --- a/docs/google-docs/providers/google/gkeonprem/vmware_clusters/index.md +++ b/docs/google-docs/providers/google/gkeonprem/vmware_clusters/index.md @@ -1,3 +1,4 @@ + --- title: vmware_clusters hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - vmware_clusters - gkeonprem - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an vmware_cluster resource or lists vmware_clusters in a region ## Overview
@@ -62,6 +64,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | ValidationCheck represents the result of preflight check. | | | `object` | Represents configuration for the VMware VCenter for the user cluster. | | | `boolean` | Enable VM tracking. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -70,7 +73,269 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new VMware user cluster in a given project and location. | | | `DELETE` | | Deletes a single VMware Cluster. | | | `UPDATE` | | Updates the parameters of a single VMware cluster. | -| | `EXEC` | | Lists VMware Clusters in a given project and location. | | | `EXEC` | | Enrolls an existing VMware user cluster and its node pools to the Anthos On-Prem API within a given project and location. Through enrollment, an existing cluster will become Anthos On-Prem API managed. The corresponding GCP resources will be created and all future modifications to the cluster and/or its node pools will be expected to be performed through the API. | | | `EXEC` | | Queries the VMware user cluster version config. | | | `EXEC` | | Unenrolls an existing VMware user cluster and its node pools from the Anthos On-Prem API within a given project and location. Unenrollment removes the Cloud reference to the cluster without modifying the underlying OnPrem Resources. Clusters and node pools will continue to run; however, they will no longer be accessible through the Anthos On-Prem API or UI. | + +## `SELECT` examples + +Lists VMware Clusters in a given project and location. + +```sql +SELECT +name, +description, +adminClusterMembership, +adminClusterName, +annotations, +antiAffinityGroups, +authorization, +autoRepairConfig, +binaryAuthorization, +controlPlaneNode, +createTime, +dataplaneV2, +deleteTime, +disableBundledIngress, +enableControlPlaneV2, +endpoint, +etag, +fleet, +loadBalancer, +localName, +networkConfig, +onPremVersion, +reconciling, +state, +status, +storage, +uid, +updateTime, +upgradePolicy, +validationCheck, +vcenter, +vmTrackingEnabled +FROM google.gkeonprem.vmware_clusters +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new vmware_clusters resource. + + + + +```sql +/*+ create */ +INSERT INTO google.gkeonprem.vmware_clusters ( +locationsId, +projectsId, +name, +adminClusterMembership, +description, +onPremVersion, +uid, +state, +endpoint, +reconciling, +createTime, +updateTime, +localName, +etag, +annotations, +controlPlaneNode, +antiAffinityGroups, +storage, +networkConfig, +loadBalancer, +vcenter, +status, +dataplaneV2, +vmTrackingEnabled, +autoRepairConfig, +fleet, +authorization, +deleteTime, +validationCheck, +adminClusterName, +enableControlPlaneV2, +binaryAuthorization, +upgradePolicy, +disableBundledIngress +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ adminClusterMembership }}', +'{{ description }}', +'{{ onPremVersion }}', +'{{ uid }}', +'{{ state }}', +'{{ endpoint }}', +true|false, +'{{ createTime }}', +'{{ updateTime }}', +'{{ localName }}', +'{{ etag }}', +'{{ annotations }}', +'{{ controlPlaneNode }}', +'{{ antiAffinityGroups }}', +'{{ storage }}', +'{{ networkConfig }}', +'{{ loadBalancer }}', +'{{ vcenter }}', +'{{ status }}', +'{{ dataplaneV2 }}', +true|false, +'{{ autoRepairConfig }}', +'{{ fleet }}', +'{{ authorization }}', +'{{ deleteTime }}', +'{{ validationCheck }}', +'{{ adminClusterName }}', +true|false, +'{{ binaryAuthorization }}', +'{{ upgradePolicy }}', +true|false +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: adminClusterMembership + value: '{{ adminClusterMembership }}' + - name: description + value: '{{ description }}' + - name: onPremVersion + value: '{{ onPremVersion }}' + - name: uid + value: '{{ uid }}' + - name: state + value: '{{ state }}' + - name: endpoint + value: '{{ endpoint }}' + - name: reconciling + value: '{{ reconciling }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: localName + value: '{{ localName }}' + - name: etag + value: '{{ etag }}' + - name: annotations + value: '{{ annotations }}' + - name: controlPlaneNode + value: '{{ controlPlaneNode }}' + - name: antiAffinityGroups + value: '{{ antiAffinityGroups }}' + - name: storage + value: '{{ storage }}' + - name: networkConfig + value: '{{ networkConfig }}' + - name: loadBalancer + value: '{{ loadBalancer }}' + - name: vcenter + value: '{{ vcenter }}' + - name: status + value: '{{ status }}' + - name: dataplaneV2 + value: '{{ dataplaneV2 }}' + - name: vmTrackingEnabled + value: '{{ vmTrackingEnabled }}' + - name: autoRepairConfig + value: '{{ autoRepairConfig }}' + - name: fleet + value: '{{ fleet }}' + - name: authorization + value: '{{ authorization }}' + - name: deleteTime + value: '{{ deleteTime }}' + - name: validationCheck + value: '{{ validationCheck }}' + - name: adminClusterName + value: '{{ adminClusterName }}' + - name: enableControlPlaneV2 + value: '{{ enableControlPlaneV2 }}' + - name: binaryAuthorization + value: '{{ binaryAuthorization }}' + - name: upgradePolicy + value: '{{ upgradePolicy }}' + - name: disableBundledIngress + value: '{{ disableBundledIngress }}' + +``` + + + +## `UPDATE` example + +Updates a vmware_cluster only if the necessary resources are available. + +```sql +UPDATE google.gkeonprem.vmware_clusters +SET +name = '{{ name }}', +adminClusterMembership = '{{ adminClusterMembership }}', +description = '{{ description }}', +onPremVersion = '{{ onPremVersion }}', +uid = '{{ uid }}', +state = '{{ state }}', +endpoint = '{{ endpoint }}', +reconciling = true|false, +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +localName = '{{ localName }}', +etag = '{{ etag }}', +annotations = '{{ annotations }}', +controlPlaneNode = '{{ controlPlaneNode }}', +antiAffinityGroups = '{{ antiAffinityGroups }}', +storage = '{{ storage }}', +networkConfig = '{{ networkConfig }}', +loadBalancer = '{{ loadBalancer }}', +vcenter = '{{ vcenter }}', +status = '{{ status }}', +dataplaneV2 = '{{ dataplaneV2 }}', +vmTrackingEnabled = true|false, +autoRepairConfig = '{{ autoRepairConfig }}', +fleet = '{{ fleet }}', +authorization = '{{ authorization }}', +deleteTime = '{{ deleteTime }}', +validationCheck = '{{ validationCheck }}', +adminClusterName = '{{ adminClusterName }}', +enableControlPlaneV2 = true|false, +binaryAuthorization = '{{ binaryAuthorization }}', +upgradePolicy = '{{ upgradePolicy }}', +disableBundledIngress = true|false +WHERE +locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND vmwareClustersId = '{{ vmwareClustersId }}'; +``` + +## `DELETE` example + +Deletes the specified vmware_cluster resource. + +```sql +DELETE FROM google.gkeonprem.vmware_clusters +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND vmwareClustersId = '{{ vmwareClustersId }}'; +``` diff --git a/docs/google-docs/providers/google/gkeonprem/vmware_clusters_iam_policies/index.md b/docs/google-docs/providers/google/gkeonprem/vmware_clusters_iam_policies/index.md index f90bdd143f..828f976d9c 100644 --- a/docs/google-docs/providers/google/gkeonprem/vmware_clusters_iam_policies/index.md +++ b/docs/google-docs/providers/google/gkeonprem/vmware_clusters_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: vmware_clusters_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - vmware_clusters_iam_policies - gkeonprem - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an vmware_clusters_iam_policy resource or lists vmware_clusters_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.gkeonprem.vmware_clusters_iam_policies +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND vmwareClustersId = '{{ vmwareClustersId }}'; +``` diff --git a/docs/google-docs/providers/google/gkeonprem/vmware_node_pools/index.md b/docs/google-docs/providers/google/gkeonprem/vmware_node_pools/index.md index 9d945396f9..6189ebe171 100644 --- a/docs/google-docs/providers/google/gkeonprem/vmware_node_pools/index.md +++ b/docs/google-docs/providers/google/gkeonprem/vmware_node_pools/index.md @@ -1,3 +1,4 @@ + --- title: vmware_node_pools hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - vmware_node_pools - gkeonprem - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an vmware_node_pool resource or lists vmware_node_pools in a region ## Overview
@@ -44,6 +46,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | ResourceStatus describes why a cluster or node pool has a certain status. (e.g., ERROR or DEGRADED). | | | `string` | Output only. The unique identifier of the node pool. | | | `string` | Output only. The time at which this node pool was last updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -52,6 +55,165 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new VMware node pool in a given project, location and VMWare cluster. | | | `DELETE` | | Deletes a single VMware node pool. | | | `UPDATE` | | Updates the parameters of a single VMware node pool. | -| | `EXEC` | | Lists VMware node pools in a given project, location and VMWare cluster. | | | `EXEC` | | Enrolls a VMware node pool to Anthos On-Prem API | | | `EXEC` | | Unenrolls a VMware node pool to Anthos On-Prem API | + +## `SELECT` examples + +Lists VMware node pools in a given project, location and VMWare cluster. + +```sql +SELECT +name, +annotations, +config, +createTime, +deleteTime, +displayName, +etag, +nodePoolAutoscaling, +onPremVersion, +reconciling, +state, +status, +uid, +updateTime +FROM google.gkeonprem.vmware_node_pools +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND vmwareClustersId = '{{ vmwareClustersId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new vmware_node_pools resource. + + + + +```sql +/*+ create */ +INSERT INTO google.gkeonprem.vmware_node_pools ( +locationsId, +projectsId, +vmwareClustersId, +name, +displayName, +uid, +state, +reconciling, +createTime, +updateTime, +deleteTime, +etag, +annotations, +nodePoolAutoscaling, +config, +status, +onPremVersion +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ vmwareClustersId }}', +'{{ name }}', +'{{ displayName }}', +'{{ uid }}', +'{{ state }}', +true|false, +'{{ createTime }}', +'{{ updateTime }}', +'{{ deleteTime }}', +'{{ etag }}', +'{{ annotations }}', +'{{ nodePoolAutoscaling }}', +'{{ config }}', +'{{ status }}', +'{{ onPremVersion }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: uid + value: '{{ uid }}' + - name: state + value: '{{ state }}' + - name: reconciling + value: '{{ reconciling }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: deleteTime + value: '{{ deleteTime }}' + - name: etag + value: '{{ etag }}' + - name: annotations + value: '{{ annotations }}' + - name: nodePoolAutoscaling + value: '{{ nodePoolAutoscaling }}' + - name: config + value: '{{ config }}' + - name: status + value: '{{ status }}' + - name: onPremVersion + value: '{{ onPremVersion }}' + +``` + + + +## `UPDATE` example + +Updates a vmware_node_pool only if the necessary resources are available. + +```sql +UPDATE google.gkeonprem.vmware_node_pools +SET +name = '{{ name }}', +displayName = '{{ displayName }}', +uid = '{{ uid }}', +state = '{{ state }}', +reconciling = true|false, +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +deleteTime = '{{ deleteTime }}', +etag = '{{ etag }}', +annotations = '{{ annotations }}', +nodePoolAutoscaling = '{{ nodePoolAutoscaling }}', +config = '{{ config }}', +status = '{{ status }}', +onPremVersion = '{{ onPremVersion }}' +WHERE +locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND vmwareClustersId = '{{ vmwareClustersId }}' +AND vmwareNodePoolsId = '{{ vmwareNodePoolsId }}'; +``` + +## `DELETE` example + +Deletes the specified vmware_node_pool resource. + +```sql +DELETE FROM google.gkeonprem.vmware_node_pools +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND vmwareClustersId = '{{ vmwareClustersId }}' +AND vmwareNodePoolsId = '{{ vmwareNodePoolsId }}'; +``` diff --git a/docs/google-docs/providers/google/gkeonprem/vmware_node_pools_iam_policies/index.md b/docs/google-docs/providers/google/gkeonprem/vmware_node_pools_iam_policies/index.md index e00eda096b..4af27c5c3e 100644 --- a/docs/google-docs/providers/google/gkeonprem/vmware_node_pools_iam_policies/index.md +++ b/docs/google-docs/providers/google/gkeonprem/vmware_node_pools_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: vmware_node_pools_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - vmware_node_pools_iam_policies - gkeonprem - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an vmware_node_pools_iam_policy resource or lists vmware_node_pools_iam_policies in a region ## Overview
@@ -30,13 +32,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.gkeonprem.vmware_node_pools_iam_policies +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND vmwareClustersId = '{{ vmwareClustersId }}' +AND vmwareNodePoolsId = '{{ vmwareNodePoolsId }}'; +``` diff --git a/docs/google-docs/providers/google/healthcare/attribute_definitions/index.md b/docs/google-docs/providers/google/healthcare/attribute_definitions/index.md index a61699f277..3f9ba43fdb 100644 --- a/docs/google-docs/providers/google/healthcare/attribute_definitions/index.md +++ b/docs/google-docs/providers/google/healthcare/attribute_definitions/index.md @@ -1,3 +1,4 @@ + --- title: attribute_definitions hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - attribute_definitions - healthcare - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an attribute_definition resource or lists attribute_definitions in a region ## Overview
@@ -30,12 +32,13 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Identifier. Resource name of the Attribute definition, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/consentStores/{consent_store_id}/attributeDefinitions/{attribute_definition_id}`. Cannot be changed after creation. | +| | `string` | Identifier. Resource name of the Attribute definition, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/consentStores/{consent_store_id}/attributeDefinitions/{attribute_definition_id}`. Cannot be changed after creation. | | | `string` | Optional. A description of the attribute. | | | `array` | Required. Possible values for the attribute. The number of allowed values must not exceed 500. An empty list is invalid. The list can only be expanded after creation. | | | `string` | Required. The category of the attribute. The value of this field cannot be changed after creation. | | | `array` | Optional. Default values of the attribute in Consents. If no default values are specified, it defaults to an empty value. | | | `string` | Optional. Default value of the attribute in User data mappings. If no default value is specified, it defaults to an empty value. This field is only applicable to attributes of the category `RESOURCE`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -44,4 +47,120 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new Attribute definition in the parent consent store. | | | `DELETE` | | Deletes the specified Attribute definition. Fails if the Attribute definition is referenced by any User data mapping, or the latest revision of any Consent. | | | `UPDATE` | | Updates the specified Attribute definition. | -| | `EXEC` | | Lists the Attribute definitions in the specified consent store. | + +## `SELECT` examples + +Lists the Attribute definitions in the specified consent store. + +```sql +SELECT +name, +description, +allowedValues, +category, +consentDefaultValues, +dataMappingDefaultValue +FROM google.healthcare.attribute_definitions +WHERE consentStoresId = '{{ consentStoresId }}' +AND datasetsId = '{{ datasetsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new attribute_definitions resource. + + + + +```sql +/*+ create */ +INSERT INTO google.healthcare.attribute_definitions ( +consentStoresId, +datasetsId, +locationsId, +projectsId, +name, +description, +category, +allowedValues, +consentDefaultValues, +dataMappingDefaultValue +) +SELECT +'{{ consentStoresId }}', +'{{ datasetsId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ description }}', +'{{ category }}', +'{{ allowedValues }}', +'{{ consentDefaultValues }}', +'{{ dataMappingDefaultValue }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: category + value: '{{ category }}' + - name: allowedValues + value: '{{ allowedValues }}' + - name: consentDefaultValues + value: '{{ consentDefaultValues }}' + - name: dataMappingDefaultValue + value: '{{ dataMappingDefaultValue }}' + +``` + + + +## `UPDATE` example + +Updates a attribute_definition only if the necessary resources are available. + +```sql +UPDATE google.healthcare.attribute_definitions +SET +name = '{{ name }}', +description = '{{ description }}', +category = '{{ category }}', +allowedValues = '{{ allowedValues }}', +consentDefaultValues = '{{ consentDefaultValues }}', +dataMappingDefaultValue = '{{ dataMappingDefaultValue }}' +WHERE +attributeDefinitionsId = '{{ attributeDefinitionsId }}' +AND consentStoresId = '{{ consentStoresId }}' +AND datasetsId = '{{ datasetsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified attribute_definition resource. + +```sql +DELETE FROM google.healthcare.attribute_definitions +WHERE attributeDefinitionsId = '{{ attributeDefinitionsId }}' +AND consentStoresId = '{{ consentStoresId }}' +AND datasetsId = '{{ datasetsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/healthcare/consent_artifacts/index.md b/docs/google-docs/providers/google/healthcare/consent_artifacts/index.md index 72a0f4ada4..c8ab825399 100644 --- a/docs/google-docs/providers/google/healthcare/consent_artifacts/index.md +++ b/docs/google-docs/providers/google/healthcare/consent_artifacts/index.md @@ -1,3 +1,4 @@ + --- title: consent_artifacts hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - consent_artifacts - healthcare - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an consent_artifact resource or lists consent_artifacts in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Identifier. Resource name of the Consent artifact, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/consentStores/{consent_store_id}/consentArtifacts/{consent_artifact_id}`. Cannot be changed after creation. | +| | `string` | Identifier. Resource name of the Consent artifact, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/consentStores/{consent_store_id}/consentArtifacts/{consent_artifact_id}`. Cannot be changed after creation. | | | `array` | Optional. Screenshots, PDFs, or other binary information documenting the user's consent. | | | `string` | Optional. An string indicating the version of the consent information shown to the user. | | | `object` | User signature. | @@ -38,6 +40,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Required. User's UUID provided by the client. | | | `object` | User signature. | | | `object` | User signature. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -45,4 +48,109 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists the Consent artifacts in the specified consent store. | | | `INSERT` | | Creates a new Consent artifact in the parent consent store. | | | `DELETE` | | Deletes the specified Consent artifact. Fails if the artifact is referenced by the latest revision of any Consent. | -| | `EXEC` | | Lists the Consent artifacts in the specified consent store. | + +## `SELECT` examples + +Lists the Consent artifacts in the specified consent store. + +```sql +SELECT +name, +consentContentScreenshots, +consentContentVersion, +guardianSignature, +metadata, +userId, +userSignature, +witnessSignature +FROM google.healthcare.consent_artifacts +WHERE consentStoresId = '{{ consentStoresId }}' +AND datasetsId = '{{ datasetsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new consent_artifacts resource. + + + + +```sql +/*+ create */ +INSERT INTO google.healthcare.consent_artifacts ( +consentStoresId, +datasetsId, +locationsId, +projectsId, +name, +userId, +userSignature, +guardianSignature, +witnessSignature, +consentContentScreenshots, +consentContentVersion, +metadata +) +SELECT +'{{ consentStoresId }}', +'{{ datasetsId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ userId }}', +'{{ userSignature }}', +'{{ guardianSignature }}', +'{{ witnessSignature }}', +'{{ consentContentScreenshots }}', +'{{ consentContentVersion }}', +'{{ metadata }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: userId + value: '{{ userId }}' + - name: userSignature + value: '{{ userSignature }}' + - name: guardianSignature + value: '{{ guardianSignature }}' + - name: witnessSignature + value: '{{ witnessSignature }}' + - name: consentContentScreenshots + value: '{{ consentContentScreenshots }}' + - name: consentContentVersion + value: '{{ consentContentVersion }}' + - name: metadata + value: '{{ metadata }}' + +``` + + + +## `DELETE` example + +Deletes the specified consent_artifact resource. + +```sql +DELETE FROM google.healthcare.consent_artifacts +WHERE consentArtifactsId = '{{ consentArtifactsId }}' +AND consentStoresId = '{{ consentStoresId }}' +AND datasetsId = '{{ datasetsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/healthcare/consent_stores/index.md b/docs/google-docs/providers/google/healthcare/consent_stores/index.md index d5d0315b0c..bb9a69b85f 100644 --- a/docs/google-docs/providers/google/healthcare/consent_stores/index.md +++ b/docs/google-docs/providers/google/healthcare/consent_stores/index.md @@ -1,3 +1,4 @@ + --- title: consent_stores hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - consent_stores - healthcare - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an consent_store resource or lists consent_stores in a region ## Overview
@@ -30,10 +32,11 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Identifier. Resource name of the consent store, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/consentStores/{consent_store_id}`. Cannot be changed after creation. | +| | `string` | Identifier. Resource name of the consent store, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/consentStores/{consent_store_id}`. Cannot be changed after creation. | | | `string` | Optional. Default time to live for Consents created in this store. Must be at least 24 hours. Updating this field will not affect the expiration time of existing consents. | | | `boolean` | Optional. If `true`, UpdateConsent creates the Consent if it does not already exist. If unspecified, defaults to `false`. | -| | `object` | Optional. User-supplied key-value pairs used to organize consent stores. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: \p{Ll}\p{Lo}{0,62}. Label values must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63}. No more than 64 labels can be associated with a given store. For more information: https://cloud.google.com/healthcare/docs/how-tos/labeling-resources | +| | `object` | Optional. User-supplied key-value pairs used to organize consent stores. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: \p{Ll}\p{Lo}{0,62}. Label values must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63}. No more than 64 labels can be associated with a given store. For more information: https://cloud.google.com/healthcare/docs/how-tos/labeling-resources | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -42,7 +45,106 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new consent store in the parent dataset. Attempting to create a consent store with the same ID as an existing store fails with an ALREADY_EXISTS error. | | | `DELETE` | | Deletes the specified consent store and removes all the consent store's data. | | | `UPDATE` | | Updates the specified consent store. | -| | `EXEC` | | Lists the consent stores in the specified dataset. | | | `EXEC` | | Checks if a particular data_id of a User data mapping in the specified consent store is consented for the specified use. | | | `EXEC` | | Evaluates the user's Consents for all matching User data mappings. Note: User data mappings are indexed asynchronously, which can cause a slight delay between the time mappings are created or updated and when they are included in EvaluateUserConsents results. | -| | `EXEC` | | Queries all data_ids that are consented for a specified use in the given consent store and writes them to a specified destination. The returned Operation includes a progress counter for the number of User data mappings processed. If the request is successful, a detailed response is returned of type QueryAccessibleDataResponse, contained in the response field when the operation finishes. The metadata field type is OperationMetadata. Errors are logged to Cloud Logging (see [Viewing error logs in Cloud Logging](https://cloud.google.com/healthcare/docs/how-tos/logging)). For example, the following sample log entry shows a `failed to evaluate consent policy` error that occurred during a QueryAccessibleData call to consent store `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/consentStores/{consent_store_id}`. ```json jsonPayload: { @type: "type.googleapis.com/google.cloud.healthcare.logging.QueryAccessibleDataLogEntry" error: { code: 9 message: "failed to evaluate consent policy" } resourceName: "projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/consentStores/{consent_store_id}/consents/{consent_id}" } logName: "projects/{project_id}/logs/healthcare.googleapis.com%2Fquery_accessible_data" operation: { id: "projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/operations/{operation_id}" producer: "healthcare.googleapis.com/QueryAccessibleData" } receiveTimestamp: "TIMESTAMP" resource: { labels: { consent_store_id: "{consent_store_id}" dataset_id: "{dataset_id}" location: "{location_id}" project_id: "{project_id}" } type: "healthcare_consent_store" } severity: "ERROR" timestamp: "TIMESTAMP" ``` | +| | `EXEC` | | Queries all data_ids that are consented for a specified use in the given consent store and writes them to a specified destination. The returned Operation includes a progress counter for the number of User data mappings processed. If the request is successful, a detailed response is returned of type QueryAccessibleDataResponse, contained in the response field when the operation finishes. The metadata field type is OperationMetadata. Errors are logged to Cloud Logging (see [Viewing error logs in Cloud Logging](https://cloud.google.com/healthcare/docs/how-tos/logging)). For example, the following sample log entry shows a `failed to evaluate consent policy` error that occurred during a QueryAccessibleData call to consent store `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/consentStores/{consent_store_id}`. ```json jsonPayload: { @type: "type.googleapis.com/google.cloud.healthcare.logging.QueryAccessibleDataLogEntry" error: { code: 9 message: "failed to evaluate consent policy" } resourceName: "projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/consentStores/{consent_store_id}/consents/{consent_id}" } logName: "projects/{project_id}/logs/healthcare.googleapis.com%2Fquery_accessible_data" operation: { id: "projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/operations/{operation_id}" producer: "healthcare.googleapis.com/QueryAccessibleData" } receiveTimestamp: "TIMESTAMP" resource: { labels: { consent_store_id: "{consent_store_id}" dataset_id: "{dataset_id}" location: "{location_id}" project_id: "{project_id}" } type: "healthcare_consent_store" } severity: "ERROR" timestamp: "TIMESTAMP" ``` | + +## `SELECT` examples + +Lists the consent stores in the specified dataset. + +```sql +SELECT +name, +defaultConsentTtl, +enableConsentCreateOnUpdate, +labels +FROM google.healthcare.consent_stores +WHERE datasetsId = '{{ datasetsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new consent_stores resource. + + + + +```sql +/*+ create */ +INSERT INTO google.healthcare.consent_stores ( +datasetsId, +locationsId, +projectsId, +name, +defaultConsentTtl, +labels, +enableConsentCreateOnUpdate +) +SELECT +'{{ datasetsId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ defaultConsentTtl }}', +'{{ labels }}', +true|false +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: defaultConsentTtl + value: '{{ defaultConsentTtl }}' + - name: labels + value: '{{ labels }}' + - name: enableConsentCreateOnUpdate + value: '{{ enableConsentCreateOnUpdate }}' + +``` + + + +## `UPDATE` example + +Updates a consent_store only if the necessary resources are available. + +```sql +UPDATE google.healthcare.consent_stores +SET +name = '{{ name }}', +defaultConsentTtl = '{{ defaultConsentTtl }}', +labels = '{{ labels }}', +enableConsentCreateOnUpdate = true|false +WHERE +consentStoresId = '{{ consentStoresId }}' +AND datasetsId = '{{ datasetsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified consent_store resource. + +```sql +DELETE FROM google.healthcare.consent_stores +WHERE consentStoresId = '{{ consentStoresId }}' +AND datasetsId = '{{ datasetsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/healthcare/consent_stores_iam_policies/index.md b/docs/google-docs/providers/google/healthcare/consent_stores_iam_policies/index.md index c17f325989..7b11fe5527 100644 --- a/docs/google-docs/providers/google/healthcare/consent_stores_iam_policies/index.md +++ b/docs/google-docs/providers/google/healthcare/consent_stores_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: consent_stores_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - consent_stores_iam_policies - healthcare - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an consent_stores_iam_policy resource or lists consent_stores_iam_policies in a region ## Overview
@@ -30,13 +32,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.healthcare.consent_stores_iam_policies +WHERE consentStoresId = '{{ consentStoresId }}' +AND datasetsId = '{{ datasetsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/healthcare/consents/index.md b/docs/google-docs/providers/google/healthcare/consents/index.md index 348301b98a..954d718049 100644 --- a/docs/google-docs/providers/google/healthcare/consents/index.md +++ b/docs/google-docs/providers/google/healthcare/consents/index.md @@ -1,3 +1,4 @@ + --- title: consents hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - consents - healthcare - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an consent resource or lists consents in a region ## Overview
@@ -30,16 +32,17 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Identifier. Resource name of the Consent, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/consentStores/{consent_store_id}/consents/{consent_id}`. Cannot be changed after creation. | -| | `string` | Required. The resource name of the Consent artifact that contains proof of the end user's consent, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/consentStores/{consent_store_id}/consentArtifacts/{consent_artifact_id}`. | +| | `string` | Identifier. Resource name of the Consent, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/consentStores/{consent_store_id}/consents/{consent_id}`. Cannot be changed after creation. | +| | `string` | Required. The resource name of the Consent artifact that contains proof of the end user's consent, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/consentStores/{consent_store_id}/consentArtifacts/{consent_artifact_id}`. | | | `string` | Timestamp in UTC of when this Consent is considered expired. | | | `object` | Optional. User-supplied key-value pairs used to organize Consent resources. Metadata keys must: - be between 1 and 63 characters long - have a UTF-8 encoding of maximum 128 bytes - begin with a letter - consist of up to 63 characters including lowercase letters, numeric characters, underscores, and dashes Metadata values must be: - be between 1 and 63 characters long - have a UTF-8 encoding of maximum 128 bytes - consist of up to 63 characters including lowercase letters, numeric characters, underscores, and dashes No more than 64 metadata entries can be associated with a given consent. | | | `array` | Optional. Represents a user's consent in terms of the resources that can be accessed and under what conditions. | | | `string` | Output only. The timestamp that the revision was created. | -| | `string` | Output only. The revision ID of the Consent. The format is an 8-character hexadecimal string. Refer to a specific revision of a Consent by appending `@{revision_id}` to the Consent's resource name. | +| | `string` | Output only. The revision ID of the Consent. The format is an 8-character hexadecimal string. Refer to a specific revision of a Consent by appending `@{revision_id}` to the Consent's resource name. | | | `string` | Required. Indicates the current state of this Consent. | | | `string` | Input only. The time to live for this Consent from when it is created. | | | `string` | Required. User's UUID provided by the client. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -48,7 +51,147 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new Consent in the parent consent store. | | | `DELETE` | | Deletes the Consent and its revisions. To keep a record of the Consent but mark it inactive, see [RevokeConsent]. To delete a revision of a Consent, see [DeleteConsentRevision]. This operation does not delete the related Consent artifact. | | | `UPDATE` | | Updates the latest revision of the specified Consent by committing a new revision with the changes. A FAILED_PRECONDITION error occurs if the latest revision of the specified Consent is in the `REJECTED` or `REVOKED` state. | -| | `EXEC` | | Lists the Consent in the given consent store, returning each Consent's latest revision. | | | `EXEC` | | Activates the latest revision of the specified Consent by committing a new revision with `state` updated to `ACTIVE`. If the latest revision of the specified Consent is in the `ACTIVE` state, no new revision is committed. A FAILED_PRECONDITION error occurs if the latest revision of the specified Consent is in the `REJECTED` or `REVOKED` state. | | | `EXEC` | | Rejects the latest revision of the specified Consent by committing a new revision with `state` updated to `REJECTED`. If the latest revision of the specified Consent is in the `REJECTED` state, no new revision is committed. A FAILED_PRECONDITION error occurs if the latest revision of the specified Consent is in the `ACTIVE` or `REVOKED` state. | | | `EXEC` | | Revokes the latest revision of the specified Consent by committing a new revision with `state` updated to `REVOKED`. If the latest revision of the specified Consent is in the `REVOKED` state, no new revision is committed. A FAILED_PRECONDITION error occurs if the latest revision of the given consent is in `DRAFT` or `REJECTED` state. | + +## `SELECT` examples + +Lists the Consent in the given consent store, returning each Consent's latest revision. + +```sql +SELECT +name, +consentArtifact, +expireTime, +metadata, +policies, +revisionCreateTime, +revisionId, +state, +ttl, +userId +FROM google.healthcare.consents +WHERE consentStoresId = '{{ consentStoresId }}' +AND datasetsId = '{{ datasetsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new consents resource. + + + + +```sql +/*+ create */ +INSERT INTO google.healthcare.consents ( +consentStoresId, +datasetsId, +locationsId, +projectsId, +name, +revisionId, +revisionCreateTime, +userId, +policies, +consentArtifact, +state, +expireTime, +ttl, +metadata +) +SELECT +'{{ consentStoresId }}', +'{{ datasetsId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ revisionId }}', +'{{ revisionCreateTime }}', +'{{ userId }}', +'{{ policies }}', +'{{ consentArtifact }}', +'{{ state }}', +'{{ expireTime }}', +'{{ ttl }}', +'{{ metadata }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: revisionId + value: '{{ revisionId }}' + - name: revisionCreateTime + value: '{{ revisionCreateTime }}' + - name: userId + value: '{{ userId }}' + - name: policies + value: '{{ policies }}' + - name: consentArtifact + value: '{{ consentArtifact }}' + - name: state + value: '{{ state }}' + - name: expireTime + value: '{{ expireTime }}' + - name: ttl + value: '{{ ttl }}' + - name: metadata + value: '{{ metadata }}' + +``` + + + +## `UPDATE` example + +Updates a consent only if the necessary resources are available. + +```sql +UPDATE google.healthcare.consents +SET +name = '{{ name }}', +revisionId = '{{ revisionId }}', +revisionCreateTime = '{{ revisionCreateTime }}', +userId = '{{ userId }}', +policies = '{{ policies }}', +consentArtifact = '{{ consentArtifact }}', +state = '{{ state }}', +expireTime = '{{ expireTime }}', +ttl = '{{ ttl }}', +metadata = '{{ metadata }}' +WHERE +consentStoresId = '{{ consentStoresId }}' +AND consentsId = '{{ consentsId }}' +AND datasetsId = '{{ datasetsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified consent resource. + +```sql +DELETE FROM google.healthcare.consents +WHERE consentStoresId = '{{ consentStoresId }}' +AND consentsId = '{{ consentsId }}' +AND datasetsId = '{{ datasetsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/healthcare/consents_revision/index.md b/docs/google-docs/providers/google/healthcare/consents_revision/index.md index 880b853667..32ad5a430b 100644 --- a/docs/google-docs/providers/google/healthcare/consents_revision/index.md +++ b/docs/google-docs/providers/google/healthcare/consents_revision/index.md @@ -1,3 +1,4 @@ + --- title: consents_revision hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - consents_revision - healthcare - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an consents_revision resource or lists consents_revision in a region ## Overview
@@ -28,8 +30,23 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `DELETE` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `DELETE` | | Deletes the specified revision of a Consent. An INVALID_ARGUMENT error occurs if the specified revision is the latest revision. | + +## `DELETE` example + +Deletes the specified consents_revision resource. + +```sql +DELETE FROM google.healthcare.consents_revision +WHERE consentStoresId = '{{ consentStoresId }}' +AND consentsId = '{{ consentsId }}' +AND datasetsId = '{{ datasetsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/healthcare/consents_revisions/index.md b/docs/google-docs/providers/google/healthcare/consents_revisions/index.md index e1c5d50fe4..6e5fff28a3 100644 --- a/docs/google-docs/providers/google/healthcare/consents_revisions/index.md +++ b/docs/google-docs/providers/google/healthcare/consents_revisions/index.md @@ -1,3 +1,4 @@ + --- title: consents_revisions hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - consents_revisions - healthcare - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an consents_revision resource or lists consents_revisions in a region ## Overview @@ -30,18 +32,42 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Identifier. Resource name of the Consent, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/consentStores/{consent_store_id}/consents/{consent_id}`. Cannot be changed after creation. | -| | `string` | Required. The resource name of the Consent artifact that contains proof of the end user's consent, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/consentStores/{consent_store_id}/consentArtifacts/{consent_artifact_id}`. | +| | `string` | Identifier. Resource name of the Consent, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/consentStores/{consent_store_id}/consents/{consent_id}`. Cannot be changed after creation. | +| | `string` | Required. The resource name of the Consent artifact that contains proof of the end user's consent, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/consentStores/{consent_store_id}/consentArtifacts/{consent_artifact_id}`. | | | `string` | Timestamp in UTC of when this Consent is considered expired. | | | `object` | Optional. User-supplied key-value pairs used to organize Consent resources. Metadata keys must: - be between 1 and 63 characters long - have a UTF-8 encoding of maximum 128 bytes - begin with a letter - consist of up to 63 characters including lowercase letters, numeric characters, underscores, and dashes Metadata values must be: - be between 1 and 63 characters long - have a UTF-8 encoding of maximum 128 bytes - consist of up to 63 characters including lowercase letters, numeric characters, underscores, and dashes No more than 64 metadata entries can be associated with a given consent. | | | `array` | Optional. Represents a user's consent in terms of the resources that can be accessed and under what conditions. | | | `string` | Output only. The timestamp that the revision was created. | -| | `string` | Output only. The revision ID of the Consent. The format is an 8-character hexadecimal string. Refer to a specific revision of a Consent by appending `@{revision_id}` to the Consent's resource name. | +| | `string` | Output only. The revision ID of the Consent. The format is an 8-character hexadecimal string. Refer to a specific revision of a Consent by appending `@{revision_id}` to the Consent's resource name. | | | `string` | Required. Indicates the current state of this Consent. | | | `string` | Input only. The time to live for this Consent from when it is created. | | | `string` | Required. User's UUID provided by the client. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists the revisions of the specified Consent in reverse chronological order. | + +## `SELECT` examples + +Lists the revisions of the specified Consent in reverse chronological order. + +```sql +SELECT +name, +consentArtifact, +expireTime, +metadata, +policies, +revisionCreateTime, +revisionId, +state, +ttl, +userId +FROM google.healthcare.consents_revisions +WHERE consentStoresId = '{{ consentStoresId }}' +AND consentsId = '{{ consentsId }}' +AND datasetsId = '{{ datasetsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/healthcare/data_mapper_workspaces_iam_policies/index.md b/docs/google-docs/providers/google/healthcare/data_mapper_workspaces_iam_policies/index.md index 9f50d1dfaa..6c45ac41ec 100644 --- a/docs/google-docs/providers/google/healthcare/data_mapper_workspaces_iam_policies/index.md +++ b/docs/google-docs/providers/google/healthcare/data_mapper_workspaces_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: data_mapper_workspaces_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - data_mapper_workspaces_iam_policies - healthcare - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an data_mapper_workspaces_iam_policy resource or lists data_mapper_workspaces_iam_policies in a region ## Overview
@@ -30,13 +32,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.healthcare.data_mapper_workspaces_iam_policies +WHERE dataMapperWorkspacesId = '{{ dataMapperWorkspacesId }}' +AND datasetsId = '{{ datasetsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/healthcare/datasets/index.md b/docs/google-docs/providers/google/healthcare/datasets/index.md index ac7fe360b9..4457e02a7f 100644 --- a/docs/google-docs/providers/google/healthcare/datasets/index.md +++ b/docs/google-docs/providers/google/healthcare/datasets/index.md @@ -1,3 +1,4 @@ + --- title: datasets hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - datasets - healthcare - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an dataset resource or lists datasets in a region ## Overview
@@ -30,8 +32,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Identifier. Resource name of the dataset, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}`. | -| | `string` | The default timezone used by this dataset. Must be a either a valid IANA time zone name such as "America/New_York" or empty, which defaults to UTC. This is used for parsing times in resources, such as HL7 messages, where no explicit timezone is specified. | +| | `string` | Identifier. Resource name of the dataset, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}`. | +| | `object` | Represents a customer-managed encryption key spec that can be applied to a resource. | +| | `string` | Optional. The default timezone used by this dataset. Must be a either a valid IANA time zone name such as "America/New_York" or empty, which defaults to UTC. This is used for parsing times in resources, such as HL7 messages, where no explicit timezone is specified. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -40,5 +44,93 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new health dataset. Results are returned through the Operation interface which returns either an `Operation.response` which contains a Dataset or `Operation.error`. The metadata field type is OperationMetadata. | | | `DELETE` | | Deletes the specified health dataset and all data contained in the dataset. Deleting a dataset does not affect the sources from which the dataset was imported (if any). | | | `UPDATE` | | Updates dataset metadata. | -| | `EXEC` | | Lists the health datasets in the current project. | | | `EXEC` | | Creates a new dataset containing de-identified data from the source dataset. The metadata field type is OperationMetadata. If the request is successful, the response field type is DeidentifySummary. If errors occur, error is set. The LRO result may still be successful if de-identification fails for some DICOM instances. The new de-identified dataset will not contain these failed resources. Failed resource totals are tracked in Operation.metadata. Error details are also logged to Cloud Logging. For more information, see [Viewing error logs in Cloud Logging](https://cloud.google.com/healthcare/docs/how-tos/logging). | + +## `SELECT` examples + +Lists the health datasets in the current project. + +```sql +SELECT +name, +encryptionSpec, +timeZone +FROM google.healthcare.datasets +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new datasets resource. + + + + +```sql +/*+ create */ +INSERT INTO google.healthcare.datasets ( +locationsId, +projectsId, +name, +timeZone, +encryptionSpec +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ timeZone }}', +'{{ encryptionSpec }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: timeZone + value: '{{ timeZone }}' + - name: encryptionSpec + value: '{{ encryptionSpec }}' + +``` + + + +## `UPDATE` example + +Updates a dataset only if the necessary resources are available. + +```sql +UPDATE google.healthcare.datasets +SET +name = '{{ name }}', +timeZone = '{{ timeZone }}', +encryptionSpec = '{{ encryptionSpec }}' +WHERE +datasetsId = '{{ datasetsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified dataset resource. + +```sql +DELETE FROM google.healthcare.datasets +WHERE datasetsId = '{{ datasetsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/healthcare/datasets_iam_policies/index.md b/docs/google-docs/providers/google/healthcare/datasets_iam_policies/index.md index b5696ca0a4..42947581b9 100644 --- a/docs/google-docs/providers/google/healthcare/datasets_iam_policies/index.md +++ b/docs/google-docs/providers/google/healthcare/datasets_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: datasets_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - datasets_iam_policies - healthcare - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an datasets_iam_policy resource or lists datasets_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.healthcare.datasets_iam_policies +WHERE datasetsId = '{{ datasetsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/healthcare/dicom_stores/index.md b/docs/google-docs/providers/google/healthcare/dicom_stores/index.md index 5c24ff01a2..34296d269b 100644 --- a/docs/google-docs/providers/google/healthcare/dicom_stores/index.md +++ b/docs/google-docs/providers/google/healthcare/dicom_stores/index.md @@ -1,3 +1,4 @@ + --- title: dicom_stores hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - dicom_stores - healthcare - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an dicom_store resource or lists dicom_stores in a region ## Overview
@@ -30,10 +32,11 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Identifier. Resource name of the DICOM store, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`. | -| | `object` | User-supplied key-value pairs used to organize DICOM stores. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: \p{Ll}\p{Lo}{0,62} Label values are optional, must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63} No more than 64 labels can be associated with a given store. | +| | `string` | Identifier. Resource name of the DICOM store, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`. | +| | `object` | User-supplied key-value pairs used to organize DICOM stores. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: \p{Ll}\p{Lo}{0,62} Label values are optional, must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63} No more than 64 labels can be associated with a given store. | | | `object` | Specifies where to send notifications upon changes to a data store. | | | `array` | Optional. A list of streaming configs used to configure the destination of streaming exports for every DICOM instance insertion in this DICOM store. After a new config is added to `stream_configs`, DICOM instance insertions are streamed to the new destination. When a config is removed from `stream_configs`, the server stops streaming to that destination. Each config must contain a unique destination. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -42,11 +45,111 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new DICOM store within the parent dataset. | | | `DELETE` | | Deletes the specified DICOM store and removes all images that are contained within it. | | | `UPDATE` | | Updates the specified DICOM store. | -| | `EXEC` | | Lists the DICOM stores in the given dataset. | | | `EXEC` | | De-identifies data from the source store and writes it to the destination store. The metadata field type is OperationMetadata. If the request is successful, the response field type is DeidentifyDicomStoreSummary. If errors occur, error is set. The LRO result may still be successful if de-identification fails for some DICOM instances. The output DICOM store will not contain these failed resources. Failed resource totals are tracked in Operation.metadata. Error details are also logged to Cloud Logging (see [Viewing error logs in Cloud Logging](https://cloud.google.com/healthcare/docs/how-tos/logging)). | | | `EXEC` | | Exports data to the specified destination by copying it from the DICOM store. Errors are also logged to Cloud Logging. For more information, see [Viewing error logs in Cloud Logging](https://cloud.google.com/healthcare/docs/how-tos/logging). The metadata field type is OperationMetadata. | | | `EXEC` | | Imports data into the DICOM store by copying it from the specified source. Errors are logged to Cloud Logging. For more information, see [Viewing error logs in Cloud Logging](https://cloud.google.com/healthcare/docs/how-tos/logging). The metadata field type is OperationMetadata. | | | `EXEC` | | SearchForInstances returns a list of matching instances. See [Search Transaction] (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.6). For details on the implementation of SearchForInstances, see [Search transaction](https://cloud.google.com/healthcare/docs/dicom#search_transaction) in the Cloud Healthcare API conformance statement. For samples that show how to call SearchForInstances, see [Search for DICOM data](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#search-dicom). | | | `EXEC` | | SearchForSeries returns a list of matching series. See [Search Transaction] (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.6). For details on the implementation of SearchForSeries, see [Search transaction](https://cloud.google.com/healthcare/docs/dicom#search_transaction) in the Cloud Healthcare API conformance statement. For samples that show how to call SearchForSeries, see [Search for DICOM data](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#search-dicom). | | | `EXEC` | | SearchForStudies returns a list of matching studies. See [Search Transaction] (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.6). For details on the implementation of SearchForStudies, see [Search transaction](https://cloud.google.com/healthcare/docs/dicom#search_transaction) in the Cloud Healthcare API conformance statement. For samples that show how to call SearchForStudies, see [Search for DICOM data](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#search-dicom). | +| | `EXEC` | | SetBlobStorageSettings sets the blob storage settings of the specified resources. | | | `EXEC` | | StoreInstances stores DICOM instances associated with study instance unique identifiers (SUID). See [Store Transaction] (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.5). For details on the implementation of StoreInstances, see [Store transaction](https://cloud.google.com/healthcare/docs/dicom#store_transaction) in the Cloud Healthcare API conformance statement. For samples that show how to call StoreInstances, see [Store DICOM data](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#store-dicom). | + +## `SELECT` examples + +Lists the DICOM stores in the given dataset. + +```sql +SELECT +name, +labels, +notificationConfig, +streamConfigs +FROM google.healthcare.dicom_stores +WHERE datasetsId = '{{ datasetsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new dicom_stores resource. + + + + +```sql +/*+ create */ +INSERT INTO google.healthcare.dicom_stores ( +datasetsId, +locationsId, +projectsId, +name, +notificationConfig, +labels, +streamConfigs +) +SELECT +'{{ datasetsId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ notificationConfig }}', +'{{ labels }}', +'{{ streamConfigs }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: notificationConfig + value: '{{ notificationConfig }}' + - name: labels + value: '{{ labels }}' + - name: streamConfigs + value: '{{ streamConfigs }}' + +``` + + + +## `UPDATE` example + +Updates a dicom_store only if the necessary resources are available. + +```sql +UPDATE google.healthcare.dicom_stores +SET +name = '{{ name }}', +notificationConfig = '{{ notificationConfig }}', +labels = '{{ labels }}', +streamConfigs = '{{ streamConfigs }}' +WHERE +datasetsId = '{{ datasetsId }}' +AND dicomStoresId = '{{ dicomStoresId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified dicom_store resource. + +```sql +DELETE FROM google.healthcare.dicom_stores +WHERE datasetsId = '{{ datasetsId }}' +AND dicomStoresId = '{{ dicomStoresId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/healthcare/dicom_stores_dicomstore_metrics/index.md b/docs/google-docs/providers/google/healthcare/dicom_stores_dicomstore_metrics/index.md index e89e727ee2..591d8b9a38 100644 --- a/docs/google-docs/providers/google/healthcare/dicom_stores_dicomstore_metrics/index.md +++ b/docs/google-docs/providers/google/healthcare/dicom_stores_dicomstore_metrics/index.md @@ -1,3 +1,4 @@ + --- title: dicom_stores_dicomstore_metrics hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - dicom_stores_dicomstore_metrics - healthcare - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an dicom_stores_dicomstore_metric resource or lists dicom_stores_dicomstore_metrics in a region ## Overview
@@ -30,13 +32,33 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Resource name of the DICOM store, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`. | +| | `string` | Resource name of the DICOM store, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`. | | | `string` | Total blob storage bytes for all instances in the store. | | | `string` | Number of instances in the store. | | | `string` | Number of series in the store. | | | `string` | Total structured storage bytes for all instances in the store. | | | `string` | Number of studies in the store. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets metrics associated with the DICOM store. | + +## `SELECT` examples + +Gets metrics associated with the DICOM store. + +```sql +SELECT +name, +blobStorageSizeBytes, +instanceCount, +seriesCount, +structuredStorageSizeBytes, +studyCount +FROM google.healthcare.dicom_stores_dicomstore_metrics +WHERE datasetsId = '{{ datasetsId }}' +AND dicomStoresId = '{{ dicomStoresId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/healthcare/dicom_stores_iam_policies/index.md b/docs/google-docs/providers/google/healthcare/dicom_stores_iam_policies/index.md index 71fd7f5d13..0454b0405b 100644 --- a/docs/google-docs/providers/google/healthcare/dicom_stores_iam_policies/index.md +++ b/docs/google-docs/providers/google/healthcare/dicom_stores_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: dicom_stores_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - dicom_stores_iam_policies - healthcare - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an dicom_stores_iam_policy resource or lists dicom_stores_iam_policies in a region ## Overview
@@ -30,13 +32,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.healthcare.dicom_stores_iam_policies +WHERE datasetsId = '{{ datasetsId }}' +AND dicomStoresId = '{{ dicomStoresId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/healthcare/fhir/index.md b/docs/google-docs/providers/google/healthcare/fhir/index.md index 067bc88ba5..e2f317ba00 100644 --- a/docs/google-docs/providers/google/healthcare/fhir/index.md +++ b/docs/google-docs/providers/google/healthcare/fhir/index.md @@ -1,3 +1,4 @@ + --- title: fhir hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - fhir - healthcare - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an fhir resource or lists fhir in a region ## Overview
@@ -28,24 +30,117 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| -| | `INSERT` | | Creates a FHIR resource. Implements the FHIR standard create interaction ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#create), [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#create), [R4](http://hl7.org/implement/standards/fhir/R4/http.html#create)), which creates a new resource with a server-assigned resource ID. Also supports the FHIR standard conditional create interaction ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#ccreate), [STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#ccreate), [R4](https://hl7.org/implement/standards/fhir/R4/http.html#ccreate)), specified by supplying an `If-None-Exist` header containing a FHIR search query, limited to searching by resource identifier. If no resources match this search query, the server processes the create operation as normal. When using conditional create, the search term for identifier should be in the pattern `identifier=system\|value` or `identifier=value` - similar to the `search` method on resources with a specific identifier. The request body must contain a JSON-encoded FHIR resource, and the request headers must contain `Content-Type: application/fhir+json`. On success, the response body contains a JSON-encoded representation of the resource as it was created on the server, including the server-assigned resource ID and version ID. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. For samples that show how to call `create`, see [Creating a FHIR resource](https://cloud.google.com/healthcare/docs/how-tos/fhir-resources#creating_a_fhir_resource). | +| | `INSERT` | | Creates a FHIR resource. Implements the FHIR standard create interaction ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#create), [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#create), [R4](http://hl7.org/implement/standards/fhir/R4/http.html#create)), which creates a new resource with a server-assigned resource ID. Also supports the FHIR standard conditional create interaction ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#ccreate), [STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#ccreate), [R4](https://hl7.org/implement/standards/fhir/R4/http.html#ccreate)), specified by supplying an `If-None-Exist` header containing a FHIR search query, limited to searching by resource identifier. If no resources match this search query, the server processes the create operation as normal. When using conditional create, the search term for identifier should be in the pattern `identifier=system|value` or `identifier=value` - similar to the `search` method on resources with a specific identifier. The request body must contain a JSON-encoded FHIR resource, and the request headers must contain `Content-Type: application/fhir+json`. On success, the response body contains a JSON-encoded representation of the resource as it was created on the server, including the server-assigned resource ID and version ID. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. For samples that show how to call `create`, see [Creating a FHIR resource](https://cloud.google.com/healthcare/docs/how-tos/fhir-resources#creating_a_fhir_resource). | | | `DELETE` | | Deletes a FHIR resource. Implements the FHIR standard delete interaction ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#delete), [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#delete), [R4](http://hl7.org/implement/standards/fhir/R4/http.html#delete)). Note: Unless resource versioning is disabled by setting the disable_resource_versioning flag on the FHIR store, the deleted resources will be moved to a history repository that can still be retrieved through vread and related methods, unless they are removed by the purge method. For samples that show how to call `delete`, see [Deleting a FHIR resource](https://cloud.google.com/healthcare/docs/how-tos/fhir-resources#deleting_a_fhir_resource). | | | `UPDATE` | | Updates part of an existing resource by applying the operations specified in a [JSON Patch](http://jsonpatch.com/) document. Implements the FHIR standard patch interaction ([STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#patch), [R4](http://hl7.org/implement/standards/fhir/R4/http.html#patch)). DSTU2 doesn't define a patch method, but the server supports it in the same way it supports STU3. The request body must contain a JSON Patch document, and the request headers must contain `Content-Type: application/json-patch+json`. On success, the response body contains a JSON-encoded representation of the updated resource, including the server-assigned version ID. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. For samples that show how to call `patch`, see [Patching a FHIR resource](https://cloud.google.com/healthcare/docs/how-tos/fhir-resources#patching_a_fhir_resource). | -| | `UPDATE` | | Updates the entire contents of a resource. Implements the FHIR standard update interaction ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#update), [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#update), [R4](http://hl7.org/implement/standards/fhir/R4/http.html#update)). If the specified resource does not exist and the FHIR store has enable_update_create set, creates the resource with the client-specified ID. It is strongly advised not to include or encode any sensitive data such as patient identifiers in client-specified resource IDs. Those IDs are part of the FHIR resource path recorded in Cloud Audit Logs and Pub/Sub notifications. Those IDs can also be contained in reference fields within other resources. The request body must contain a JSON-encoded FHIR resource, and the request headers must contain `Content-Type: application/fhir+json`. The resource must contain an `id` element having an identical value to the ID in the REST path of the request. On success, the response body contains a JSON-encoded representation of the updated resource, including the server-assigned version ID. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. For samples that show how to call `update`, see [Updating a FHIR resource](https://cloud.google.com/healthcare/docs/how-tos/fhir-resources#updating_a_fhir_resource). | +| | `EXEC` | | Creates a FHIR Binary resource. This method can be used to create a Binary resource either by using one of the accepted FHIR JSON content types, or as a raw data stream. If a resource is created with this method using the FHIR content type this method's behavior is the same as [`fhir.create`](https://cloud.google.com/healthcare-api/docs/reference/rest/v1/projects.locations.datasets.fhirStores.fhir/create). If a resource type other than Binary is used in the request it's treated in the same way as non-FHIR data (e.g., images, zip archives, pdf files, documents). When a non-FHIR content type is used in the request, a Binary resource will be generated, and the uploaded data will be stored in the `content` field (`DSTU2` and `STU3`), or the `data` field (`R4`). The Binary resource's `contentType` will be filled in using the value of the `Content-Type` header, and the `securityContext` field (not present in `DSTU2`) will be populated from the `X-Security-Context` header if it exists. At this time `securityContext` has no special behavior in the Cloud Healthcare API. Note: the limit on data ingested through this method is 2 GB. For best performance, use a non-FHIR data type instead of wrapping the data in a Binary resource. Some of the Healthcare API features, such as [exporting to BigQuery](https://cloud.google.com/healthcare-api/docs/how-tos/fhir-export-bigquery) or [Pub/Sub notifications](https://cloud.google.com/healthcare-api/docs/fhir-pubsub#behavior_when_a_fhir_resource_is_too_large_or_traffic_is_high) with full resource content, do not support Binary resources that are larger than 10 MB. In these cases the resource's `data` field will be omitted. Instead, the "http://hl7.org/fhir/StructureDefinition/data-absent-reason" extension will be present to indicate that including the data is `unsupported`. On success, an empty `201 Created` response is returned. The newly created resource's ID and version are returned in the Location header. Using `Prefer: representation=resource` is not allowed for this method. The definition of the Binary REST API can be found at https://hl7.org/fhir/binary.html#rest. | +| | `EXEC` | | Gets the contents of a FHIR Binary resource. This method can be used to retrieve a Binary resource either by using the FHIR JSON mimetype as the value for the Accept header, or as a raw data stream. If the FHIR Accept type is used this method will return a Binary resource with the data base64-encoded, regardless of how the resource was created. The resource data can be retrieved in base64-decoded form if the Accept type of the request matches the value of the resource's `contentType` field. The definition of the Binary REST API can be found at https://hl7.org/fhir/binary.html#rest. | +| | `EXEC` | | Updates the entire contents of a Binary resource. If the specified resource does not exist and the FHIR store has enable_update_create set, creates the resource with the client-specified ID. It is strongly advised not to include or encode any sensitive data such as patient identifiers in client-specified resource IDs. Those IDs are part of the FHIR resource path recorded in Cloud Audit Logs and Pub/Sub notifications. Those IDs can also be contained in reference fields within other resources. This method can be used to update a Binary resource either by using one of the accepted FHIR JSON content types, or as a raw data stream. If a resource is updated with this method using the FHIR content type this method's behavior is the same as `update`. If a resource type other than Binary is used in the request it will be treated in the same way as non-FHIR data. When a non-FHIR content type is used in the request, a Binary resource will be generated using the ID from the resource path, and the uploaded data will be stored in the `content` field (`DSTU2` and `STU3`), or the `data` field (`R4`). The Binary resource's `contentType` will be filled in using the value of the `Content-Type` header, and the `securityContext` field (not present in `DSTU2`) will be populated from the `X-Security-Context` header if it exists. At this time `securityContext` has no special behavior in the Cloud Healthcare API. Note: the limit on data ingested through this method is 2 GB. For best performance, use a non-FHIR data type instead of wrapping the data in a Binary resource. Some of the Healthcare API features, such as [exporting to BigQuery](https://cloud.google.com/healthcare-api/docs/how-tos/fhir-export-bigquery) or [Pub/Sub notifications](https://cloud.google.com/healthcare-api/docs/fhir-pubsub#behavior_when_a_fhir_resource_is_too_large_or_traffic_is_high) with full resource content, do not support Binary resources that are larger than 10 MB. In these cases the resource's `data` field will be omitted. Instead, the "http://hl7.org/fhir/StructureDefinition/data-absent-reason" extension will be present to indicate that including the data is `unsupported`. On success, an empty 200 OK response will be returned, or a 201 Created if the resource did not exit. The resource's ID and version are returned in the Location header. Using `Prefer: representation=resource` is not allowed for this method. The definition of the Binary REST API can be found at https://hl7.org/fhir/binary.html#rest. | +| | `EXEC` | | Gets the contents of a version (current or historical) of a FHIR Binary resource by version ID. This method can be used to retrieve a Binary resource version either by using the FHIR JSON mimetype as the value for the Accept header, or as a raw data stream. If the FHIR Accept type is used this method will return a Binary resource with the data base64-encoded, regardless of how the resource version was created. The resource data can be retrieved in base64-decoded form if the Accept type of the request matches the value of the resource version's `contentType` field. The definition of the Binary REST API can be found at https://hl7.org/fhir/binary.html#rest. | | | `EXEC` | | Gets the FHIR capability statement ([STU3](http://hl7.org/implement/standards/fhir/STU3/capabilitystatement.html), [R4](http://hl7.org/implement/standards/fhir/R4/capabilitystatement.html)), or the [conformance statement](http://hl7.org/implement/standards/fhir/DSTU2/conformance.html) in the DSTU2 case for the store, which contains a description of functionality supported by the server. Implements the FHIR standard capabilities interaction ([STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#capabilities), [R4](http://hl7.org/implement/standards/fhir/R4/http.html#capabilities)), or the [conformance interaction](http://hl7.org/implement/standards/fhir/DSTU2/http.html#conformance) in the DSTU2 case. On success, the response body contains a JSON-encoded representation of a `CapabilityStatement` resource. | -| | `EXEC` | | Deletes a FHIR resource that match an identifier search query. Implements the FHIR standard conditional delete interaction, limited to searching by resource identifier. If multiple resources match, 412 Precondition Failed error will be returned. Search term for identifier should be in the pattern `identifier=system\|value` or `identifier=value` - similar to the `search` method on resources with a specific identifier. Note: Unless resource versioning is disabled by setting the disable_resource_versioning flag on the FHIR store, the deleted resource is moved to a history repository that can still be retrieved through vread and related methods, unless they are removed by the purge method. For samples that show how to call `conditionalDelete`, see [Conditionally deleting a FHIR resource](https://cloud.google.com/healthcare/docs/how-tos/fhir-resources#conditionally_deleting_a_fhir_resource). | -| | `EXEC` | | If a resource is found with the identifier specified in the query parameters, updates part of that resource by applying the operations specified in a [JSON Patch](http://jsonpatch.com/) document. Implements the FHIR standard conditional patch interaction, limited to searching by resource identifier. DSTU2 doesn't define a conditional patch method, but the server supports it in the same way it supports STU3. Search term for identifier should be in the pattern `identifier=system\|value` or `identifier=value` - similar to the `search` method on resources with a specific identifier. If the search criteria identify more than one match, the request returns a `412 Precondition Failed` error. The request body must contain a JSON Patch document, and the request headers must contain `Content-Type: application/json-patch+json`. On success, the response body contains a JSON-encoded representation of the updated resource, including the server-assigned version ID. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. For samples that show how to call `conditionalPatch`, see [Conditionally patching a FHIR resource](https://cloud.google.com/healthcare/docs/how-tos/fhir-resources#conditionally_patching_a_fhir_resource). | -| | `EXEC` | | If a resource is found with the identifier specified in the query parameters, updates the entire contents of that resource. Implements the FHIR standard conditional update interaction, limited to searching by resource identifier. Search term for identifier should be in the pattern `identifier=system\|value` or `identifier=value` - similar to the `search` method on resources with a specific identifier. If the search criteria identify more than one match, the request returns a `412 Precondition Failed` error. If the search criteria identify zero matches, and the supplied resource body contains an `id`, and the FHIR store has enable_update_create set, creates the resource with the client-specified ID. It is strongly advised not to include or encode any sensitive data such as patient identifiers in client-specified resource IDs. Those IDs are part of the FHIR resource path recorded in Cloud Audit Logs and Pub/Sub notifications. Those IDs can also be contained in reference fields within other resources. If the search criteria identify zero matches, and the supplied resource body does not contain an `id`, the resource is created with a server-assigned ID as per the create method. The request body must contain a JSON-encoded FHIR resource, and the request headers must contain `Content-Type: application/fhir+json`. On success, the response body contains a JSON-encoded representation of the updated resource, including the server-assigned version ID. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. For samples that show how to call `conditionalUpdate`, see [Conditionally updating a FHIR resource](https://cloud.google.com/healthcare/docs/how-tos/fhir-resources#conditionally_updating_a_fhir_resource). | +| | `EXEC` | | Deletes a FHIR resource that match an identifier search query. Implements the FHIR standard conditional delete interaction, limited to searching by resource identifier. If multiple resources match, 412 Precondition Failed error will be returned. Search term for identifier should be in the pattern `identifier=system|value` or `identifier=value` - similar to the `search` method on resources with a specific identifier. Note: Unless resource versioning is disabled by setting the disable_resource_versioning flag on the FHIR store, the deleted resource is moved to a history repository that can still be retrieved through vread and related methods, unless they are removed by the purge method. For samples that show how to call `conditionalDelete`, see [Conditionally deleting a FHIR resource](https://cloud.google.com/healthcare/docs/how-tos/fhir-resources#conditionally_deleting_a_fhir_resource). | +| | `EXEC` | | If a resource is found with the identifier specified in the query parameters, updates part of that resource by applying the operations specified in a [JSON Patch](http://jsonpatch.com/) document. Implements the FHIR standard conditional patch interaction, limited to searching by resource identifier. DSTU2 doesn't define a conditional patch method, but the server supports it in the same way it supports STU3. Search term for identifier should be in the pattern `identifier=system|value` or `identifier=value` - similar to the `search` method on resources with a specific identifier. If the search criteria identify more than one match, the request returns a `412 Precondition Failed` error. The request body must contain a JSON Patch document, and the request headers must contain `Content-Type: application/json-patch+json`. On success, the response body contains a JSON-encoded representation of the updated resource, including the server-assigned version ID. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. For samples that show how to call `conditionalPatch`, see [Conditionally patching a FHIR resource](https://cloud.google.com/healthcare/docs/how-tos/fhir-resources#conditionally_patching_a_fhir_resource). | +| | `EXEC` | | If a resource is found with the identifier specified in the query parameters, updates the entire contents of that resource. Implements the FHIR standard conditional update interaction, limited to searching by resource identifier. Search term for identifier should be in the pattern `identifier=system|value` or `identifier=value` - similar to the `search` method on resources with a specific identifier. If the search criteria identify more than one match, the request returns a `412 Precondition Failed` error. If the search criteria identify zero matches, and the supplied resource body contains an `id`, and the FHIR store has enable_update_create set, creates the resource with the client-specified ID. It is strongly advised not to include or encode any sensitive data such as patient identifiers in client-specified resource IDs. Those IDs are part of the FHIR resource path recorded in Cloud Audit Logs and Pub/Sub notifications. Those IDs can also be contained in reference fields within other resources. If the search criteria identify zero matches, and the supplied resource body does not contain an `id`, the resource is created with a server-assigned ID as per the create method. The request body must contain a JSON-encoded FHIR resource, and the request headers must contain `Content-Type: application/fhir+json`. On success, the response body contains a JSON-encoded representation of the updated resource, including the server-assigned version ID. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. For samples that show how to call `conditionalUpdate`, see [Conditionally updating a FHIR resource](https://cloud.google.com/healthcare/docs/how-tos/fhir-resources#conditionally_updating_a_fhir_resource). | | | `EXEC` | | Executes all the requests in the given Bundle. Implements the FHIR standard batch/transaction interaction ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#transaction), [STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#transaction), [R4](https://hl7.org/implement/standards/fhir/R4/http.html#transaction)). Supports all interactions within a bundle, except search. This method accepts Bundles of type `batch` and `transaction`, processing them according to the batch processing rules ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#2.1.0.16.1), [STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#2.21.0.17.1), [R4](https://hl7.org/implement/standards/fhir/R4/http.html#brules)) and transaction processing rules ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#2.1.0.16.2), [STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#2.21.0.17.2), [R4](https://hl7.org/implement/standards/fhir/R4/http.html#trules)). The request body must contain a JSON-encoded FHIR `Bundle` resource, and the request headers must contain `Content-Type: application/fhir+json`. For a batch bundle or a successful transaction, the response body contains a JSON-encoded representation of a `Bundle` resource of type `batch-response` or `transaction-response` containing one entry for each entry in the request, with the outcome of processing the entry. In the case of an error for a transaction bundle, the response body contains a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. This method checks permissions for each request in the bundle. The `executeBundle` permission is required to call this method, but you must also grant sufficient permissions to execute the individual requests in the bundle. For example, if the bundle contains a request to create a FHIR resource, the caller must also have been granted the `healthcare.fhirResources.create` permission. You can use audit logs to view the permissions for `executeBundle` and each request in the bundle. For more information, see [Viewing Cloud Audit logs](https://cloud.google.com/healthcare-api/docs/how-tos/audit-logging). For samples that show how to call `executeBundle`, see [Managing FHIR resources using FHIR bundles](https://cloud.google.com/healthcare/docs/how-tos/fhir-bundles). | | | `EXEC` | | Lists all the versions of a resource (including the current version and deleted versions) from the FHIR store. Implements the per-resource form of the FHIR standard history interaction ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#history), [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#history), [R4](http://hl7.org/implement/standards/fhir/R4/http.html#history)). On success, the response body contains a JSON-encoded representation of a `Bundle` resource of type `history`, containing the version history sorted from most recent to oldest versions. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. For samples that show how to call `history`, see [Listing FHIR resource versions](https://cloud.google.com/healthcare/docs/how-tos/fhir-resources#listing_fhir_resource_versions). | | | `EXEC` | | Retrieves a Patient resource and resources related to that patient. Implements the FHIR extended operation Patient-everything ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/patient-operations.html#everything), [STU3](http://hl7.org/implement/standards/fhir/STU3/patient-operations.html#everything), [R4](http://hl7.org/implement/standards/fhir/R4/patient-operations.html#everything)). On success, the response body contains a JSON-encoded representation of a `Bundle` resource of type `searchset`, containing the results of the operation. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. The resources in scope for the response are: * The patient resource itself. * All the resources directly referenced by the patient resource. * Resources directly referencing the patient resource that meet the inclusion criteria. The inclusion criteria are based on the membership rules in the patient compartment definition ([DSTU2](http://hl7.org/fhir/DSTU2/compartment-patient.html), [STU3](http://www.hl7.org/fhir/stu3/compartmentdefinition-patient.html), [R4](http://hl7.org/fhir/R4/compartmentdefinition-patient.html)), which details the eligible resource types and referencing search parameters. For samples that show how to call `Patient-everything`, see [Getting all patient compartment resources](https://cloud.google.com/healthcare/docs/how-tos/fhir-resources#getting_all_patient_compartment_resources). | | | `EXEC` | | Gets the contents of a FHIR resource. Implements the FHIR standard read interaction ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#read), [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#read), [R4](http://hl7.org/implement/standards/fhir/R4/http.html#read)). Also supports the FHIR standard conditional read interaction ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#cread), [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#cread), [R4](http://hl7.org/implement/standards/fhir/R4/http.html#cread)) specified by supplying an `If-Modified-Since` header with a date/time value or an `If-None-Match` header with an ETag value. On success, the response body contains a JSON-encoded representation of the resource. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. For samples that show how to call `read`, see [Getting a FHIR resource](https://cloud.google.com/healthcare/docs/how-tos/fhir-resources#getting_a_fhir_resource). | | | `EXEC` | | Deletes all the historical versions of a resource (excluding the current version) from the FHIR store. To remove all versions of a resource, first delete the current version and then call this method. This is not a FHIR standard operation. For samples that show how to call `Resource-purge`, see [Deleting historical versions of a FHIR resource](https://cloud.google.com/healthcare/docs/how-tos/fhir-resources#deleting_historical_versions_of_a_fhir_resource). | | | `EXEC` | | Validates an input FHIR resource's conformance to its profiles and the profiles configured on the FHIR store. Implements the FHIR extended operation $validate ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/resource-operations.html#validate), [STU3](http://hl7.org/implement/standards/fhir/STU3/resource-operations.html#validate), or [R4](http://hl7.org/implement/standards/fhir/R4/resource-operation-validate.html)). The request body must contain a JSON-encoded FHIR resource, and the request headers must contain `Content-Type: application/fhir+json`. The `Parameters` input syntax is not supported. The `profile` query parameter can be used to request that the resource only be validated against a specific profile. If a profile with the given URL cannot be found in the FHIR store then an error is returned. Errors generated by validation contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. | -| | `EXEC` | | Searches for resources in the given FHIR store according to criteria specified as query parameters. Implements the FHIR standard search interaction ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#search), [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#search), [R4](http://hl7.org/implement/standards/fhir/R4/http.html#search)) using the search semantics described in the FHIR Search specification ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/search.html), [STU3](http://hl7.org/implement/standards/fhir/STU3/search.html), [R4](http://hl7.org/implement/standards/fhir/R4/search.html)). Supports four methods of search defined by the specification: * `GET [base]?[parameters]` to search across all resources. * `GET [base]/[type]?[parameters]` to search resources of a specified type. * `POST [base]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method across all resources. * `POST [base]/[type]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method for the specified type. The `GET` and `POST` methods do not support compartment searches. The `POST` method does not support `application/x-www-form-urlencoded` search parameters. On success, the response body contains a JSON-encoded representation of a `Bundle` resource of type `searchset`, containing the results of the search. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. The server's capability statement, retrieved through capabilities, indicates what search parameters are supported on each FHIR resource. A list of all search parameters defined by the specification can be found in the FHIR Search Parameter Registry ([STU3](http://hl7.org/implement/standards/fhir/STU3/searchparameter-registry.html), [R4](http://hl7.org/implement/standards/fhir/R4/searchparameter-registry.html)). FHIR search parameters for DSTU2 can be found on each resource's definition page. Supported search modifiers: `:missing`, `:exact`, `:contains`, `:text`, `:in`, `:not-in`, `:above`, `:below`, `:[type]`, `:not`, and `recurse` (DSTU2 and STU3) or `:iterate` (R4). Supported search result parameters: `_sort`, `_count`, `_include`, `_revinclude`, `_summary=text`, `_summary=data`, and `_elements`. The maximum number of search results returned defaults to 100, which can be overridden by the `_count` parameter up to a maximum limit of 1000. The server might return fewer resources than requested to prevent excessively large responses. If there are additional results, the returned `Bundle` contains a link of `relation` "next", which has a `_page_token` parameter for an opaque pagination token that can be used to retrieve the next page. Resources with a total size larger than 5MB or a field count larger than 50,000 might not be fully searchable as the server might trim its generated search index in those cases. Note: FHIR resources are indexed asynchronously, so there might be a slight delay between the time a resource is created or changed, and the time when the change reflects in search results. The only exception is resource identifier data, which is indexed synchronously as a special index. As a result, searching using resource identifier is not subject to indexing delay. To use the special synchronous index, the search term for identifier should be in the pattern `identifier=[system]\|[value]` or `identifier=[value]`, and any of the following search result parameters can be used: * `_count` * `_include` * `_revinclude` * `_summary` * `_elements` If your query contains any other search parameters, the standard asynchronous index will be used instead. Note that searching against the special index is optimized for resolving a small number of matches. The search isn't optimized if your identifier search criteria matches a large number (i.e. more than 2,000) of resources. For a search query that will match a large number of resources, you can avoiding using the special synchronous index by including an additional `_sort` parameter in your query. Use `_sort=-_lastUpdated` if you want to keep the default sorting order. Note: The special synchronous identifier index are currently disabled for DocumentReference and DocumentManifest searches. For samples and detailed information, see [Searching for FHIR resources](https://cloud.google.com/healthcare/docs/how-tos/fhir-search) and [Advanced FHIR search features](https://cloud.google.com/healthcare/docs/how-tos/fhir-advanced-search). | -| | `EXEC` | | Searches for resources in the given FHIR store according to criteria specified as query parameters. Implements the FHIR standard search interaction ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#search), [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#search), [R4](http://hl7.org/implement/standards/fhir/R4/http.html#search)) using the search semantics described in the FHIR Search specification ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/search.html), [STU3](http://hl7.org/implement/standards/fhir/STU3/search.html), [R4](http://hl7.org/implement/standards/fhir/R4/search.html)). Supports four methods of search defined by the specification: * `GET [base]?[parameters]` to search across all resources. * `GET [base]/[type]?[parameters]` to search resources of a specified type. * `POST [base]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method across all resources. * `POST [base]/[type]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method for the specified type. The `GET` and `POST` methods do not support compartment searches. The `POST` method does not support `application/x-www-form-urlencoded` search parameters. On success, the response body contains a JSON-encoded representation of a `Bundle` resource of type `searchset`, containing the results of the search. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. The server's capability statement, retrieved through capabilities, indicates what search parameters are supported on each FHIR resource. A list of all search parameters defined by the specification can be found in the FHIR Search Parameter Registry ([STU3](http://hl7.org/implement/standards/fhir/STU3/searchparameter-registry.html), [R4](http://hl7.org/implement/standards/fhir/R4/searchparameter-registry.html)). FHIR search parameters for DSTU2 can be found on each resource's definition page. Supported search modifiers: `:missing`, `:exact`, `:contains`, `:text`, `:in`, `:not-in`, `:above`, `:below`, `:[type]`, `:not`, and `recurse` (DSTU2 and STU3) or `:iterate` (R4). Supported search result parameters: `_sort`, `_count`, `_include`, `_revinclude`, `_summary=text`, `_summary=data`, and `_elements`. The maximum number of search results returned defaults to 100, which can be overridden by the `_count` parameter up to a maximum limit of 1000. The server might return fewer resources than requested to prevent excessively large responses. If there are additional results, the returned `Bundle` contains a link of `relation` "next", which has a `_page_token` parameter for an opaque pagination token that can be used to retrieve the next page. Resources with a total size larger than 5MB or a field count larger than 50,000 might not be fully searchable as the server might trim its generated search index in those cases. Note: FHIR resources are indexed asynchronously, so there might be a slight delay between the time a resource is created or changed, and the time when the change reflects in search results. The only exception is resource identifier data, which is indexed synchronously as a special index. As a result, searching using resource identifier is not subject to indexing delay. To use the special synchronous index, the search term for identifier should be in the pattern `identifier=[system]\|[value]` or `identifier=[value]`, and any of the following search result parameters can be used: * `_count` * `_include` * `_revinclude` * `_summary` * `_elements` If your query contains any other search parameters, the standard asynchronous index will be used instead. Note that searching against the special index is optimized for resolving a small number of matches. The search isn't optimized if your identifier search criteria matches a large number (i.e. more than 2,000) of resources. For a search query that will match a large number of resources, you can avoiding using the special synchronous index by including an additional `_sort` parameter in your query. Use `_sort=-_lastUpdated` if you want to keep the default sorting order. Note: The special synchronous identifier index are currently disabled for DocumentReference and DocumentManifest searches. For samples and detailed information, see [Searching for FHIR resources](https://cloud.google.com/healthcare/docs/how-tos/fhir-search) and [Advanced FHIR search features](https://cloud.google.com/healthcare/docs/how-tos/fhir-advanced-search). | +| | `EXEC` | | Searches for resources in the given FHIR store according to criteria specified as query parameters. Implements the FHIR standard search interaction ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#search), [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#search), [R4](http://hl7.org/implement/standards/fhir/R4/http.html#search)) using the search semantics described in the FHIR Search specification ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/search.html), [STU3](http://hl7.org/implement/standards/fhir/STU3/search.html), [R4](http://hl7.org/implement/standards/fhir/R4/search.html)). Supports four methods of search defined by the specification: * `GET [base]?[parameters]` to search across all resources. * `GET [base]/[type]?[parameters]` to search resources of a specified type. * `POST [base]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method across all resources. * `POST [base]/[type]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method for the specified type. The `GET` and `POST` methods do not support compartment searches. The `POST` method does not support `application/x-www-form-urlencoded` search parameters. On success, the response body contains a JSON-encoded representation of a `Bundle` resource of type `searchset`, containing the results of the search. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. The server's capability statement, retrieved through capabilities, indicates what search parameters are supported on each FHIR resource. A list of all search parameters defined by the specification can be found in the FHIR Search Parameter Registry ([STU3](http://hl7.org/implement/standards/fhir/STU3/searchparameter-registry.html), [R4](http://hl7.org/implement/standards/fhir/R4/searchparameter-registry.html)). FHIR search parameters for DSTU2 can be found on each resource's definition page. Supported search modifiers: `:missing`, `:exact`, `:contains`, `:text`, `:in`, `:not-in`, `:above`, `:below`, `:[type]`, `:not`, and `recurse` (DSTU2 and STU3) or `:iterate` (R4). Supported search result parameters: `_sort`, `_count`, `_include`, `_revinclude`, `_summary=text`, `_summary=data`, and `_elements`. The maximum number of search results returned defaults to 100, which can be overridden by the `_count` parameter up to a maximum limit of 1000. The server might return fewer resources than requested to prevent excessively large responses. If there are additional results, the returned `Bundle` contains a link of `relation` "next", which has a `_page_token` parameter for an opaque pagination token that can be used to retrieve the next page. Resources with a total size larger than 5MB or a field count larger than 50,000 might not be fully searchable as the server might trim its generated search index in those cases. Note: FHIR resources are indexed asynchronously, so there might be a slight delay between the time a resource is created or changed, and the time when the change reflects in search results. The only exception is resource identifier data, which is indexed synchronously as a special index. As a result, searching using resource identifier is not subject to indexing delay. To use the special synchronous index, the search term for identifier should be in the pattern `identifier=[system]|[value]` or `identifier=[value]`, and any of the following search result parameters can be used: * `_count` * `_include` * `_revinclude` * `_summary` * `_elements` If your query contains any other search parameters, the standard asynchronous index will be used instead. Note that searching against the special index is optimized for resolving a small number of matches. The search isn't optimized if your identifier search criteria matches a large number (i.e. more than 2,000) of resources. For a search query that will match a large number of resources, you can avoiding using the special synchronous index by including an additional `_sort` parameter in your query. Use `_sort=-_lastUpdated` if you want to keep the default sorting order. Note: The special synchronous identifier index are currently disabled for DocumentReference and DocumentManifest searches. For samples and detailed information, see [Searching for FHIR resources](https://cloud.google.com/healthcare/docs/how-tos/fhir-search) and [Advanced FHIR search features](https://cloud.google.com/healthcare/docs/how-tos/fhir-advanced-search). | +| | `EXEC` | | Searches for resources in the given FHIR store according to criteria specified as query parameters. Implements the FHIR standard search interaction ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#search), [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#search), [R4](http://hl7.org/implement/standards/fhir/R4/http.html#search)) using the search semantics described in the FHIR Search specification ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/search.html), [STU3](http://hl7.org/implement/standards/fhir/STU3/search.html), [R4](http://hl7.org/implement/standards/fhir/R4/search.html)). Supports four methods of search defined by the specification: * `GET [base]?[parameters]` to search across all resources. * `GET [base]/[type]?[parameters]` to search resources of a specified type. * `POST [base]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method across all resources. * `POST [base]/[type]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method for the specified type. The `GET` and `POST` methods do not support compartment searches. The `POST` method does not support `application/x-www-form-urlencoded` search parameters. On success, the response body contains a JSON-encoded representation of a `Bundle` resource of type `searchset`, containing the results of the search. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. The server's capability statement, retrieved through capabilities, indicates what search parameters are supported on each FHIR resource. A list of all search parameters defined by the specification can be found in the FHIR Search Parameter Registry ([STU3](http://hl7.org/implement/standards/fhir/STU3/searchparameter-registry.html), [R4](http://hl7.org/implement/standards/fhir/R4/searchparameter-registry.html)). FHIR search parameters for DSTU2 can be found on each resource's definition page. Supported search modifiers: `:missing`, `:exact`, `:contains`, `:text`, `:in`, `:not-in`, `:above`, `:below`, `:[type]`, `:not`, and `recurse` (DSTU2 and STU3) or `:iterate` (R4). Supported search result parameters: `_sort`, `_count`, `_include`, `_revinclude`, `_summary=text`, `_summary=data`, and `_elements`. The maximum number of search results returned defaults to 100, which can be overridden by the `_count` parameter up to a maximum limit of 1000. The server might return fewer resources than requested to prevent excessively large responses. If there are additional results, the returned `Bundle` contains a link of `relation` "next", which has a `_page_token` parameter for an opaque pagination token that can be used to retrieve the next page. Resources with a total size larger than 5MB or a field count larger than 50,000 might not be fully searchable as the server might trim its generated search index in those cases. Note: FHIR resources are indexed asynchronously, so there might be a slight delay between the time a resource is created or changed, and the time when the change reflects in search results. The only exception is resource identifier data, which is indexed synchronously as a special index. As a result, searching using resource identifier is not subject to indexing delay. To use the special synchronous index, the search term for identifier should be in the pattern `identifier=[system]|[value]` or `identifier=[value]`, and any of the following search result parameters can be used: * `_count` * `_include` * `_revinclude` * `_summary` * `_elements` If your query contains any other search parameters, the standard asynchronous index will be used instead. Note that searching against the special index is optimized for resolving a small number of matches. The search isn't optimized if your identifier search criteria matches a large number (i.e. more than 2,000) of resources. For a search query that will match a large number of resources, you can avoiding using the special synchronous index by including an additional `_sort` parameter in your query. Use `_sort=-_lastUpdated` if you want to keep the default sorting order. Note: The special synchronous identifier index are currently disabled for DocumentReference and DocumentManifest searches. For samples and detailed information, see [Searching for FHIR resources](https://cloud.google.com/healthcare/docs/how-tos/fhir-search) and [Advanced FHIR search features](https://cloud.google.com/healthcare/docs/how-tos/fhir-advanced-search). | +| | `EXEC` | | Updates the entire contents of a resource. Implements the FHIR standard update interaction ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#update), [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#update), [R4](http://hl7.org/implement/standards/fhir/R4/http.html#update)). If the specified resource does not exist and the FHIR store has enable_update_create set, creates the resource with the client-specified ID. It is strongly advised not to include or encode any sensitive data such as patient identifiers in client-specified resource IDs. Those IDs are part of the FHIR resource path recorded in Cloud Audit Logs and Pub/Sub notifications. Those IDs can also be contained in reference fields within other resources. The request body must contain a JSON-encoded FHIR resource, and the request headers must contain `Content-Type: application/fhir+json`. The resource must contain an `id` element having an identical value to the ID in the REST path of the request. On success, the response body contains a JSON-encoded representation of the updated resource, including the server-assigned version ID. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. For samples that show how to call `update`, see [Updating a FHIR resource](https://cloud.google.com/healthcare/docs/how-tos/fhir-resources#updating_a_fhir_resource). | | | `EXEC` | | Gets the contents of a version (current or historical) of a FHIR resource by version ID. Implements the FHIR standard vread interaction ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#vread), [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#vread), [R4](http://hl7.org/implement/standards/fhir/R4/http.html#vread)). On success, the response body contains a JSON-encoded representation of the resource. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. For samples that show how to call `vread`, see [Retrieving a FHIR resource version](https://cloud.google.com/healthcare/docs/how-tos/fhir-resources#retrieving_a_fhir_resource_version). | + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new fhir resource. + + + + +```sql +/*+ create */ +INSERT INTO google.healthcare.fhir ( +datasetsId, +fhirId, +fhirStoresId, +locationsId, +projectsId, +contentType, +data, +extensions +) +SELECT +'{{ datasetsId }}', +'{{ fhirId }}', +'{{ fhirStoresId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ contentType }}', +'{{ data }}', +'{{ extensions }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: contentType + value: '{{ contentType }}' + - name: data + value: '{{ data }}' + - name: extensions + value: '{{ extensions }}' + +``` + + + +## `UPDATE` example + +Updates a fhir only if the necessary resources are available. + +```sql +UPDATE google.healthcare.fhir +SET +contentType = '{{ contentType }}', +data = '{{ data }}', +extensions = '{{ extensions }}' +WHERE +datasetsId = '{{ datasetsId }}' +AND fhirId = '{{ fhirId }}' +AND fhirId1 = '{{ fhirId1 }}' +AND fhirStoresId = '{{ fhirStoresId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified fhir resource. + +```sql +DELETE FROM google.healthcare.fhir +WHERE datasetsId = '{{ datasetsId }}' +AND fhirId = '{{ fhirId }}' +AND fhirId1 = '{{ fhirId1 }}' +AND fhirStoresId = '{{ fhirStoresId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/healthcare/fhir_stores/index.md b/docs/google-docs/providers/google/healthcare/fhir_stores/index.md index 5e30df9e9c..669a9742b1 100644 --- a/docs/google-docs/providers/google/healthcare/fhir_stores/index.md +++ b/docs/google-docs/providers/google/healthcare/fhir_stores/index.md @@ -1,3 +1,4 @@ + --- title: fhir_stores hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - fhir_stores - healthcare - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an fhir_store resource or lists fhir_stores in a region ## Overview @@ -30,18 +32,19 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. Identifier. Resource name of the FHIR store, of the form `projects/{project_id}/locations/{location}/datasets/{dataset_id}/fhirStores/{fhir_store_id}`. | +| | `string` | Output only. Identifier. Resource name of the FHIR store, of the form `projects/{project_id}/locations/{location}/datasets/{dataset_id}/fhirStores/{fhir_store_id}`. | | | `string` | 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 after a notification period. Warning: turning on this flag causes processing existing resources to fail if they contain references to non-existent resources. | -| | `boolean` | If true, overrides the default search behavior for this FHIR store to `handling=strict` which returns an error for unrecognized search parameters. If false, uses the FHIR specification default `handling=lenient` which ignores unrecognized search parameters. The 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`. | +| | `boolean` | If true, overrides the default search behavior for this FHIR store to `handling=strict` which returns an error for unrecognized search parameters. If false, uses the FHIR specification default `handling=lenient` which ignores unrecognized search parameters. The 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`. Defaults to false. | | | `boolean` | Immutable. Whether to disable referential integrity in this FHIR store. This field is immutable after FHIR store creation. The default value is false, meaning that the API enforces referential integrity and fails the requests that result in inconsistent state in the FHIR store. When this field is set to true, the API skips referential integrity checks. Consequently, operations that rely on references, such as GetPatientEverything, do not return all the results if broken references exist. | -| | `boolean` | Immutable. Whether to disable resource versioning for this FHIR store. This field can not be changed after the creation of FHIR store. If set to false, which is the default behavior, all write operations cause historical versions to be recorded automatically. The historical versions can be fetched through the history APIs, but cannot be updated. If set to true, no historical versions are kept. The server sends errors for attempts to read the historical versions. | -| | `boolean` | Whether this FHIR store has the [updateCreate capability](https://www.hl7.org/fhir/capabilitystatement-definitions.html#CapabilityStatement.rest.resource.updateCreate). This determines if the client can use an Update operation to create a new resource with a client-specified ID. If false, all IDs are server-assigned through the Create operation and attempts to update a non-existent resource return errors. It is strongly advised not to include or encode any sensitive data such as patient identifiers in client-specified resource IDs. Those IDs are part of the FHIR resource path recorded in Cloud audit logs and Pub/Sub notifications. Those IDs can also be contained in reference fields within other resources. | -| | `object` | User-supplied key-value pairs used to organize FHIR stores. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: \p{Ll}\p{Lo}{0,62} Label values are optional, must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63} No more than 64 labels can be associated with a given store. | +| | `boolean` | Immutable. Whether to disable resource versioning for this FHIR store. This field can not be changed after the creation of FHIR store. If set to false, all write operations cause historical versions to be recorded automatically. The historical versions can be fetched through the history APIs, but cannot be updated. If set to true, no historical versions are kept. The server sends errors for attempts to read the historical versions. Defaults to false. | +| | `boolean` | Whether this FHIR store has the [updateCreate capability](https://www.hl7.org/fhir/capabilitystatement-definitions.html#CapabilityStatement.rest.resource.updateCreate). This determines if the client can use an Update operation to create a new resource with a client-specified ID. If false, all IDs are server-assigned through the Create operation and attempts to update a non-existent resource return errors. It is strongly advised not to include or encode any sensitive data such as patient identifiers in client-specified resource IDs. Those IDs are part of the FHIR resource path recorded in Cloud audit logs and Pub/Sub notifications. Those IDs can also be contained in reference fields within other resources. Defaults to false. | +| | `object` | User-supplied key-value pairs used to organize FHIR stores. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: \p{Ll}\p{Lo}{0,62} Label values are optional, must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63} No more than 64 labels can be associated with a given store. | | | `object` | Specifies where to send notifications upon changes to a data store. | | | `array` | Specifies where and whether to send notifications upon changes to a FHIR store. | | | `array` | A list of streaming configs that configure the destinations of streaming export for every resource mutation in this FHIR store. Each store is allowed to have up to 10 streaming configs. After a new config is added, the next resource mutation is streamed to the new location in addition to the existing ones. When a location is removed from the list, the server stops streaming to that location. Before adding a new config, you must add the required [`bigquery.dataEditor`](https://cloud.google.com/bigquery/docs/access-control#bigquery.dataEditor) role to your project's **Cloud Healthcare Service Agent** [service account](https://cloud.google.com/iam/docs/service-accounts). Some lag (typically on the order of dozens of seconds) is expected before the results show up in the streaming destination. | | | `object` | Contains the configuration for FHIR profiles and validation. | | | `string` | Required. Immutable. The FHIR specification version that this FHIR store supports natively. This field is immutable after store creation. Requests are rejected if they contain FHIR resources of a different version. Version is required for every FHIR store. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -50,8 +53,155 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new FHIR store within the parent dataset. | | | `DELETE` | | Deletes the specified FHIR store and removes all resources within it. | | | `UPDATE` | | Updates the configuration of the specified FHIR store. | -| | `EXEC` | | Lists the FHIR stores in the given dataset. | | | `EXEC` | | De-identifies data from the source store and writes it to the destination store. The metadata field type is OperationMetadata. If the request is successful, the response field type is DeidentifyFhirStoreSummary. If errors occur, error is set. Error details are also logged to Cloud Logging (see [Viewing error logs in Cloud Logging](https://cloud.google.com/healthcare/docs/how-tos/logging)). | | | `EXEC` | | Export resources from the FHIR store to the specified destination. This method returns an Operation that can be used to track the status of the export by calling GetOperation. Immediate fatal errors appear in the error field, errors are also logged to Cloud Logging (see [Viewing error logs in Cloud Logging](https://cloud.google.com/healthcare/docs/how-tos/logging)). Otherwise, when the operation finishes, a detailed response of type ExportResourcesResponse is returned in the response field. The metadata field type for this operation is OperationMetadata. | | | `EXEC` | | Imports resources to the FHIR store by loading data from the specified sources. This method is optimized to load large quantities of data using import semantics that ignore some FHIR store configuration options and are not suitable for all use cases. It is primarily intended to load data into an empty FHIR store that is not being used by other clients. In cases where this method is not appropriate, consider using ExecuteBundle to load data. Every resource in the input must contain a client-supplied ID. Each resource is stored using the supplied ID regardless of the enable_update_create setting on the FHIR store. It is strongly advised not to include or encode any sensitive data such as patient identifiers in client-specified resource IDs. Those IDs are part of the FHIR resource path recorded in Cloud Audit Logs and Cloud Pub/Sub notifications. Those IDs can also be contained in reference fields within other resources. The import process does not enforce referential integrity, regardless of the disable_referential_integrity setting on the FHIR store. This allows the import of resources with arbitrary interdependencies without considering grouping or ordering, but if the input data contains invalid references or if some resources fail to be imported, the FHIR store might be left in a state that violates referential integrity. The import process does not trigger Pub/Sub notification or BigQuery streaming update, regardless of how those are configured on the FHIR store. If a resource with the specified ID already exists, the most recent version of the resource is overwritten without creating a new historical version, regardless of the disable_resource_versioning setting on the FHIR store. If transient failures occur during the import, it's possible that successfully imported resources will be overwritten more than once. The import operation is idempotent unless the input data contains multiple valid resources with the same ID but different contents. In that case, after the import completes, the store contains exactly one resource with that ID but there is no ordering guarantee on which version of the contents it will have. The operation result counters do not count duplicate IDs as an error and count one success for each resource in the input, which might result in a success count larger than the number of resources in the FHIR store. This often occurs when importing data organized in bundles produced by Patient-everything where each bundle contains its own copy of a resource such as Practitioner that might be referred to by many patients. If some resources fail to import, for example due to parsing errors, successfully imported resources are not rolled back. The location and format of the input data is specified by the parameters in ImportResourcesRequest. Note that if no format is specified, this method assumes the `BUNDLE` format. When using the `BUNDLE` format this method ignores the `Bundle.type` field, except that `history` bundles are rejected, and does not apply any of the bundle processing semantics for batch or transaction bundles. Unlike in ExecuteBundle, transaction bundles are not executed as a single transaction and bundle-internal references are not rewritten. The bundle is treated as a collection of resources to be written as provided in `Bundle.entry.resource`, ignoring `Bundle.entry.request`. As an example, this allows the import of `searchset` bundles produced by a FHIR search or Patient-everything operation. This method returns an Operation that can be used to track the status of the import by calling GetOperation. Immediate fatal errors appear in the error field, errors are also logged to Cloud Logging (see [Viewing error logs in Cloud Logging](https://cloud.google.com/healthcare/docs/how-tos/logging)). Otherwise, when the operation finishes, a detailed response of type ImportResourcesResponse is returned in the response field. The metadata field type for this operation is OperationMetadata. | | | `EXEC` | | Rolls back resources from the FHIR store to the specified time. This method returns an Operation that can be used to track the status of the rollback by calling GetOperation. Immediate fatal errors appear in the error field, errors are also logged to Cloud Logging (see [Viewing error logs in Cloud Logging](https://cloud.google.com/healthcare/docs/how-tos/logging)). Otherwise, when the operation finishes, a detailed response of type RollbackFhirResourcesResponse is returned in the response field. The metadata field type for this operation is OperationMetadata. | + +## `SELECT` examples + +Lists the FHIR stores in the given dataset. + +```sql +SELECT +name, +complexDataTypeReferenceParsing, +defaultSearchHandlingStrict, +disableReferentialIntegrity, +disableResourceVersioning, +enableUpdateCreate, +labels, +notificationConfig, +notificationConfigs, +streamConfigs, +validationConfig, +version +FROM google.healthcare.fhir_stores +WHERE datasetsId = '{{ datasetsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new fhir_stores resource. + + + + +```sql +/*+ create */ +INSERT INTO google.healthcare.fhir_stores ( +datasetsId, +locationsId, +projectsId, +name, +enableUpdateCreate, +notificationConfig, +disableReferentialIntegrity, +disableResourceVersioning, +labels, +version, +streamConfigs, +validationConfig, +defaultSearchHandlingStrict, +complexDataTypeReferenceParsing, +notificationConfigs +) +SELECT +'{{ datasetsId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +true|false, +'{{ notificationConfig }}', +true|false, +true|false, +'{{ labels }}', +'{{ version }}', +'{{ streamConfigs }}', +'{{ validationConfig }}', +true|false, +'{{ complexDataTypeReferenceParsing }}', +'{{ notificationConfigs }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: enableUpdateCreate + value: '{{ enableUpdateCreate }}' + - name: notificationConfig + value: '{{ notificationConfig }}' + - name: disableReferentialIntegrity + value: '{{ disableReferentialIntegrity }}' + - name: disableResourceVersioning + value: '{{ disableResourceVersioning }}' + - name: labels + value: '{{ labels }}' + - name: version + value: '{{ version }}' + - name: streamConfigs + value: '{{ streamConfigs }}' + - name: validationConfig + value: '{{ validationConfig }}' + - name: defaultSearchHandlingStrict + value: '{{ defaultSearchHandlingStrict }}' + - name: complexDataTypeReferenceParsing + value: '{{ complexDataTypeReferenceParsing }}' + - name: notificationConfigs + value: '{{ notificationConfigs }}' + +``` + + + +## `UPDATE` example + +Updates a fhir_store only if the necessary resources are available. + +```sql +UPDATE google.healthcare.fhir_stores +SET +name = '{{ name }}', +enableUpdateCreate = true|false, +notificationConfig = '{{ notificationConfig }}', +disableReferentialIntegrity = true|false, +disableResourceVersioning = true|false, +labels = '{{ labels }}', +version = '{{ version }}', +streamConfigs = '{{ streamConfigs }}', +validationConfig = '{{ validationConfig }}', +defaultSearchHandlingStrict = true|false, +complexDataTypeReferenceParsing = '{{ complexDataTypeReferenceParsing }}', +notificationConfigs = '{{ notificationConfigs }}' +WHERE +datasetsId = '{{ datasetsId }}' +AND fhirStoresId = '{{ fhirStoresId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified fhir_store resource. + +```sql +DELETE FROM google.healthcare.fhir_stores +WHERE datasetsId = '{{ datasetsId }}' +AND fhirStoresId = '{{ fhirStoresId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/healthcare/fhir_stores_fhirstore_metrics/index.md b/docs/google-docs/providers/google/healthcare/fhir_stores_fhirstore_metrics/index.md index ad0793cc51..3cd7614132 100644 --- a/docs/google-docs/providers/google/healthcare/fhir_stores_fhirstore_metrics/index.md +++ b/docs/google-docs/providers/google/healthcare/fhir_stores_fhirstore_metrics/index.md @@ -1,3 +1,4 @@ + --- title: fhir_stores_fhirstore_metrics hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - fhir_stores_fhirstore_metrics - healthcare - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an fhir_stores_fhirstore_metric resource or lists fhir_stores_fhirstore_metrics in a region ## Overview
@@ -30,9 +32,25 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The resource name of the FHIR store to get metrics for, in the format `projects/{project_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}`. | +| | `string` | The resource name of the FHIR store to get metrics for, in the format `projects/{project_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}`. | | | `array` | List of FhirStoreMetric by resource type. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets metrics associated with the FHIR store. | + +## `SELECT` examples + +Gets metrics associated with the FHIR store. + +```sql +SELECT +name, +metrics +FROM google.healthcare.fhir_stores_fhirstore_metrics +WHERE datasetsId = '{{ datasetsId }}' +AND fhirStoresId = '{{ fhirStoresId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/healthcare/fhir_stores_iam_policies/index.md b/docs/google-docs/providers/google/healthcare/fhir_stores_iam_policies/index.md index d796f6184b..3ad0fec121 100644 --- a/docs/google-docs/providers/google/healthcare/fhir_stores_iam_policies/index.md +++ b/docs/google-docs/providers/google/healthcare/fhir_stores_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: fhir_stores_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - fhir_stores_iam_policies - healthcare - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an fhir_stores_iam_policy resource or lists fhir_stores_iam_policies in a region ## Overview
@@ -30,13 +32,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.healthcare.fhir_stores_iam_policies +WHERE datasetsId = '{{ datasetsId }}' +AND fhirStoresId = '{{ fhirStoresId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/healthcare/frames_frames/index.md b/docs/google-docs/providers/google/healthcare/frames_frames/index.md index 74eff4d8e6..4823237f9c 100644 --- a/docs/google-docs/providers/google/healthcare/frames_frames/index.md +++ b/docs/google-docs/providers/google/healthcare/frames_frames/index.md @@ -1,3 +1,4 @@ + --- title: frames_frames hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - frames_frames - healthcare - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an frames_frame resource or lists frames_frames in a region ## Overview
@@ -28,8 +30,33 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | The HTTP Content-Type header value specifying the content type of the body. | +| | `string` | The HTTP request/response body as raw binary. | +| | `array` | Application specific response metadata. Must be set in the first response for streaming APIs. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | RetrieveFrames returns instances associated with the given study, series, SOP Instance UID and frame numbers. See [RetrieveTransaction] (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4}. For details on the implementation of RetrieveFrames, see [DICOM frames](https://cloud.google.com/healthcare/docs/dicom#dicom_frames) in the Cloud Healthcare API conformance statement. For samples that show how to call RetrieveFrames, see [Retrieve DICOM data](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieve-dicom). | + +## `SELECT` examples + +RetrieveFrames returns instances associated with the given study, series, SOP Instance UID and frame numbers. See [RetrieveTransaction] (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4}. For details on the implementation of RetrieveFrames, see [DICOM frames](https://cloud.google.com/healthcare/docs/dicom#dicom_frames) in the Cloud Healthcare API conformance statement. For samples that show how to call RetrieveFrames, see [Retrieve DICOM data](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieve-dicom). + +```sql +SELECT +contentType, +data, +extensions +FROM google.healthcare.frames_frames +WHERE datasetsId = '{{ datasetsId }}' +AND dicomStoresId = '{{ dicomStoresId }}' +AND framesId = '{{ framesId }}' +AND instancesId = '{{ instancesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND seriesId = '{{ seriesId }}' +AND studiesId = '{{ studiesId }}'; +``` diff --git a/docs/google-docs/providers/google/healthcare/frames_rendered/index.md b/docs/google-docs/providers/google/healthcare/frames_rendered/index.md index 64f87f221c..8f7cda407a 100644 --- a/docs/google-docs/providers/google/healthcare/frames_rendered/index.md +++ b/docs/google-docs/providers/google/healthcare/frames_rendered/index.md @@ -1,3 +1,4 @@ + --- title: frames_rendered hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - frames_rendered - healthcare - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an frames_rendered resource or lists frames_rendered in a region ## Overview @@ -28,8 +30,33 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | The HTTP Content-Type header value specifying the content type of the body. | +| | `string` | The HTTP request/response body as raw binary. | +| | `array` | Application specific response metadata. Must be set in the first response for streaming APIs. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | RetrieveRenderedFrames returns instances associated with the given study, series, SOP Instance UID and frame numbers in an acceptable Rendered Media Type. See [RetrieveTransaction] (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4). For details on the implementation of RetrieveRenderedFrames, see [Rendered resources](https://cloud.google.com/healthcare/docs/dicom#rendered_resources) in the Cloud Healthcare API conformance statement. For samples that show how to call RetrieveRenderedFrames, see [Retrieve consumer image formats](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieve-consumer). | + +## `SELECT` examples + +RetrieveRenderedFrames returns instances associated with the given study, series, SOP Instance UID and frame numbers in an acceptable Rendered Media Type. See [RetrieveTransaction] (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4). For details on the implementation of RetrieveRenderedFrames, see [Rendered resources](https://cloud.google.com/healthcare/docs/dicom#rendered_resources) in the Cloud Healthcare API conformance statement. For samples that show how to call RetrieveRenderedFrames, see [Retrieve consumer image formats](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieve-consumer). + +```sql +SELECT +contentType, +data, +extensions +FROM google.healthcare.frames_rendered +WHERE datasetsId = '{{ datasetsId }}' +AND dicomStoresId = '{{ dicomStoresId }}' +AND framesId = '{{ framesId }}' +AND instancesId = '{{ instancesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND seriesId = '{{ seriesId }}' +AND studiesId = '{{ studiesId }}'; +``` diff --git a/docs/google-docs/providers/google/healthcare/hl7_v2_stores/index.md b/docs/google-docs/providers/google/healthcare/hl7_v2_stores/index.md index 672d68b316..5a087b42d6 100644 --- a/docs/google-docs/providers/google/healthcare/hl7_v2_stores/index.md +++ b/docs/google-docs/providers/google/healthcare/hl7_v2_stores/index.md @@ -1,3 +1,4 @@ + --- title: hl7_v2_stores hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - hl7_v2_stores - healthcare - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an hl7_v2_store resource or lists hl7_v2_stores in a region ## Overview @@ -30,11 +32,12 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Identifier. Resource name of the HL7v2 store, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/hl7V2Stores/{hl7v2_store_id}`. | -| | `object` | User-supplied key-value pairs used to organize HL7v2 stores. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: \p{Ll}\p{Lo}{0,62} Label values are optional, must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63} No more than 64 labels can be associated with a given store. | +| | `string` | Identifier. Resource name of the HL7v2 store, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/hl7V2Stores/{hl7v2_store_id}`. | +| | `object` | User-supplied key-value pairs used to organize HL7v2 stores. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: \p{Ll}\p{Lo}{0,62} Label values are optional, must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63} No more than 64 labels can be associated with a given store. | | | `array` | A list of notification configs. Each configuration uses a filter to determine whether to publish a message (both Ingest & Create) on the corresponding notification destination. Only the message name is sent as part of the notification. Supplied by the client. | | | `object` | The configuration for the parser. It determines how the server parses the messages. | | | `boolean` | Determines whether to reject duplicate messages. A duplicate message is a message with the same raw bytes as a message that has already been ingested/created in this HL7v2 store. The default value is false, meaning that the store accepts the duplicate messages and it also returns the same ACK message in the IngestMessageResponse as has been returned previously. Note that only one resource is created in the store. When this field is set to true, CreateMessage/IngestMessage requests with a duplicate message will be rejected by the store, and IngestMessageErrorDetail returns a NACK message upon rejection. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -43,6 +46,112 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new HL7v2 store within the parent dataset. | | | `DELETE` | | Deletes the specified HL7v2 store and removes all messages that it contains. | | | `UPDATE` | | Updates the HL7v2 store. | -| | `EXEC` | | Lists the HL7v2 stores in the given dataset. | | | `EXEC` | | Exports the messages to a destination. To filter messages to be exported, define a filter using the start and end time, relative to the message generation time (MSH.7). This API returns an Operation that can be used to track the status of the job by calling GetOperation. Immediate fatal errors appear in the error field. Otherwise, when the operation finishes, a detailed response of type ExportMessagesResponse is returned in the response field. The metadata field type for this operation is OperationMetadata. | | | `EXEC` | | Import messages to the HL7v2 store by loading data from the specified sources. This method is optimized to load large quantities of data using import semantics that ignore some HL7v2 store configuration options and are not suitable for all use cases. It is primarily intended to load data into an empty HL7v2 store that is not being used by other clients. An existing message will be overwritten if a duplicate message is imported. A duplicate message is a message with the same raw bytes as a message that already exists in this HL7v2 store. When a message is overwritten, its labels will also be overwritten. The import operation is idempotent unless the input data contains multiple valid messages with the same raw bytes but different labels. In that case, after the import completes, the store contains exactly one message with those raw bytes but there is no ordering guarantee on which version of the labels it has. The operation result counters do not count duplicated raw bytes as an error and count one success for each message in the input, which might result in a success count larger than the number of messages in the HL7v2 store. If some messages fail to import, for example due to parsing errors, successfully imported messages are not rolled back. This method returns an Operation that can be used to track the status of the import by calling GetOperation. Immediate fatal errors appear in the error field, errors are also logged to Cloud Logging (see [Viewing error logs in Cloud Logging](https://cloud.google.com/healthcare/docs/how-tos/logging)). Otherwise, when the operation finishes, a response of type ImportMessagesResponse is returned in the response field. The metadata field type for this operation is OperationMetadata. | +| | `EXEC` | | Rolls back messages from the HL7v2 store to the specified time. This method returns an Operation that can be used to track the status of the rollback by calling GetOperation. Immediate fatal errors appear in the error field, errors are also logged to Cloud Logging (see [Viewing error logs in Cloud Logging](https://cloud.google.com/healthcare/docs/how-tos/logging)). Otherwise, when the operation finishes, a detailed response of type RollbackHl7V2MessagesResponse is returned in the response field. The metadata field type for this operation is OperationMetadata. | + +## `SELECT` examples + +Lists the HL7v2 stores in the given dataset. + +```sql +SELECT +name, +labels, +notificationConfigs, +parserConfig, +rejectDuplicateMessage +FROM google.healthcare.hl7_v2_stores +WHERE datasetsId = '{{ datasetsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new hl7_v2_stores resource. + + + + +```sql +/*+ create */ +INSERT INTO google.healthcare.hl7_v2_stores ( +datasetsId, +locationsId, +projectsId, +name, +parserConfig, +labels, +notificationConfigs, +rejectDuplicateMessage +) +SELECT +'{{ datasetsId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ parserConfig }}', +'{{ labels }}', +'{{ notificationConfigs }}', +true|false +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: parserConfig + value: '{{ parserConfig }}' + - name: labels + value: '{{ labels }}' + - name: notificationConfigs + value: '{{ notificationConfigs }}' + - name: rejectDuplicateMessage + value: '{{ rejectDuplicateMessage }}' + +``` + + + +## `UPDATE` example + +Updates a hl7_v2_store only if the necessary resources are available. + +```sql +UPDATE google.healthcare.hl7_v2_stores +SET +name = '{{ name }}', +parserConfig = '{{ parserConfig }}', +labels = '{{ labels }}', +notificationConfigs = '{{ notificationConfigs }}', +rejectDuplicateMessage = true|false +WHERE +datasetsId = '{{ datasetsId }}' +AND hl7V2StoresId = '{{ hl7V2StoresId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified hl7_v2_store resource. + +```sql +DELETE FROM google.healthcare.hl7_v2_stores +WHERE datasetsId = '{{ datasetsId }}' +AND hl7V2StoresId = '{{ hl7V2StoresId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/healthcare/hl7_v2_stores_hl7v2_store_metrics/index.md b/docs/google-docs/providers/google/healthcare/hl7_v2_stores_hl7v2_store_metrics/index.md index 7ad44f0f5b..07dea1ec60 100644 --- a/docs/google-docs/providers/google/healthcare/hl7_v2_stores_hl7v2_store_metrics/index.md +++ b/docs/google-docs/providers/google/healthcare/hl7_v2_stores_hl7v2_store_metrics/index.md @@ -1,3 +1,4 @@ + --- title: hl7_v2_stores_hl7v2_store_metrics hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - hl7_v2_stores_hl7v2_store_metrics - healthcare - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an hl7_v2_stores_hl7v2_store_metric resource or lists hl7_v2_stores_hl7v2_store_metrics in a region ## Overview
@@ -30,9 +32,25 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The resource name of the HL7v2 store to get metrics for, in the format `projects/{project_id}/datasets/{dataset_id}/hl7V2Stores/{hl7v2_store_id}`. | +| | `string` | The resource name of the HL7v2 store to get metrics for, in the format `projects/{project_id}/datasets/{dataset_id}/hl7V2Stores/{hl7v2_store_id}`. | | | `array` | List of HL7v2 store metrics by message type. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets metrics associated with the HL7v2 store. | + +## `SELECT` examples + +Gets metrics associated with the HL7v2 store. + +```sql +SELECT +name, +metrics +FROM google.healthcare.hl7_v2_stores_hl7v2_store_metrics +WHERE datasetsId = '{{ datasetsId }}' +AND hl7V2StoresId = '{{ hl7V2StoresId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/healthcare/hl7_v2_stores_iam_policies/index.md b/docs/google-docs/providers/google/healthcare/hl7_v2_stores_iam_policies/index.md index 79229f2de2..fbf14da2a6 100644 --- a/docs/google-docs/providers/google/healthcare/hl7_v2_stores_iam_policies/index.md +++ b/docs/google-docs/providers/google/healthcare/hl7_v2_stores_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: hl7_v2_stores_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - hl7_v2_stores_iam_policies - healthcare - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an hl7_v2_stores_iam_policy resource or lists hl7_v2_stores_iam_policies in a region ## Overview
@@ -30,13 +32,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.healthcare.hl7_v2_stores_iam_policies +WHERE datasetsId = '{{ datasetsId }}' +AND hl7V2StoresId = '{{ hl7V2StoresId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/healthcare/index.md b/docs/google-docs/providers/google/healthcare/index.md index 0c13a1de2b..5c40fcda2b 100644 --- a/docs/google-docs/providers/google/healthcare/index.md +++ b/docs/google-docs/providers/google/healthcare/index.md @@ -9,34 +9,23 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Manage, store, and access healthcare data in Google Cloud Platform. - +The healthcare service documentation. + :::info Service Summary
-total resources: 39
-total selectable resources: 24
-total methods: 154
+total resources: 40
::: -## Overview -
- - - - - -
Namegoogle.healthcare
TypeService
TitleCloud Healthcare API
DescriptionManage, store, and access healthcare data in Google Cloud Platform.
Idhealthcare:v24.06.00236
- ## Resources
@@ -59,7 +48,7 @@ Manage, store, and access healthcare data in Google Cloud Platform. fhir_stores_iam_policies
frames_frames
frames_rendered
-hl7_v2_stores
+hl7_v2_stores
hl7_v2_stores_hl7v2_store_metrics
@@ -68,6 +57,7 @@ Manage, store, and access healthcare data in Google Cloud Platform. instances_instance
instances_metadata
instances_rendered
+instances_storage_info
locations
messages
nlp
@@ -80,6 +70,6 @@ Manage, store, and access healthcare data in Google Cloud Platform. studies_metadata
studies_study
studies_study_metrics
-user_data_mappings
-
+user_data_mappings
+ \ No newline at end of file diff --git a/docs/google-docs/providers/google/healthcare/instances/index.md b/docs/google-docs/providers/google/healthcare/instances/index.md index 3a105d21e1..3e91ea3900 100644 --- a/docs/google-docs/providers/google/healthcare/instances/index.md +++ b/docs/google-docs/providers/google/healthcare/instances/index.md @@ -1,3 +1,4 @@ + --- title: instances hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - instances - healthcare - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an instance resource or lists instances in a region ## Overview @@ -28,8 +30,25 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `DELETE` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `DELETE` | | DeleteInstance deletes an instance associated with the given study, series, and SOP Instance UID. Delete requests are equivalent to the GET requests specified in the Retrieve transaction. Study and series search results can take a few seconds to be updated after an instance is deleted using DeleteInstance. For samples that show how to call DeleteInstance, see [Delete a study, series, or instance](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#delete-dicom). | + +## `DELETE` example + +Deletes the specified instance resource. + +```sql +DELETE FROM google.healthcare.instances +WHERE datasetsId = '{{ datasetsId }}' +AND dicomStoresId = '{{ dicomStoresId }}' +AND instancesId = '{{ instancesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND seriesId = '{{ seriesId }}' +AND studiesId = '{{ studiesId }}'; +``` diff --git a/docs/google-docs/providers/google/healthcare/instances_instance/index.md b/docs/google-docs/providers/google/healthcare/instances_instance/index.md index bcdf71f949..e4c64ef4d7 100644 --- a/docs/google-docs/providers/google/healthcare/instances_instance/index.md +++ b/docs/google-docs/providers/google/healthcare/instances_instance/index.md @@ -1,3 +1,4 @@ + --- title: instances_instance hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - instances_instance - healthcare - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an instances_instance resource or lists instances_instance in a region ## Overview @@ -28,8 +30,32 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | The HTTP Content-Type header value specifying the content type of the body. | +| | `string` | The HTTP request/response body as raw binary. | +| | `array` | Application specific response metadata. Must be set in the first response for streaming APIs. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | RetrieveInstance returns instance associated with the given study, series, and SOP Instance UID. See [RetrieveTransaction] (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4). For details on the implementation of RetrieveInstance, see [DICOM study/series/instances](https://cloud.google.com/healthcare/docs/dicom#dicom_studyseriesinstances) and [DICOM instances](https://cloud.google.com/healthcare/docs/dicom#dicom_instances) in the Cloud Healthcare API conformance statement. For samples that show how to call RetrieveInstance, see [Retrieve an instance](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieve-instance). | + +## `SELECT` examples + +RetrieveInstance returns instance associated with the given study, series, and SOP Instance UID. See [RetrieveTransaction] (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4). For details on the implementation of RetrieveInstance, see [DICOM study/series/instances](https://cloud.google.com/healthcare/docs/dicom#dicom_studyseriesinstances) and [DICOM instances](https://cloud.google.com/healthcare/docs/dicom#dicom_instances) in the Cloud Healthcare API conformance statement. For samples that show how to call RetrieveInstance, see [Retrieve an instance](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieve-instance). + +```sql +SELECT +contentType, +data, +extensions +FROM google.healthcare.instances_instance +WHERE datasetsId = '{{ datasetsId }}' +AND dicomStoresId = '{{ dicomStoresId }}' +AND instancesId = '{{ instancesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND seriesId = '{{ seriesId }}' +AND studiesId = '{{ studiesId }}'; +``` diff --git a/docs/google-docs/providers/google/healthcare/instances_metadata/index.md b/docs/google-docs/providers/google/healthcare/instances_metadata/index.md index 5ba00ffc52..4b0c0169e9 100644 --- a/docs/google-docs/providers/google/healthcare/instances_metadata/index.md +++ b/docs/google-docs/providers/google/healthcare/instances_metadata/index.md @@ -1,3 +1,4 @@ + --- title: instances_metadata hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - instances_metadata - healthcare - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an instances_metadatum resource or lists instances_metadata in a region ## Overview @@ -28,8 +30,32 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | The HTTP Content-Type header value specifying the content type of the body. | +| | `string` | The HTTP request/response body as raw binary. | +| | `array` | Application specific response metadata. Must be set in the first response for streaming APIs. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | RetrieveInstanceMetadata returns instance associated with the given study, series, and SOP Instance UID presented as metadata with the bulk data removed. See [RetrieveTransaction] (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4). For details on the implementation of RetrieveInstanceMetadata, see [Metadata resources](https://cloud.google.com/healthcare/docs/dicom#metadata_resources) in the Cloud Healthcare API conformance statement. For samples that show how to call RetrieveInstanceMetadata, see [Retrieve metadata](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieve-metadata). | + +## `SELECT` examples + +RetrieveInstanceMetadata returns instance associated with the given study, series, and SOP Instance UID presented as metadata with the bulk data removed. See [RetrieveTransaction] (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4). For details on the implementation of RetrieveInstanceMetadata, see [Metadata resources](https://cloud.google.com/healthcare/docs/dicom#metadata_resources) in the Cloud Healthcare API conformance statement. For samples that show how to call RetrieveInstanceMetadata, see [Retrieve metadata](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieve-metadata). + +```sql +SELECT +contentType, +data, +extensions +FROM google.healthcare.instances_metadata +WHERE datasetsId = '{{ datasetsId }}' +AND dicomStoresId = '{{ dicomStoresId }}' +AND instancesId = '{{ instancesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND seriesId = '{{ seriesId }}' +AND studiesId = '{{ studiesId }}'; +``` diff --git a/docs/google-docs/providers/google/healthcare/instances_rendered/index.md b/docs/google-docs/providers/google/healthcare/instances_rendered/index.md index a10ba219f8..1e8dedf55d 100644 --- a/docs/google-docs/providers/google/healthcare/instances_rendered/index.md +++ b/docs/google-docs/providers/google/healthcare/instances_rendered/index.md @@ -1,3 +1,4 @@ + --- title: instances_rendered hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - instances_rendered - healthcare - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an instances_rendered resource or lists instances_rendered in a region ## Overview @@ -28,8 +30,32 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | The HTTP Content-Type header value specifying the content type of the body. | +| | `string` | The HTTP request/response body as raw binary. | +| | `array` | Application specific response metadata. Must be set in the first response for streaming APIs. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | RetrieveRenderedInstance returns instance associated with the given study, series, and SOP Instance UID in an acceptable Rendered Media Type. See [RetrieveTransaction] (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4). For details on the implementation of RetrieveRenderedInstance, see [Rendered resources](https://cloud.google.com/healthcare/docs/dicom#rendered_resources) in the Cloud Healthcare API conformance statement. For samples that show how to call RetrieveRenderedInstance, see [Retrieve consumer image formats](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieve-consumer). | + +## `SELECT` examples + +RetrieveRenderedInstance returns instance associated with the given study, series, and SOP Instance UID in an acceptable Rendered Media Type. See [RetrieveTransaction] (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4). For details on the implementation of RetrieveRenderedInstance, see [Rendered resources](https://cloud.google.com/healthcare/docs/dicom#rendered_resources) in the Cloud Healthcare API conformance statement. For samples that show how to call RetrieveRenderedInstance, see [Retrieve consumer image formats](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieve-consumer). + +```sql +SELECT +contentType, +data, +extensions +FROM google.healthcare.instances_rendered +WHERE datasetsId = '{{ datasetsId }}' +AND dicomStoresId = '{{ dicomStoresId }}' +AND instancesId = '{{ instancesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND seriesId = '{{ seriesId }}' +AND studiesId = '{{ studiesId }}'; +``` diff --git a/docs/google-docs/providers/google/healthcare/instances_storage_info/index.md b/docs/google-docs/providers/google/healthcare/instances_storage_info/index.md new file mode 100644 index 0000000000..fb07931a8f --- /dev/null +++ b/docs/google-docs/providers/google/healthcare/instances_storage_info/index.md @@ -0,0 +1,61 @@ + +--- +title: instances_storage_info +hide_title: false +hide_table_of_contents: false +keywords: + - instances_storage_info + - healthcare + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an instances_storage_info resource or lists instances_storage_info in a region + +## Overview + + + + +
Nameinstances_storage_info
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `object` | BlobStorageInfo contains details about the data stored in Blob Storage for the referenced resource. Note: Storage class is only valid for DICOM and hence will only be populated for DICOM resources. | +| | `string` | The resource whose storage info is returned. For example: `projects/{projectID}/locations/{locationID}/datasets/{datasetID}/dicomStores/{dicomStoreID}/dicomWeb/studies/{studyUID}/series/{seriesUID}/instances/{instanceUID}` | +| | `object` | StructuredStorageInfo contains details about the data stored in Structured Storage for the referenced resource. | + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | GetStorageInfo returns the storage info of the specified resource. | + +## `SELECT` examples + +GetStorageInfo returns the storage info of the specified resource. + +```sql +SELECT +blobStorageInfo, +referencedResource, +structuredStorageInfo +FROM google.healthcare.instances_storage_info +WHERE datasetsId = '{{ datasetsId }}' +AND dicomStoresId = '{{ dicomStoresId }}' +AND instancesId = '{{ instancesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND seriesId = '{{ seriesId }}' +AND studiesId = '{{ studiesId }}'; +``` diff --git a/docs/google-docs/providers/google/healthcare/locations/index.md b/docs/google-docs/providers/google/healthcare/locations/index.md index cb473afac4..a35cc327d3 100644 --- a/docs/google-docs/providers/google/healthcare/locations/index.md +++ b/docs/google-docs/providers/google/healthcare/locations/index.md @@ -1,3 +1,4 @@ + --- title: locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - locations - healthcare - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an location resource or lists locations in a region ## Overview @@ -32,12 +34,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` | | | `string` | The friendly name for this location, typically a nearby city name. For example, "Tokyo". | -| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | +| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | | | `string` | The canonical id for this location. For example: `"us-east1"`. | | | `object` | Service-specific metadata. For example the available capacity at the given location. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about a location. | | | `SELECT` | | Lists information about the supported locations for this service. | -| | `EXEC` | | Lists information about the supported locations for this service. | + +## `SELECT` examples + +Lists information about the supported locations for this service. + +```sql +SELECT +name, +displayName, +labels, +locationId, +metadata +FROM google.healthcare.locations +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/healthcare/messages/index.md b/docs/google-docs/providers/google/healthcare/messages/index.md index 5447627cbc..63aec74dd3 100644 --- a/docs/google-docs/providers/google/healthcare/messages/index.md +++ b/docs/google-docs/providers/google/healthcare/messages/index.md @@ -1,3 +1,4 @@ + --- title: messages hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - messages - healthcare - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an message resource or lists messages in a region ## Overview
@@ -30,16 +32,17 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. Resource name of the Message, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/hl7V2Stores/{hl7_v2_store_id}/messages/{message_id}`. Assigned by the server. | +| | `string` | Output only. Resource name of the Message, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/hl7V2Stores/{hl7_v2_store_id}/messages/{message_id}`. | | | `string` | Output only. The datetime when the message was created. Set by the server. | | | `string` | Required. Raw message bytes. | -| | `object` | User-supplied key-value pairs used to organize HL7v2 stores. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: \p{Ll}\p{Lo}{0,62} Label values are optional, must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63} No more than 64 labels can be associated with a given store. | -| | `string` | The message type for this message. MSH-9.1. | +| | `object` | User-supplied key-value pairs used to organize HL7v2 stores. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: \p{Ll}\p{Lo}{0,62} Label values are optional, must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63} No more than 64 labels can be associated with a given store. | +| | `string` | Output only. The message type for this message. MSH-9.1. | | | `object` | The content of a HL7v2 message in a structured format. | -| | `array` | All patient IDs listed in the PID-2, PID-3, and PID-4 segments of this message. | +| | `array` | Output only. All patient IDs listed in the PID-2, PID-3, and PID-4 segments of this message. | | | `object` | The content of an HL7v2 message in a structured format as specified by a schema. | -| | `string` | The hospital that this message came from. MSH-4. | -| | `string` | The datetime the sending application sent this message. MSH-7. | +| | `string` | Output only. The hospital that this message came from. MSH-4. | +| | `string` | Output only. The datetime the sending application sent this message. MSH-7. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -48,5 +51,109 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Parses and stores an HL7v2 message. This method triggers an asynchronous notification to any Pub/Sub topic configured in Hl7V2Store.Hl7V2NotificationConfig, if the filtering matches the message. If an MLLP adapter is configured to listen to a Pub/Sub topic, the adapter transmits the message when a notification is received. | | | `DELETE` | | Deletes an HL7v2 message. | | | `UPDATE` | | Update the message. The contents of the message in Message.data and data extracted from the contents such as Message.create_time cannot be altered. Only the Message.labels field is allowed to be updated. The labels in the request are merged with the existing set of labels. Existing labels with the same keys are updated. | -| | `EXEC` | | Lists all the messages in the given HL7v2 store with support for filtering. Note: HL7v2 messages are indexed asynchronously, so there might be a slight delay between the time a message is created and when it can be found through a filter. | | | `EXEC` | | Parses and stores an HL7v2 message. This method triggers an asynchronous notification to any Pub/Sub topic configured in Hl7V2Store.Hl7V2NotificationConfig, if the filtering matches the message. If an MLLP adapter is configured to listen to a Pub/Sub topic, the adapter transmits the message when a notification is received. If the method is successful, it generates a response containing an HL7v2 acknowledgment (`ACK`) message. If the method encounters an error, it returns a negative acknowledgment (`NACK`) message. This behavior is suitable for replying to HL7v2 interface systems that expect these acknowledgments. | + +## `SELECT` examples + +Lists all the messages in the given HL7v2 store with support for filtering. Note: HL7v2 messages are indexed asynchronously, so there might be a slight delay between the time a message is created and when it can be found through a filter. + +```sql +SELECT +name, +createTime, +data, +labels, +messageType, +parsedData, +patientIds, +schematizedData, +sendFacility, +sendTime +FROM google.healthcare.messages +WHERE datasetsId = '{{ datasetsId }}' +AND hl7V2StoresId = '{{ hl7V2StoresId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new messages resource. + + + + +```sql +/*+ create */ +INSERT INTO google.healthcare.messages ( +datasetsId, +hl7V2StoresId, +locationsId, +projectsId, +message +) +SELECT +'{{ datasetsId }}', +'{{ hl7V2StoresId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ message }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: message + value: '{{ message }}' + +``` + + + +## `UPDATE` example + +Updates a message only if the necessary resources are available. + +```sql +UPDATE google.healthcare.messages +SET +name = '{{ name }}', +data = '{{ data }}', +createTime = '{{ createTime }}', +sendFacility = '{{ sendFacility }}', +sendTime = '{{ sendTime }}', +messageType = '{{ messageType }}', +patientIds = '{{ patientIds }}', +labels = '{{ labels }}', +parsedData = '{{ parsedData }}', +schematizedData = '{{ schematizedData }}' +WHERE +datasetsId = '{{ datasetsId }}' +AND hl7V2StoresId = '{{ hl7V2StoresId }}' +AND locationsId = '{{ locationsId }}' +AND messagesId = '{{ messagesId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified message resource. + +```sql +DELETE FROM google.healthcare.messages +WHERE datasetsId = '{{ datasetsId }}' +AND hl7V2StoresId = '{{ hl7V2StoresId }}' +AND locationsId = '{{ locationsId }}' +AND messagesId = '{{ messagesId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/healthcare/nlp/index.md b/docs/google-docs/providers/google/healthcare/nlp/index.md index 83598c366c..8a1ba84013 100644 --- a/docs/google-docs/providers/google/healthcare/nlp/index.md +++ b/docs/google-docs/providers/google/healthcare/nlp/index.md @@ -1,3 +1,4 @@ + --- title: nlp hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - nlp - healthcare - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an nlp resource or lists nlp in a region ## Overview
@@ -28,8 +30,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Analyze heathcare entity in a document. Its response includes the recognized entity mentions and the relationships between them. AnalyzeEntities uses context aware models to detect entities. | diff --git a/docs/google-docs/providers/google/healthcare/operations/index.md b/docs/google-docs/providers/google/healthcare/operations/index.md index 6b50d00de4..500a42c199 100644 --- a/docs/google-docs/providers/google/healthcare/operations/index.md +++ b/docs/google-docs/providers/google/healthcare/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - healthcare - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview @@ -30,15 +32,32 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.healthcare.operations +WHERE datasetsId = '{{ datasetsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/healthcare/series/index.md b/docs/google-docs/providers/google/healthcare/series/index.md index f9c4009b3a..c269626078 100644 --- a/docs/google-docs/providers/google/healthcare/series/index.md +++ b/docs/google-docs/providers/google/healthcare/series/index.md @@ -1,3 +1,4 @@ + --- title: series hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - series - healthcare - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an series resource or lists series in a region ## Overview
@@ -28,9 +30,25 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `DELETE` | | DeleteSeries deletes all instances within the given study and series. Delete requests are equivalent to the GET requests specified in the Retrieve transaction. The method returns an Operation which will be marked successful when the deletion is complete. Warning: Instances cannot be inserted into a series that is being deleted by an operation until the operation completes. For samples that show how to call DeleteSeries, see [Delete a study, series, or instance](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#delete-dicom). | | | `EXEC` | | SearchForInstances returns a list of matching instances. See [Search Transaction] (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.6). For details on the implementation of SearchForInstances, see [Search transaction](https://cloud.google.com/healthcare/docs/dicom#search_transaction) in the Cloud Healthcare API conformance statement. For samples that show how to call SearchForInstances, see [Search for DICOM data](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#search-dicom). | + +## `DELETE` example + +Deletes the specified series resource. + +```sql +DELETE FROM google.healthcare.series +WHERE datasetsId = '{{ datasetsId }}' +AND dicomStoresId = '{{ dicomStoresId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND seriesId = '{{ seriesId }}' +AND studiesId = '{{ studiesId }}'; +``` diff --git a/docs/google-docs/providers/google/healthcare/series_metadata/index.md b/docs/google-docs/providers/google/healthcare/series_metadata/index.md index 7da4b4cca2..0c1be483d6 100644 --- a/docs/google-docs/providers/google/healthcare/series_metadata/index.md +++ b/docs/google-docs/providers/google/healthcare/series_metadata/index.md @@ -1,3 +1,4 @@ + --- title: series_metadata hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - series_metadata - healthcare - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an series_metadatum resource or lists series_metadata in a region ## Overview @@ -28,8 +30,31 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | The HTTP Content-Type header value specifying the content type of the body. | +| | `string` | The HTTP request/response body as raw binary. | +| | `array` | Application specific response metadata. Must be set in the first response for streaming APIs. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | RetrieveSeriesMetadata returns instance associated with the given study and series, presented as metadata with the bulk data removed. See [RetrieveTransaction] (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4). For details on the implementation of RetrieveSeriesMetadata, see [Metadata resources](https://cloud.google.com/healthcare/docs/dicom#metadata_resources) in the Cloud Healthcare API conformance statement. For samples that show how to call RetrieveSeriesMetadata, see [Retrieve metadata](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieve-metadata). | + +## `SELECT` examples + +RetrieveSeriesMetadata returns instance associated with the given study and series, presented as metadata with the bulk data removed. See [RetrieveTransaction] (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4). For details on the implementation of RetrieveSeriesMetadata, see [Metadata resources](https://cloud.google.com/healthcare/docs/dicom#metadata_resources) in the Cloud Healthcare API conformance statement. For samples that show how to call RetrieveSeriesMetadata, see [Retrieve metadata](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieve-metadata). + +```sql +SELECT +contentType, +data, +extensions +FROM google.healthcare.series_metadata +WHERE datasetsId = '{{ datasetsId }}' +AND dicomStoresId = '{{ dicomStoresId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND seriesId = '{{ seriesId }}' +AND studiesId = '{{ studiesId }}'; +``` diff --git a/docs/google-docs/providers/google/healthcare/series_series/index.md b/docs/google-docs/providers/google/healthcare/series_series/index.md index ba00a7e3e0..fcd16bfc73 100644 --- a/docs/google-docs/providers/google/healthcare/series_series/index.md +++ b/docs/google-docs/providers/google/healthcare/series_series/index.md @@ -1,3 +1,4 @@ + --- title: series_series hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - series_series - healthcare - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an series_sery resource or lists series_series in a region ## Overview @@ -28,8 +30,31 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | The HTTP Content-Type header value specifying the content type of the body. | +| | `string` | The HTTP request/response body as raw binary. | +| | `array` | Application specific response metadata. Must be set in the first response for streaming APIs. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | RetrieveSeries returns all instances within the given study and series. See [RetrieveTransaction] (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4). For details on the implementation of RetrieveSeries, see [DICOM study/series/instances](https://cloud.google.com/healthcare/docs/dicom#dicom_studyseriesinstances) in the Cloud Healthcare API conformance statement. For samples that show how to call RetrieveSeries, see [Retrieve DICOM data](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieve-dicom). | + +## `SELECT` examples + +RetrieveSeries returns all instances within the given study and series. See [RetrieveTransaction] (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4). For details on the implementation of RetrieveSeries, see [DICOM study/series/instances](https://cloud.google.com/healthcare/docs/dicom#dicom_studyseriesinstances) in the Cloud Healthcare API conformance statement. For samples that show how to call RetrieveSeries, see [Retrieve DICOM data](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieve-dicom). + +```sql +SELECT +contentType, +data, +extensions +FROM google.healthcare.series_series +WHERE datasetsId = '{{ datasetsId }}' +AND dicomStoresId = '{{ dicomStoresId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND seriesId = '{{ seriesId }}' +AND studiesId = '{{ studiesId }}'; +``` diff --git a/docs/google-docs/providers/google/healthcare/series_series_metrics/index.md b/docs/google-docs/providers/google/healthcare/series_series_metrics/index.md index 981dfb127b..ae7fc34c55 100644 --- a/docs/google-docs/providers/google/healthcare/series_series_metrics/index.md +++ b/docs/google-docs/providers/google/healthcare/series_series_metrics/index.md @@ -1,3 +1,4 @@ + --- title: series_series_metrics hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - series_series_metrics - healthcare - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an series_series_metric resource or lists series_series_metrics in a region ## Overview @@ -32,9 +34,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Total blob storage bytes for all instances in the series. | | | `string` | Number of instances in the series. | -| | `string` | The series resource path. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}/dicomWeb/studies/{study_uid}/series/{series_uid}`. | +| | `string` | The series resource path. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}/dicomWeb/studies/{study_uid}/series/{series_uid}`. | | | `string` | Total structured storage bytes for all instances in the series. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | GetSeriesMetrics returns metrics for a series. | + +## `SELECT` examples + +GetSeriesMetrics returns metrics for a series. + +```sql +SELECT +blobStorageSizeBytes, +instanceCount, +series, +structuredStorageSizeBytes +FROM google.healthcare.series_series_metrics +WHERE datasetsId = '{{ datasetsId }}' +AND dicomStoresId = '{{ dicomStoresId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND seriesId = '{{ seriesId }}' +AND studiesId = '{{ studiesId }}'; +``` diff --git a/docs/google-docs/providers/google/healthcare/studies/index.md b/docs/google-docs/providers/google/healthcare/studies/index.md index 158f04ee5a..e502cce90b 100644 --- a/docs/google-docs/providers/google/healthcare/studies/index.md +++ b/docs/google-docs/providers/google/healthcare/studies/index.md @@ -1,3 +1,4 @@ + --- title: studies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - studies - healthcare - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an study resource or lists studies in a region ## Overview
@@ -28,11 +30,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `DELETE` | | DeleteStudy deletes all instances within the given study. Delete requests are equivalent to the GET requests specified in the Retrieve transaction. The method returns an Operation which will be marked successful when the deletion is complete. Warning: Instances cannot be inserted into a study that is being deleted by an operation until the operation completes. For samples that show how to call DeleteStudy, see [Delete a study, series, or instance](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#delete-dicom). | | | `EXEC` | | SearchForInstances returns a list of matching instances. See [Search Transaction] (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.6). For details on the implementation of SearchForInstances, see [Search transaction](https://cloud.google.com/healthcare/docs/dicom#search_transaction) in the Cloud Healthcare API conformance statement. For samples that show how to call SearchForInstances, see [Search for DICOM data](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#search-dicom). | | | `EXEC` | | SearchForSeries returns a list of matching series. See [Search Transaction] (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.6). For details on the implementation of SearchForSeries, see [Search transaction](https://cloud.google.com/healthcare/docs/dicom#search_transaction) in the Cloud Healthcare API conformance statement. For samples that show how to call SearchForSeries, see [Search for DICOM data](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#search-dicom). | +| | `EXEC` | | SetBlobStorageSettings sets the blob storage settings of the specified resources. | | | `EXEC` | | StoreInstances stores DICOM instances associated with study instance unique identifiers (SUID). See [Store Transaction] (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.5). For details on the implementation of StoreInstances, see [Store transaction](https://cloud.google.com/healthcare/docs/dicom#store_transaction) in the Cloud Healthcare API conformance statement. For samples that show how to call StoreInstances, see [Store DICOM data](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#store-dicom). | + +## `DELETE` example + +Deletes the specified study resource. + +```sql +DELETE FROM google.healthcare.studies +WHERE datasetsId = '{{ datasetsId }}' +AND dicomStoresId = '{{ dicomStoresId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND studiesId = '{{ studiesId }}'; +``` diff --git a/docs/google-docs/providers/google/healthcare/studies_metadata/index.md b/docs/google-docs/providers/google/healthcare/studies_metadata/index.md index 4a7e466628..f2fe1962f3 100644 --- a/docs/google-docs/providers/google/healthcare/studies_metadata/index.md +++ b/docs/google-docs/providers/google/healthcare/studies_metadata/index.md @@ -1,3 +1,4 @@ + --- title: studies_metadata hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - studies_metadata - healthcare - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an studies_metadatum resource or lists studies_metadata in a region ## Overview @@ -28,8 +30,30 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | The HTTP Content-Type header value specifying the content type of the body. | +| | `string` | The HTTP request/response body as raw binary. | +| | `array` | Application specific response metadata. Must be set in the first response for streaming APIs. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | RetrieveStudyMetadata returns instance associated with the given study presented as metadata with the bulk data removed. See [RetrieveTransaction] (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4). For details on the implementation of RetrieveStudyMetadata, see [Metadata resources](https://cloud.google.com/healthcare/docs/dicom#metadata_resources) in the Cloud Healthcare API conformance statement. For samples that show how to call RetrieveStudyMetadata, see [Retrieve metadata](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieve-metadata). | + +## `SELECT` examples + +RetrieveStudyMetadata returns instance associated with the given study presented as metadata with the bulk data removed. See [RetrieveTransaction] (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4). For details on the implementation of RetrieveStudyMetadata, see [Metadata resources](https://cloud.google.com/healthcare/docs/dicom#metadata_resources) in the Cloud Healthcare API conformance statement. For samples that show how to call RetrieveStudyMetadata, see [Retrieve metadata](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieve-metadata). + +```sql +SELECT +contentType, +data, +extensions +FROM google.healthcare.studies_metadata +WHERE datasetsId = '{{ datasetsId }}' +AND dicomStoresId = '{{ dicomStoresId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND studiesId = '{{ studiesId }}'; +``` diff --git a/docs/google-docs/providers/google/healthcare/studies_study/index.md b/docs/google-docs/providers/google/healthcare/studies_study/index.md index 38082695e5..a094eaa629 100644 --- a/docs/google-docs/providers/google/healthcare/studies_study/index.md +++ b/docs/google-docs/providers/google/healthcare/studies_study/index.md @@ -1,3 +1,4 @@ + --- title: studies_study hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - studies_study - healthcare - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an studies_study resource or lists studies_study in a region ## Overview @@ -28,8 +30,30 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | The HTTP Content-Type header value specifying the content type of the body. | +| | `string` | The HTTP request/response body as raw binary. | +| | `array` | Application specific response metadata. Must be set in the first response for streaming APIs. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | RetrieveStudy returns all instances within the given study. See [RetrieveTransaction] (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4). For details on the implementation of RetrieveStudy, see [DICOM study/series/instances](https://cloud.google.com/healthcare/docs/dicom#dicom_studyseriesinstances) in the Cloud Healthcare API conformance statement. For samples that show how to call RetrieveStudy, see [Retrieve DICOM data](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieve-dicom). | + +## `SELECT` examples + +RetrieveStudy returns all instances within the given study. See [RetrieveTransaction] (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4). For details on the implementation of RetrieveStudy, see [DICOM study/series/instances](https://cloud.google.com/healthcare/docs/dicom#dicom_studyseriesinstances) in the Cloud Healthcare API conformance statement. For samples that show how to call RetrieveStudy, see [Retrieve DICOM data](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieve-dicom). + +```sql +SELECT +contentType, +data, +extensions +FROM google.healthcare.studies_study +WHERE datasetsId = '{{ datasetsId }}' +AND dicomStoresId = '{{ dicomStoresId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND studiesId = '{{ studiesId }}'; +``` diff --git a/docs/google-docs/providers/google/healthcare/studies_study_metrics/index.md b/docs/google-docs/providers/google/healthcare/studies_study_metrics/index.md index 5b1af9275b..6571812fd8 100644 --- a/docs/google-docs/providers/google/healthcare/studies_study_metrics/index.md +++ b/docs/google-docs/providers/google/healthcare/studies_study_metrics/index.md @@ -1,3 +1,4 @@ + --- title: studies_study_metrics hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - studies_study_metrics - healthcare - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an studies_study_metric resource or lists studies_study_metrics in a region ## Overview @@ -34,8 +36,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Number of instances in the study. | | | `string` | Number of series in the study. | | | `string` | Total structured storage bytes for all instances in the study. | -| | `string` | The study resource path. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}/dicomWeb/studies/{study_uid}`. | +| | `string` | The study resource path. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}/dicomWeb/studies/{study_uid}`. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | GetStudyMetrics returns metrics for a study. | + +## `SELECT` examples + +GetStudyMetrics returns metrics for a study. + +```sql +SELECT +blobStorageSizeBytes, +instanceCount, +seriesCount, +structuredStorageSizeBytes, +study +FROM google.healthcare.studies_study_metrics +WHERE datasetsId = '{{ datasetsId }}' +AND dicomStoresId = '{{ dicomStoresId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND studiesId = '{{ studiesId }}'; +``` diff --git a/docs/google-docs/providers/google/healthcare/user_data_mappings/index.md b/docs/google-docs/providers/google/healthcare/user_data_mappings/index.md index 23da1e6a93..8804e5a053 100644 --- a/docs/google-docs/providers/google/healthcare/user_data_mappings/index.md +++ b/docs/google-docs/providers/google/healthcare/user_data_mappings/index.md @@ -1,3 +1,4 @@ + --- title: user_data_mappings hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - user_data_mappings - healthcare - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an user_data_mapping resource or lists user_data_mappings in a region ## Overview
@@ -30,12 +32,13 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Resource name of the User data mapping, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/consentStores/{consent_store_id}/userDataMappings/{user_data_mapping_id}`. | +| | `string` | Resource name of the User data mapping, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/consentStores/{consent_store_id}/userDataMappings/{user_data_mapping_id}`. | | | `string` | Output only. Indicates the time when this mapping was archived. | | | `boolean` | Output only. Indicates whether this mapping is archived. | | | `string` | Required. A unique identifier for the mapped resource. | | | `array` | Attributes of the resource. Only explicitly set attributes are displayed here. Attribute definitions with defaults set implicitly apply to these User data mappings. Attributes listed here must be single valued, that is, exactly one value is specified for the field "values" in each Attribute. | | | `string` | Required. User's UUID provided by the client. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -44,5 +47,121 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new User data mapping in the parent consent store. | | | `DELETE` | | Deletes the specified User data mapping. | | | `UPDATE` | | Updates the specified User data mapping. | -| | `EXEC` | | Lists the User data mappings in the specified consent store. | | | `EXEC` | | Archives the specified User data mapping. | + +## `SELECT` examples + +Lists the User data mappings in the specified consent store. + +```sql +SELECT +name, +archiveTime, +archived, +dataId, +resourceAttributes, +userId +FROM google.healthcare.user_data_mappings +WHERE consentStoresId = '{{ consentStoresId }}' +AND datasetsId = '{{ datasetsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new user_data_mappings resource. + + + + +```sql +/*+ create */ +INSERT INTO google.healthcare.user_data_mappings ( +consentStoresId, +datasetsId, +locationsId, +projectsId, +name, +dataId, +userId, +resourceAttributes, +archived, +archiveTime +) +SELECT +'{{ consentStoresId }}', +'{{ datasetsId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ dataId }}', +'{{ userId }}', +'{{ resourceAttributes }}', +true|false, +'{{ archiveTime }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: dataId + value: '{{ dataId }}' + - name: userId + value: '{{ userId }}' + - name: resourceAttributes + value: '{{ resourceAttributes }}' + - name: archived + value: '{{ archived }}' + - name: archiveTime + value: '{{ archiveTime }}' + +``` + + + +## `UPDATE` example + +Updates a user_data_mapping only if the necessary resources are available. + +```sql +UPDATE google.healthcare.user_data_mappings +SET +name = '{{ name }}', +dataId = '{{ dataId }}', +userId = '{{ userId }}', +resourceAttributes = '{{ resourceAttributes }}', +archived = true|false, +archiveTime = '{{ archiveTime }}' +WHERE +consentStoresId = '{{ consentStoresId }}' +AND datasetsId = '{{ datasetsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND userDataMappingsId = '{{ userDataMappingsId }}'; +``` + +## `DELETE` example + +Deletes the specified user_data_mapping resource. + +```sql +DELETE FROM google.healthcare.user_data_mappings +WHERE consentStoresId = '{{ consentStoresId }}' +AND datasetsId = '{{ datasetsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND userDataMappingsId = '{{ userDataMappingsId }}'; +``` diff --git a/docs/google-docs/providers/google/iam/credentials/index.md b/docs/google-docs/providers/google/iam/credentials/index.md new file mode 100644 index 0000000000..1db5c60fd6 --- /dev/null +++ b/docs/google-docs/providers/google/iam/credentials/index.md @@ -0,0 +1,147 @@ + +--- +title: credentials +hide_title: false +hide_table_of_contents: false +keywords: + - credentials + - iam + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an credential resource or lists credentials in a region + +## Overview +
+ + + +
Namecredentials
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | Immutable. The resource name of the OauthClientCredential. Format: `projects/{project}/locations/{location}/oauthClients/{oauth_client}/credentials/{credential}` | +| | `string` | Output only. The system-generated OAuth client secret. The client secret must be stored securely. If the client secret is leaked, you must delete and re-create the client credential. To learn more, see [OAuth client and credential security risks and mitigations](https://cloud.google.com/iam/docs/workforce-oauth-app#security) | +| | `boolean` | Optional. Whether the OauthClientCredential is disabled. You cannot use a disabled OauthClientCredential. | +| | `string` | Optional. A user-specified display name of the OauthClientCredential. Cannot exceed 32 characters. | + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets an individual OauthClientCredential. | +| | `SELECT` | | Lists all OauthClientCredentials in an OauthClient. | +| | `INSERT` | | Creates a new OauthClientCredential. | +| | `DELETE` | | Deletes an OauthClientCredential. Before deleting an OauthClientCredential, it should first be disabled. | +| | `UPDATE` | | Updates an existing OauthClientCredential. | + +## `SELECT` examples + +Lists all OauthClientCredentials in an OauthClient. + +```sql +SELECT +name, +clientSecret, +disabled, +displayName +FROM google.iam.credentials +WHERE locationsId = '{{ locationsId }}' +AND oauthClientsId = '{{ oauthClientsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new credentials resource. + + + + +```sql +/*+ create */ +INSERT INTO google.iam.credentials ( +locationsId, +oauthClientsId, +projectsId, +name, +disabled, +clientSecret, +displayName +) +SELECT +'{{ locationsId }}', +'{{ oauthClientsId }}', +'{{ projectsId }}', +'{{ name }}', +true|false, +'{{ clientSecret }}', +'{{ displayName }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: disabled + value: '{{ disabled }}' + - name: clientSecret + value: '{{ clientSecret }}' + - name: displayName + value: '{{ displayName }}' + +``` + + + +## `UPDATE` example + +Updates a credential only if the necessary resources are available. + +```sql +UPDATE google.iam.credentials +SET +name = '{{ name }}', +disabled = true|false, +clientSecret = '{{ clientSecret }}', +displayName = '{{ displayName }}' +WHERE +credentialsId = '{{ credentialsId }}' +AND locationsId = '{{ locationsId }}' +AND oauthClientsId = '{{ oauthClientsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified credential resource. + +```sql +DELETE FROM google.iam.credentials +WHERE credentialsId = '{{ credentialsId }}' +AND locationsId = '{{ locationsId }}' +AND oauthClientsId = '{{ oauthClientsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/iam/iam_policies/index.md b/docs/google-docs/providers/google/iam/iam_policies/index.md new file mode 100644 index 0000000000..9085632b26 --- /dev/null +++ b/docs/google-docs/providers/google/iam/iam_policies/index.md @@ -0,0 +1,40 @@ + +--- +title: iam_policies +hide_title: false +hide_table_of_contents: false +keywords: + - iam_policies + - iam + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an iam_policy resource or lists iam_policies in a region + +## Overview + + + + +
Nameiam_policies
TypeResource
Id
+ +## Fields +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Lints, or validates, an IAM policy. Currently checks the google.iam.v1.Binding.condition field, which contains a condition expression for a role binding. Successful calls to this method always return an HTTP `200 OK` status code, even if the linter detects an issue in the IAM policy. | +| | `EXEC` | | Returns a list of services that allow you to opt into audit logs that are not generated by default. To learn more about audit logs, see the [Logging documentation](https://cloud.google.com/logging/docs/audit). | diff --git a/docs/google-docs/providers/google/iam/index.md b/docs/google-docs/providers/google/iam/index.md index 384cd4f0b5..59d61e8759 100644 --- a/docs/google-docs/providers/google/iam/index.md +++ b/docs/google-docs/providers/google/iam/index.md @@ -9,40 +9,41 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Manages identity and access control for Google Cloud resources, including the creation of service accounts, which you can use to authenticate to Google and make API calls. Enabling this API also enables the IAM Service Account Credentials API (iamcredentials.googleapis.com). However, disabling this API doesn't disable the IAM Service Account Credentials API. - +The iam service documentation. + :::info Service Summary
-total resources: 2
-total selectable resources: 2
-total methods: 7
+total resources: 14
::: -## Overview - - - - - - -
Namegoogle.iam
TypeService
TitleIdentity and Access Management (IAM) API
DescriptionManages identity and access control for Google Cloud resources, including the creation of service accounts, which you can use to authenticate to Google and make API calls. Enabling this API also enables the IAM Service Account Credentials API (iamcredentials.googleapis.com). However, disabling this API doesn't disable the IAM Service Account Credentials API.
Idiam:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/iam/keys/index.md b/docs/google-docs/providers/google/iam/keys/index.md new file mode 100644 index 0000000000..2606e23cb7 --- /dev/null +++ b/docs/google-docs/providers/google/iam/keys/index.md @@ -0,0 +1,138 @@ + +--- +title: keys +hide_title: false +hide_table_of_contents: false +keywords: + - keys + - iam + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an key resource or lists keys in a region + +## Overview + + + + +
Namekeys
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | Output only. The resource name of the key. | +| | `string` | Output only. The time after which the key will be permanently deleted and cannot be recovered. Note that the key may get purged before this time if the total limit of keys per provider is exceeded. | +| | `object` | Represents a public key data along with its format. | +| | `string` | Output only. The state of the key. | +| | `string` | Required. The purpose of the key. | + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets a WorkforcePoolProviderKey. | +| | `SELECT` | | Lists all non-deleted WorkforcePoolProviderKeys in a WorkforcePoolProvider. If `show_deleted` is set to `true`, then deleted keys are also listed. | +| | `INSERT` | | Creates a new WorkforcePoolProviderKey in a WorkforcePoolProvider. | +| | `DELETE` | | Deletes a WorkforcePoolProviderKey. You can undelete a key for 30 days. After 30 days, deletion is permanent. | +| | `EXEC` | | Disable a ServiceAccountKey. A disabled service account key can be re-enabled with EnableServiceAccountKey. | +| | `EXEC` | | Enable a ServiceAccountKey. | +| | `EXEC` | | Undeletes a WorkforcePoolProviderKey, as long as it was deleted fewer than 30 days ago. | +| | `EXEC` | | Uploads the public key portion of a key pair that you manage, and associates the public key with a ServiceAccount. After you upload the public key, you can use the private key from the key pair as a service account key. | + +## `SELECT` examples + +Lists all non-deleted WorkforcePoolProviderKeys in a WorkforcePoolProvider. If `show_deleted` is set to `true`, then deleted keys are also listed. + +```sql +SELECT +name, +expireTime, +keyData, +state, +use +FROM google.iam.keys +WHERE locationsId = '{{ locationsId }}' +AND providersId = '{{ providersId }}' +AND workforcePoolsId = '{{ workforcePoolsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new keys resource. + + + + +```sql +/*+ create */ +INSERT INTO google.iam.keys ( +locationsId, +providersId, +workforcePoolsId, +name, +keyData, +state, +use, +expireTime +) +SELECT +'{{ locationsId }}', +'{{ providersId }}', +'{{ workforcePoolsId }}', +'{{ name }}', +'{{ keyData }}', +'{{ state }}', +'{{ use }}', +'{{ expireTime }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: keyData + value: '{{ keyData }}' + - name: state + value: '{{ state }}' + - name: use + value: '{{ use }}' + - name: expireTime + value: '{{ expireTime }}' + +``` + + + +## `DELETE` example + +Deletes the specified key resource. + +```sql +DELETE FROM google.iam.keys +WHERE keysId = '{{ keysId }}' +AND locationsId = '{{ locationsId }}' +AND providersId = '{{ providersId }}' +AND workforcePoolsId = '{{ workforcePoolsId }}'; +``` diff --git a/docs/google-docs/providers/google/iam/oauth_clients/index.md b/docs/google-docs/providers/google/iam/oauth_clients/index.md new file mode 100644 index 0000000000..22dd5d7586 --- /dev/null +++ b/docs/google-docs/providers/google/iam/oauth_clients/index.md @@ -0,0 +1,192 @@ + +--- +title: oauth_clients +hide_title: false +hide_table_of_contents: false +keywords: + - oauth_clients + - iam + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an oauth_client resource or lists oauth_clients in a region + +## Overview + + + + +
Nameoauth_clients
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | Immutable. The resource name of the OauthClient. Format:`projects/{project}/locations/{location}/oauthClients/{oauth_client}`. | +| | `string` | Optional. A user-specified description of the OauthClient. Cannot exceed 256 characters. | +| | `array` | Required. The list of OAuth grant types is allowed for the OauthClient. | +| | `array` | Required. The list of redirect uris that is allowed to redirect back when authorization process is completed. | +| | `array` | Required. The list of scopes that the OauthClient is allowed to request during OAuth flows. The following scopes are supported: * `https://www.googleapis.com/auth/cloud-platform`: See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account. | +| | `string` | Output only. The system-generated OauthClient id. | +| | `string` | Immutable. The type of OauthClient. Either public or private. For private clients, the client secret can be managed using the dedicated OauthClientCredential resource. | +| | `boolean` | Optional. Whether the OauthClient is disabled. You cannot use a disabled OAuth client. | +| | `string` | Optional. A user-specified display name of the OauthClient. Cannot exceed 32 characters. | +| | `string` | Output only. Time after which the OauthClient will be permanently purged and cannot be recovered. | +| | `string` | Output only. The state of the OauthClient. | + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets an individual OauthClient. | +| | `SELECT` | | Lists all non-deleted OauthClients in a project. If `show_deleted` is set to `true`, then deleted OauthClients are also listed. | +| | `INSERT` | | Creates a new OauthClient. You cannot reuse the name of a deleted OauthClient until 30 days after deletion. | +| | `DELETE` | | Deletes an OauthClient. You cannot use a deleted OauthClient. However, deletion does not revoke access tokens that have already been issued. They continue to grant access. Deletion does revoke refresh tokens that have already been issued. They cannot be used to renew an access token. If the OauthClient is undeleted, and the refresh tokens are not expired, they are valid for token exchange again. You can undelete an OauthClient for 30 days. After 30 days, deletion is permanent. You cannot update deleted OauthClients. However, you can view and list them. | +| | `UPDATE` | | Updates an existing OauthClient. | +| | `EXEC` | | Undeletes an OauthClient, as long as it was deleted fewer than 30 days ago. | + +## `SELECT` examples + +Lists all non-deleted OauthClients in a project. If `show_deleted` is set to `true`, then deleted OauthClients are also listed. + +```sql +SELECT +name, +description, +allowedGrantTypes, +allowedRedirectUris, +allowedScopes, +clientId, +clientType, +disabled, +displayName, +expireTime, +state +FROM google.iam.oauth_clients +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new oauth_clients resource. + + + + +```sql +/*+ create */ +INSERT INTO google.iam.oauth_clients ( +locationsId, +projectsId, +name, +state, +disabled, +clientId, +displayName, +description, +clientType, +allowedGrantTypes, +allowedScopes, +allowedRedirectUris, +expireTime +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ state }}', +true|false, +'{{ clientId }}', +'{{ displayName }}', +'{{ description }}', +'{{ clientType }}', +'{{ allowedGrantTypes }}', +'{{ allowedScopes }}', +'{{ allowedRedirectUris }}', +'{{ expireTime }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: state + value: '{{ state }}' + - name: disabled + value: '{{ disabled }}' + - name: clientId + value: '{{ clientId }}' + - name: displayName + value: '{{ displayName }}' + - name: description + value: '{{ description }}' + - name: clientType + value: '{{ clientType }}' + - name: allowedGrantTypes + value: '{{ allowedGrantTypes }}' + - name: allowedScopes + value: '{{ allowedScopes }}' + - name: allowedRedirectUris + value: '{{ allowedRedirectUris }}' + - name: expireTime + value: '{{ expireTime }}' + +``` + + + +## `UPDATE` example + +Updates a oauth_client only if the necessary resources are available. + +```sql +UPDATE google.iam.oauth_clients +SET +name = '{{ name }}', +state = '{{ state }}', +disabled = true|false, +clientId = '{{ clientId }}', +displayName = '{{ displayName }}', +description = '{{ description }}', +clientType = '{{ clientType }}', +allowedGrantTypes = '{{ allowedGrantTypes }}', +allowedScopes = '{{ allowedScopes }}', +allowedRedirectUris = '{{ allowedRedirectUris }}', +expireTime = '{{ expireTime }}' +WHERE +locationsId = '{{ locationsId }}' +AND oauthClientsId = '{{ oauthClientsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified oauth_client resource. + +```sql +DELETE FROM google.iam.oauth_clients +WHERE locationsId = '{{ locationsId }}' +AND oauthClientsId = '{{ oauthClientsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/iam/operations/index.md b/docs/google-docs/providers/google/iam/operations/index.md index 119c46049a..e1b2c7d0c0 100644 --- a/docs/google-docs/providers/google/iam/operations/index.md +++ b/docs/google-docs/providers/google/iam/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - iam - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview @@ -30,12 +32,31 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | + +## `SELECT` examples + +Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.iam.operations +WHERE locationsId = '{{ locationsId }}' +AND operationsId = '{{ operationsId }}' +AND subjectsId = '{{ subjectsId }}' +AND workforcePoolsId = '{{ workforcePoolsId }}'; +``` diff --git a/docs/google-docs/providers/google/iam/permissions/index.md b/docs/google-docs/providers/google/iam/permissions/index.md new file mode 100644 index 0000000000..de30d7e0fb --- /dev/null +++ b/docs/google-docs/providers/google/iam/permissions/index.md @@ -0,0 +1,39 @@ + +--- +title: permissions +hide_title: false +hide_table_of_contents: false +keywords: + - permissions + - iam + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an permission resource or lists permissions in a region + +## Overview +
+ + + +
Namepermissions
TypeResource
Id
+ +## Fields +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Lists every permission that you can test on a resource. A permission is testable if you can check whether a principal has that permission on the resource. | diff --git a/docs/google-docs/providers/google/iam/providers/index.md b/docs/google-docs/providers/google/iam/providers/index.md new file mode 100644 index 0000000000..64c0e7e17a --- /dev/null +++ b/docs/google-docs/providers/google/iam/providers/index.md @@ -0,0 +1,192 @@ + +--- +title: providers +hide_title: false +hide_table_of_contents: false +keywords: + - providers + - iam + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an provider resource or lists providers in a region + +## Overview + + + + +
Nameproviders
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | Output only. The resource name of the provider. Format: `locations/{location}/workforcePools/{workforce_pool_id}/providers/{provider_id}` | +| | `string` | A user-specified description of the provider. Cannot exceed 256 characters. | +| | `string` | A [Common Expression Language](https://opensource.google/projects/cel) expression, in plain text, to restrict what otherwise valid authentication credentials issued by the provider should not be accepted. The expression must output a boolean representing whether to allow the federation. The following keywords may be referenced in the expressions: * `assertion`: JSON representing the authentication credential issued by the provider. * `google`: The Google attributes mapped from the assertion in the `attribute_mappings`. `google.profile_photo`, `google.display_name` and `google.posix_username` are not supported. * `attribute`: The custom attributes mapped from the assertion in the `attribute_mappings`. The maximum length of the attribute condition expression is 4096 characters. If unspecified, all valid authentication credentials will be accepted. The following example shows how to only allow credentials with a mapped `google.groups` value of `admins`: ``` "'admins' in google.groups" ``` | +| | `object` | Required. Maps attributes from the authentication credentials issued by an external identity provider to Google Cloud attributes, such as `subject` and `segment`. Each key must be a string specifying the Google Cloud IAM attribute to map to. The following keys are supported: * `google.subject`: The principal IAM is authenticating. You can reference this value in IAM bindings. This is also the subject that appears in Cloud Logging logs. This is a required field and the mapped subject cannot exceed 127 bytes. * `google.groups`: Groups the authenticating user belongs to. You can grant groups access to resources using an IAM `principalSet` binding; access applies to all members of the group. * `google.display_name`: The name of the authenticated user. This is an optional field and the mapped display name cannot exceed 100 bytes. If not set, `google.subject` will be displayed instead. This attribute cannot be referenced in IAM bindings. * `google.profile_photo`: The URL that specifies the authenticated user's thumbnail photo. This is an optional field. When set, the image will be visible as the user's profile picture. If not set, a generic user icon will be displayed instead. This attribute cannot be referenced in IAM bindings. * `google.posix_username`: The Linux username used by OS Login. This is an optional field and the mapped POSIX username cannot exceed 32 characters, The key must match the regex "^a-zA-Z0-9._{0,31}$". This attribute cannot be referenced in IAM bindings. You can also provide custom attributes by specifying `attribute.{custom_attribute}`, where {custom_attribute} is the name of the custom attribute to be mapped. You can define a maximum of 50 custom attributes. The maximum length of a mapped attribute key is 100 characters, and the key may only contain the characters [a-z0-9_]. You can reference these attributes in IAM policies to define fine-grained access for a workforce pool to Google Cloud resources. For example: * `google.subject`: `principal://iam.googleapis.com/locations/global/workforcePools/{pool}/subject/{value}` * `google.groups`: `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool}/group/{value}` * `attribute.{custom_attribute}`: `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool}/attribute.{custom_attribute}/{value}` Each value must be a [Common Expression Language] (https://opensource.google/projects/cel) function that maps an identity provider credential to the normalized attribute specified by the corresponding map key. You can use the `assertion` keyword in the expression to access a JSON representation of the authentication credential issued by the provider. The maximum length of an attribute mapping expression is 2048 characters. When evaluated, the total size of all mapped attributes must not exceed 4KB. For OIDC providers, you must supply a custom mapping that includes the `google.subject` attribute. For example, the following maps the `sub` claim of the incoming credential to the `subject` attribute on a Google token: ``` {"google.subject": "assertion.sub"} ``` | +| | `boolean` | Disables the workforce pool provider. You cannot use a disabled provider to exchange tokens. However, existing tokens still grant access. | +| | `string` | A user-specified display name for the provider. Cannot exceed 32 characters. | +| | `string` | Output only. Time after which the workload pool provider will be permanently purged and cannot be recovered. | +| | `object` | Represents the OAuth 2.0 client credential configuration for retrieving additional user attributes that are not present in the initial authentication credentials from the identity provider, e.g. groups. See https://datatracker.ietf.org/doc/html/rfc6749#section-4.4 for more details on client credentials grant flow. | +| | `object` | Represents an OpenId Connect 1.0 identity provider. | +| | `object` | Represents a SAML identity provider. | +| | `string` | Output only. The state of the provider. | + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets an individual WorkforcePoolProvider. | +| | `SELECT` | | Lists all non-deleted WorkforcePoolProviders in a WorkforcePool. If `show_deleted` is set to `true`, then deleted providers are also listed. | +| | `INSERT` | | Creates a new WorkforcePoolProvider in a WorkforcePool. You cannot reuse the name of a deleted provider until 30 days after deletion. | +| | `DELETE` | | Deletes a WorkforcePoolProvider. Deleting a provider does not revoke credentials that have already been issued; they continue to grant access. You can undelete a provider for 30 days. After 30 days, deletion is permanent. You cannot update deleted providers. However, you can view and list them. | +| | `UPDATE` | | Updates an existing WorkforcePoolProvider. | +| | `EXEC` | | Undeletes a WorkforcePoolProvider, as long as it was deleted fewer than 30 days ago. | + +## `SELECT` examples + +Lists all non-deleted WorkforcePoolProviders in a WorkforcePool. If `show_deleted` is set to `true`, then deleted providers are also listed. + +```sql +SELECT +name, +description, +attributeCondition, +attributeMapping, +disabled, +displayName, +expireTime, +extraAttributesOauth2Client, +oidc, +saml, +state +FROM google.iam.providers +WHERE locationsId = '{{ locationsId }}' +AND workforcePoolsId = '{{ workforcePoolsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new providers resource. + + + + +```sql +/*+ create */ +INSERT INTO google.iam.providers ( +locationsId, +workforcePoolsId, +name, +displayName, +description, +state, +disabled, +attributeMapping, +attributeCondition, +saml, +oidc, +expireTime, +extraAttributesOauth2Client +) +SELECT +'{{ locationsId }}', +'{{ workforcePoolsId }}', +'{{ name }}', +'{{ displayName }}', +'{{ description }}', +'{{ state }}', +true|false, +'{{ attributeMapping }}', +'{{ attributeCondition }}', +'{{ saml }}', +'{{ oidc }}', +'{{ expireTime }}', +'{{ extraAttributesOauth2Client }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: description + value: '{{ description }}' + - name: state + value: '{{ state }}' + - name: disabled + value: '{{ disabled }}' + - name: attributeMapping + value: '{{ attributeMapping }}' + - name: attributeCondition + value: '{{ attributeCondition }}' + - name: saml + value: '{{ saml }}' + - name: oidc + value: '{{ oidc }}' + - name: expireTime + value: '{{ expireTime }}' + - name: extraAttributesOauth2Client + value: '{{ extraAttributesOauth2Client }}' + +``` + + + +## `UPDATE` example + +Updates a provider only if the necessary resources are available. + +```sql +UPDATE google.iam.providers +SET +name = '{{ name }}', +displayName = '{{ displayName }}', +description = '{{ description }}', +state = '{{ state }}', +disabled = true|false, +attributeMapping = '{{ attributeMapping }}', +attributeCondition = '{{ attributeCondition }}', +saml = '{{ saml }}', +oidc = '{{ oidc }}', +expireTime = '{{ expireTime }}', +extraAttributesOauth2Client = '{{ extraAttributesOauth2Client }}' +WHERE +locationsId = '{{ locationsId }}' +AND providersId = '{{ providersId }}' +AND workforcePoolsId = '{{ workforcePoolsId }}'; +``` + +## `DELETE` example + +Deletes the specified provider resource. + +```sql +DELETE FROM google.iam.providers +WHERE locationsId = '{{ locationsId }}' +AND providersId = '{{ providersId }}' +AND workforcePoolsId = '{{ workforcePoolsId }}'; +``` diff --git a/docs/google-docs/providers/google/iam/roles/index.md b/docs/google-docs/providers/google/iam/roles/index.md new file mode 100644 index 0000000000..0a2e0cb274 --- /dev/null +++ b/docs/google-docs/providers/google/iam/roles/index.md @@ -0,0 +1,140 @@ + +--- +title: roles +hide_title: false +hide_table_of_contents: false +keywords: + - roles + - iam + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an role resource or lists roles in a region + +## Overview + + + + +
Nameroles
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | The name of the role. When `Role` is used in `CreateRole`, the role name must not be set. When `Role` is used in output and other input such as `UpdateRole`, the role name is the complete path. For example, `roles/logging.viewer` for predefined roles, `organizations/{ORGANIZATION_ID}/roles/myRole` for organization-level custom roles, and `projects/{PROJECT_ID}/roles/myRole` for project-level custom roles. | +| | `string` | Optional. A human-readable description for the role. | +| | `boolean` | The current deleted state of the role. This field is read only. It will be ignored in calls to CreateRole and UpdateRole. | +| | `string` | Used to perform a consistent read-modify-write. | +| | `array` | The names of the permissions this role grants when bound in an IAM policy. | +| | `string` | The current launch stage of the role. If the `ALPHA` launch stage has been selected for a role, the `stage` field will not be included in the returned definition for the role. | +| | `string` | Optional. A human-readable title for the role. Typically this is limited to 100 UTF-8 bytes. | + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets the definition of a Role. | +| | `SELECT` | | Lists every predefined Role that IAM supports, or every custom role that is defined for an organization or project. | +| | `INSERT` | | Creates a new custom Role. | +| | `DELETE` | | Deletes a custom Role. When you delete a custom role, the following changes occur immediately: * You cannot bind a principal to the custom role in an IAM Policy. * Existing bindings to the custom role are not changed, but they have no effect. * By default, the response from ListRoles does not include the custom role. A deleted custom role still counts toward the [custom role limit](https://cloud.google.com/iam/help/limits) until it is permanently deleted. You have 7 days to undelete the custom role. After 7 days, the following changes occur: * The custom role is permanently deleted and cannot be recovered. * If an IAM policy contains a binding to the custom role, the binding is permanently removed. * The custom role no longer counts toward your custom role limit. | +| | `UPDATE` | | Updates the definition of a custom Role. | +| | `EXEC` | | Lists roles that can be granted on a Google Cloud resource. A role is grantable if the IAM policy for the resource can contain bindings to the role. | +| | `EXEC` | | Undeletes a custom Role. | + +## `SELECT` examples + +Lists every predefined Role that IAM supports, or every custom role that is defined for an organization or project. + +```sql +SELECT +name, +description, +deleted, +etag, +includedPermissions, +stage, +title +FROM google.iam.roles +WHERE organizationsId = '{{ organizationsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new roles resource. + + + + +```sql +/*+ create */ +INSERT INTO google.iam.roles ( +organizationsId, +roleId, +role +) +SELECT +'{{ organizationsId }}', +'{{ roleId }}', +'{{ role }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: roleId + value: '{{ roleId }}' + - name: role + value: '{{ role }}' + +``` + + + +## `UPDATE` example + +Updates a role only if the necessary resources are available. + +```sql +UPDATE google.iam.roles +SET +name = '{{ name }}', +title = '{{ title }}', +description = '{{ description }}', +includedPermissions = '{{ includedPermissions }}', +stage = '{{ stage }}', +etag = '{{ etag }}', +deleted = true|false +WHERE +organizationsId = '{{ organizationsId }}' +AND rolesId = '{{ rolesId }}'; +``` + +## `DELETE` example + +Deletes the specified role resource. + +```sql +DELETE FROM google.iam.roles +WHERE organizationsId = '{{ organizationsId }}' +AND rolesId = '{{ rolesId }}'; +``` diff --git a/docs/google-docs/providers/google/iam/service_accounts/index.md b/docs/google-docs/providers/google/iam/service_accounts/index.md new file mode 100644 index 0000000000..932c25f8fd --- /dev/null +++ b/docs/google-docs/providers/google/iam/service_accounts/index.md @@ -0,0 +1,143 @@ + +--- +title: service_accounts +hide_title: false +hide_table_of_contents: false +keywords: + - service_accounts + - iam + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an service_account resource or lists service_accounts in a region + +## Overview + + + + +
Nameservice_accounts
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | The resource name of the service account. Use one of the following formats: * `projects/{PROJECT_ID}/serviceAccounts/{EMAIL_ADDRESS}` * `projects/{PROJECT_ID}/serviceAccounts/{UNIQUE_ID}` As an alternative, you can use the `-` wildcard character instead of the project ID: * `projects/-/serviceAccounts/{EMAIL_ADDRESS}` * `projects/-/serviceAccounts/{UNIQUE_ID}` When possible, avoid using the `-` wildcard character, because it can cause response messages to contain misleading error codes. For example, if you try to access the service account `projects/-/serviceAccounts/fake@example.com`, which does not exist, the response contains an HTTP `403 Forbidden` error instead of a `404 Not Found` error. | +| | `string` | Optional. A user-specified, human-readable description of the service account. The maximum length is 256 UTF-8 bytes. | +| | `boolean` | Output only. Whether the service account is disabled. | +| | `string` | Optional. A user-specified, human-readable name for the service account. The maximum length is 100 UTF-8 bytes. | +| | `string` | Output only. The email address of the service account. | +| | `string` | Deprecated. Do not use. | +| | `string` | Output only. The OAuth 2.0 client ID for the service account. | +| | `string` | Output only. The ID of the project that owns the service account. | +| | `string` | Output only. The unique, stable numeric ID for the service account. Each service account retains its unique ID even if you delete the service account. For example, if you delete a service account, then create a new service account with the same name, the new service account has a different unique ID than the deleted service account. | + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets a ServiceAccount. | +| | `SELECT` | | Lists every ServiceAccount that belongs to a specific project. | +| | `INSERT` | | Creates a ServiceAccount. | +| | `DELETE` | | Deletes a ServiceAccount. **Warning:** After you delete a service account, you might not be able to undelete it. If you know that you need to re-enable the service account in the future, use DisableServiceAccount instead. If you delete a service account, IAM permanently removes the service account 30 days later. Google Cloud cannot recover the service account after it is permanently removed, even if you file a support request. To help avoid unplanned outages, we recommend that you disable the service account before you delete it. Use DisableServiceAccount to disable the service account, then wait at least 24 hours and watch for unintended consequences. If there are no unintended consequences, you can delete the service account. | +| | `UPDATE` | | Patches a ServiceAccount. | +| | `EXEC` | | Disables a ServiceAccount immediately. If an application uses the service account to authenticate, that application can no longer call Google APIs or access Google Cloud resources. Existing access tokens for the service account are rejected, and requests for new access tokens will fail. To re-enable the service account, use EnableServiceAccount. After you re-enable the service account, its existing access tokens will be accepted, and you can request new access tokens. To help avoid unplanned outages, we recommend that you disable the service account before you delete it. Use this method to disable the service account, then wait at least 24 hours and watch for unintended consequences. If there are no unintended consequences, you can delete the service account with DeleteServiceAccount. | +| | `EXEC` | | Enables a ServiceAccount that was disabled by DisableServiceAccount. If the service account is already enabled, then this method has no effect. If the service account was disabled by other means—for example, if Google disabled the service account because it was compromised—you cannot use this method to enable the service account. | +| | `EXEC` | | **Note:** This method is deprecated. Use the [signBlob](https://cloud.google.com/iam/help/rest-credentials/v1/projects.serviceAccounts/signBlob) method in the IAM Service Account Credentials API instead. If you currently use this method, see the [migration guide](https://cloud.google.com/iam/help/credentials/migrate-api) for instructions. Signs a blob using the system-managed private key for a ServiceAccount. | +| | `EXEC` | | **Note:** This method is deprecated. Use the [signJwt](https://cloud.google.com/iam/help/rest-credentials/v1/projects.serviceAccounts/signJwt) method in the IAM Service Account Credentials API instead. If you currently use this method, see the [migration guide](https://cloud.google.com/iam/help/credentials/migrate-api) for instructions. Signs a JSON Web Token (JWT) using the system-managed private key for a ServiceAccount. | +| | `EXEC` | | Restores a deleted ServiceAccount. **Important:** It is not always possible to restore a deleted service account. Use this method only as a last resort. After you delete a service account, IAM permanently removes the service account 30 days later. There is no way to restore a deleted service account that has been permanently removed. | +| | `EXEC` | | **Note:** We are in the process of deprecating this method. Use PatchServiceAccount instead. Updates a ServiceAccount. You can update only the `display_name` field. | + +## `SELECT` examples + +Lists every ServiceAccount that belongs to a specific project. + +```sql +SELECT +name, +description, +disabled, +displayName, +email, +etag, +oauth2ClientId, +projectId, +uniqueId +FROM google.iam.service_accounts +WHERE projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new service_accounts resource. + + + + +```sql +/*+ create */ +INSERT INTO google.iam.service_accounts ( +projectsId, +accountId, +serviceAccount +) +SELECT +'{{ projectsId }}', +'{{ accountId }}', +'{{ serviceAccount }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: accountId + value: '{{ accountId }}' + - name: serviceAccount + value: '{{ serviceAccount }}' + +``` + + + +## `UPDATE` example + +Updates a service_account only if the necessary resources are available. + +```sql +UPDATE google.iam.service_accounts +SET +serviceAccount = '{{ serviceAccount }}', +updateMask = '{{ updateMask }}' +WHERE +projectsId = '{{ projectsId }}' +AND serviceAccountsId = '{{ serviceAccountsId }}'; +``` + +## `DELETE` example + +Deletes the specified service_account resource. + +```sql +DELETE FROM google.iam.service_accounts +WHERE projectsId = '{{ projectsId }}' +AND serviceAccountsId = '{{ serviceAccountsId }}'; +``` diff --git a/docs/google-docs/providers/google/iam/service_accounts_iam_policies/index.md b/docs/google-docs/providers/google/iam/service_accounts_iam_policies/index.md new file mode 100644 index 0000000000..4e311d0891 --- /dev/null +++ b/docs/google-docs/providers/google/iam/service_accounts_iam_policies/index.md @@ -0,0 +1,58 @@ + +--- +title: service_accounts_iam_policies +hide_title: false +hide_table_of_contents: false +keywords: + - service_accounts_iam_policies + - iam + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an service_accounts_iam_policy resource or lists service_accounts_iam_policies in a region + +## Overview + + + + +
Nameservice_accounts_iam_policies
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets the IAM policy that is attached to a ServiceAccount. This IAM policy specifies which principals have access to the service account. This method does not tell you whether the service account has been granted any roles on other resources. To check whether a service account has role grants on a resource, use the `getIamPolicy` method for that resource. For example, to view the role grants for a project, call the Resource Manager API's [projects.getIamPolicy](https://cloud.google.com/resource-manager/reference/rest/v1/projects/getIamPolicy) method. | +| | `EXEC` | | Sets the IAM policy that is attached to a ServiceAccount. Use this method to grant or revoke access to the service account. For example, you could grant a principal the ability to impersonate the service account. This method does not enable the service account to access other resources. To grant roles to a service account on a resource, follow these steps: 1. Call the resource's `getIamPolicy` method to get its current IAM policy. 2. Edit the policy so that it binds the service account to an IAM role for the resource. 3. Call the resource's `setIamPolicy` method to update its IAM policy. For detailed instructions, see [Manage access to project, folders, and organizations](https://cloud.google.com/iam/help/service-accounts/granting-access-to-service-accounts) or [Manage access to other resources](https://cloud.google.com/iam/help/access/manage-other-resources). | +| | `EXEC` | | Tests whether the caller has the specified permissions on a ServiceAccount. | + +## `SELECT` examples + +Gets the IAM policy that is attached to a ServiceAccount. This IAM policy specifies which principals have access to the service account. This method does not tell you whether the service account has been granted any roles on other resources. To check whether a service account has role grants on a resource, use the `getIamPolicy` method for that resource. For example, to view the role grants for a project, call the Resource Manager API's [projects.getIamPolicy](https://cloud.google.com/resource-manager/reference/rest/v1/projects/getIamPolicy) method. + +```sql +SELECT +condition, +members, +role +FROM google.iam.service_accounts_iam_policies +WHERE projectsId = '{{ projectsId }}' +AND serviceAccountsId = '{{ serviceAccountsId }}'; +``` diff --git a/docs/google-docs/providers/google/iam/subjects/index.md b/docs/google-docs/providers/google/iam/subjects/index.md new file mode 100644 index 0000000000..1f7f78b22f --- /dev/null +++ b/docs/google-docs/providers/google/iam/subjects/index.md @@ -0,0 +1,51 @@ + +--- +title: subjects +hide_title: false +hide_table_of_contents: false +keywords: + - subjects + - iam + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an subject resource or lists subjects in a region + +## Overview + + + + +
Namesubjects
TypeResource
Id
+ +## Fields +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `DELETE` | | Deletes a WorkforcePoolSubject. Subject must not already be in a deleted state. A WorkforcePoolSubject is automatically created the first time an external credential is exchanged for a Google Cloud credential using a mapped `google.subject` attribute. There is no endpoint to manually create a WorkforcePoolSubject. For 30 days after a WorkforcePoolSubject is deleted, using the same `google.subject` attribute in token exchanges with Google Cloud STS fails. Call UndeleteWorkforcePoolSubject to undelete a WorkforcePoolSubject that has been deleted, within within 30 days of deleting it. After 30 days, the WorkforcePoolSubject is permanently deleted. At this point, a token exchange with Google Cloud STS that uses the same mapped `google.subject` attribute automatically creates a new WorkforcePoolSubject that is unrelated to the previously deleted WorkforcePoolSubject but has the same `google.subject` value. | +| | `EXEC` | | Undeletes a WorkforcePoolSubject, as long as it was deleted fewer than 30 days ago. | + +## `DELETE` example + +Deletes the specified subject resource. + +```sql +DELETE FROM google.iam.subjects +WHERE locationsId = '{{ locationsId }}' +AND subjectsId = '{{ subjectsId }}' +AND workforcePoolsId = '{{ workforcePoolsId }}'; +``` diff --git a/docs/google-docs/providers/google/iam/workforce_pools/index.md b/docs/google-docs/providers/google/iam/workforce_pools/index.md new file mode 100644 index 0000000000..8c9732a32a --- /dev/null +++ b/docs/google-docs/providers/google/iam/workforce_pools/index.md @@ -0,0 +1,173 @@ + +--- +title: workforce_pools +hide_title: false +hide_table_of_contents: false +keywords: + - workforce_pools + - iam + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an workforce_pool resource or lists workforce_pools in a region + +## Overview + + + + +
Nameworkforce_pools
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | Output only. The resource name of the pool. Format: `locations/{location}/workforcePools/{workforce_pool_id}` | +| | `string` | A user-specified description of the pool. Cannot exceed 256 characters. | +| | `object` | Access related restrictions on the workforce pool. | +| | `boolean` | Disables the workforce pool. You cannot use a disabled pool to exchange tokens, or use existing tokens to access resources. If the pool is re-enabled, existing tokens grant access again. | +| | `string` | A user-specified display name of the pool in Google Cloud Console. Cannot exceed 32 characters. | +| | `string` | Output only. Time after which the workforce pool will be permanently purged and cannot be recovered. | +| | `string` | Immutable. The resource name of the parent. Format: `organizations/{org-id}`. | +| | `string` | Duration that the Google Cloud access tokens, console sign-in sessions, and `gcloud` sign-in sessions from this pool are valid. Must be greater than 15 minutes (900s) and less than 12 hours (43200s). If `session_duration` is not configured, minted credentials have a default duration of one hour (3600s). For SAML providers, the lifetime of the token is the minimum of the `session_duration` and the `SessionNotOnOrAfter` claim in the SAML assertion. | +| | `string` | Output only. The state of the pool. | + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets an individual WorkforcePool. | +| | `SELECT` | | Lists all non-deleted WorkforcePools under the specified parent. If `show_deleted` is set to `true`, then deleted pools are also listed. | +| | `INSERT` | | Creates a new WorkforcePool. You cannot reuse the name of a deleted pool until 30 days after deletion. | +| | `DELETE` | | Deletes a WorkforcePool. You cannot use a deleted WorkforcePool to exchange external credentials for Google Cloud credentials. However, deletion does not revoke credentials that have already been issued. Credentials issued for a deleted pool do not grant access to resources. If the pool is undeleted, and the credentials are not expired, they grant access again. You can undelete a pool for 30 days. After 30 days, deletion is permanent. You cannot update deleted pools. However, you can view and list them. | +| | `UPDATE` | | Updates an existing WorkforcePool. | +| | `EXEC` | | Undeletes a WorkforcePool, as long as it was deleted fewer than 30 days ago. | + +## `SELECT` examples + +Lists all non-deleted WorkforcePools under the specified parent. If `show_deleted` is set to `true`, then deleted pools are also listed. + +```sql +SELECT +name, +description, +accessRestrictions, +disabled, +displayName, +expireTime, +parent, +sessionDuration, +state +FROM google.iam.workforce_pools +WHERE locationsId = '{{ locationsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new workforce_pools resource. + + + + +```sql +/*+ create */ +INSERT INTO google.iam.workforce_pools ( +locationsId, +name, +parent, +displayName, +description, +state, +disabled, +sessionDuration, +expireTime, +accessRestrictions +) +SELECT +'{{ locationsId }}', +'{{ name }}', +'{{ parent }}', +'{{ displayName }}', +'{{ description }}', +'{{ state }}', +true|false, +'{{ sessionDuration }}', +'{{ expireTime }}', +'{{ accessRestrictions }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: parent + value: '{{ parent }}' + - name: displayName + value: '{{ displayName }}' + - name: description + value: '{{ description }}' + - name: state + value: '{{ state }}' + - name: disabled + value: '{{ disabled }}' + - name: sessionDuration + value: '{{ sessionDuration }}' + - name: expireTime + value: '{{ expireTime }}' + - name: accessRestrictions + value: '{{ accessRestrictions }}' + +``` + + + +## `UPDATE` example + +Updates a workforce_pool only if the necessary resources are available. + +```sql +UPDATE google.iam.workforce_pools +SET +name = '{{ name }}', +parent = '{{ parent }}', +displayName = '{{ displayName }}', +description = '{{ description }}', +state = '{{ state }}', +disabled = true|false, +sessionDuration = '{{ sessionDuration }}', +expireTime = '{{ expireTime }}', +accessRestrictions = '{{ accessRestrictions }}' +WHERE +locationsId = '{{ locationsId }}' +AND workforcePoolsId = '{{ workforcePoolsId }}'; +``` + +## `DELETE` example + +Deletes the specified workforce_pool resource. + +```sql +DELETE FROM google.iam.workforce_pools +WHERE locationsId = '{{ locationsId }}' +AND workforcePoolsId = '{{ workforcePoolsId }}'; +``` diff --git a/docs/google-docs/providers/google/iam/workforce_pools_iam_policies/index.md b/docs/google-docs/providers/google/iam/workforce_pools_iam_policies/index.md new file mode 100644 index 0000000000..1de7027f27 --- /dev/null +++ b/docs/google-docs/providers/google/iam/workforce_pools_iam_policies/index.md @@ -0,0 +1,58 @@ + +--- +title: workforce_pools_iam_policies +hide_title: false +hide_table_of_contents: false +keywords: + - workforce_pools_iam_policies + - iam + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an workforce_pools_iam_policy resource or lists workforce_pools_iam_policies in a region + +## Overview + + + + +
Nameworkforce_pools_iam_policies
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets IAM policies on a WorkforcePool. | +| | `EXEC` | | Sets IAM policies on a WorkforcePool. | +| | `EXEC` | | Returns the caller's permissions on the WorkforcePool. If the pool doesn't exist, this call returns an empty set of permissions. It doesn't return a `NOT_FOUND` error. | + +## `SELECT` examples + +Gets IAM policies on a WorkforcePool. + +```sql +SELECT +condition, +members, +role +FROM google.iam.workforce_pools_iam_policies +WHERE locationsId = '{{ locationsId }}' +AND workforcePoolsId = '{{ workforcePoolsId }}'; +``` diff --git a/docs/google-docs/providers/google/iam/workload_identity_pools/index.md b/docs/google-docs/providers/google/iam/workload_identity_pools/index.md new file mode 100644 index 0000000000..9b5c68070f --- /dev/null +++ b/docs/google-docs/providers/google/iam/workload_identity_pools/index.md @@ -0,0 +1,157 @@ + +--- +title: workload_identity_pools +hide_title: false +hide_table_of_contents: false +keywords: + - workload_identity_pools + - iam + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an workload_identity_pool resource or lists workload_identity_pools in a region + +## Overview + + + + +
Nameworkload_identity_pools
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | Output only. The resource name of the pool. | +| | `string` | A description of the pool. Cannot exceed 256 characters. | +| | `boolean` | Whether the pool is disabled. You cannot use a disabled pool to exchange tokens, or use existing tokens to access resources. If the pool is re-enabled, existing tokens grant access again. | +| | `string` | A display name for the pool. Cannot exceed 32 characters. | +| | `string` | Output only. Time after which the workload identity pool will be permanently purged and cannot be recovered. | +| | `string` | Output only. The state of the pool. | + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets an individual WorkloadIdentityPool. | +| | `SELECT` | | Lists all non-deleted WorkloadIdentityPools in a project. If `show_deleted` is set to `true`, then deleted pools are also listed. | +| | `INSERT` | | Creates a new WorkloadIdentityPool. You cannot reuse the name of a deleted pool until 30 days after deletion. | +| | `DELETE` | | Deletes a WorkloadIdentityPool. You cannot use a deleted pool to exchange external credentials for Google Cloud credentials. However, deletion does not revoke credentials that have already been issued. Credentials issued for a deleted pool do not grant access to resources. If the pool is undeleted, and the credentials are not expired, they grant access again. You can undelete a pool for 30 days. After 30 days, deletion is permanent. You cannot update deleted pools. However, you can view and list them. | +| | `UPDATE` | | Updates an existing WorkloadIdentityPool. | +| | `EXEC` | | Undeletes a WorkloadIdentityPool, as long as it was deleted fewer than 30 days ago. | + +## `SELECT` examples + +Lists all non-deleted WorkloadIdentityPools in a project. If `show_deleted` is set to `true`, then deleted pools are also listed. + +```sql +SELECT +name, +description, +disabled, +displayName, +expireTime, +state +FROM google.iam.workload_identity_pools +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new workload_identity_pools resource. + + + + +```sql +/*+ create */ +INSERT INTO google.iam.workload_identity_pools ( +locationsId, +projectsId, +name, +displayName, +description, +state, +disabled, +expireTime +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ displayName }}', +'{{ description }}', +'{{ state }}', +true|false, +'{{ expireTime }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: description + value: '{{ description }}' + - name: state + value: '{{ state }}' + - name: disabled + value: '{{ disabled }}' + - name: expireTime + value: '{{ expireTime }}' + +``` + + + +## `UPDATE` example + +Updates a workload_identity_pool only if the necessary resources are available. + +```sql +UPDATE google.iam.workload_identity_pools +SET +name = '{{ name }}', +displayName = '{{ displayName }}', +description = '{{ description }}', +state = '{{ state }}', +disabled = true|false, +expireTime = '{{ expireTime }}' +WHERE +locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND workloadIdentityPoolsId = '{{ workloadIdentityPoolsId }}'; +``` + +## `DELETE` example + +Deletes the specified workload_identity_pool resource. + +```sql +DELETE FROM google.iam.workload_identity_pools +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND workloadIdentityPoolsId = '{{ workloadIdentityPoolsId }}'; +``` diff --git a/docs/google-docs/providers/google/iamcredentials/index.md b/docs/google-docs/providers/google/iamcredentials/index.md index 4eafa7c057..a1994a533e 100644 --- a/docs/google-docs/providers/google/iamcredentials/index.md +++ b/docs/google-docs/providers/google/iamcredentials/index.md @@ -9,39 +9,29 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Creates short-lived credentials for impersonating IAM service accounts. Disabling this API also disables the IAM API (iam.googleapis.com). However, enabling this API doesn't enable the IAM API. - +The iamcredentials service documentation. + :::info Service Summary
total resources: 1
-total selectable resources: 0
-total methods: 4
::: -## Overview - - - - - - -
Namegoogle.iamcredentials
TypeService
TitleIAM Service Account Credentials API
DescriptionCreates short-lived credentials for impersonating IAM service accounts. Disabling this API also disables the IAM API (iam.googleapis.com). However, enabling this API doesn't enable the IAM API.
Idiamcredentials:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/iamcredentials/service_accounts/index.md b/docs/google-docs/providers/google/iamcredentials/service_accounts/index.md index 80ead8fa8e..844c61e83c 100644 --- a/docs/google-docs/providers/google/iamcredentials/service_accounts/index.md +++ b/docs/google-docs/providers/google/iamcredentials/service_accounts/index.md @@ -1,3 +1,4 @@ + --- title: service_accounts hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - service_accounts - iamcredentials - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an service_account resource or lists service_accounts in a region ## Overview @@ -28,7 +30,9 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| diff --git a/docs/google-docs/providers/google/iamv2/index.md b/docs/google-docs/providers/google/iamv2/index.md new file mode 100644 index 0000000000..70088c9474 --- /dev/null +++ b/docs/google-docs/providers/google/iamv2/index.md @@ -0,0 +1,39 @@ +--- +title: iamv2 +hide_title: false +hide_table_of_contents: false +keywords: + - iamv2 + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage google resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +The iamv2 service documentation. + +:::info Service Summary + +
+
+total resources: 4
+
+
+ +::: + +## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/iamv2/operations/index.md b/docs/google-docs/providers/google/iamv2/operations/index.md new file mode 100644 index 0000000000..00f3e1b081 --- /dev/null +++ b/docs/google-docs/providers/google/iamv2/operations/index.md @@ -0,0 +1,62 @@ + +--- +title: operations +hide_title: false +hide_table_of_contents: false +keywords: + - operations + - iamv2 + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an operation resource or lists operations in a region + +## Overview + + + + +
Nameoperations
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | +| | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | +| | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | +| | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | + +## `SELECT` examples + +Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.iamv2.operations +WHERE operationsId = '{{ operationsId }}' +AND policiesId = '{{ policiesId }}' +AND policiesId1 = '{{ policiesId1 }}' +AND policiesId2 = '{{ policiesId2 }}'; +``` diff --git a/docs/google-docs/providers/google/iam/policies/index.md b/docs/google-docs/providers/google/iamv2/policies/index.md similarity index 59% rename from docs/google-docs/providers/google/iam/policies/index.md rename to docs/google-docs/providers/google/iamv2/policies/index.md index d2b60e4861..1796ad7c05 100644 --- a/docs/google-docs/providers/google/iam/policies/index.md +++ b/docs/google-docs/providers/google/iamv2/policies/index.md @@ -1,11 +1,12 @@ + --- title: policies hide_title: false hide_table_of_contents: false keywords: - policies - - iam - - google + - iamv2 + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,21 +17,22 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an policy resource or lists policies in a region ## Overview - +
Namepolicies
TypeResource
Id
Id
## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Immutable. The resource name of the `Policy`, which must be unique. Format: `policies/{attachment_point}/denypolicies/{policy_id}` The attachment point is identified by its URL-encoded full resource name, which means that the forward-slash character, `/`, must be written as `%2F`. For example, `policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project/denypolicies/my-deny-policy`. For organizations and folders, use the numeric ID in the full resource name. For projects, requests can use the alphanumeric or the numeric ID. Responses always contain the numeric ID. | +| | `string` | Immutable. The resource name of the `Policy`, which must be unique. Format: `policies/{attachment_point}/denypolicies/{policy_id}` The attachment point is identified by its URL-encoded full resource name, which means that the forward-slash character, `/`, must be written as `%2F`. For example, `policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project/denypolicies/my-deny-policy`. For organizations and folders, use the numeric ID in the full resource name. For projects, requests can use the alphanumeric or the numeric ID. Responses always contain the numeric ID. | | | `object` | A key-value map to store arbitrary metadata for the `Policy`. Keys can be up to 63 characters. Values can be up to 255 characters. | | | `string` | Output only. The time when the `Policy` was created. | | | `string` | Output only. The time when the `Policy` was deleted. Empty if the policy is not deleted. | @@ -40,12 +42,43 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `array` | A list of rules that specify the behavior of the `Policy`. All of the rules should be of the `kind` specified in the `Policy`. | | | `string` | Immutable. The globally unique ID of the `Policy`. Assigned automatically when the `Policy` is created. | | | `string` | Output only. The time when the `Policy` was last updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets a policy. | -| | `SELECT` | | Retrieves the policies of the specified kind that are attached to a resource. The response lists only policy metadata. In particular, policy rules are omitted. | -| | `INSERT` | | Creates a policy. | | | `DELETE` | | Deletes a policy. This action is permanent. | -| | `UPDATE` | | Updates the specified policy. You can update only the rules and the display name for the policy. To update a policy, you should use a read-modify-write loop: 1. Use GetPolicy to read the current version of the policy. 2. Modify the policy as needed. 3. Use `UpdatePolicy` to write the updated policy. This pattern helps prevent conflicts between concurrent updates. | -| | `EXEC` | | Retrieves the policies of the specified kind that are attached to a resource. The response lists only policy metadata. In particular, policy rules are omitted. | +| | `EXEC` | | Updates the specified policy. You can update only the rules and the display name for the policy. To update a policy, you should use a read-modify-write loop: 1. Use GetPolicy to read the current version of the policy. 2. Modify the policy as needed. 3. Use `UpdatePolicy` to write the updated policy. This pattern helps prevent conflicts between concurrent updates. | + +## `SELECT` examples + +Gets a policy. + +```sql +SELECT +name, +annotations, +createTime, +deleteTime, +displayName, +etag, +kind, +rules, +uid, +updateTime +FROM google.iamv2.policies +WHERE policiesId = '{{ policiesId }}' +AND policiesId1 = '{{ policiesId1 }}' +AND policiesId2 = '{{ policiesId2 }}'; +``` + +## `DELETE` example + +Deletes the specified policy resource. + +```sql +DELETE FROM google.iamv2.policies +WHERE policiesId = '{{ policiesId }}' +AND policiesId1 = '{{ policiesId1 }}' +AND policiesId2 = '{{ policiesId2 }}'; +``` diff --git a/docs/google-docs/providers/google/iamv2/policies_policies/index.md b/docs/google-docs/providers/google/iamv2/policies_policies/index.md new file mode 100644 index 0000000000..c5e5bddad7 --- /dev/null +++ b/docs/google-docs/providers/google/iamv2/policies_policies/index.md @@ -0,0 +1,70 @@ + +--- +title: policies_policies +hide_title: false +hide_table_of_contents: false +keywords: + - policies_policies + - iamv2 + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an policies_policy resource or lists policies_policies in a region + +## Overview + + + + +
Namepolicies_policies
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | Immutable. The resource name of the `Policy`, which must be unique. Format: `policies/{attachment_point}/denypolicies/{policy_id}` The attachment point is identified by its URL-encoded full resource name, which means that the forward-slash character, `/`, must be written as `%2F`. For example, `policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project/denypolicies/my-deny-policy`. For organizations and folders, use the numeric ID in the full resource name. For projects, requests can use the alphanumeric or the numeric ID. Responses always contain the numeric ID. | +| | `object` | A key-value map to store arbitrary metadata for the `Policy`. Keys can be up to 63 characters. Values can be up to 255 characters. | +| | `string` | Output only. The time when the `Policy` was created. | +| | `string` | Output only. The time when the `Policy` was deleted. Empty if the policy is not deleted. | +| | `string` | A user-specified description of the `Policy`. This value can be up to 63 characters. | +| | `string` | An opaque tag that identifies the current version of the `Policy`. IAM uses this value to help manage concurrent updates, so they do not cause one update to be overwritten by another. If this field is present in a CreatePolicyRequest, the value is ignored. | +| | `string` | Output only. The kind of the `Policy`. Always contains the value `DenyPolicy`. | +| | `array` | A list of rules that specify the behavior of the `Policy`. All of the rules should be of the `kind` specified in the `Policy`. | +| | `string` | Immutable. The globally unique ID of the `Policy`. Assigned automatically when the `Policy` is created. | +| | `string` | Output only. The time when the `Policy` was last updated. | + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Retrieves the policies of the specified kind that are attached to a resource. The response lists only policy metadata. In particular, policy rules are omitted. | + +## `SELECT` examples + +Retrieves the policies of the specified kind that are attached to a resource. The response lists only policy metadata. In particular, policy rules are omitted. + +```sql +SELECT +name, +annotations, +createTime, +deleteTime, +displayName, +etag, +kind, +rules, +uid, +updateTime +FROM google.iamv2.policies_policies +WHERE policiesId = '{{ policiesId }}' +AND policiesId1 = '{{ policiesId1 }}'; +``` diff --git a/docs/google-docs/providers/google/iamv2/policies_policy/index.md b/docs/google-docs/providers/google/iamv2/policies_policy/index.md new file mode 100644 index 0000000000..65543886a4 --- /dev/null +++ b/docs/google-docs/providers/google/iamv2/policies_policy/index.md @@ -0,0 +1,115 @@ + +--- +title: policies_policy +hide_title: false +hide_table_of_contents: false +keywords: + - policies_policy + - iamv2 + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an policies_policy resource or lists policies_policy in a region + +## Overview + + + + +
Namepolicies_policy
TypeResource
Id
+ +## Fields +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `INSERT` | | Creates a policy. | + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new policies_policy resource. + + + + +```sql +/*+ create */ +INSERT INTO google.iamv2.policies_policy ( +policiesId, +policiesId1, +name, +uid, +kind, +displayName, +annotations, +etag, +createTime, +updateTime, +deleteTime, +rules +) +SELECT +'{{ policiesId }}', +'{{ policiesId1 }}', +'{{ name }}', +'{{ uid }}', +'{{ kind }}', +'{{ displayName }}', +'{{ annotations }}', +'{{ etag }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ deleteTime }}', +'{{ rules }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: uid + value: '{{ uid }}' + - name: kind + value: '{{ kind }}' + - name: displayName + value: '{{ displayName }}' + - name: annotations + value: '{{ annotations }}' + - name: etag + value: '{{ etag }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: deleteTime + value: '{{ deleteTime }}' + - name: rules + value: '{{ rules }}' + +``` + + diff --git a/docs/google-docs/providers/google/iamv2beta/index.md b/docs/google-docs/providers/google/iamv2beta/index.md new file mode 100644 index 0000000000..c34f37ee9b --- /dev/null +++ b/docs/google-docs/providers/google/iamv2beta/index.md @@ -0,0 +1,39 @@ +--- +title: iamv2beta +hide_title: false +hide_table_of_contents: false +keywords: + - iamv2beta + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage google resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +The iamv2beta service documentation. + +:::info Service Summary + +
+
+total resources: 4
+
+
+ +::: + +## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/iamv2beta/operations/index.md b/docs/google-docs/providers/google/iamv2beta/operations/index.md new file mode 100644 index 0000000000..e6a3c32d86 --- /dev/null +++ b/docs/google-docs/providers/google/iamv2beta/operations/index.md @@ -0,0 +1,62 @@ + +--- +title: operations +hide_title: false +hide_table_of_contents: false +keywords: + - operations + - iamv2beta + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an operation resource or lists operations in a region + +## Overview + + + + +
Nameoperations
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | +| | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | +| | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | +| | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | + +## `SELECT` examples + +Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.iamv2beta.operations +WHERE operationsId = '{{ operationsId }}' +AND policiesId = '{{ policiesId }}' +AND policiesId1 = '{{ policiesId1 }}' +AND policiesId2 = '{{ policiesId2 }}'; +``` diff --git a/docs/google-docs/providers/google/iamv2beta/policies/index.md b/docs/google-docs/providers/google/iamv2beta/policies/index.md new file mode 100644 index 0000000000..35dbb6a4cf --- /dev/null +++ b/docs/google-docs/providers/google/iamv2beta/policies/index.md @@ -0,0 +1,84 @@ + +--- +title: policies +hide_title: false +hide_table_of_contents: false +keywords: + - policies + - iamv2beta + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an policy resource or lists policies in a region + +## Overview + + + + +
Namepolicies
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | Immutable. The resource name of the `Policy`, which must be unique. Format: `policies/{attachment_point}/denypolicies/{policy_id}` The attachment point is identified by its URL-encoded full resource name, which means that the forward-slash character, `/`, must be written as `%2F`. For example, `policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project/denypolicies/my-deny-policy`. For organizations and folders, use the numeric ID in the full resource name. For projects, requests can use the alphanumeric or the numeric ID. Responses always contain the numeric ID. | +| | `object` | A key-value map to store arbitrary metadata for the `Policy`. Keys can be up to 63 characters. Values can be up to 255 characters. | +| | `string` | Output only. The time when the `Policy` was created. | +| | `string` | Output only. The time when the `Policy` was deleted. Empty if the policy is not deleted. | +| | `string` | A user-specified description of the `Policy`. This value can be up to 63 characters. | +| | `string` | An opaque tag that identifies the current version of the `Policy`. IAM uses this value to help manage concurrent updates, so they do not cause one update to be overwritten by another. If this field is present in a CreatePolicyRequest, the value is ignored. | +| | `string` | Output only. The kind of the `Policy`. Always contains the value `DenyPolicy`. | +| | `array` | A list of rules that specify the behavior of the `Policy`. All of the rules should be of the `kind` specified in the `Policy`. | +| | `string` | Immutable. The globally unique ID of the `Policy`. Assigned automatically when the `Policy` is created. | +| | `string` | Output only. The time when the `Policy` was last updated. | + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets a policy. | +| | `DELETE` | | Deletes a policy. This action is permanent. | +| | `EXEC` | | Updates the specified policy. You can update only the rules and the display name for the policy. To update a policy, you should use a read-modify-write loop: 1. Use GetPolicy to read the current version of the policy. 2. Modify the policy as needed. 3. Use `UpdatePolicy` to write the updated policy. This pattern helps prevent conflicts between concurrent updates. | + +## `SELECT` examples + +Gets a policy. + +```sql +SELECT +name, +annotations, +createTime, +deleteTime, +displayName, +etag, +kind, +rules, +uid, +updateTime +FROM google.iamv2beta.policies +WHERE policiesId = '{{ policiesId }}' +AND policiesId1 = '{{ policiesId1 }}' +AND policiesId2 = '{{ policiesId2 }}'; +``` + +## `DELETE` example + +Deletes the specified policy resource. + +```sql +DELETE FROM google.iamv2beta.policies +WHERE policiesId = '{{ policiesId }}' +AND policiesId1 = '{{ policiesId1 }}' +AND policiesId2 = '{{ policiesId2 }}'; +``` diff --git a/docs/google-docs/providers/google/iamv2beta/policies_policies/index.md b/docs/google-docs/providers/google/iamv2beta/policies_policies/index.md new file mode 100644 index 0000000000..c12a3c9d41 --- /dev/null +++ b/docs/google-docs/providers/google/iamv2beta/policies_policies/index.md @@ -0,0 +1,70 @@ + +--- +title: policies_policies +hide_title: false +hide_table_of_contents: false +keywords: + - policies_policies + - iamv2beta + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an policies_policy resource or lists policies_policies in a region + +## Overview + + + + +
Namepolicies_policies
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | Immutable. The resource name of the `Policy`, which must be unique. Format: `policies/{attachment_point}/denypolicies/{policy_id}` The attachment point is identified by its URL-encoded full resource name, which means that the forward-slash character, `/`, must be written as `%2F`. For example, `policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project/denypolicies/my-deny-policy`. For organizations and folders, use the numeric ID in the full resource name. For projects, requests can use the alphanumeric or the numeric ID. Responses always contain the numeric ID. | +| | `object` | A key-value map to store arbitrary metadata for the `Policy`. Keys can be up to 63 characters. Values can be up to 255 characters. | +| | `string` | Output only. The time when the `Policy` was created. | +| | `string` | Output only. The time when the `Policy` was deleted. Empty if the policy is not deleted. | +| | `string` | A user-specified description of the `Policy`. This value can be up to 63 characters. | +| | `string` | An opaque tag that identifies the current version of the `Policy`. IAM uses this value to help manage concurrent updates, so they do not cause one update to be overwritten by another. If this field is present in a CreatePolicyRequest, the value is ignored. | +| | `string` | Output only. The kind of the `Policy`. Always contains the value `DenyPolicy`. | +| | `array` | A list of rules that specify the behavior of the `Policy`. All of the rules should be of the `kind` specified in the `Policy`. | +| | `string` | Immutable. The globally unique ID of the `Policy`. Assigned automatically when the `Policy` is created. | +| | `string` | Output only. The time when the `Policy` was last updated. | + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Retrieves the policies of the specified kind that are attached to a resource. The response lists only policy metadata. In particular, policy rules are omitted. | + +## `SELECT` examples + +Retrieves the policies of the specified kind that are attached to a resource. The response lists only policy metadata. In particular, policy rules are omitted. + +```sql +SELECT +name, +annotations, +createTime, +deleteTime, +displayName, +etag, +kind, +rules, +uid, +updateTime +FROM google.iamv2beta.policies_policies +WHERE policiesId = '{{ policiesId }}' +AND policiesId1 = '{{ policiesId1 }}'; +``` diff --git a/docs/google-docs/providers/google/iamv2beta/policies_policy/index.md b/docs/google-docs/providers/google/iamv2beta/policies_policy/index.md new file mode 100644 index 0000000000..9d0da1d509 --- /dev/null +++ b/docs/google-docs/providers/google/iamv2beta/policies_policy/index.md @@ -0,0 +1,115 @@ + +--- +title: policies_policy +hide_title: false +hide_table_of_contents: false +keywords: + - policies_policy + - iamv2beta + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an policies_policy resource or lists policies_policy in a region + +## Overview + + + + +
Namepolicies_policy
TypeResource
Id
+ +## Fields +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `INSERT` | | Creates a policy. | + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new policies_policy resource. + + + + +```sql +/*+ create */ +INSERT INTO google.iamv2beta.policies_policy ( +policiesId, +policiesId1, +name, +uid, +kind, +displayName, +annotations, +etag, +createTime, +updateTime, +deleteTime, +rules +) +SELECT +'{{ policiesId }}', +'{{ policiesId1 }}', +'{{ name }}', +'{{ uid }}', +'{{ kind }}', +'{{ displayName }}', +'{{ annotations }}', +'{{ etag }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ deleteTime }}', +'{{ rules }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: uid + value: '{{ uid }}' + - name: kind + value: '{{ kind }}' + - name: displayName + value: '{{ displayName }}' + - name: annotations + value: '{{ annotations }}' + - name: etag + value: '{{ etag }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: deleteTime + value: '{{ deleteTime }}' + - name: rules + value: '{{ rules }}' + +``` + + diff --git a/docs/google-docs/providers/google/iap/brands/index.md b/docs/google-docs/providers/google/iap/brands/index.md index ff1a551839..2e926ebfb1 100644 --- a/docs/google-docs/providers/google/iap/brands/index.md +++ b/docs/google-docs/providers/google/iap/brands/index.md @@ -1,3 +1,4 @@ + --- title: brands hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - brands - iap - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an brand resource or lists brands in a region ## Overview @@ -34,9 +36,74 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Application name displayed on OAuth consent screen. | | | `boolean` | Output only. Whether the brand is only intended for usage inside the G Suite organization only. | | | `string` | Support email displayed on the OAuth consent screen. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Retrieves the OAuth brand of the project. | | | `SELECT` | | Lists the existing brands for the project. | | | `INSERT` | | Constructs a new OAuth brand for the project if one does not exist. The created brand is "internal only", meaning that OAuth clients created under it only accept requests from users who belong to the same Google Workspace organization as the project. The brand is created in an un-reviewed status. NOTE: The "internal only" status can be manually changed in the Google Cloud Console. Requires that a brand does not already exist for the project, and that the specified support email is owned by the caller. | + +## `SELECT` examples + +Lists the existing brands for the project. + +```sql +SELECT +name, +applicationTitle, +orgInternalOnly, +supportEmail +FROM google.iap.brands +WHERE projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new brands resource. + + + + +```sql +/*+ create */ +INSERT INTO google.iap.brands ( +projectsId, +name, +supportEmail, +applicationTitle, +orgInternalOnly +) +SELECT +'{{ projectsId }}', +'{{ name }}', +'{{ supportEmail }}', +'{{ applicationTitle }}', +true|false +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: supportEmail + value: '{{ supportEmail }}' + - name: applicationTitle + value: '{{ applicationTitle }}' + - name: orgInternalOnly + value: '{{ orgInternalOnly }}' + +``` + + diff --git a/docs/google-docs/providers/google/iap/dest_groups/index.md b/docs/google-docs/providers/google/iap/dest_groups/index.md index a8ff6d2e20..cfe4174d91 100644 --- a/docs/google-docs/providers/google/iap/dest_groups/index.md +++ b/docs/google-docs/providers/google/iap/dest_groups/index.md @@ -1,3 +1,4 @@ + --- title: dest_groups hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - dest_groups - iap - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an dest_group resource or lists dest_groups in a region ## Overview
@@ -33,6 +35,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Identifier. Identifier for the TunnelDestGroup. Must be unique within the project and contain only lower case letters (a-z) and dashes (-). | | | `array` | Optional. Unordered list. List of CIDRs that this group applies to. | | | `array` | Optional. Unordered list. List of FQDNs that this group applies to. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -41,4 +44,92 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new TunnelDestGroup. | | | `DELETE` | | Deletes a TunnelDestGroup. | | | `UPDATE` | | Updates a TunnelDestGroup. | -| | `EXEC` | | Lists the existing TunnelDestGroups. To group across all locations, use a `-` as the location ID. For example: `/v1/projects/123/iap_tunnel/locations/-/destGroups` | + +## `SELECT` examples + +Lists the existing TunnelDestGroups. To group across all locations, use a `-` as the location ID. For example: `/v1/projects/123/iap_tunnel/locations/-/destGroups` + +```sql +SELECT +name, +cidrs, +fqdns +FROM google.iap.dest_groups +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new dest_groups resource. + + + + +```sql +/*+ create */ +INSERT INTO google.iap.dest_groups ( +locationsId, +projectsId, +name, +cidrs, +fqdns +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ cidrs }}', +'{{ fqdns }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: cidrs + value: '{{ cidrs }}' + - name: fqdns + value: '{{ fqdns }}' + +``` + + + +## `UPDATE` example + +Updates a dest_group only if the necessary resources are available. + +```sql +UPDATE google.iap.dest_groups +SET +name = '{{ name }}', +cidrs = '{{ cidrs }}', +fqdns = '{{ fqdns }}' +WHERE +destGroupsId = '{{ destGroupsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified dest_group resource. + +```sql +DELETE FROM google.iap.dest_groups +WHERE destGroupsId = '{{ destGroupsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/iap/iap/index.md b/docs/google-docs/providers/google/iap/iap/index.md index 9de53b2467..0a6dc7fe96 100644 --- a/docs/google-docs/providers/google/iap/iap/index.md +++ b/docs/google-docs/providers/google/iap/iap/index.md @@ -1,3 +1,4 @@ + --- title: iap hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - iap - iap - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an iap resource or lists iap in a region ## Overview
@@ -28,8 +30,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Validates that a given CEL expression conforms to IAP restrictions. | diff --git a/docs/google-docs/providers/google/iap/iap_iam_policies/index.md b/docs/google-docs/providers/google/iap/iap_iam_policies/index.md index f600a183e5..639fea7513 100644 --- a/docs/google-docs/providers/google/iap/iap_iam_policies/index.md +++ b/docs/google-docs/providers/google/iap/iap_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: iap_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - iap_iam_policies - iap - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an iap_iam_policy resource or lists iap_iam_policies in a region ## Overview @@ -30,13 +32,26 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for an Identity-Aware Proxy protected resource. More information about managing access via IAP can be found at: https://cloud.google.com/iap/docs/managing-access#managing_access_via_the_api | -| | `EXEC` | | Gets the access control policy for an Identity-Aware Proxy protected resource. More information about managing access via IAP can be found at: https://cloud.google.com/iap/docs/managing-access#managing_access_via_the_api | | | `EXEC` | | Sets the access control policy for an Identity-Aware Proxy protected resource. Replaces any existing policy. More information about managing access via IAP can be found at: https://cloud.google.com/iap/docs/managing-access#managing_access_via_the_api | | | `EXEC` | | Returns permissions that a caller has on the Identity-Aware Proxy protected resource. More information about managing access via IAP can be found at: https://cloud.google.com/iap/docs/managing-access#managing_access_via_the_api | + +## `SELECT` examples + +Gets the access control policy for an Identity-Aware Proxy protected resource. More information about managing access via IAP can be found at: https://cloud.google.com/iap/docs/managing-access#managing_access_via_the_api + +```sql +SELECT +condition, +members, +role +FROM google.iap.iap_iam_policies +WHERE v1Id = '{{ v1Id }}'; +``` diff --git a/docs/google-docs/providers/google/iap/iap_iap_settings/index.md b/docs/google-docs/providers/google/iap/iap_iap_settings/index.md index e425a75474..ceb7038ff2 100644 --- a/docs/google-docs/providers/google/iap/iap_iap_settings/index.md +++ b/docs/google-docs/providers/google/iap/iap_iap_settings/index.md @@ -1,3 +1,4 @@ + --- title: iap_iap_settings hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - iap_iap_settings - iap - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an iap_iap_setting resource or lists iap_iap_settings in a region ## Overview
@@ -33,8 +35,36 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Required. The resource name of the IAP protected resource. | | | `object` | Access related settings for IAP protected apps. | | | `object` | Wrapper over application specific settings for IAP. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the IAP settings on a particular IAP protected resource. | -| | `EXEC` | | Updates the IAP settings on a particular IAP protected resource. It replaces all fields unless the `update_mask` is set. | +| | `UPDATE` | | Updates the IAP settings on a particular IAP protected resource. It replaces all fields unless the `update_mask` is set. | + +## `SELECT` examples + +Gets the IAP settings on a particular IAP protected resource. + +```sql +SELECT +name, +accessSettings, +applicationSettings +FROM google.iap.iap_iap_settings +WHERE v1Id = '{{ v1Id }}'; +``` + +## `UPDATE` example + +Updates a iap_iap_setting only if the necessary resources are available. + +```sql +UPDATE google.iap.iap_iap_settings +SET +name = '{{ name }}', +accessSettings = '{{ accessSettings }}', +applicationSettings = '{{ applicationSettings }}' +WHERE +v1Id = '{{ v1Id }}'; +``` diff --git a/docs/google-docs/providers/google/iap/identity_aware_proxy_clients/index.md b/docs/google-docs/providers/google/iap/identity_aware_proxy_clients/index.md index a03b50c02c..31be077fff 100644 --- a/docs/google-docs/providers/google/iap/identity_aware_proxy_clients/index.md +++ b/docs/google-docs/providers/google/iap/identity_aware_proxy_clients/index.md @@ -1,3 +1,4 @@ + --- title: identity_aware_proxy_clients hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - identity_aware_proxy_clients - iap - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an identity_aware_proxy_client resource or lists identity_aware_proxy_clients in a region ## Overview
@@ -33,6 +35,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Unique identifier of the OAuth client. | | | `string` | Human-friendly name given to the OAuth client. | | | `string` | Output only. Client secret of the OAuth client. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -40,5 +43,77 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists the existing clients for the brand. | | | `INSERT` | | Creates an Identity Aware Proxy (IAP) OAuth client. The client is owned by IAP. Requires that the brand for the project exists and that it is set for internal-only use. | | | `DELETE` | | Deletes an Identity Aware Proxy (IAP) OAuth client. Useful for removing obsolete clients, managing the number of clients in a given project, and cleaning up after tests. Requires that the client is owned by IAP. | -| | `EXEC` | | Lists the existing clients for the brand. | | | `EXEC` | | Resets an Identity Aware Proxy (IAP) OAuth client secret. Useful if the secret was compromised. Requires that the client is owned by IAP. | + +## `SELECT` examples + +Lists the existing clients for the brand. + +```sql +SELECT +name, +displayName, +secret +FROM google.iap.identity_aware_proxy_clients +WHERE brandsId = '{{ brandsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new identity_aware_proxy_clients resource. + + + + +```sql +/*+ create */ +INSERT INTO google.iap.identity_aware_proxy_clients ( +brandsId, +projectsId, +name, +secret, +displayName +) +SELECT +'{{ brandsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ secret }}', +'{{ displayName }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: secret + value: '{{ secret }}' + - name: displayName + value: '{{ displayName }}' + +``` + + + +## `DELETE` example + +Deletes the specified identity_aware_proxy_client resource. + +```sql +DELETE FROM google.iap.identity_aware_proxy_clients +WHERE brandsId = '{{ brandsId }}' +AND identityAwareProxyClientsId = '{{ identityAwareProxyClientsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/iap/index.md b/docs/google-docs/providers/google/iap/index.md index f1d5a206a6..753d1a1e13 100644 --- a/docs/google-docs/providers/google/iap/index.md +++ b/docs/google-docs/providers/google/iap/index.md @@ -9,44 +9,33 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Controls access to cloud applications running on Google Cloud Platform. - +The iap service documentation. + :::info Service Summary
total resources: 6
-total selectable resources: 5
-total methods: 22
::: -## Overview -
- - - - - -
Namegoogle.iap
TypeService
TitleCloud Identity-Aware Proxy API
DescriptionControls access to cloud applications running on Google Cloud Platform.
Idiap:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/identitytoolkit/index.md b/docs/google-docs/providers/google/identitytoolkit/index.md index c642520263..07ac2e87bc 100644 --- a/docs/google-docs/providers/google/identitytoolkit/index.md +++ b/docs/google-docs/providers/google/identitytoolkit/index.md @@ -9,46 +9,35 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Help the third party sites to implement federated login. - +The identitytoolkit service documentation. + :::info Service Summary
total resources: 8
-total selectable resources: 2
-total methods: 20
::: -## Overview - - - - - - -
Namegoogle.identitytoolkit
TypeService
TitleGoogle Identity Toolkit API
DescriptionHelp the third party sites to implement federated login.
Ididentitytoolkit:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/identitytoolkit/relyingparty/index.md b/docs/google-docs/providers/google/identitytoolkit/relyingparty/index.md index f345a2a575..13bb3da720 100644 --- a/docs/google-docs/providers/google/identitytoolkit/relyingparty/index.md +++ b/docs/google-docs/providers/google/identitytoolkit/relyingparty/index.md @@ -1,3 +1,4 @@ + --- title: relyingparty hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - relyingparty - identitytoolkit - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an relyingparty resource or lists relyingparty in a region ## Overview @@ -28,20 +30,22 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| -| | `EXEC` | | Batch download user accounts. | -| | `EXEC` | | Reset password for a user. | -| | `EXEC` | | Reset password for a user. | -| | `EXEC` | | Send SMS verification code. | -| | `EXEC` | | Set account info for a user. | -| | `EXEC` | | Set project configuration. | -| | `EXEC` | | Sign out user. | -| | `EXEC` | | Signup new user. | -| | `EXEC` | | Batch upload existing user accounts. | -| | `EXEC` | | Verifies the assertion returned by the IdP. | -| | `EXEC` | | Verifies the developer asserted ID token. | -| | `EXEC` | | Verifies the user entered password. | -| | `EXEC` | | Verifies ownership of a phone number and creates/updates the user account accordingly. | +| | `EXEC` | | Batch download user accounts. | +| | `EXEC` | | Reset password for a user. | +| | `EXEC` | | Reset password for a user. | +| | `EXEC` | | Send SMS verification code. | +| | `EXEC` | | Set account info for a user. | +| | `EXEC` | | Set project configuration. | +| | `EXEC` | | Sign out user. | +| | `EXEC` | | Signup new user. | +| | `EXEC` | | Batch upload existing user accounts. | +| | `EXEC` | | Verifies the assertion returned by the IdP. | +| | `EXEC` | | Verifies the developer asserted ID token. | +| | `EXEC` | | Verifies the user entered password. | +| | `EXEC` | | Verifies ownership of a phone number and creates/updates the user account accordingly. | diff --git a/docs/google-docs/providers/google/identitytoolkit/relyingparty_account/index.md b/docs/google-docs/providers/google/identitytoolkit/relyingparty_account/index.md index 3e773964a1..2b0fc1f2d9 100644 --- a/docs/google-docs/providers/google/identitytoolkit/relyingparty_account/index.md +++ b/docs/google-docs/providers/google/identitytoolkit/relyingparty_account/index.md @@ -1,3 +1,4 @@ + --- title: relyingparty_account hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - relyingparty_account - identitytoolkit - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an relyingparty_account resource or lists relyingparty_account in a region ## Overview @@ -28,8 +30,19 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `DELETE` | | Delete user account. | + +## `DELETE` example + +Deletes the specified relyingparty_account resource. + +```sql +DELETE FROM google.identitytoolkit.relyingparty_account +WHERE = '{{ }}'; +``` diff --git a/docs/google-docs/providers/google/identitytoolkit/relyingparty_account_info/index.md b/docs/google-docs/providers/google/identitytoolkit/relyingparty_account_info/index.md index e7b8ee3cf9..84928a4218 100644 --- a/docs/google-docs/providers/google/identitytoolkit/relyingparty_account_info/index.md +++ b/docs/google-docs/providers/google/identitytoolkit/relyingparty_account_info/index.md @@ -1,3 +1,4 @@ + --- title: relyingparty_account_info hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - relyingparty_account_info - identitytoolkit - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an relyingparty_account_info resource or lists relyingparty_account_info in a region ## Overview @@ -28,8 +30,24 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | The fixed string "identitytoolkit#GetAccountInfoResponse". | +| | `array` | The info of the users. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Returns the account info. | + +## `SELECT` examples + +Returns the account info. + +```sql +SELECT +kind, +users +FROM google.identitytoolkit.relyingparty_account_info +WHERE = '{{ }}'; +``` diff --git a/docs/google-docs/providers/google/identitytoolkit/relyingparty_auth_uri/index.md b/docs/google-docs/providers/google/identitytoolkit/relyingparty_auth_uri/index.md index 121f533876..18144a036d 100644 --- a/docs/google-docs/providers/google/identitytoolkit/relyingparty_auth_uri/index.md +++ b/docs/google-docs/providers/google/identitytoolkit/relyingparty_auth_uri/index.md @@ -1,3 +1,4 @@ + --- title: relyingparty_auth_uri hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - relyingparty_auth_uri - identitytoolkit - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an relyingparty_auth_uri resource or lists relyingparty_auth_uri in a region ## Overview @@ -28,8 +30,108 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `INSERT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `INSERT` | | Creates the URI used by the IdP to authenticate the user. | + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new relyingparty_auth_uri resource. + + + + +```sql +/*+ create */ +INSERT INTO google.identitytoolkit.relyingparty_auth_uri ( +, +appId, +authFlowType, +clientId, +context, +continueUri, +customParameter, +hostedDomain, +identifier, +oauthConsumerKey, +oauthScope, +openidRealm, +otaApp, +providerId, +sessionId, +tenantId, +tenantProjectNumber +) +SELECT +'{{ }}', +'{{ appId }}', +'{{ authFlowType }}', +'{{ clientId }}', +'{{ context }}', +'{{ continueUri }}', +'{{ customParameter }}', +'{{ hostedDomain }}', +'{{ identifier }}', +'{{ oauthConsumerKey }}', +'{{ oauthScope }}', +'{{ openidRealm }}', +'{{ otaApp }}', +'{{ providerId }}', +'{{ sessionId }}', +'{{ tenantId }}', +'{{ tenantProjectNumber }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: appId + value: '{{ appId }}' + - name: authFlowType + value: '{{ authFlowType }}' + - name: clientId + value: '{{ clientId }}' + - name: context + value: '{{ context }}' + - name: continueUri + value: '{{ continueUri }}' + - name: customParameter + value: '{{ customParameter }}' + - name: hostedDomain + value: '{{ hostedDomain }}' + - name: identifier + value: '{{ identifier }}' + - name: oauthConsumerKey + value: '{{ oauthConsumerKey }}' + - name: oauthScope + value: '{{ oauthScope }}' + - name: openidRealm + value: '{{ openidRealm }}' + - name: otaApp + value: '{{ otaApp }}' + - name: providerId + value: '{{ providerId }}' + - name: sessionId + value: '{{ sessionId }}' + - name: tenantId + value: '{{ tenantId }}' + - name: tenantProjectNumber + value: '{{ tenantProjectNumber }}' + +``` + + diff --git a/docs/google-docs/providers/google/identitytoolkit/relyingparty_oob_confirmation_code/index.md b/docs/google-docs/providers/google/identitytoolkit/relyingparty_oob_confirmation_code/index.md index 93b84b69cc..f6f32e6c4a 100644 --- a/docs/google-docs/providers/google/identitytoolkit/relyingparty_oob_confirmation_code/index.md +++ b/docs/google-docs/providers/google/identitytoolkit/relyingparty_oob_confirmation_code/index.md @@ -1,3 +1,4 @@ + --- title: relyingparty_oob_confirmation_code hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - relyingparty_oob_confirmation_code - identitytoolkit - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an relyingparty_oob_confirmation_code resource or lists relyingparty_oob_confirmation_code in a region ## Overview @@ -28,8 +30,26 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | The email address that the email is sent to. | +| | `string` | The fixed string "identitytoolkit#GetOobConfirmationCodeResponse". | +| | `string` | The code to be send to the user. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Get a code for user action confirmation. | + +## `SELECT` examples + +Get a code for user action confirmation. + +```sql +SELECT +email, +kind, +oobCode +FROM google.identitytoolkit.relyingparty_oob_confirmation_code +WHERE = '{{ }}'; +``` diff --git a/docs/google-docs/providers/google/identitytoolkit/relyingparty_project_config/index.md b/docs/google-docs/providers/google/identitytoolkit/relyingparty_project_config/index.md index 6eedb54074..c1626a082a 100644 --- a/docs/google-docs/providers/google/identitytoolkit/relyingparty_project_config/index.md +++ b/docs/google-docs/providers/google/identitytoolkit/relyingparty_project_config/index.md @@ -1,3 +1,4 @@ + --- title: relyingparty_project_config hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - relyingparty_project_config - identitytoolkit - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an relyingparty_project_config resource or lists relyingparty_project_config in a region ## Overview @@ -42,7 +44,30 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Template for an email template. | | | `boolean` | Whether to use email sending provided by Firebear. | | | `object` | Template for an email template. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Get project configuration. | + +## `SELECT` examples + +Get project configuration. + +```sql +SELECT +allowPasswordUser, +apiKey, +authorizedDomains, +changeEmailTemplate, +dynamicLinksDomain, +enableAnonymousUser, +idpConfig, +legacyResetPasswordTemplate, +projectId, +resetPasswordTemplate, +useEmailSending, +verifyEmailTemplate +FROM google.identitytoolkit.relyingparty_project_config +WHERE = '{{ }}'; +``` diff --git a/docs/google-docs/providers/google/identitytoolkit/relyingparty_public_keys/index.md b/docs/google-docs/providers/google/identitytoolkit/relyingparty_public_keys/index.md index ee021a7ada..d8c906601d 100644 --- a/docs/google-docs/providers/google/identitytoolkit/relyingparty_public_keys/index.md +++ b/docs/google-docs/providers/google/identitytoolkit/relyingparty_public_keys/index.md @@ -1,3 +1,4 @@ + --- title: relyingparty_public_keys hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - relyingparty_public_keys - identitytoolkit - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an relyingparty_public_key resource or lists relyingparty_public_keys in a region ## Overview
@@ -28,8 +30,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Get token signing public key. | diff --git a/docs/google-docs/providers/google/identitytoolkit/relyingparty_recaptcha_param/index.md b/docs/google-docs/providers/google/identitytoolkit/relyingparty_recaptcha_param/index.md index a86839b326..9f5d9fb4ec 100644 --- a/docs/google-docs/providers/google/identitytoolkit/relyingparty_recaptcha_param/index.md +++ b/docs/google-docs/providers/google/identitytoolkit/relyingparty_recaptcha_param/index.md @@ -1,3 +1,4 @@ + --- title: relyingparty_recaptcha_param hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - relyingparty_recaptcha_param - identitytoolkit - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an relyingparty_recaptcha_param resource or lists relyingparty_recaptcha_param in a region ## Overview @@ -33,7 +35,21 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The fixed string "identitytoolkit#GetRecaptchaParamResponse". | | | `string` | Site key registered at recaptcha. | | | `string` | The stoken field for the recaptcha widget, used to request captcha challenge. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Get recaptcha secure param. | + +## `SELECT` examples + +Get recaptcha secure param. + +```sql +SELECT +kind, +recaptchaSiteKey, +recaptchaStoken +FROM google.identitytoolkit.relyingparty_recaptcha_param +WHERE = '{{ }}'; +``` diff --git a/docs/google-docs/providers/google/ids/endpoints/index.md b/docs/google-docs/providers/google/ids/endpoints/index.md index 6427bf56d1..88f1a3491c 100644 --- a/docs/google-docs/providers/google/ids/endpoints/index.md +++ b/docs/google-docs/providers/google/ids/endpoints/index.md @@ -1,3 +1,4 @@ + --- title: endpoints hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - endpoints - ids - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an endpoint resource or lists endpoints in a region ## Overview
@@ -44,6 +46,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `array` | List of threat IDs to be excepted from generating alerts. | | | `boolean` | Whether the endpoint should report traffic logs in addition to threat logs. | | | `string` | Output only. The update time timestamp. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -52,4 +55,158 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new Endpoint in a given project and location. | | | `DELETE` | | Deletes a single Endpoint. | | | `UPDATE` | | Updates the parameters of a single Endpoint. | -| | `EXEC` | | Lists Endpoints in a given project and location. | + +## `SELECT` examples + +Lists Endpoints in a given project and location. + +```sql +SELECT +name, +description, +createTime, +endpointForwardingRule, +endpointIp, +labels, +network, +satisfiesPzi, +satisfiesPzs, +severity, +state, +threatExceptions, +trafficLogs, +updateTime +FROM google.ids.endpoints +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new endpoints resource. + + + + +```sql +/*+ create */ +INSERT INTO google.ids.endpoints ( +locationsId, +projectsId, +name, +createTime, +updateTime, +labels, +network, +endpointForwardingRule, +endpointIp, +description, +severity, +threatExceptions, +state, +trafficLogs, +satisfiesPzs, +satisfiesPzi +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ labels }}', +'{{ network }}', +'{{ endpointForwardingRule }}', +'{{ endpointIp }}', +'{{ description }}', +'{{ severity }}', +'{{ threatExceptions }}', +'{{ state }}', +true|false, +true|false, +true|false +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: labels + value: '{{ labels }}' + - name: network + value: '{{ network }}' + - name: endpointForwardingRule + value: '{{ endpointForwardingRule }}' + - name: endpointIp + value: '{{ endpointIp }}' + - name: description + value: '{{ description }}' + - name: severity + value: '{{ severity }}' + - name: threatExceptions + value: '{{ threatExceptions }}' + - name: state + value: '{{ state }}' + - name: trafficLogs + value: '{{ trafficLogs }}' + - name: satisfiesPzs + value: '{{ satisfiesPzs }}' + - name: satisfiesPzi + value: '{{ satisfiesPzi }}' + +``` + + + +## `UPDATE` example + +Updates a endpoint only if the necessary resources are available. + +```sql +UPDATE google.ids.endpoints +SET +name = '{{ name }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +labels = '{{ labels }}', +network = '{{ network }}', +endpointForwardingRule = '{{ endpointForwardingRule }}', +endpointIp = '{{ endpointIp }}', +description = '{{ description }}', +severity = '{{ severity }}', +threatExceptions = '{{ threatExceptions }}', +state = '{{ state }}', +trafficLogs = true|false, +satisfiesPzs = true|false, +satisfiesPzi = true|false +WHERE +endpointsId = '{{ endpointsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified endpoint resource. + +```sql +DELETE FROM google.ids.endpoints +WHERE endpointsId = '{{ endpointsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/ids/endpoints_iam_policies/index.md b/docs/google-docs/providers/google/ids/endpoints_iam_policies/index.md index cfbc0939a2..f5d7594eaa 100644 --- a/docs/google-docs/providers/google/ids/endpoints_iam_policies/index.md +++ b/docs/google-docs/providers/google/ids/endpoints_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: endpoints_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - endpoints_iam_policies - ids - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an endpoints_iam_policy resource or lists endpoints_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.ids.endpoints_iam_policies +WHERE endpointsId = '{{ endpointsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/ids/index.md b/docs/google-docs/providers/google/ids/index.md index bb62248346..8899e2ffbe 100644 --- a/docs/google-docs/providers/google/ids/index.md +++ b/docs/google-docs/providers/google/ids/index.md @@ -9,42 +9,31 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Cloud IDS (Cloud Intrusion Detection System) detects malware, spyware, command-and-control attacks, and other network-based threats. Its security efficacy is industry leading, built with Palo Alto Networks technologies. When you use this product, your organization name and consumption levels will be shared with Palo Alto Networks. - +The ids service documentation. + :::info Service Summary
total resources: 4
-total selectable resources: 4
-total methods: 18
::: -## Overview -
- - - - - -
Namegoogle.ids
TypeService
TitleCloud IDS API
DescriptionCloud IDS (Cloud Intrusion Detection System) detects malware, spyware, command-and-control attacks, and other network-based threats. Its security efficacy is industry leading, built with Palo Alto Networks technologies. When you use this product, your organization name and consumption levels will be shared with Palo Alto Networks.
Idids:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/ids/locations/index.md b/docs/google-docs/providers/google/ids/locations/index.md index 7493d928e6..048917042f 100644 --- a/docs/google-docs/providers/google/ids/locations/index.md +++ b/docs/google-docs/providers/google/ids/locations/index.md @@ -1,3 +1,4 @@ + --- title: locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - locations - ids - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an location resource or lists locations in a region ## Overview @@ -32,12 +34,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` | | | `string` | The friendly name for this location, typically a nearby city name. For example, "Tokyo". | -| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | +| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | | | `string` | The canonical id for this location. For example: `"us-east1"`. | | | `object` | Service-specific metadata. For example the available capacity at the given location. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about a location. | | | `SELECT` | | Lists information about the supported locations for this service. | -| | `EXEC` | | Lists information about the supported locations for this service. | + +## `SELECT` examples + +Lists information about the supported locations for this service. + +```sql +SELECT +name, +displayName, +labels, +locationId, +metadata +FROM google.ids.locations +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/ids/operations/index.md b/docs/google-docs/providers/google/ids/operations/index.md index bd2aa21af5..2b6c2f0d39 100644 --- a/docs/google-docs/providers/google/ids/operations/index.md +++ b/docs/google-docs/providers/google/ids/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - ids - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview
@@ -30,16 +32,43 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.ids.operations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified operation resource. + +```sql +DELETE FROM google.ids.operations +WHERE locationsId = '{{ locationsId }}' +AND operationsId = '{{ operationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/integrations/apps_script_projects/index.md b/docs/google-docs/providers/google/integrations/apps_script_projects/index.md index 32ef1fd119..5c39be4cee 100644 --- a/docs/google-docs/providers/google/integrations/apps_script_projects/index.md +++ b/docs/google-docs/providers/google/integrations/apps_script_projects/index.md @@ -1,3 +1,4 @@ + --- title: apps_script_projects hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - apps_script_projects - integrations - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an apps_script_project resource or lists apps_script_projects in a region ## Overview
@@ -28,9 +30,55 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `INSERT` | | Creates an Apps Script project. | | | `EXEC` | | Links a existing Apps Script project. | + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new apps_script_projects resource. + + + + +```sql +/*+ create */ +INSERT INTO google.integrations.apps_script_projects ( +locationsId, +projectsId, +authConfigId, +appsScriptProject +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ authConfigId }}', +'{{ appsScriptProject }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: authConfigId + value: '{{ authConfigId }}' + - name: appsScriptProject + value: '{{ appsScriptProject }}' + +``` + + diff --git a/docs/google-docs/providers/google/integrations/auth_configs/index.md b/docs/google-docs/providers/google/integrations/auth_configs/index.md index 978a419461..6d6d53806f 100644 --- a/docs/google-docs/providers/google/integrations/auth_configs/index.md +++ b/docs/google-docs/providers/google/integrations/auth_configs/index.md @@ -1,3 +1,4 @@ + --- title: auth_configs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - auth_configs - integrations - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an auth_config resource or lists auth_configs in a region ## Overview @@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Resource name of the auth config. For more information, see Manage authentication profiles. projects/{project}/locations/{location}/authConfigs/{authConfig}. | +| | `string` | Resource name of the auth config. For more information, see Manage authentication profiles. projects/{project}/locations/{location}/authConfigs/{authConfig}. | | | `string` | A description of the auth config. | | | `string` | Certificate id for client certificate | | | `string` | Output only. The timestamp when the auth config is created. | @@ -47,6 +49,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The timestamp when the auth config is modified. | | | `string` | The time until the auth config is valid. Empty or max value is considered the auth config won't expire. | | | `string` | The visibility of the auth config. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -60,5 +63,176 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `DELETE` | | Deletes an auth config. | | | `UPDATE` | | Updates an auth config. If credential is updated, fetch the encrypted auth config from Spanner, decrypt with Cloud KMS key, update the credential fields, re-encrypt with Cloud KMS key and update the Spanner record. For other fields, directly update the Spanner record. Returns the encrypted auth config. | | | `UPDATE` | | Updates an auth config. If credential is updated, fetch the encrypted auth config from Spanner, decrypt with Cloud KMS key, update the credential fields, re-encrypt with Cloud KMS key and update the Spanner record. For other fields, directly update the Spanner record. Returns the encrypted auth config. | -| | `EXEC` | | Lists all auth configs that match the filter. Restrict to auth configs belong to the current client only. | -| | `EXEC` | | Lists all auth configs that match the filter. Restrict to auth configs belong to the current client only. | + +## `SELECT` examples + +Lists all auth configs that match the filter. Restrict to auth configs belong to the current client only. + +```sql +SELECT +name, +description, +certificateId, +createTime, +creatorEmail, +credentialType, +decryptedCredential, +displayName, +encryptedCredential, +expiryNotificationDuration, +lastModifierEmail, +overrideValidTime, +reason, +state, +updateTime, +validTime, +visibility +FROM google.integrations.auth_configs +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new auth_configs resource. + + + + +```sql +/*+ create */ +INSERT INTO google.integrations.auth_configs ( +locationsId, +projectsId, +reason, +visibility, +displayName, +encryptedCredential, +name, +description, +creatorEmail, +credentialType, +validTime, +state, +lastModifierEmail, +overrideValidTime, +expiryNotificationDuration, +createTime, +updateTime, +certificateId, +decryptedCredential +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ reason }}', +'{{ visibility }}', +'{{ displayName }}', +'{{ encryptedCredential }}', +'{{ name }}', +'{{ description }}', +'{{ creatorEmail }}', +'{{ credentialType }}', +'{{ validTime }}', +'{{ state }}', +'{{ lastModifierEmail }}', +'{{ overrideValidTime }}', +'{{ expiryNotificationDuration }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ certificateId }}', +'{{ decryptedCredential }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: reason + value: '{{ reason }}' + - name: visibility + value: '{{ visibility }}' + - name: displayName + value: '{{ displayName }}' + - name: encryptedCredential + value: '{{ encryptedCredential }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: creatorEmail + value: '{{ creatorEmail }}' + - name: credentialType + value: '{{ credentialType }}' + - name: validTime + value: '{{ validTime }}' + - name: state + value: '{{ state }}' + - name: lastModifierEmail + value: '{{ lastModifierEmail }}' + - name: overrideValidTime + value: '{{ overrideValidTime }}' + - name: expiryNotificationDuration + value: '{{ expiryNotificationDuration }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: certificateId + value: '{{ certificateId }}' + - name: decryptedCredential + value: '{{ decryptedCredential }}' + +``` + + + +## `UPDATE` example + +Updates a auth_config only if the necessary resources are available. + +```sql +UPDATE google.integrations.auth_configs +SET +reason = '{{ reason }}', +visibility = '{{ visibility }}', +displayName = '{{ displayName }}', +encryptedCredential = '{{ encryptedCredential }}', +name = '{{ name }}', +description = '{{ description }}', +creatorEmail = '{{ creatorEmail }}', +credentialType = '{{ credentialType }}', +validTime = '{{ validTime }}', +state = '{{ state }}', +lastModifierEmail = '{{ lastModifierEmail }}', +overrideValidTime = '{{ overrideValidTime }}', +expiryNotificationDuration = '{{ expiryNotificationDuration }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +certificateId = '{{ certificateId }}', +decryptedCredential = '{{ decryptedCredential }}' +WHERE +authConfigsId = '{{ authConfigsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified auth_config resource. + +```sql +DELETE FROM google.integrations.auth_configs +WHERE authConfigsId = '{{ authConfigsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/integrations/callback/index.md b/docs/google-docs/providers/google/integrations/callback/index.md index 9762f506c5..82be3c4ce4 100644 --- a/docs/google-docs/providers/google/integrations/callback/index.md +++ b/docs/google-docs/providers/google/integrations/callback/index.md @@ -1,3 +1,4 @@ + --- title: callback hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - callback - integrations - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an callback resource or lists callback in a region ## Overview
@@ -28,8 +30,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Receives the auth code and auth config id to combine that with the client id and secret to retrieve access tokens from the token endpoint. Returns either a success or error message when it's done. | diff --git a/docs/google-docs/providers/google/integrations/certificates/index.md b/docs/google-docs/providers/google/integrations/certificates/index.md index 0d270ba0ff..e748c0a4a9 100644 --- a/docs/google-docs/providers/google/integrations/certificates/index.md +++ b/docs/google-docs/providers/google/integrations/certificates/index.md @@ -1,3 +1,4 @@ + --- title: certificates hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - certificates - integrations - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an certificate resource or lists certificates in a region ## Overview @@ -33,12 +35,13 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Auto generated primary key | | | `string` | Description of the certificate | | | `string` | Status of the certificate | -| | `string` | Immutable. Credential id that will be used to register with trawler INTERNAL_ONLY | +| | `string` | Immutable. Credential id that will be used to register with trawler | | | `string` | Required. Name of the certificate | | | `object` | Contains client certificate information | | | `string` | Immutable. Requestor ID to be used to register certificate with trawler | | | `string` | Output only. The timestamp after which certificate will expire | | | `string` | Output only. The timestamp after which certificate will be valid | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -52,5 +55,128 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `DELETE` | | Delete a certificate | | | `UPDATE` | | Updates the certificate by id. If new certificate file is updated, it will register with the trawler service, re-encrypt with cloud KMS and update the Spanner record. Other fields will directly update the Spanner record. Returns the Certificate. | | | `UPDATE` | | Updates the certificate by id. If new certificate file is updated, it will register with the trawler service, re-encrypt with cloud KMS and update the Spanner record. Other fields will directly update the Spanner record. Returns the Certificate. | -| | `EXEC` | | List all the certificates that match the filter. Restrict to certificate of current client only. | -| | `EXEC` | | List all the certificates that match the filter. Restrict to certificate of current client only. | + +## `SELECT` examples + +List all the certificates that match the filter. Restrict to certificate of current client only. + +```sql +SELECT +name, +description, +certificateStatus, +credentialId, +displayName, +rawCertificate, +requestorId, +validEndTime, +validStartTime +FROM google.integrations.certificates +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new certificates resource. + + + + +```sql +/*+ create */ +INSERT INTO google.integrations.certificates ( +locationsId, +projectsId, +name, +validEndTime, +requestorId, +certificateStatus, +credentialId, +rawCertificate, +validStartTime, +description, +displayName +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ validEndTime }}', +'{{ requestorId }}', +'{{ certificateStatus }}', +'{{ credentialId }}', +'{{ rawCertificate }}', +'{{ validStartTime }}', +'{{ description }}', +'{{ displayName }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: validEndTime + value: '{{ validEndTime }}' + - name: requestorId + value: '{{ requestorId }}' + - name: certificateStatus + value: '{{ certificateStatus }}' + - name: credentialId + value: '{{ credentialId }}' + - name: rawCertificate + value: '{{ rawCertificate }}' + - name: validStartTime + value: '{{ validStartTime }}' + - name: description + value: '{{ description }}' + - name: displayName + value: '{{ displayName }}' + +``` + + + +## `UPDATE` example + +Updates a certificate only if the necessary resources are available. + +```sql +UPDATE google.integrations.certificates +SET +name = '{{ name }}', +validEndTime = '{{ validEndTime }}', +requestorId = '{{ requestorId }}', +certificateStatus = '{{ certificateStatus }}', +credentialId = '{{ credentialId }}', +rawCertificate = '{{ rawCertificate }}', +validStartTime = '{{ validStartTime }}', +description = '{{ description }}', +displayName = '{{ displayName }}' +WHERE +certificatesId = '{{ certificatesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified certificate resource. + +```sql +DELETE FROM google.integrations.certificates +WHERE certificatesId = '{{ certificatesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/integrations/clientmetadata/index.md b/docs/google-docs/providers/google/integrations/clientmetadata/index.md index 4a8c7c8ac8..cc2b2b62d9 100644 --- a/docs/google-docs/providers/google/integrations/clientmetadata/index.md +++ b/docs/google-docs/providers/google/integrations/clientmetadata/index.md @@ -1,3 +1,4 @@ + --- title: clientmetadata hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - clientmetadata - integrations - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an clientmetadatum resource or lists clientmetadata in a region ## Overview
@@ -28,7 +30,22 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `object` | Metadata information for the given project | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets the metadata info for the requested client | + +## `SELECT` examples + +Gets the metadata info for the requested client + +```sql +SELECT +properties +FROM google.integrations.clientmetadata +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/integrations/clients/index.md b/docs/google-docs/providers/google/integrations/clients/index.md index 77a3ce4852..0917b46a0d 100644 --- a/docs/google-docs/providers/google/integrations/clients/index.md +++ b/docs/google-docs/providers/google/integrations/clients/index.md @@ -1,3 +1,4 @@ + --- title: clients hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - clients - integrations - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an client resource or lists clients in a region ## Overview @@ -28,6 +30,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `object` | The configuration information for the Client | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -37,3 +43,15 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `EXEC` | | Update run-as service account for provisioned client | | | `EXEC` | | Update client from GMEK to CMEK | | | `EXEC` | | Update variable masking for provisioned client | + +## `SELECT` examples + +Gets the client configuration for the given project and location resource name + +```sql +SELECT +client +FROM google.integrations.clients +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/integrations/cloud_functions/index.md b/docs/google-docs/providers/google/integrations/cloud_functions/index.md index b9f38066be..c6570aa91d 100644 --- a/docs/google-docs/providers/google/integrations/cloud_functions/index.md +++ b/docs/google-docs/providers/google/integrations/cloud_functions/index.md @@ -1,3 +1,4 @@ + --- title: cloud_functions hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - cloud_functions - integrations - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an cloud_function resource or lists cloud_functions in a region ## Overview @@ -28,9 +30,59 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `INSERT` | | -| | `INSERT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `INSERT` | | Creates a cloud function project. | +| | `INSERT` | | Creates a cloud function project. | + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new cloud_functions resource. + + + + +```sql +/*+ create */ +INSERT INTO google.integrations.cloud_functions ( +locationsId, +projectsId, +projectId, +functionRegion, +functionName +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ projectId }}', +'{{ functionRegion }}', +'{{ functionName }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: projectId + value: '{{ projectId }}' + - name: functionRegion + value: '{{ functionRegion }}' + - name: functionName + value: '{{ functionName }}' + +``` + + diff --git a/docs/google-docs/providers/google/integrations/connections/index.md b/docs/google-docs/providers/google/integrations/connections/index.md index 9e90fbc2b1..6de30129cd 100644 --- a/docs/google-docs/providers/google/integrations/connections/index.md +++ b/docs/google-docs/providers/google/integrations/connections/index.md @@ -1,3 +1,4 @@ + --- title: connections hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - connections - integrations - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an connection resource or lists connections in a region ## Overview @@ -30,8 +32,9 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. Resource name of the Connection. Format: projects/{project}/locations/{location}/connections/{connection} | +| | `string` | Output only. Resource name of the Connection. Format: projects/{project}/locations/{location}/connections/{connection} | | | `string` | Optional. Description of the resource. | +| | `boolean` | Optional. Async operations enabled for the connection. If Async Operations is enabled, Connection allows the customers to initiate async long running operations using the actions API. | | | `object` | AuthConfig defines details of a authentication type. | | | `object` | Billing config for the connection. | | | `array` | Optional. Configuration for configuring the connection with an external system. | @@ -41,11 +44,12 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Flag to mark the version indicating the launch stage. | | | `string` | Output only. Created time. | | | `array` | Optional. Configuration of the Connector's destination. Only accepted for Connectors that accepts user defined destination(s). | -| | `string` | Output only. GCR location where the envoy image is stored. formatted like: gcr.io/{bucketName}/{imageName} | +| | `string` | Output only. GCR location where the envoy image is stored. formatted like: gcr.io/{bucketName}/{imageName} | | | `object` | Eventing Configuration of a connection | | | `string` | Optional. Eventing enablement type. Will be nil if eventing is not enabled. | | | `object` | Eventing runtime data has the details related to eventing managed by the system. | -| | `string` | Output only. GCR location where the runtime image is stored. formatted like: gcr.io/{bucketName}/{imageName} | +| | `string` | Output only. The name of the Hostname of the Service Directory service with TLS. | +| | `string` | Output only. GCR location where the runtime image is stored. formatted like: gcr.io/{bucketName}/{imageName} | | | `boolean` | Output only. Is trusted tester program enabled for the project. | | | `object` | Optional. Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources | | | `object` | Determines whether or no a connection is locked. If locked, a reason must be specified. | @@ -57,9 +61,54 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | ConnectionStatus indicates the state of the connection. | | | `string` | Output only. This subscription type enum states the subscription type of the project. | | | `boolean` | Optional. Suspended indicates if a user has suspended a connection or not. | +| | `string` | Output only. Status of the TLS migration. | +| | `string` | Output only. The name of the Service Directory service with TLS. | | | `string` | Output only. Updated time. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists Connections in a given project and location. | + +## `SELECT` examples + +Lists Connections in a given project and location. + +```sql +SELECT +name, +description, +asyncOperationsEnabled, +authConfig, +billingConfig, +configVariables, +connectionRevision, +connectorVersion, +connectorVersionInfraConfig, +connectorVersionLaunchStage, +createTime, +destinationConfigs, +envoyImageLocation, +eventingConfig, +eventingEnablementType, +eventingRuntimeData, +host, +imageLocation, +isTrustedTester, +labels, +lockConfig, +logConfig, +nodeConfig, +serviceAccount, +serviceDirectory, +sslConfig, +status, +subscriptionType, +suspended, +tlsMigrationState, +tlsServiceDirectory, +updateTime +FROM google.integrations.connections +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/integrations/connections_connection_schema_metadata/index.md b/docs/google-docs/providers/google/integrations/connections_connection_schema_metadata/index.md index 4db6114348..76fd71f499 100644 --- a/docs/google-docs/providers/google/integrations/connections_connection_schema_metadata/index.md +++ b/docs/google-docs/providers/google/integrations/connections_connection_schema_metadata/index.md @@ -1,3 +1,4 @@ + --- title: connections_connection_schema_metadata hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - connections_connection_schema_metadata - integrations - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an connections_connection_schema_metadatum resource or lists connections_connection_schema_metadata in a region ## Overview
@@ -32,7 +34,22 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `array` | List of actions. | | | `array` | List of entity names. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists the available entities and actions associated with a Connection. | + +## `SELECT` examples + +Lists the available entities and actions associated with a Connection. + +```sql +SELECT +actions, +entities +FROM google.integrations.connections_connection_schema_metadata +WHERE connectionsId = '{{ connectionsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/integrations/connector_platform_regions/index.md b/docs/google-docs/providers/google/integrations/connector_platform_regions/index.md index 788d1d9346..57e308541b 100644 --- a/docs/google-docs/providers/google/integrations/connector_platform_regions/index.md +++ b/docs/google-docs/providers/google/integrations/connector_platform_regions/index.md @@ -1,3 +1,4 @@ + --- title: connector_platform_regions hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - connector_platform_regions - integrations - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an connector_platform_region resource or lists connector_platform_regions in a region ## Overview
@@ -28,8 +30,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Enumerates the regions for which Connector Platform is provisioned. | diff --git a/docs/google-docs/providers/google/integrations/executions/index.md b/docs/google-docs/providers/google/integrations/executions/index.md index f730d60b89..cadd693220 100644 --- a/docs/google-docs/providers/google/integrations/executions/index.md +++ b/docs/google-docs/providers/google/integrations/executions/index.md @@ -1,3 +1,4 @@ + --- title: executions hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - executions - integrations - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an execution resource or lists executions in a region ## Overview @@ -34,7 +36,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Cloud Logging details for execution info | | | `string` | Output only. Created time of the execution. | | | `array` | Direct sub executions of the following Execution. | -| | `object` | Contains the details of the execution info of this event: this includes the tasks execution details plus the event execution statistics. Next available id: 11 | +| | `object` | Contains the details of the execution info of this event: this includes the tasks execution details plus the event execution statistics. Next available id: 12 | | | `object` | Contains the details of the execution info: this includes the tasks execution details plus the event execution statistics. | | | `string` | The ways user posts this event. | | | `string` | Output only. State of the integration version | @@ -46,6 +48,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. An increasing sequence that is set when a new snapshot is created | | | `string` | The trigger id of the integration trigger config. If both trigger_id and client_id is present, the integration is executed from the start tasks provided by the matching trigger config otherwise it is executed from the default start tasks. | | | `string` | Output only. Last modified time of the execution. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -53,9 +56,33 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists the results of all the integration executions. The response includes the same information as the [execution log](https://cloud.google.com/application-integration/docs/viewing-logs) in the Integration UI. | | | `SELECT` | | Get an execution in the specified project. | | | `SELECT` | | Lists the results of all the integration executions. The response includes the same information as the [execution log](https://cloud.google.com/application-integration/docs/viewing-logs) in the Integration UI. | -| | `EXEC` | | Lists the results of all the integration executions. The response includes the same information as the [execution log](https://cloud.google.com/application-integration/docs/viewing-logs) in the Integration UI. | -| | `EXEC` | | Lists the results of all the integration executions. The response includes the same information as the [execution log](https://cloud.google.com/application-integration/docs/viewing-logs) in the Integration UI. | | | `EXEC` | | Download the execution. | -| | `EXEC` | | Re-execute an existing execution, with same request parameters and execution strategy | -| | `EXEC` | | Cancellation of an execution | | | `EXEC` | | Download the execution. | + +## `SELECT` examples + +Lists the results of all the integration executions. The response includes the same information as the [execution log](https://cloud.google.com/application-integration/docs/viewing-logs) in the Integration UI. + +```sql +SELECT +name, +cloudLoggingDetails, +createTime, +directSubExecutions, +eventExecutionDetails, +executionDetails, +executionMethod, +integrationVersionState, +replayInfo, +requestParameters, +requestParams, +responseParameters, +responseParams, +snapshotNumber, +triggerId, +updateTime +FROM google.integrations.executions +WHERE integrationsId = '{{ integrationsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/integrations/index.md b/docs/google-docs/providers/google/integrations/index.md index 4103cea608..b280079ba1 100644 --- a/docs/google-docs/providers/google/integrations/index.md +++ b/docs/google-docs/providers/google/integrations/index.md @@ -9,34 +9,23 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- - - +The integrations service documentation. + :::info Service Summary
-total resources: 19
-total selectable resources: 14
-total methods: 120
+total resources: 20
::: -## Overview -
- - - - - -
Namegoogle.integrations
TypeService
TitleApplication Integration API
Description
Idintegrations:v24.06.00236
- ## Resources
@@ -49,7 +38,7 @@ image: /img/providers/google/stackql-google-provider-featured-image.png cloud_functions
connections
connections_connection_schema_metadata
-connector_platform_regions
+connector_platform_regions
executions
@@ -60,6 +49,7 @@ image: /img/providers/google/stackql-google-provider-featured-image.png sfdc_instances
skip_this_resource
suspensions
-versions
-
+templates
+versions
+ \ No newline at end of file diff --git a/docs/google-docs/providers/google/integrations/integrations/index.md b/docs/google-docs/providers/google/integrations/integrations/index.md index 795401fc12..e3f25b03c2 100644 --- a/docs/google-docs/providers/google/integrations/integrations/index.md +++ b/docs/google-docs/providers/google/integrations/integrations/index.md @@ -1,3 +1,4 @@ + --- title: integrations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - integrations - integrations - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an integration resource or lists integrations in a region ## Overview @@ -37,17 +39,45 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The creator's email address. Generated based on the End User Credentials/LOAS role of the user making the call. | | | `string` | Required. The last modifier of this integration | | | `string` | Output only. Auto-generated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Returns the list of all integrations in the specified project. | | | `SELECT` | | Returns the list of all integrations in the specified project. | | | `DELETE` | | Delete the selected integration and all versions inside | -| | `EXEC` | | Returns the list of all integrations in the specified project. | -| | `EXEC` | | Returns the list of all integrations in the specified project. | | | `EXEC` | | Executes integrations synchronously by passing the trigger id in the request body. The request is not returned until the requested executions are either fulfilled or experienced an error. If the integration name is not specified (passing `-`), all of the associated integration under the given trigger_id will be executed. Otherwise only the specified integration for the given `trigger_id` is executed. This is helpful for execution the integration from UI. | | | `EXEC` | | Schedules an integration for execution by passing the trigger id and the scheduled time in the request body. | | | `EXEC` | | Execute the integration in draft state | | | `EXEC` | | Executes integrations synchronously by passing the trigger id in the request body. The request is not returned until the requested executions are either fulfilled or experienced an error. If the integration name is not specified (passing `-`), all of the associated integration under the given trigger_id will be executed. Otherwise only the specified integration for the given `trigger_id` is executed. This is helpful for execution the integration from UI. | | | `EXEC` | | Schedules an integration for execution by passing the trigger id and the scheduled time in the request body. | | | `EXEC` | | Execute the integration in draft state | + +## `SELECT` examples + +Returns the list of all integrations in the specified project. + +```sql +SELECT +name, +description, +active, +createTime, +creatorEmail, +lastModifierEmail, +updateTime +FROM google.integrations.integrations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified integration resource. + +```sql +DELETE FROM google.integrations.integrations +WHERE integrationsId = '{{ integrationsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/integrations/runtime_action_schemas/index.md b/docs/google-docs/providers/google/integrations/runtime_action_schemas/index.md index 8a71a5b5e8..8a6d0a0b96 100644 --- a/docs/google-docs/providers/google/integrations/runtime_action_schemas/index.md +++ b/docs/google-docs/providers/google/integrations/runtime_action_schemas/index.md @@ -1,3 +1,4 @@ + --- title: runtime_action_schemas hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - runtime_action_schemas - integrations - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an runtime_action_schema resource or lists runtime_action_schemas in a region ## Overview
@@ -33,8 +35,23 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Name of the action. | | | `string` | Input parameter schema for the action. | | | `string` | Output parameter schema for the action. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists the JSON schemas for the inputs and outputs of actions, filtered by action name. | + +## `SELECT` examples + +Lists the JSON schemas for the inputs and outputs of actions, filtered by action name. + +```sql +SELECT +action, +inputSchema, +outputSchema +FROM google.integrations.runtime_action_schemas +WHERE connectionsId = '{{ connectionsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/integrations/runtime_entity_schemas/index.md b/docs/google-docs/providers/google/integrations/runtime_entity_schemas/index.md index 52411119c0..7dd43d136b 100644 --- a/docs/google-docs/providers/google/integrations/runtime_entity_schemas/index.md +++ b/docs/google-docs/providers/google/integrations/runtime_entity_schemas/index.md @@ -1,3 +1,4 @@ + --- title: runtime_entity_schemas hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - runtime_entity_schemas - integrations - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an runtime_entity_schema resource or lists runtime_entity_schemas in a region ## Overview
@@ -33,8 +35,23 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The above schema, but for an array of the associated entity. | | | `string` | Name of the entity. | | | `string` | List of fields in the entity. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists the JSON schemas for the properties of runtime entities, filtered by entity name. | + +## `SELECT` examples + +Lists the JSON schemas for the properties of runtime entities, filtered by entity name. + +```sql +SELECT +arrayFieldSchema, +entity, +fieldSchema +FROM google.integrations.runtime_entity_schemas +WHERE connectionsId = '{{ connectionsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/integrations/sfdc_channels/index.md b/docs/google-docs/providers/google/integrations/sfdc_channels/index.md index ebe4143fd3..40c1324b9e 100644 --- a/docs/google-docs/providers/google/integrations/sfdc_channels/index.md +++ b/docs/google-docs/providers/google/integrations/sfdc_channels/index.md @@ -1,3 +1,4 @@ + --- title: sfdc_channels hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - sfdc_channels - integrations - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an sfdc_channel resource or lists sfdc_channels in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Resource name of the SFDC channel projects/{project}/locations/{location}/sfdcInstances/{sfdc_instance}/sfdcChannels/{sfdc_channel}. | +| | `string` | Resource name of the SFDC channel projects/{project}/locations/{location}/sfdcInstances/{sfdc_instance}/sfdcChannels/{sfdc_channel}. | | | `string` | The description for this channel | | | `string` | The Channel topic defined by salesforce once an channel is opened | | | `string` | Output only. Time when the channel is created | @@ -39,6 +41,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `boolean` | Indicated if a channel has any active integrations referencing it. Set to false when the channel is created, and set to true if there is any integration published with the channel configured in it. | | | `string` | Last sfdc messsage replay id for channel | | | `string` | Output only. Time when the channel was last updated | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -52,5 +55,133 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `DELETE` | | Deletes an sfdc channel. | | | `UPDATE` | | Updates an sfdc channel. Updates the sfdc channel in spanner. Returns the sfdc channel. | | | `UPDATE` | | Updates an sfdc channel. Updates the sfdc channel in spanner. Returns the sfdc channel. | -| | `EXEC` | | Lists all sfdc channels that match the filter. Restrict to sfdc channels belonging to the current client only. | -| | `EXEC` | | Lists all sfdc channels that match the filter. Restrict to sfdc channels belonging to the current client only. | + +## `SELECT` examples + +Lists all sfdc channels that match the filter. Restrict to sfdc channels belonging to the current client only. + +```sql +SELECT +name, +description, +channelTopic, +createTime, +deleteTime, +displayName, +isActive, +lastReplayId, +updateTime +FROM google.integrations.sfdc_channels +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND sfdcInstancesId = '{{ sfdcInstancesId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new sfdc_channels resource. + + + + +```sql +/*+ create */ +INSERT INTO google.integrations.sfdc_channels ( +locationsId, +projectsId, +sfdcInstancesId, +name, +updateTime, +description, +deleteTime, +displayName, +createTime, +lastReplayId, +channelTopic, +isActive +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ sfdcInstancesId }}', +'{{ name }}', +'{{ updateTime }}', +'{{ description }}', +'{{ deleteTime }}', +'{{ displayName }}', +'{{ createTime }}', +'{{ lastReplayId }}', +'{{ channelTopic }}', +true|false +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: updateTime + value: '{{ updateTime }}' + - name: description + value: '{{ description }}' + - name: deleteTime + value: '{{ deleteTime }}' + - name: displayName + value: '{{ displayName }}' + - name: createTime + value: '{{ createTime }}' + - name: lastReplayId + value: '{{ lastReplayId }}' + - name: channelTopic + value: '{{ channelTopic }}' + - name: isActive + value: '{{ isActive }}' + +``` + + + +## `UPDATE` example + +Updates a sfdc_channel only if the necessary resources are available. + +```sql +UPDATE google.integrations.sfdc_channels +SET +name = '{{ name }}', +updateTime = '{{ updateTime }}', +description = '{{ description }}', +deleteTime = '{{ deleteTime }}', +displayName = '{{ displayName }}', +createTime = '{{ createTime }}', +lastReplayId = '{{ lastReplayId }}', +channelTopic = '{{ channelTopic }}', +isActive = true|false +WHERE +locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND sfdcChannelsId = '{{ sfdcChannelsId }}' +AND sfdcInstancesId = '{{ sfdcInstancesId }}'; +``` + +## `DELETE` example + +Deletes the specified sfdc_channel resource. + +```sql +DELETE FROM google.integrations.sfdc_channels +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND sfdcChannelsId = '{{ sfdcChannelsId }}' +AND sfdcInstancesId = '{{ sfdcInstancesId }}'; +``` diff --git a/docs/google-docs/providers/google/integrations/sfdc_instances/index.md b/docs/google-docs/providers/google/integrations/sfdc_instances/index.md index 4d25f96ca4..96d1e437ca 100644 --- a/docs/google-docs/providers/google/integrations/sfdc_instances/index.md +++ b/docs/google-docs/providers/google/integrations/sfdc_instances/index.md @@ -1,3 +1,4 @@ + --- title: sfdc_instances hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - sfdc_instances - integrations - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an sfdc_instance resource or lists sfdc_instances in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Resource name of the SFDC instance projects/{project}/locations/{location}/sfdcInstances/{sfdcInstance}. | +| | `string` | Resource name of the SFDC instance projects/{project}/locations/{location}/sfdcInstances/{sfdcInstance}. | | | `string` | A description of the sfdc instance. | | | `array` | A list of AuthConfigs that can be tried to open the channel to SFDC | | | `string` | Output only. Time when the instance is created | @@ -39,6 +41,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | URL used for API calls after authentication (the login authority is configured within the referenced AuthConfig). | | | `string` | The SFDC Org Id. This is defined in salesforce. | | | `string` | Output only. Time when the instance was last updated | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -52,5 +55,128 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `DELETE` | | Deletes an sfdc instance. | | | `UPDATE` | | Updates an sfdc instance. Updates the sfdc instance in spanner. Returns the sfdc instance. | | | `UPDATE` | | Updates an sfdc instance. Updates the sfdc instance in spanner. Returns the sfdc instance. | -| | `EXEC` | | Lists all sfdc instances that match the filter. Restrict to sfdc instances belonging to the current client only. | -| | `EXEC` | | Lists all sfdc instances that match the filter. Restrict to sfdc instances belonging to the current client only. | + +## `SELECT` examples + +Lists all sfdc instances that match the filter. Restrict to sfdc instances belonging to the current client only. + +```sql +SELECT +name, +description, +authConfigId, +createTime, +deleteTime, +displayName, +serviceAuthority, +sfdcOrgId, +updateTime +FROM google.integrations.sfdc_instances +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new sfdc_instances resource. + + + + +```sql +/*+ create */ +INSERT INTO google.integrations.sfdc_instances ( +locationsId, +projectsId, +authConfigId, +description, +serviceAuthority, +displayName, +sfdcOrgId, +deleteTime, +name, +createTime, +updateTime +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ authConfigId }}', +'{{ description }}', +'{{ serviceAuthority }}', +'{{ displayName }}', +'{{ sfdcOrgId }}', +'{{ deleteTime }}', +'{{ name }}', +'{{ createTime }}', +'{{ updateTime }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: authConfigId + value: '{{ authConfigId }}' + - name: description + value: '{{ description }}' + - name: serviceAuthority + value: '{{ serviceAuthority }}' + - name: displayName + value: '{{ displayName }}' + - name: sfdcOrgId + value: '{{ sfdcOrgId }}' + - name: deleteTime + value: '{{ deleteTime }}' + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + +``` + + + +## `UPDATE` example + +Updates a sfdc_instance only if the necessary resources are available. + +```sql +UPDATE google.integrations.sfdc_instances +SET +authConfigId = '{{ authConfigId }}', +description = '{{ description }}', +serviceAuthority = '{{ serviceAuthority }}', +displayName = '{{ displayName }}', +sfdcOrgId = '{{ sfdcOrgId }}', +deleteTime = '{{ deleteTime }}', +name = '{{ name }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}' +WHERE +locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND sfdcInstancesId = '{{ sfdcInstancesId }}'; +``` + +## `DELETE` example + +Deletes the specified sfdc_instance resource. + +```sql +DELETE FROM google.integrations.sfdc_instances +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND sfdcInstancesId = '{{ sfdcInstancesId }}'; +``` diff --git a/docs/google-docs/providers/google/integrations/skip_this_resource/index.md b/docs/google-docs/providers/google/integrations/skip_this_resource/index.md index 2e412e766f..d014c5f377 100644 --- a/docs/google-docs/providers/google/integrations/skip_this_resource/index.md +++ b/docs/google-docs/providers/google/integrations/skip_this_resource/index.md @@ -1,3 +1,4 @@ + --- title: skip_this_resource hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - skip_this_resource - integrations - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an skip_this_resource resource or lists skip_this_resource in a region ## Overview
@@ -28,8 +30,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Executes an integration on receiving events from Integration Connector triggers, Eventarc or CPS Trigger. Input data to integration is received in body in json format | diff --git a/docs/google-docs/providers/google/integrations/suspensions/index.md b/docs/google-docs/providers/google/integrations/suspensions/index.md index 722f652b76..2fc4b5e8da 100644 --- a/docs/google-docs/providers/google/integrations/suspensions/index.md +++ b/docs/google-docs/providers/google/integrations/suspensions/index.md @@ -1,3 +1,4 @@ + --- title: suspensions hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - suspensions - integrations - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an suspension resource or lists suspensions in a region ## Overview @@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Resource name for suspensions suspension/{suspension_id} | +| | `string` | Resource name for suspensions suspension/{suspension_id} | | | `object` | Configurations for approving the Suspension. | | | `object` | Contains when and by whom the suspension was resolved. | | | `string` | Output only. Auto-generated. | @@ -40,14 +42,36 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Required. State of this suspension, indicating what action a resolver has taken. | | | `object` | | | | `string` | Required. Task id of the associated SuspensionTask. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | * Lists suspensions associated with a specific execution. Only those with permissions to resolve the relevant suspensions will be able to view them. | | | `SELECT` | | * Lists suspensions associated with a specific execution. Only those with permissions to resolve the relevant suspensions will be able to view them. | -| | `EXEC` | | * Lists suspensions associated with a specific execution. Only those with permissions to resolve the relevant suspensions will be able to view them. | -| | `EXEC` | | * Lists suspensions associated with a specific execution. Only those with permissions to resolve the relevant suspensions will be able to view them. | | | `EXEC` | | * Lifts suspension for the Suspension task. Fetch corresponding suspension with provided suspension Id, resolve suspension, and set up suspension result for the Suspension Task. | | | `EXEC` | | * Resolves (lifts/rejects) any number of suspensions. If the integration is already running, only the status of the suspension is updated. Otherwise, the suspended integration will begin execution again. | | | `EXEC` | | * Lifts suspension for the Suspension task. Fetch corresponding suspension with provided suspension Id, resolve suspension, and set up suspension result for the Suspension Task. | | | `EXEC` | | * Resolves (lifts/rejects) any number of suspensions. If the integration is already running, only the status of the suspension is updated. Otherwise, the suspended integration will begin execution again. | + +## `SELECT` examples + +* Lists suspensions associated with a specific execution. Only those with permissions to resolve the relevant suspensions will be able to view them. + +```sql +SELECT +name, +approvalConfig, +audit, +createTime, +eventExecutionInfoId, +integration, +lastModifyTime, +state, +suspensionConfig, +taskId +FROM google.integrations.suspensions +WHERE executionsId = '{{ executionsId }}' +AND integrationsId = '{{ integrationsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/integrations/templates/index.md b/docs/google-docs/providers/google/integrations/templates/index.md new file mode 100644 index 0000000000..0176059caa --- /dev/null +++ b/docs/google-docs/providers/google/integrations/templates/index.md @@ -0,0 +1,233 @@ + +--- +title: templates +hide_title: false +hide_table_of_contents: false +keywords: + - templates + - integrations + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an template resource or lists templates in a region + +## Overview +
+ + + +
Nametemplates
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | Identifier. Resource name of the template. | +| | `string` | Optional. Description of the template. The length should not be more than 255 characters | +| | `string` | Optional. Creator of the template. | +| | `array` | Required. Categories associated with the Template. The categories listed below will be utilized for the Template listing. | +| | `array` | Optional. Components being used in the template. This could be used to categorize and filter. | +| | `string` | Output only. Auto-generated. | +| | `string` | Required. The name of the template | +| | `string` | Optional. Link to template documentation. | +| | `string` | Optional. Time the template was last used. | +| | `array` | Required. Resource names with which the template is shared for example ProjectNumber/Ord id | +| | `array` | Required. Tags which are used to identify templates. These tags could be for business use case, connectors etc. | +| | `object` | Define the bundle of the template. | +| | `string` | Output only. Auto-generated | +| | `string` | Optional. Number of template usages. | +| | `string` | Optional. Information on how to use the template. This should contain detailed information about usage of the template. | +| | `string` | Required. Visibility of the template. | + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Get a template in the specified project. | +| | `SELECT` | | Lists all templates matching the filter. | +| | `INSERT` | | Creates a new template | +| | `DELETE` | | Deletes a template | +| | `UPDATE` | | Updates the template by given id. | +| | `EXEC` | | Downloads a template. Retrieves the `Template` and returns the response as a string. | +| | `EXEC` | | Import the template to an existing integration. This api would keep track of usage_count and last_used_time. PERMISSION_DENIED would be thrown if template is not accessible by client. | +| | `EXEC` | | Search templates based on user query and filters. This api would query the templates and return a list of templates based on the user filter. | +| | `EXEC` | | Share a template with other clients. Only the template owner can share the templates with other projects. PERMISSION_DENIED would be thrown if the request is not from the owner. | +| | `EXEC` | | Unshare a template from given clients. Owner of the template can unshare template with clients. Shared client can only unshare the template from itself. PERMISSION_DENIED would be thrown if request is not from owner or for unsharing itself. | +| | `EXEC` | | Uploads a template. The content can be a previously downloaded template. Performs the same function as CreateTemplate, but accepts input in a string format, which holds the complete representation of the Template content. | +| | `EXEC` | | Use the template to create integration. This api would keep track of usage_count and last_used_time. PERMISSION_DENIED would be thrown if template is not accessible by client. | + +## `SELECT` examples + +Lists all templates matching the filter. + +```sql +SELECT +name, +description, +author, +categories, +components, +createTime, +displayName, +docLink, +lastUsedTime, +sharedWith, +tags, +templateBundle, +updateTime, +usageCount, +usageInfo, +visibility +FROM google.integrations.templates +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new templates resource. + + + + +```sql +/*+ create */ +INSERT INTO google.integrations.templates ( +locationsId, +projectsId, +usageInfo, +templateBundle, +docLink, +name, +lastUsedTime, +components, +sharedWith, +author, +updateTime, +categories, +description, +visibility, +displayName, +tags, +usageCount, +createTime +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ usageInfo }}', +'{{ templateBundle }}', +'{{ docLink }}', +'{{ name }}', +'{{ lastUsedTime }}', +'{{ components }}', +'{{ sharedWith }}', +'{{ author }}', +'{{ updateTime }}', +'{{ categories }}', +'{{ description }}', +'{{ visibility }}', +'{{ displayName }}', +'{{ tags }}', +'{{ usageCount }}', +'{{ createTime }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: usageInfo + value: '{{ usageInfo }}' + - name: templateBundle + value: '{{ templateBundle }}' + - name: docLink + value: '{{ docLink }}' + - name: name + value: '{{ name }}' + - name: lastUsedTime + value: '{{ lastUsedTime }}' + - name: components + value: '{{ components }}' + - name: sharedWith + value: '{{ sharedWith }}' + - name: author + value: '{{ author }}' + - name: updateTime + value: '{{ updateTime }}' + - name: categories + value: '{{ categories }}' + - name: description + value: '{{ description }}' + - name: visibility + value: '{{ visibility }}' + - name: displayName + value: '{{ displayName }}' + - name: tags + value: '{{ tags }}' + - name: usageCount + value: '{{ usageCount }}' + - name: createTime + value: '{{ createTime }}' + +``` + + + +## `UPDATE` example + +Updates a template only if the necessary resources are available. + +```sql +UPDATE google.integrations.templates +SET +usageInfo = '{{ usageInfo }}', +templateBundle = '{{ templateBundle }}', +docLink = '{{ docLink }}', +name = '{{ name }}', +lastUsedTime = '{{ lastUsedTime }}', +components = '{{ components }}', +sharedWith = '{{ sharedWith }}', +author = '{{ author }}', +updateTime = '{{ updateTime }}', +categories = '{{ categories }}', +description = '{{ description }}', +visibility = '{{ visibility }}', +displayName = '{{ displayName }}', +tags = '{{ tags }}', +usageCount = '{{ usageCount }}', +createTime = '{{ createTime }}' +WHERE +locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND templatesId = '{{ templatesId }}'; +``` + +## `DELETE` example + +Deletes the specified template resource. + +```sql +DELETE FROM google.integrations.templates +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND templatesId = '{{ templatesId }}'; +``` diff --git a/docs/google-docs/providers/google/integrations/versions/index.md b/docs/google-docs/providers/google/integrations/versions/index.md index 3614a1e3bb..ee93a45554 100644 --- a/docs/google-docs/providers/google/integrations/versions/index.md +++ b/docs/google-docs/providers/google/integrations/versions/index.md @@ -1,3 +1,4 @@ + --- title: versions hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - versions - integrations - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an version resource or lists versions in a region ## Overview @@ -56,6 +58,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `array` | Optional. Trigger configurations. | | | `string` | Output only. Auto-generated. | | | `string` | Optional. A user-defined label that annotates an integration version. Typically, this is only set when the integration version is created. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -69,8 +72,6 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `DELETE` | | Soft-deletes the integration. Changes the status of the integration to ARCHIVED. If the integration being ARCHIVED is tagged as "HEAD", the tag is removed from this snapshot and set to the previous non-ARCHIVED snapshot. The PUBLISH_REQUESTED, DUE_FOR_DELETION tags are removed too. This RPC throws an exception if the version being deleted is DRAFT, and if the `locked_by` user is not the same as the user performing the Delete. Audit fields updated include last_modified_timestamp, last_modified_by. Any existing lock is released when Deleting a integration. Currently, there is no undelete mechanism. | | | `UPDATE` | | Update a integration with a draft version in the specified project. | | | `UPDATE` | | Update a integration with a draft version in the specified project. | -| | `EXEC` | | Returns the list of all integration versions in the specified project. | -| | `EXEC` | | Returns the list of all integration versions in the specified project. | | | `EXEC` | | Downloads an integration. Retrieves the `IntegrationVersion` for a given `integration_id` and returns the response as a string. | | | `EXEC` | | Downloads an Integration version package like IntegrationVersion,Integration Config etc. Retrieves the IntegrationVersion package for a given `integration_id` and returns the response as a JSON. | | | `EXEC` | | This RPC throws an exception if the integration is in ARCHIVED or ACTIVE state. This RPC throws an exception if the version being published is DRAFT, and if the `locked_by` user is not the same as the user performing the Publish. Audit fields updated include last_published_timestamp, last_published_by, last_modified_timestamp, last_modified_by. Any existing lock is on this integration is released. | @@ -81,3 +82,235 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `EXEC` | | Clears the `locked_by` and `locked_at_timestamp`in the DRAFT version of this integration. It then performs the same action as the CreateDraftIntegrationVersion (i.e., copies the DRAFT version of the integration as a SNAPSHOT and then creates a new DRAFT version with the `locked_by` set to the `user_taking_over` and the `locked_at_timestamp` set to the current timestamp). Both the `locked_by` and `user_taking_over` are notified via email about the takeover. This RPC throws an exception if the integration is not in DRAFT status or if the `locked_by` and `locked_at_timestamp` fields are not set.The TakeoverEdit lock is treated the same as an edit of the integration, and hence shares ACLs with edit. Audit fields updated include last_modified_timestamp, last_modified_by. | | | `EXEC` | | Sets the status of the ACTIVE integration to SNAPSHOT with a new tag "PREVIOUSLY_PUBLISHED" after validating it. The "HEAD" and "PUBLISH_REQUESTED" tags do not change. This RPC throws an exception if the version being snapshot is not ACTIVE. Audit fields added include action, action_by, action_timestamp. | | | `EXEC` | | Uploads an integration. The content can be a previously downloaded integration. Performs the same function as CreateDraftIntegrationVersion, but accepts input in a string format, which holds the complete representation of the IntegrationVersion content. | + +## `SELECT` examples + +Returns the list of all integration versions in the specified project. + +```sql +SELECT +name, +description, +cloudLoggingDetails, +createTime, +createdFromTemplate, +databasePersistencePolicy, +enableVariableMasking, +errorCatcherConfigs, +integrationConfigParameters, +integrationParameters, +integrationParametersInternal, +lastModifierEmail, +lockHolder, +origin, +parentTemplateId, +runAsServiceAccount, +snapshotNumber, +state, +status, +taskConfigs, +taskConfigsInternal, +teardown, +triggerConfigs, +triggerConfigsInternal, +updateTime, +userLabel +FROM google.integrations.versions +WHERE integrationsId = '{{ integrationsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new versions resource. + + + + +```sql +/*+ create */ +INSERT INTO google.integrations.versions ( +integrationsId, +locationsId, +projectsId, +integrationParametersInternal, +runAsServiceAccount, +userLabel, +cloudLoggingDetails, +integrationParameters, +integrationConfigParameters, +teardown, +state, +taskConfigsInternal, +triggerConfigsInternal, +triggerConfigs, +lockHolder, +createdFromTemplate, +status, +errorCatcherConfigs, +lastModifierEmail, +enableVariableMasking, +updateTime, +taskConfigs, +origin, +createTime, +description, +name, +databasePersistencePolicy, +parentTemplateId, +snapshotNumber +) +SELECT +'{{ integrationsId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ integrationParametersInternal }}', +'{{ runAsServiceAccount }}', +'{{ userLabel }}', +'{{ cloudLoggingDetails }}', +'{{ integrationParameters }}', +'{{ integrationConfigParameters }}', +'{{ teardown }}', +'{{ state }}', +'{{ taskConfigsInternal }}', +'{{ triggerConfigsInternal }}', +'{{ triggerConfigs }}', +'{{ lockHolder }}', +'{{ createdFromTemplate }}', +'{{ status }}', +'{{ errorCatcherConfigs }}', +'{{ lastModifierEmail }}', +true|false, +'{{ updateTime }}', +'{{ taskConfigs }}', +'{{ origin }}', +'{{ createTime }}', +'{{ description }}', +'{{ name }}', +'{{ databasePersistencePolicy }}', +'{{ parentTemplateId }}', +'{{ snapshotNumber }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: integrationParametersInternal + value: '{{ integrationParametersInternal }}' + - name: runAsServiceAccount + value: '{{ runAsServiceAccount }}' + - name: userLabel + value: '{{ userLabel }}' + - name: cloudLoggingDetails + value: '{{ cloudLoggingDetails }}' + - name: integrationParameters + value: '{{ integrationParameters }}' + - name: integrationConfigParameters + value: '{{ integrationConfigParameters }}' + - name: teardown + value: '{{ teardown }}' + - name: state + value: '{{ state }}' + - name: taskConfigsInternal + value: '{{ taskConfigsInternal }}' + - name: triggerConfigsInternal + value: '{{ triggerConfigsInternal }}' + - name: triggerConfigs + value: '{{ triggerConfigs }}' + - name: lockHolder + value: '{{ lockHolder }}' + - name: createdFromTemplate + value: '{{ createdFromTemplate }}' + - name: status + value: '{{ status }}' + - name: errorCatcherConfigs + value: '{{ errorCatcherConfigs }}' + - name: lastModifierEmail + value: '{{ lastModifierEmail }}' + - name: enableVariableMasking + value: '{{ enableVariableMasking }}' + - name: updateTime + value: '{{ updateTime }}' + - name: taskConfigs + value: '{{ taskConfigs }}' + - name: origin + value: '{{ origin }}' + - name: createTime + value: '{{ createTime }}' + - name: description + value: '{{ description }}' + - name: name + value: '{{ name }}' + - name: databasePersistencePolicy + value: '{{ databasePersistencePolicy }}' + - name: parentTemplateId + value: '{{ parentTemplateId }}' + - name: snapshotNumber + value: '{{ snapshotNumber }}' + +``` + + + +## `UPDATE` example + +Updates a version only if the necessary resources are available. + +```sql +UPDATE google.integrations.versions +SET +integrationParametersInternal = '{{ integrationParametersInternal }}', +runAsServiceAccount = '{{ runAsServiceAccount }}', +userLabel = '{{ userLabel }}', +cloudLoggingDetails = '{{ cloudLoggingDetails }}', +integrationParameters = '{{ integrationParameters }}', +integrationConfigParameters = '{{ integrationConfigParameters }}', +teardown = '{{ teardown }}', +state = '{{ state }}', +taskConfigsInternal = '{{ taskConfigsInternal }}', +triggerConfigsInternal = '{{ triggerConfigsInternal }}', +triggerConfigs = '{{ triggerConfigs }}', +lockHolder = '{{ lockHolder }}', +createdFromTemplate = '{{ createdFromTemplate }}', +status = '{{ status }}', +errorCatcherConfigs = '{{ errorCatcherConfigs }}', +lastModifierEmail = '{{ lastModifierEmail }}', +enableVariableMasking = true|false, +updateTime = '{{ updateTime }}', +taskConfigs = '{{ taskConfigs }}', +origin = '{{ origin }}', +createTime = '{{ createTime }}', +description = '{{ description }}', +name = '{{ name }}', +databasePersistencePolicy = '{{ databasePersistencePolicy }}', +parentTemplateId = '{{ parentTemplateId }}', +snapshotNumber = '{{ snapshotNumber }}' +WHERE +integrationsId = '{{ integrationsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND versionsId = '{{ versionsId }}'; +``` + +## `DELETE` example + +Deletes the specified version resource. + +```sql +DELETE FROM google.integrations.versions +WHERE integrationsId = '{{ integrationsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND versionsId = '{{ versionsId }}'; +``` diff --git a/docs/google-docs/providers/google/jobs/client_events/index.md b/docs/google-docs/providers/google/jobs/client_events/index.md index f2ea178d2a..407c34cdf9 100644 --- a/docs/google-docs/providers/google/jobs/client_events/index.md +++ b/docs/google-docs/providers/google/jobs/client_events/index.md @@ -1,3 +1,4 @@ + --- title: client_events hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - client_events - jobs - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an client_event resource or lists client_events in a region ## Overview
@@ -28,8 +30,66 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `INSERT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `INSERT` | | Report events issued when end user interacts with customer's application that uses Cloud Talent Solution. You may inspect the created events in [self service tools](https://console.cloud.google.com/talent-solution/overview). [Learn more](https://cloud.google.com/talent-solution/docs/management-tools) about self service tools. | + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new client_events resource. + + + + +```sql +/*+ create */ +INSERT INTO google.jobs.client_events ( +projectsId, +tenantsId, +requestId, +eventId, +createTime, +jobEvent, +eventNotes +) +SELECT +'{{ projectsId }}', +'{{ tenantsId }}', +'{{ requestId }}', +'{{ eventId }}', +'{{ createTime }}', +'{{ jobEvent }}', +'{{ eventNotes }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: requestId + value: '{{ requestId }}' + - name: eventId + value: '{{ eventId }}' + - name: createTime + value: '{{ createTime }}' + - name: jobEvent + value: '{{ jobEvent }}' + - name: eventNotes + value: '{{ eventNotes }}' + +``` + + diff --git a/docs/google-docs/providers/google/jobs/companies/index.md b/docs/google-docs/providers/google/jobs/companies/index.md index 065bd7dce0..c04719845d 100644 --- a/docs/google-docs/providers/google/jobs/companies/index.md +++ b/docs/google-docs/providers/google/jobs/companies/index.md @@ -1,3 +1,4 @@ + --- title: companies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - companies - jobs - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an company resource or lists companies in a region ## Overview @@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Required during company update. The resource name for a company. This is generated by the service when a company is created. The format is "projects/{project_id}/tenants/{tenant_id}/companies/{company_id}", for example, "projects/foo/tenants/bar/companies/baz". | +| | `string` | Required during company update. The resource name for a company. This is generated by the service when a company is created. The format is "projects/{project_id}/tenants/{tenant_id}/companies/{company_id}", for example, "projects/foo/tenants/bar/companies/baz". | | | `string` | The URI to employer's career site or careers page on the employer's web site, for example, "https://careers.google.com". | | | `object` | Derived details about the company. | | | `string` | Required. The display name of the company, for example, "Google LLC". | @@ -43,6 +45,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The employer's company size. | | | `boolean` | Output only. Indicates whether a company is flagged to be suspended from public availability by the service when job content appears suspicious, abusive, or spammy. | | | `string` | The URI representing the company's primary web site or home page, for example, "https://www.google.com". The maximum number of allowed characters is 255. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -51,4 +54,152 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new company entity. | | | `DELETE` | | Deletes specified company. Prerequisite: The company has no jobs associated with it. | | | `UPDATE` | | Updates specified company. | -| | `EXEC` | | Lists all companies associated with the project. | + +## `SELECT` examples + +Lists all companies associated with the project. + +```sql +SELECT +name, +careerSiteUri, +derivedInfo, +displayName, +eeoText, +externalId, +headquartersAddress, +hiringAgency, +imageUri, +keywordSearchableJobCustomAttributes, +size, +suspended, +websiteUri +FROM google.jobs.companies +WHERE projectsId = '{{ projectsId }}' +AND tenantsId = '{{ tenantsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new companies resource. + + + + +```sql +/*+ create */ +INSERT INTO google.jobs.companies ( +projectsId, +tenantsId, +name, +displayName, +externalId, +size, +headquartersAddress, +hiringAgency, +eeoText, +websiteUri, +careerSiteUri, +imageUri, +keywordSearchableJobCustomAttributes, +derivedInfo, +suspended +) +SELECT +'{{ projectsId }}', +'{{ tenantsId }}', +'{{ name }}', +'{{ displayName }}', +'{{ externalId }}', +'{{ size }}', +'{{ headquartersAddress }}', +true|false, +'{{ eeoText }}', +'{{ websiteUri }}', +'{{ careerSiteUri }}', +'{{ imageUri }}', +'{{ keywordSearchableJobCustomAttributes }}', +'{{ derivedInfo }}', +true|false +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: externalId + value: '{{ externalId }}' + - name: size + value: '{{ size }}' + - name: headquartersAddress + value: '{{ headquartersAddress }}' + - name: hiringAgency + value: '{{ hiringAgency }}' + - name: eeoText + value: '{{ eeoText }}' + - name: websiteUri + value: '{{ websiteUri }}' + - name: careerSiteUri + value: '{{ careerSiteUri }}' + - name: imageUri + value: '{{ imageUri }}' + - name: keywordSearchableJobCustomAttributes + value: '{{ keywordSearchableJobCustomAttributes }}' + - name: derivedInfo + value: '{{ derivedInfo }}' + - name: suspended + value: '{{ suspended }}' + +``` + + + +## `UPDATE` example + +Updates a company only if the necessary resources are available. + +```sql +UPDATE google.jobs.companies +SET +name = '{{ name }}', +displayName = '{{ displayName }}', +externalId = '{{ externalId }}', +size = '{{ size }}', +headquartersAddress = '{{ headquartersAddress }}', +hiringAgency = true|false, +eeoText = '{{ eeoText }}', +websiteUri = '{{ websiteUri }}', +careerSiteUri = '{{ careerSiteUri }}', +imageUri = '{{ imageUri }}', +keywordSearchableJobCustomAttributes = '{{ keywordSearchableJobCustomAttributes }}', +derivedInfo = '{{ derivedInfo }}', +suspended = true|false +WHERE +companiesId = '{{ companiesId }}' +AND projectsId = '{{ projectsId }}' +AND tenantsId = '{{ tenantsId }}'; +``` + +## `DELETE` example + +Deletes the specified company resource. + +```sql +DELETE FROM google.jobs.companies +WHERE companiesId = '{{ companiesId }}' +AND projectsId = '{{ projectsId }}' +AND tenantsId = '{{ tenantsId }}'; +``` diff --git a/docs/google-docs/providers/google/jobs/index.md b/docs/google-docs/providers/google/jobs/index.md index 6cbc202bb5..276730455f 100644 --- a/docs/google-docs/providers/google/jobs/index.md +++ b/docs/google-docs/providers/google/jobs/index.md @@ -9,43 +9,32 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Cloud Talent Solution provides the capability to create, read, update, and delete job postings, as well as search jobs based on keywords and filters. - +The jobs service documentation. + :::info Service Summary
total resources: 5
-total selectable resources: 4
-total methods: 26
::: -## Overview -
- - - - - -
Namegoogle.jobs
TypeService
TitleCloud Talent Solution API
DescriptionCloud Talent Solution provides the capability to create, read, update, and delete job postings, as well as search jobs based on keywords and filters.
Idjobs:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/jobs/jobs/index.md b/docs/google-docs/providers/google/jobs/jobs/index.md index 2bd1503dc9..80f6d4b240 100644 --- a/docs/google-docs/providers/google/jobs/jobs/index.md +++ b/docs/google-docs/providers/google/jobs/jobs/index.md @@ -1,3 +1,4 @@ + --- title: jobs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - jobs - jobs - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an job resource or lists jobs in a region ## Overview @@ -30,11 +32,11 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Required during job update. The resource name for the job. This is generated by the service when a job is created. The format is "projects/{project_id}/tenants/{tenant_id}/jobs/{job_id}". For example, "projects/foo/tenants/bar/jobs/baz". Use of this field in job queries and API calls is preferred over the use of requisition_id since this value is unique. | +| | `string` | Required during job update. The resource name for the job. This is generated by the service when a job is created. The format is "projects/{project_id}/tenants/{tenant_id}/jobs/{job_id}". For example, "projects/foo/tenants/bar/jobs/baz". Use of this field in job queries and API calls is preferred over the use of requisition_id since this value is unique. | | | `string` | Required. The description of the job, which typically includes a multi-paragraph description of the company and related information. Separate fields are provided on the job object for responsibilities, qualifications, and other job characteristics. Use of these separate job fields is recommended. This field accepts and sanitizes HTML input, and also accepts bold, italic, ordered list, and unordered list markup tags. The maximum number of allowed characters is 100,000. | | | `array` | Strongly recommended for the best service experience. Location(s) where the employer is looking to hire for this job posting. Specifying the full street address(es) of the hiring location enables better API results, especially job searches by commute time. At most 50 locations are allowed for best search performance. If a job has more locations, it is suggested to split it into multiple jobs with unique requisition_ids (e.g. 'ReqA' becomes 'ReqA-1', 'ReqA-2', and so on.) as multiple jobs with the same company, language_code and requisition_id are not allowed. If the original requisition_id must be preserved, a custom field should be used for storage. It is also suggested to group the locations that close to each other in the same job for better search experience. Jobs with multiple addresses must have their addresses with the same LocationType to allow location filtering to work properly. (For example, a Job with addresses "1600 Amphitheatre Parkway, Mountain View, CA, USA" and "London, UK" may not have location filters applied correctly at search time since the first is a LocationType.STREET_ADDRESS and the second is a LocationType.LOCALITY.) If a job needs to have multiple addresses, it is suggested to split it into multiple jobs with same LocationTypes. The maximum number of allowed characters is 500. | | | `object` | Application related details of a job posting. | -| | `string` | Required. The resource name of the company listing the job. The format is "projects/{project_id}/tenants/{tenant_id}/companies/{company_id}". For example, "projects/foo/tenants/bar/companies/baz". | +| | `string` | Required. The resource name of the company listing the job. The format is "projects/{project_id}/tenants/{tenant_id}/companies/{company_id}". For example, "projects/foo/tenants/bar/companies/baz". | | | `string` | Output only. Display name of the company listing the job. | | | `object` | Job compensation details. | | | `object` | A map of fields to hold both filterable and non-filterable custom job attributes that are not covered by the provided structured fields. The keys of the map are strings up to 64 bytes and must match the pattern: `a-zA-Z*`. For example, key0LikeThis or KEY_1_LIKE_THIS. At most 100 filterable and at most 100 unfilterable keys are supported. For filterable `string_values`, across all keys at most 200 values are allowed, with each string no more than 255 characters. For unfilterable `string_values`, the maximum total size of `string_values` across all keys is 50KB. | @@ -47,30 +49,135 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The end timestamp of the job. Typically this field is used for contracting engagements. Invalid timestamps are ignored. | | | `string` | The experience level associated with the job, such as "Entry Level". | | | `string` | The start timestamp of the job in UTC time zone. Typically this field is used for contracting engagements. Invalid timestamps are ignored. | -| | `string` | The language of the posting. This field is distinct from any requirements for fluency that are associated with the job. Language codes must be in BCP-47 format, such as "en-US" or "sr-Latn". For more information, see [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47){: class="external" target="_blank" }. If this field is unspecified and Job.description is present, detected language code based on Job.description is assigned, otherwise defaults to 'en_US'. | +| | `string` | The language of the posting. This field is distinct from any requirements for fluency that are associated with the job. Language codes must be in BCP-47 format, such as "en-US" or "sr-Latn". For more information, see [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47){: class="external" target="_blank" }. If this field is unspecified and Job.description is present, detected language code based on Job.description is assigned, otherwise defaults to 'en_US'. | | | `string` | Output only. The timestamp when this job posting was created. | | | `string` | Strongly recommended for the best service experience. The expiration timestamp of the job. After this timestamp, the job is marked as expired, and it no longer appears in search results. The expired job can't be listed by the ListJobs API, but it can be retrieved with the GetJob API or updated with the UpdateJob API or deleted with the DeleteJob API. An expired job can be updated and opened again by using a future expiration timestamp. Updating an expired job fails if there is another existing open job with same company, language_code and requisition_id. The expired jobs are retained in our system for 90 days. However, the overall expired job count cannot exceed 3 times the maximum number of open jobs over previous 7 days. If this threshold is exceeded, expired jobs are cleaned out in order of earliest expire time. Expired jobs are no longer accessible after they are cleaned out. Invalid timestamps are ignored, and treated as expire time not provided. If the timestamp is before the instant request is made, the job is treated as expired immediately on creation. This kind of job can not be updated. And when creating a job with past timestamp, the posting_publish_time must be set before posting_expire_time. The purpose of this feature is to allow other objects, such as Application, to refer a job that didn't exist in the system prior to becoming expired. If you want to modify a job that was expired on creation, delete it and create a new one. If this value isn't provided at the time of job creation or is invalid, the job posting expires after 30 days from the job's creation time. For example, if the job was created on 2017/01/01 13:00AM UTC with an unspecified expiration date, the job expires after 2017/01/31 13:00AM UTC. If this value isn't provided on job update, it depends on the field masks set by UpdateJobRequest.update_mask. If the field masks include job_end_time, or the masks are empty meaning that every field is updated, the job posting expires after 30 days from the job's last update time. Otherwise the expiration date isn't updated. | | | `string` | The timestamp this job posting was most recently published. The default value is the time the request arrives at the server. Invalid timestamps are ignored. | | | `string` | The job PostingRegion (for example, state, country) throughout which the job is available. If this field is set, a LocationFilter in a search query within the job region finds this job posting if an exact location match isn't specified. If this field is set to PostingRegion.NATION or PostingRegion.ADMINISTRATIVE_AREA, setting job Job.addresses to the same location level as this field is strongly recommended. | | | `string` | Output only. The timestamp when this job posting was last updated. | | | `object` | Options for job processing. | -| | `integer` | A promotion value of the job, as determined by the client. The value determines the sort order of the jobs returned when searching for jobs using the featured jobs search call, with higher promotional values being returned first and ties being resolved by relevance sort. Only the jobs with a promotionValue >0 are returned in a FEATURED_JOB_SEARCH. Default value is 0, and negative values are treated as 0. | +| | `integer` | A promotion value of the job, as determined by the client. The value determines the sort order of the jobs returned when searching for jobs using the featured jobs search call, with higher promotional values being returned first and ties being resolved by relevance sort. Only the jobs with a promotionValue >0 are returned in a FEATURED_JOB_SEARCH. Default value is 0, and negative values are treated as 0. | | | `string` | A description of the qualifications required to perform the job. The use of this field is recommended as an alternative to using the more general description field. This field accepts and sanitizes HTML input, and also accepts bold, italic, ordered list, and unordered list markup tags. The maximum number of allowed characters is 10,000. | | | `string` | Required. The requisition ID, also referred to as the posting ID, is assigned by the client to identify a job. This field is intended to be used by clients for client identification and tracking of postings. A job isn't allowed to be created if there is another job with the same company, language_code and requisition_id. The maximum number of allowed characters is 255. | | | `string` | A description of job responsibilities. The use of this field is recommended as an alternative to using the more general description field. This field accepts and sanitizes HTML input, and also accepts bold, italic, ordered list, and unordered list markup tags. The maximum number of allowed characters is 10,000. | | | `string` | Required. The title of the job, such as "Software Engineer" The maximum number of allowed characters is 500. | | | `string` | Deprecated. The job is only visible to the owner. The visibility of the job. Defaults to Visibility.ACCOUNT_ONLY if not specified. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Retrieves the specified job, whose status is OPEN or recently EXPIRED within the last 90 days. | | | `SELECT` | | Lists jobs by filter. | +| | `INSERT` | | Begins executing a batch create jobs operation. | | | `INSERT` | | Creates a new job. Typically, the job becomes searchable within 10 seconds, but it may take up to 5 minutes. | +| | `DELETE` | | Begins executing a batch delete jobs operation. | | | `DELETE` | | Deletes the specified job. Typically, the job becomes unsearchable within 10 seconds, but it may take up to 5 minutes. | +| | `UPDATE` | | Begins executing a batch update jobs operation. | | | `UPDATE` | | Updates specified job. Typically, updated contents become visible in search results within 10 seconds, but it may take up to 5 minutes. | -| | `EXEC` | | Lists jobs by filter. | -| | `EXEC` | | Begins executing a batch create jobs operation. | -| | `EXEC` | | Begins executing a batch delete jobs operation. | -| | `EXEC` | | Begins executing a batch update jobs operation. | | | `EXEC` | | Searches for jobs using the provided SearchJobsRequest. This call constrains the visibility of jobs present in the database, and only returns jobs that the caller has permission to search against. | | | `EXEC` | | Searches for jobs using the provided SearchJobsRequest. This API call is intended for the use case of targeting passive job seekers (for example, job seekers who have signed up to receive email alerts about potential job opportunities), it has different algorithmic adjustments that are designed to specifically target passive job seekers. This call constrains the visibility of jobs present in the database, and only returns jobs the caller has permission to search against. | + +## `SELECT` examples + +Lists jobs by filter. + +```sql +SELECT +name, +description, +addresses, +applicationInfo, +company, +companyDisplayName, +compensationInfo, +customAttributes, +degreeTypes, +department, +derivedInfo, +employmentTypes, +incentives, +jobBenefits, +jobEndTime, +jobLevel, +jobStartTime, +languageCode, +postingCreateTime, +postingExpireTime, +postingPublishTime, +postingRegion, +postingUpdateTime, +processingOptions, +promotionValue, +qualifications, +requisitionId, +responsibilities, +title, +visibility +FROM google.jobs.jobs +WHERE projectsId = '{{ projectsId }}' +AND tenantsId = '{{ tenantsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new jobs resource. + + + + +```sql +/*+ create */ +INSERT INTO google.jobs.jobs ( +projectsId, +tenantsId, +jobs +) +SELECT +'{{ projectsId }}', +'{{ tenantsId }}', +'{{ jobs }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: jobs + value: '{{ jobs }}' + +``` + + + +## `UPDATE` example + +Updates a job only if the necessary resources are available. + +```sql +UPDATE google.jobs.jobs +SET +jobs = '{{ jobs }}', +updateMask = '{{ updateMask }}' +WHERE +projectsId = '{{ projectsId }}' +AND tenantsId = '{{ tenantsId }}'; +``` + +## `DELETE` example + +Deletes the specified job resource. + +```sql +DELETE FROM google.jobs.jobs +WHERE projectsId = '{{ projectsId }}' +AND tenantsId = '{{ tenantsId }}'; +``` diff --git a/docs/google-docs/providers/google/jobs/operations/index.md b/docs/google-docs/providers/google/jobs/operations/index.md index 1b04631d6a..718379169b 100644 --- a/docs/google-docs/providers/google/jobs/operations/index.md +++ b/docs/google-docs/providers/google/jobs/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - jobs - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview
@@ -30,12 +32,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | + +## `SELECT` examples + +Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.jobs.operations +WHERE operationsId = '{{ operationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/jobs/tenants/index.md b/docs/google-docs/providers/google/jobs/tenants/index.md index 1de168b51d..56812c4277 100644 --- a/docs/google-docs/providers/google/jobs/tenants/index.md +++ b/docs/google-docs/providers/google/jobs/tenants/index.md @@ -1,3 +1,4 @@ + --- title: tenants hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - tenants - jobs - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an tenant resource or lists tenants in a region ## Overview
@@ -30,8 +32,9 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Required during tenant update. The resource name for a tenant. This is generated by the service when a tenant is created. The format is "projects/{project_id}/tenants/{tenant_id}", for example, "projects/foo/tenants/bar". | +| | `string` | Required during tenant update. The resource name for a tenant. This is generated by the service when a tenant is created. The format is "projects/{project_id}/tenants/{tenant_id}", for example, "projects/foo/tenants/bar". | | | `string` | Required. Client side tenant identifier, used to uniquely identify the tenant. The maximum number of allowed characters is 255. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -40,5 +43,82 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new tenant entity. | | | `DELETE` | | Deletes specified tenant. | | | `UPDATE` | | Updates specified tenant. | -| | `EXEC` | | Lists all tenants associated with the project. | | | `EXEC` | | Completes the specified prefix with keyword suggestions. Intended for use by a job search auto-complete search box. | + +## `SELECT` examples + +Lists all tenants associated with the project. + +```sql +SELECT +name, +externalId +FROM google.jobs.tenants +WHERE projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new tenants resource. + + + + +```sql +/*+ create */ +INSERT INTO google.jobs.tenants ( +projectsId, +name, +externalId +) +SELECT +'{{ projectsId }}', +'{{ name }}', +'{{ externalId }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: externalId + value: '{{ externalId }}' + +``` + + + +## `UPDATE` example + +Updates a tenant only if the necessary resources are available. + +```sql +UPDATE google.jobs.tenants +SET +name = '{{ name }}', +externalId = '{{ externalId }}' +WHERE +projectsId = '{{ projectsId }}' +AND tenantsId = '{{ tenantsId }}'; +``` + +## `DELETE` example + +Deletes the specified tenant resource. + +```sql +DELETE FROM google.jobs.tenants +WHERE projectsId = '{{ projectsId }}' +AND tenantsId = '{{ tenantsId }}'; +``` diff --git a/docs/google-docs/providers/google/kmsinventory/crypto_keys/index.md b/docs/google-docs/providers/google/kmsinventory/crypto_keys/index.md index d3814a2ca5..a32e8ebbcb 100644 --- a/docs/google-docs/providers/google/kmsinventory/crypto_keys/index.md +++ b/docs/google-docs/providers/google/kmsinventory/crypto_keys/index.md @@ -1,3 +1,4 @@ + --- title: crypto_keys hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - crypto_keys - kmsinventory - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an crypto_key resource or lists crypto_keys in a region ## Overview
@@ -33,16 +35,39 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The resource name for this CryptoKey in the format `projects/*/locations/*/keyRings/*/cryptoKeys/*`. | | | `string` | Output only. The time at which this CryptoKey was created. | | | `string` | Immutable. The resource name of the backend environment where the key material for all CryptoKeyVersions associated with this CryptoKey reside and where all related cryptographic operations are performed. Only applicable if CryptoKeyVersions have a ProtectionLevel of EXTERNAL_VPC, with the resource name in the format `projects/*/locations/*/ekmConnections/*`. Note, this list is non-exhaustive and may apply to additional ProtectionLevels in the future. | -| | `string` | Immutable. The period of time that versions of this key spend in the DESTROY_SCHEDULED state before transitioning to DESTROYED. If not specified at creation time, the default duration is 24 hours. | +| | `string` | Immutable. The period of time that versions of this key spend in the DESTROY_SCHEDULED state before transitioning to DESTROYED. If not specified at creation time, the default duration is 30 days. | | | `boolean` | Immutable. Whether this key may contain imported versions only. | +| | `object` | A KeyAccessJustificationsPolicy specifies zero or more allowed AccessReason values for encrypt, decrypt, and sign operations on a CryptoKey. | | | `object` | Labels with user-defined metadata. For more information, see [Labeling Keys](https://cloud.google.com/kms/docs/labeling-keys). | | | `string` | At next_rotation_time, the Key Management Service will automatically: 1. Create a new version of this CryptoKey. 2. Mark the new version as primary. Key rotations performed manually via CreateCryptoKeyVersion and UpdateCryptoKeyPrimaryVersion do not affect next_rotation_time. Keys with purpose ENCRYPT_DECRYPT support automatic rotation. For other keys, this field must be omitted. | | | `object` | A CryptoKeyVersion represents an individual cryptographic key, and the associated key material. An ENABLED version can be used for cryptographic operations. For security reasons, the raw cryptographic key material represented by a CryptoKeyVersion can never be viewed or exported. It can only be used to encrypt, decrypt, or sign data when an authorized user or application invokes Cloud KMS. | | | `string` | Immutable. The immutable purpose of this CryptoKey. | | | `string` | next_rotation_time will be advanced by this period when the service automatically rotates a key. Must be at least 24 hours and at most 876,000 hours. If rotation_period is set, next_rotation_time must also be set. Keys with purpose ENCRYPT_DECRYPT support automatic rotation. For other keys, this field must be omitted. | | | `object` | A CryptoKeyVersionTemplate specifies the properties to use when creating a new CryptoKeyVersion, either manually with CreateCryptoKeyVersion or automatically as a result of auto-rotation. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Returns cryptographic keys managed by Cloud KMS in a given Cloud project. Note that this data is sourced from snapshots, meaning it may not completely reflect the actual state of key metadata at call time. | + +## `SELECT` examples + +Returns cryptographic keys managed by Cloud KMS in a given Cloud project. Note that this data is sourced from snapshots, meaning it may not completely reflect the actual state of key metadata at call time. + +```sql +SELECT +name, +createTime, +cryptoKeyBackend, +destroyScheduledDuration, +importOnly, +keyAccessJustificationsPolicy, +labels, +nextRotationTime, +primary, +purpose, +rotationPeriod, +versionTemplate +FROM google.kmsinventory.crypto_keys +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/kmsinventory/crypto_keys_protected_resources_summary/index.md b/docs/google-docs/providers/google/kmsinventory/crypto_keys_protected_resources_summary/index.md index 495b5529af..755afd84f5 100644 --- a/docs/google-docs/providers/google/kmsinventory/crypto_keys_protected_resources_summary/index.md +++ b/docs/google-docs/providers/google/kmsinventory/crypto_keys_protected_resources_summary/index.md @@ -1,3 +1,4 @@ + --- title: crypto_keys_protected_resources_summary hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - crypto_keys_protected_resources_summary - kmsinventory - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an crypto_keys_protected_resources_summary resource or lists crypto_keys_protected_resources_summary in a region ## Overview
@@ -36,7 +38,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `integer` | The number of distinct Cloud projects in the same Cloud organization as the key that have resources protected by the key. | | | `string` | The total number of protected resources in the same Cloud organization as the key. | | | `object` | The number of resources protected by the key grouped by resource type. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Returns aggregate information about the resources protected by the given Cloud KMS CryptoKey. Only resources within the same Cloud organization as the key will be returned. The project that holds the key must be part of an organization in order for this call to succeed. | + +## `SELECT` examples + +Returns aggregate information about the resources protected by the given Cloud KMS CryptoKey. Only resources within the same Cloud organization as the key will be returned. The project that holds the key must be part of an organization in order for this call to succeed. + +```sql +SELECT +name, +cloudProducts, +locations, +projectCount, +resourceCount, +resourceTypes +FROM google.kmsinventory.crypto_keys_protected_resources_summary +WHERE cryptoKeysId = '{{ cryptoKeysId }}' +AND keyRingsId = '{{ keyRingsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/kmsinventory/index.md b/docs/google-docs/providers/google/kmsinventory/index.md index 9ffdeaf2b7..5513e75b13 100644 --- a/docs/google-docs/providers/google/kmsinventory/index.md +++ b/docs/google-docs/providers/google/kmsinventory/index.md @@ -9,41 +9,30 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- - - +The kmsinventory service documentation. + :::info Service Summary
total resources: 3
-total selectable resources: 2
-total methods: 4
::: -## Overview -
- - - - - -
Namegoogle.kmsinventory
TypeService
TitleKMS Inventory API
Description
Idkmsinventory:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/kmsinventory/protected_resources/index.md b/docs/google-docs/providers/google/kmsinventory/protected_resources/index.md index 9ea0a470e1..e4b0e02007 100644 --- a/docs/google-docs/providers/google/kmsinventory/protected_resources/index.md +++ b/docs/google-docs/providers/google/kmsinventory/protected_resources/index.md @@ -1,3 +1,4 @@ + --- title: protected_resources hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - protected_resources - kmsinventory - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an protected_resource resource or lists protected_resources in a region ## Overview @@ -28,8 +30,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Returns metadata about the resources protected by the given Cloud KMS CryptoKey in the given Cloud organization. | diff --git a/docs/google-docs/providers/google/language/documents/index.md b/docs/google-docs/providers/google/language/documents/index.md index 4b1a3e5189..2711c82d0f 100644 --- a/docs/google-docs/providers/google/language/documents/index.md +++ b/docs/google-docs/providers/google/language/documents/index.md @@ -1,3 +1,4 @@ + --- title: documents hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - documents - language - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an document resource or lists documents in a region ## Overview @@ -28,12 +30,14 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| -| | `EXEC` | | Finds named entities (currently proper names and common nouns) in the text along with entity types, probability, mentions for each entity, and other properties. | -| | `EXEC` | | Analyzes the sentiment of the provided text. | -| | `EXEC` | | A convenience method that provides all features in one call. | -| | `EXEC` | | Classifies a document into categories. | -| | `EXEC` | | Moderates a document for harmful and sensitive categories. | +| | `EXEC` | | Finds named entities (currently proper names and common nouns) in the text along with entity types, probability, mentions for each entity, and other properties. | +| | `EXEC` | | Analyzes the sentiment of the provided text. | +| | `EXEC` | | A convenience method that provides all features in one call. | +| | `EXEC` | | Classifies a document into categories. | +| | `EXEC` | | Moderates a document for harmful and sensitive categories. | diff --git a/docs/google-docs/providers/google/language/index.md b/docs/google-docs/providers/google/language/index.md index b47173492a..cb4e9c5a8c 100644 --- a/docs/google-docs/providers/google/language/index.md +++ b/docs/google-docs/providers/google/language/index.md @@ -9,39 +9,29 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Provides natural language understanding technologies, such as sentiment analysis, entity recognition, entity sentiment analysis, and other text annotations, to developers. - +The language service documentation. + :::info Service Summary
total resources: 1
-total selectable resources: 0
-total methods: 5
::: -## Overview - - - - - - -
Namegoogle.language
TypeService
TitleCloud Natural Language API
DescriptionProvides natural language understanding technologies, such as sentiment analysis, entity recognition, entity sentiment analysis, and other text annotations, to developers.
Idlanguage:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/libraryagent/books/index.md b/docs/google-docs/providers/google/libraryagent/books/index.md index 2b5d580a7a..c3ad69f310 100644 --- a/docs/google-docs/providers/google/libraryagent/books/index.md +++ b/docs/google-docs/providers/google/libraryagent/books/index.md @@ -1,3 +1,4 @@ + --- title: books hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - books - libraryagent - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an book resource or lists books in a region ## Overview @@ -30,15 +32,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The resource name of the book. Book names have the form `shelves/{shelf_id}/books/{book_id}`. The name is ignored when creating a book. | +| | `string` | The resource name of the book. Book names have the form `shelves/{shelf_id}/books/{book_id}`. The name is ignored when creating a book. | | | `string` | The name of the book author. | | | `boolean` | Value indicating whether the book has been read. | | | `string` | The title of the book. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets a book. Returns NOT_FOUND if the book does not exist. | | | `SELECT` | | Lists books in a shelf. The order is unspecified but deterministic. Newly created books will not necessarily be added to the end of this list. Returns NOT_FOUND if the shelf does not exist. | -| | `EXEC` | | Lists books in a shelf. The order is unspecified but deterministic. Newly created books will not necessarily be added to the end of this list. Returns NOT_FOUND if the shelf does not exist. | | | `EXEC` | | Borrow a book from the library. Returns the book if it is borrowed successfully. Returns NOT_FOUND if the book does not exist in the library. Returns quota exceeded error if the amount of books borrowed exceeds allocation quota in any dimensions. | | | `EXEC` | | Return a book to the library. Returns the book if it is returned to the library successfully. Returns error if the book does not belong to the library or the users didn't borrow before. | + +## `SELECT` examples + +Lists books in a shelf. The order is unspecified but deterministic. Newly created books will not necessarily be added to the end of this list. Returns NOT_FOUND if the shelf does not exist. + +```sql +SELECT +name, +author, +read, +title +FROM google.libraryagent.books +WHERE shelvesId = '{{ shelvesId }}'; +``` diff --git a/docs/google-docs/providers/google/libraryagent/index.md b/docs/google-docs/providers/google/libraryagent/index.md index 198df9a3bc..5de186fc0b 100644 --- a/docs/google-docs/providers/google/libraryagent/index.md +++ b/docs/google-docs/providers/google/libraryagent/index.md @@ -9,40 +9,29 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -A simple Google Example Library API. - +The libraryagent service documentation. + :::info Service Summary
total resources: 2
-total selectable resources: 2
-total methods: 8
::: -## Overview -
- - - - - -
Namegoogle.libraryagent
TypeService
TitleLibrary Agent API
DescriptionA simple Google Example Library API.
Idlibraryagent:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/libraryagent/shelves/index.md b/docs/google-docs/providers/google/libraryagent/shelves/index.md index e9a49edb39..be018c0d89 100644 --- a/docs/google-docs/providers/google/libraryagent/shelves/index.md +++ b/docs/google-docs/providers/google/libraryagent/shelves/index.md @@ -1,3 +1,4 @@ + --- title: shelves hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - shelves - libraryagent - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an shelf resource or lists shelves in a region ## Overview @@ -30,11 +32,23 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. The resource name of the shelf. Shelf names have the form `shelves/{shelf_id}`. The name is ignored when creating a shelf. | +| | `string` | Output only. The resource name of the shelf. Shelf names have the form `shelves/{shelf_id}`. The name is ignored when creating a shelf. | | | `string` | The theme of the shelf | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets a shelf. Returns NOT_FOUND if the shelf does not exist. | -| | `SELECT` | | Lists shelves. The order is unspecified but deterministic. Newly created shelves will not necessarily be added to the end of this list. | -| | `EXEC` | | Lists shelves. The order is unspecified but deterministic. Newly created shelves will not necessarily be added to the end of this list. | +| | `SELECT` | | Lists shelves. The order is unspecified but deterministic. Newly created shelves will not necessarily be added to the end of this list. | + +## `SELECT` examples + +Lists shelves. The order is unspecified but deterministic. Newly created shelves will not necessarily be added to the end of this list. + +```sql +SELECT +name, +theme +FROM google.libraryagent.shelves +WHERE = '{{ }}'; +``` diff --git a/docs/google-docs/providers/google/lifesciences/index.md b/docs/google-docs/providers/google/lifesciences/index.md index adc6c0e8a6..b9c0b050d6 100644 --- a/docs/google-docs/providers/google/lifesciences/index.md +++ b/docs/google-docs/providers/google/lifesciences/index.md @@ -9,41 +9,30 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Cloud Life Sciences is a suite of services and tools for managing, processing, and transforming life sciences data. - +The lifesciences service documentation. + :::info Service Summary
total resources: 3
-total selectable resources: 2
-total methods: 8
::: -## Overview -
- - - - - -
Namegoogle.lifesciences
TypeService
TitleCloud Life Sciences API
DescriptionCloud Life Sciences is a suite of services and tools for managing, processing, and transforming life sciences data.
Idlifesciences:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/lifesciences/locations/index.md b/docs/google-docs/providers/google/lifesciences/locations/index.md index ff2b16ed47..2c9cf82f90 100644 --- a/docs/google-docs/providers/google/lifesciences/locations/index.md +++ b/docs/google-docs/providers/google/lifesciences/locations/index.md @@ -1,3 +1,4 @@ + --- title: locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - locations - lifesciences - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an location resource or lists locations in a region ## Overview @@ -32,12 +34,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` | | | `string` | The friendly name for this location, typically a nearby city name. For example, "Tokyo". | -| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | +| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | | | `string` | The canonical id for this location. For example: `"us-east1"`. | | | `object` | Service-specific metadata. For example the available capacity at the given location. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about a location. | | | `SELECT` | | Lists information about the supported locations for this service. | -| | `EXEC` | | Lists information about the supported locations for this service. | + +## `SELECT` examples + +Lists information about the supported locations for this service. + +```sql +SELECT +name, +displayName, +labels, +locationId, +metadata +FROM google.lifesciences.locations +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/lifesciences/operations/index.md b/docs/google-docs/providers/google/lifesciences/operations/index.md index be4908beb5..49745f3257 100644 --- a/docs/google-docs/providers/google/lifesciences/operations/index.md +++ b/docs/google-docs/providers/google/lifesciences/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - lifesciences - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview
@@ -35,10 +37,26 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | An Metadata object. This will always be returned with the Operation. | | | `object` | An Empty object. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. Authorization requires the following [Google IAM](https://cloud.google.com/iam) permission: * `lifesciences.operations.get` | | | `SELECT` | | Lists operations that match the specified filter in the request. Authorization requires the following [Google IAM](https://cloud.google.com/iam) permission: * `lifesciences.operations.list` | -| | `EXEC` | | Lists operations that match the specified filter in the request. Authorization requires the following [Google IAM](https://cloud.google.com/iam) permission: * `lifesciences.operations.list` | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. Clients may use Operations.GetOperation or Operations.ListOperations to check whether the cancellation succeeded or the operation completed despite cancellation. Authorization requires the following [Google IAM](https://cloud.google.com/iam) permission: * `lifesciences.operations.cancel` | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. Authorization requires the following [Google IAM](https://cloud.google.com/iam) permission: * `lifesciences.operations.list` + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.lifesciences.operations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/lifesciences/pipelines/index.md b/docs/google-docs/providers/google/lifesciences/pipelines/index.md index 31c5ec3b07..1457bded41 100644 --- a/docs/google-docs/providers/google/lifesciences/pipelines/index.md +++ b/docs/google-docs/providers/google/lifesciences/pipelines/index.md @@ -1,3 +1,4 @@ + --- title: pipelines hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - pipelines - lifesciences - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an pipeline resource or lists pipelines in a region ## Overview
@@ -28,8 +30,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Runs a pipeline. The returned Operation's metadata field will contain a google.cloud.lifesciences.v2beta.Metadata object describing the status of the pipeline execution. The response field will contain a google.cloud.lifesciences.v2beta.RunPipelineResponse object if the pipeline completes successfully. **Note:** Before you can use this method, the *Life Sciences Service Agent* must have access to your project. This is done automatically when the Cloud Life Sciences API is first enabled, but if you delete this permission you must disable and re-enable the API to grant the Life Sciences Service Agent the required permissions. Authorization requires the following [Google IAM](https://cloud.google.com/iam/) permission: * `lifesciences.workflows.run` | diff --git a/docs/google-docs/providers/google/logging/billing_accounts_cmek_settings/index.md b/docs/google-docs/providers/google/logging/billing_accounts_cmek_settings/index.md index fcfae06c25..0a26919ddb 100644 --- a/docs/google-docs/providers/google/logging/billing_accounts_cmek_settings/index.md +++ b/docs/google-docs/providers/google/logging/billing_accounts_cmek_settings/index.md @@ -1,3 +1,4 @@ + --- title: billing_accounts_cmek_settings hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - billing_accounts_cmek_settings - logging - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an billing_accounts_cmek_setting resource or lists billing_accounts_cmek_settings in a region ## Overview @@ -34,7 +36,22 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Optional. The resource name for the configured Cloud KMS key.KMS key name format: "projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]" For example:"projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key"To enable CMEK for the Log Router, set this field to a valid kms_key_name for which the associated service account has the needed cloudkms.cryptoKeyEncrypterDecrypter roles assigned for the key.The Cloud KMS key used by the Log Router can be updated by changing the kms_key_name to a new valid key name or disabled by setting the key name to an empty string. Encryption operations that are in progress will be completed with the key that was in use when they started. Decryption operations will be completed using the key that was used at the time of encryption unless access to that key has been revoked.To disable CMEK for the Log Router, set this field to an empty string.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. | | | `string` | Output only. The CryptoKeyVersion resource name for the configured Cloud KMS key.KMS key name format: "projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]/cryptoKeyVersions/[VERSION]" For example:"projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key/cryptoKeyVersions/1"This is a read-only field used to convey the specific configured CryptoKeyVersion of kms_key that has been configured. It will be populated in cases where the CMEK settings are bound to a single key version.If this field is populated, the kms_key is tied to a specific CryptoKeyVersion. | | | `string` | Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations, and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. | + +## `SELECT` examples + +Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations, and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. + +```sql +SELECT +name, +kmsKeyName, +kmsKeyVersionName, +serviceAccountId +FROM google.logging.billing_accounts_cmek_settings +WHERE billingAccountsId = '{{ billingAccountsId }}'; +``` diff --git a/docs/google-docs/providers/google/logging/billing_accounts_settings/index.md b/docs/google-docs/providers/google/logging/billing_accounts_settings/index.md index 2ff6d4e894..f707f757b1 100644 --- a/docs/google-docs/providers/google/logging/billing_accounts_settings/index.md +++ b/docs/google-docs/providers/google/logging/billing_accounts_settings/index.md @@ -1,3 +1,4 @@ + --- title: billing_accounts_settings hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - billing_accounts_settings - logging - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an billing_accounts_setting resource or lists billing_accounts_settings in a region ## Overview
@@ -37,7 +39,25 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK, you must first assign the role roles/cloudkms.cryptoKeyEncrypterDecrypter to the service account that will be used to access your Cloud KMS key. Use GetSettings to obtain the service account ID.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. | | | `string` | Output only. The service account for the given resource container, such as project or folder. Log sinks use this service account as their writer_identity if no custom service account is provided in the request when calling the create sink method. | | | `string` | Optional. The storage location for the _Default and _Required log buckets of newly created projects and folders, unless the storage location is explicitly provided.Example value: europe-west1.Note: this setting does not affect the location of resources where a location is explicitly provided when created, such as custom log buckets. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets the settings for the given resource.Note: Settings can be retrieved for Google Cloud projects, folders, organizations, and billing accounts.See View default resource settings for Logging (https://cloud.google.com/logging/docs/default-settings#view-org-settings) for more information. | + +## `SELECT` examples + +Gets the settings for the given resource.Note: Settings can be retrieved for Google Cloud projects, folders, organizations, and billing accounts.See View default resource settings for Logging (https://cloud.google.com/logging/docs/default-settings#view-org-settings) for more information. + +```sql +SELECT +name, +defaultSinkConfig, +disableDefaultSink, +kmsKeyName, +kmsServiceAccountId, +loggingServiceAccountId, +storageLocation +FROM google.logging.billing_accounts_settings +WHERE billingAccountsId = '{{ billingAccountsId }}'; +``` diff --git a/docs/google-docs/providers/google/logging/buckets/index.md b/docs/google-docs/providers/google/logging/buckets/index.md index 4f9ce8d31f..f167bfc193 100644 --- a/docs/google-docs/providers/google/logging/buckets/index.md +++ b/docs/google-docs/providers/google/logging/buckets/index.md @@ -1,3 +1,4 @@ + --- title: buckets hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - buckets - logging - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an bucket resource or lists buckets in a region ## Overview
@@ -41,6 +43,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `array` | Optional. Log entry field paths that are denied access in this bucket.The following fields and their children are eligible: textPayload, jsonPayload, protoPayload, httpRequest, labels, sourceLocation.Restricting a repeated field will restrict all values. Adding a parent will block all child fields. (e.g. foo.bar will block foo.bar.baz) | | | `integer` | Optional. Logs will be retained by default for this amount of time, after which they will automatically be deleted. The minimum retention period is 1 day. If this value is set to zero at bucket creation time, the default time of 30 days will be used. | | | `string` | Output only. The last update timestamp of the bucket. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -66,13 +69,145 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `UPDATE` | | Updates a log bucket.If the bucket has a lifecycle_state of DELETE_REQUESTED, then FAILED_PRECONDITION will be returned.After a bucket has been created, the bucket's location cannot be changed. | | | `UPDATE` | | Updates a log bucket.If the bucket has a lifecycle_state of DELETE_REQUESTED, then FAILED_PRECONDITION will be returned.After a bucket has been created, the bucket's location cannot be changed. | | | `UPDATE` | | Updates a log bucket.If the bucket has a lifecycle_state of DELETE_REQUESTED, then FAILED_PRECONDITION will be returned.After a bucket has been created, the bucket's location cannot be changed. | -| | `EXEC` | | Lists log buckets. | -| | `EXEC` | | Lists log buckets. | -| | `EXEC` | | Lists log buckets. | -| | `EXEC` | | Lists log buckets. | -| | `EXEC` | | Lists log buckets. | | | `EXEC` | | Undeletes a log bucket. A bucket that has been deleted can be undeleted within the grace period of 7 days. | | | `EXEC` | | Undeletes a log bucket. A bucket that has been deleted can be undeleted within the grace period of 7 days. | | | `EXEC` | | Undeletes a log bucket. A bucket that has been deleted can be undeleted within the grace period of 7 days. | | | `EXEC` | | Undeletes a log bucket. A bucket that has been deleted can be undeleted within the grace period of 7 days. | | | `EXEC` | | Undeletes a log bucket. A bucket that has been deleted can be undeleted within the grace period of 7 days. | + +## `SELECT` examples + +Lists log buckets. + +```sql +SELECT +name, +description, +analyticsEnabled, +cmekSettings, +createTime, +indexConfigs, +lifecycleState, +locked, +restrictedFields, +retentionDays, +updateTime +FROM google.logging.buckets +WHERE parent = '{{ parent }}' +AND parentType = '{{ parentType }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new buckets resource. + + + + +```sql +/*+ create */ +INSERT INTO google.logging.buckets ( +parent, +parentType, +name, +description, +createTime, +updateTime, +retentionDays, +locked, +lifecycleState, +analyticsEnabled, +restrictedFields, +indexConfigs, +cmekSettings +) +SELECT +'{{ parent }}', +'{{ parentType }}', +'{{ name }}', +'{{ description }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ retentionDays }}', +true|false, +'{{ lifecycleState }}', +true|false, +'{{ restrictedFields }}', +'{{ indexConfigs }}', +'{{ cmekSettings }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: retentionDays + value: '{{ retentionDays }}' + - name: locked + value: '{{ locked }}' + - name: lifecycleState + value: '{{ lifecycleState }}' + - name: analyticsEnabled + value: '{{ analyticsEnabled }}' + - name: restrictedFields + value: '{{ restrictedFields }}' + - name: indexConfigs + value: '{{ indexConfigs }}' + - name: cmekSettings + value: '{{ cmekSettings }}' + +``` + + + +## `UPDATE` example + +Updates a bucket only if the necessary resources are available. + +```sql +UPDATE google.logging.buckets +SET +name = '{{ name }}', +description = '{{ description }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +retentionDays = '{{ retentionDays }}', +locked = true|false, +lifecycleState = '{{ lifecycleState }}', +analyticsEnabled = true|false, +restrictedFields = '{{ restrictedFields }}', +indexConfigs = '{{ indexConfigs }}', +cmekSettings = '{{ cmekSettings }}' +WHERE +bucketsId = '{{ bucketsId }}' +AND foldersId = '{{ foldersId }}' +AND locationsId = '{{ locationsId }}'; +``` + +## `DELETE` example + +Deletes the specified bucket resource. + +```sql +DELETE FROM google.logging.buckets +WHERE bucketsId = '{{ bucketsId }}' +AND foldersId = '{{ foldersId }}' +AND locationsId = '{{ locationsId }}'; +``` diff --git a/docs/google-docs/providers/google/logging/buckets_async/index.md b/docs/google-docs/providers/google/logging/buckets_async/index.md index 793076e237..7ab278b05d 100644 --- a/docs/google-docs/providers/google/logging/buckets_async/index.md +++ b/docs/google-docs/providers/google/logging/buckets_async/index.md @@ -1,3 +1,4 @@ + --- title: buckets_async hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - buckets_async - logging - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an buckets_async resource or lists buckets_async in a region ## Overview
@@ -28,7 +30,9 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -36,7 +40,111 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a log bucket asynchronously that can be used to store log entries.After a bucket has been created, the bucket's location cannot be changed. | | | `INSERT` | | Creates a log bucket asynchronously that can be used to store log entries.After a bucket has been created, the bucket's location cannot be changed. | | | `INSERT` | | Creates a log bucket asynchronously that can be used to store log entries.After a bucket has been created, the bucket's location cannot be changed. | -| | `EXEC` | | Updates a log bucket asynchronously.If the bucket has a lifecycle_state of DELETE_REQUESTED, then FAILED_PRECONDITION will be returned.After a bucket has been created, the bucket's location cannot be changed. | -| | `EXEC` | | Updates a log bucket asynchronously.If the bucket has a lifecycle_state of DELETE_REQUESTED, then FAILED_PRECONDITION will be returned.After a bucket has been created, the bucket's location cannot be changed. | -| | `EXEC` | | Updates a log bucket asynchronously.If the bucket has a lifecycle_state of DELETE_REQUESTED, then FAILED_PRECONDITION will be returned.After a bucket has been created, the bucket's location cannot be changed. | -| | `EXEC` | | Updates a log bucket asynchronously.If the bucket has a lifecycle_state of DELETE_REQUESTED, then FAILED_PRECONDITION will be returned.After a bucket has been created, the bucket's location cannot be changed. | +| | `UPDATE` | | Updates a log bucket asynchronously.If the bucket has a lifecycle_state of DELETE_REQUESTED, then FAILED_PRECONDITION will be returned.After a bucket has been created, the bucket's location cannot be changed. | +| | `UPDATE` | | Updates a log bucket asynchronously.If the bucket has a lifecycle_state of DELETE_REQUESTED, then FAILED_PRECONDITION will be returned.After a bucket has been created, the bucket's location cannot be changed. | +| | `UPDATE` | | Updates a log bucket asynchronously.If the bucket has a lifecycle_state of DELETE_REQUESTED, then FAILED_PRECONDITION will be returned.After a bucket has been created, the bucket's location cannot be changed. | +| | `UPDATE` | | Updates a log bucket asynchronously.If the bucket has a lifecycle_state of DELETE_REQUESTED, then FAILED_PRECONDITION will be returned.After a bucket has been created, the bucket's location cannot be changed. | + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new buckets_async resource. + + + + +```sql +/*+ create */ +INSERT INTO google.logging.buckets_async ( +foldersId, +locationsId, +name, +description, +createTime, +updateTime, +retentionDays, +locked, +lifecycleState, +analyticsEnabled, +restrictedFields, +indexConfigs, +cmekSettings +) +SELECT +'{{ foldersId }}', +'{{ locationsId }}', +'{{ name }}', +'{{ description }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ retentionDays }}', +true|false, +'{{ lifecycleState }}', +true|false, +'{{ restrictedFields }}', +'{{ indexConfigs }}', +'{{ cmekSettings }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: retentionDays + value: '{{ retentionDays }}' + - name: locked + value: '{{ locked }}' + - name: lifecycleState + value: '{{ lifecycleState }}' + - name: analyticsEnabled + value: '{{ analyticsEnabled }}' + - name: restrictedFields + value: '{{ restrictedFields }}' + - name: indexConfigs + value: '{{ indexConfigs }}' + - name: cmekSettings + value: '{{ cmekSettings }}' + +``` + + + +## `UPDATE` example + +Updates a buckets_async only if the necessary resources are available. + +```sql +UPDATE google.logging.buckets_async +SET +name = '{{ name }}', +description = '{{ description }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +retentionDays = '{{ retentionDays }}', +locked = true|false, +lifecycleState = '{{ lifecycleState }}', +analyticsEnabled = true|false, +restrictedFields = '{{ restrictedFields }}', +indexConfigs = '{{ indexConfigs }}', +cmekSettings = '{{ cmekSettings }}' +WHERE +bucketsId = '{{ bucketsId }}' +AND foldersId = '{{ foldersId }}' +AND locationsId = '{{ locationsId }}'; +``` diff --git a/docs/google-docs/providers/google/logging/cmek_settings/index.md b/docs/google-docs/providers/google/logging/cmek_settings/index.md index f106d9618c..c3724ca3b5 100644 --- a/docs/google-docs/providers/google/logging/cmek_settings/index.md +++ b/docs/google-docs/providers/google/logging/cmek_settings/index.md @@ -1,3 +1,4 @@ + --- title: cmek_settings hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - cmek_settings - logging - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an cmek_setting resource or lists cmek_settings in a region ## Overview @@ -34,10 +36,40 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Optional. The resource name for the configured Cloud KMS key.KMS key name format: "projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]" For example:"projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key"To enable CMEK for the Log Router, set this field to a valid kms_key_name for which the associated service account has the needed cloudkms.cryptoKeyEncrypterDecrypter roles assigned for the key.The Cloud KMS key used by the Log Router can be updated by changing the kms_key_name to a new valid key name or disabled by setting the key name to an empty string. Encryption operations that are in progress will be completed with the key that was in use when they started. Decryption operations will be completed using the key that was used at the time of encryption unless access to that key has been revoked.To disable CMEK for the Log Router, set this field to an empty string.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. | | | `string` | Output only. The CryptoKeyVersion resource name for the configured Cloud KMS key.KMS key name format: "projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]/cryptoKeyVersions/[VERSION]" For example:"projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key/cryptoKeyVersions/1"This is a read-only field used to convey the specific configured CryptoKeyVersion of kms_key that has been configured. It will be populated in cases where the CMEK settings are bound to a single key version.If this field is populated, the kms_key is tied to a specific CryptoKeyVersion. | | | `string` | Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations, and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. | | | `SELECT` | | Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations, and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. | | | `SELECT` | | Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations, and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. | -| | `EXEC` | | Updates the Log Router CMEK settings for the given resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.UpdateCmekSettings fails when any of the following are true: The value of kms_key_name is invalid. The associated service account doesn't have the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key. Access to the key is disabled.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. | +| | `UPDATE` | | Updates the Log Router CMEK settings for the given resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.UpdateCmekSettings fails when any of the following are true: The value of kms_key_name is invalid. The associated service account doesn't have the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key. Access to the key is disabled.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. | + +## `SELECT` examples + +Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations, and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. + +```sql +SELECT +name, +kmsKeyName, +kmsKeyVersionName, +serviceAccountId +FROM google.logging.cmek_settings +WHERE foldersId = '{{ foldersId }}'; +``` + +## `UPDATE` example + +Updates a cmek_setting only if the necessary resources are available. + +```sql +UPDATE google.logging.cmek_settings +SET +name = '{{ name }}', +kmsKeyName = '{{ kmsKeyName }}', +kmsKeyVersionName = '{{ kmsKeyVersionName }}', +serviceAccountId = '{{ serviceAccountId }}' +WHERE +organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/logging/entries/index.md b/docs/google-docs/providers/google/logging/entries/index.md index 6dfe4b65a7..c4dce746ae 100644 --- a/docs/google-docs/providers/google/logging/entries/index.md +++ b/docs/google-docs/providers/google/logging/entries/index.md @@ -1,3 +1,4 @@ + --- title: entries hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - entries - logging - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an entry resource or lists entries in a region ## Overview
@@ -28,11 +30,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `array` | A list of log entries. If entries is empty, nextPageToken may still be returned, indicating that more entries may exist. See nextPageToken for more information. | +| | `string` | If there might be more results than those appearing in this response, then nextPageToken is included. To get the next set of results, call this method again using the value of nextPageToken as pageToken.If a value for next_page_token appears and the entries field is empty, it means that the search found no log entries so far but it did not have time to search all the possible log entries. Retry the method with this value for page_token to continue the search. Alternatively, consider speeding up the search by changing your filter to specify a single log name or resource type, or to narrow the time range of the search. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| -| | `EXEC` | | Copies a set of log entries from a log bucket to a Cloud Storage bucket. | -| | `EXEC` | | Lists log entries. Use this method to retrieve log entries that originated from a project/folder/organization/billing account. For ways to export log entries, see Exporting Logs (https://cloud.google.com/logging/docs/export). | -| | `EXEC` | | Streaming read of log entries as they are received. Until the stream is terminated, it will continue reading logs. | -| | `EXEC` | | Writes log entries to Logging. This API method is the only way to send log entries to Logging. This method is used, directly or indirectly, by the Logging agent (fluentd) and all logging libraries configured to use Logging. A single request may contain log entries for a maximum of 1000 different resource names (projects, organizations, billing accounts or folders), where the resource name for a log entry is determined from its logName field. | +| | `SELECT` | | Lists log entries. Use this method to retrieve log entries that originated from a project/folder/organization/billing account. For ways to export log entries, see Exporting Logs (https://cloud.google.com/logging/docs/export). | +| | `EXEC` | | Copies a set of log entries from a log bucket to a Cloud Storage bucket. | +| | `EXEC` | | Streaming read of log entries as they are received. Until the stream is terminated, it will continue reading logs. | +| | `EXEC` | | Writes log entries to Logging. This API method is the only way to send log entries to Logging. This method is used, directly or indirectly, by the Logging agent (fluentd) and all logging libraries configured to use Logging. A single request may contain log entries for a maximum of 1000 different resource names (projects, organizations, billing accounts or folders), where the resource name for a log entry is determined from its logName field. | + +## `SELECT` examples + +Lists log entries. Use this method to retrieve log entries that originated from a project/folder/organization/billing account. For ways to export log entries, see Exporting Logs (https://cloud.google.com/logging/docs/export). + +```sql +SELECT +entries, +nextPageToken +FROM google.logging.entries +WHERE = '{{ }}'; +``` diff --git a/docs/google-docs/providers/google/logging/exclusions/index.md b/docs/google-docs/providers/google/logging/exclusions/index.md index 02e63d7c35..be2de9522f 100644 --- a/docs/google-docs/providers/google/logging/exclusions/index.md +++ b/docs/google-docs/providers/google/logging/exclusions/index.md @@ -1,3 +1,4 @@ + --- title: exclusions hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - exclusions - logging - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an exclusion resource or lists exclusions in a region ## Overview @@ -34,8 +36,9 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Optional. A description of this exclusion. | | | `string` | Output only. The creation timestamp of the exclusion.This field may not be present for older exclusions. | | | `boolean` | Optional. If set to True, then this exclusion is disabled and it does not exclude any log entries. You can update an exclusion to change the value of this field. | -| | `string` | Required. An advanced logs filter (https://cloud.google.com/logging/docs/view/advanced-queries) that matches the log entries to be excluded. By using the sample function (https://cloud.google.com/logging/docs/view/advanced-queries#sample), you can exclude less than 100% of the matching log entries.For example, the following query matches 99% of low-severity log entries from Google Cloud Storage buckets:resource.type=gcs_bucket severity<ERROR sample(insertId, 0.99) | +| | `string` | Required. An advanced logs filter (https://cloud.google.com/logging/docs/view/advanced-queries) that matches the log entries to be excluded. By using the sample function (https://cloud.google.com/logging/docs/view/advanced-queries#sample), you can exclude less than 100% of the matching log entries.For example, the following query matches 99% of low-severity log entries from Google Cloud Storage buckets:resource.type=gcs_bucket severity | `string` | Output only. The last update timestamp of the exclusion.This field may not be present for older exclusions. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -64,8 +67,103 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `UPDATE` | | Changes one or more properties of an existing exclusion in the _Default sink. | | | `UPDATE` | | Changes one or more properties of an existing exclusion in the _Default sink. | | | `UPDATE` | | Changes one or more properties of an existing exclusion in the _Default sink. | -| | `EXEC` | | Lists all the exclusions on the _Default sink in a parent resource. | -| | `EXEC` | | Lists all the exclusions on the _Default sink in a parent resource. | -| | `EXEC` | | Lists all the exclusions on the _Default sink in a parent resource. | -| | `EXEC` | | Lists all the exclusions on the _Default sink in a parent resource. | -| | `EXEC` | | Lists all the exclusions on the _Default sink in a parent resource. | + +## `SELECT` examples + +Gets the description of an exclusion in the _Default sink. + +```sql +SELECT +name, +description, +createTime, +disabled, +filter, +updateTime +FROM google.logging.exclusions +WHERE name = '{{ name }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new exclusions resource. + + + + +```sql +/*+ create */ +INSERT INTO google.logging.exclusions ( +foldersId, +name, +description, +filter, +disabled, +createTime, +updateTime +) +SELECT +'{{ foldersId }}', +'{{ name }}', +'{{ description }}', +'{{ filter }}', +true|false, +'{{ createTime }}', +'{{ updateTime }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: filter + value: '{{ filter }}' + - name: disabled + value: '{{ disabled }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + +``` + + + +## `UPDATE` example + +Updates a exclusion only if the necessary resources are available. + +```sql +UPDATE google.logging.exclusions +SET +name = '{{ name }}', +description = '{{ description }}', +filter = '{{ filter }}', +disabled = true|false, +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}' +WHERE +name = '{{ name }}'; +``` + +## `DELETE` example + +Deletes the specified exclusion resource. + +```sql +DELETE FROM google.logging.exclusions +WHERE name = '{{ name }}'; +``` diff --git a/docs/google-docs/providers/google/logging/index.md b/docs/google-docs/providers/google/logging/index.md index 0dbb98dece..e794615c81 100644 --- a/docs/google-docs/providers/google/logging/index.md +++ b/docs/google-docs/providers/google/logging/index.md @@ -9,34 +9,23 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Writes log entries and manages your Cloud Logging configuration. - +The logging service documentation. + :::info Service Summary
-total resources: 21
-total selectable resources: 19
-total methods: 273
+total resources: 22
::: -## Overview -
- - - - - -
Namegoogle.logging
TypeService
TitleCloud Logging API
DescriptionWrites log entries and manages your Cloud Logging configuration.
Idlogging:v24.06.00236
- ## Resources
@@ -49,10 +38,11 @@ Writes log entries and manages your Cloud Logging configuration. exclusions
links
locations
-logging_cmek_settings
-logging_settings
+log_scopes
+logging_cmek_settings
+logging_settings
logs
metrics
monitored_resource_descriptors
@@ -62,6 +52,6 @@ Writes log entries and manages your Cloud Logging configuration. settings
sinks
views
-views_iam_policies
-
+views_iam_policies
+ \ No newline at end of file diff --git a/docs/google-docs/providers/google/logging/links/index.md b/docs/google-docs/providers/google/logging/links/index.md index 4f4d2b0f34..aee3231b69 100644 --- a/docs/google-docs/providers/google/logging/links/index.md +++ b/docs/google-docs/providers/google/logging/links/index.md @@ -1,3 +1,4 @@ + --- title: links hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - links - logging - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an link resource or lists links in a region ## Overview @@ -35,6 +37,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Describes a BigQuery dataset that was created by a link. | | | `string` | Output only. The creation timestamp of the link. | | | `string` | Output only. The resource lifecycle state. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -56,8 +59,87 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `DELETE` | | Deletes a link. This will also delete the corresponding BigQuery linked dataset. | | | `DELETE` | | Deletes a link. This will also delete the corresponding BigQuery linked dataset. | | | `DELETE` | | Deletes a link. This will also delete the corresponding BigQuery linked dataset. | -| | `EXEC` | | Lists links. | -| | `EXEC` | | Lists links. | -| | `EXEC` | | Lists links. | -| | `EXEC` | | Lists links. | -| | `EXEC` | | Lists links. | + +## `SELECT` examples + +Lists links. + +```sql +SELECT +name, +description, +bigqueryDataset, +createTime, +lifecycleState +FROM google.logging.links +WHERE parent = '{{ parent }}' +AND parentType = '{{ parentType }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new links resource. + + + + +```sql +/*+ create */ +INSERT INTO google.logging.links ( +parent, +parentType, +name, +description, +createTime, +lifecycleState, +bigqueryDataset +) +SELECT +'{{ parent }}', +'{{ parentType }}', +'{{ name }}', +'{{ description }}', +'{{ createTime }}', +'{{ lifecycleState }}', +'{{ bigqueryDataset }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: createTime + value: '{{ createTime }}' + - name: lifecycleState + value: '{{ lifecycleState }}' + - name: bigqueryDataset + value: '{{ bigqueryDataset }}' + +``` + + + +## `DELETE` example + +Deletes the specified link resource. + +```sql +DELETE FROM google.logging.links +WHERE bucketsId = '{{ bucketsId }}' +AND foldersId = '{{ foldersId }}' +AND linksId = '{{ linksId }}' +AND locationsId = '{{ locationsId }}'; +``` diff --git a/docs/google-docs/providers/google/logging/locations/index.md b/docs/google-docs/providers/google/logging/locations/index.md index 7b8f7b110d..2a75e39c4f 100644 --- a/docs/google-docs/providers/google/logging/locations/index.md +++ b/docs/google-docs/providers/google/logging/locations/index.md @@ -1,3 +1,4 @@ + --- title: locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - locations - logging - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an location resource or lists locations in a region ## Overview
@@ -32,9 +34,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Resource name for the location, which may vary between implementations. For example: "projects/example-project/locations/us-east1" | | | `string` | The friendly name for this location, typically a nearby city name. For example, "Tokyo". | -| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | +| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | | | `string` | The canonical id for this location. For example: "us-east1". | | | `object` | Service-specific metadata. For example the available capacity at the given location. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -47,8 +50,18 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists information about the supported locations for this service. | | | `SELECT` | | Gets information about a location. | | | `SELECT` | | Lists information about the supported locations for this service. | -| | `EXEC` | | Lists information about the supported locations for this service. | -| | `EXEC` | | Lists information about the supported locations for this service. | -| | `EXEC` | | Lists information about the supported locations for this service. | -| | `EXEC` | | Lists information about the supported locations for this service. | -| | `EXEC` | | Lists information about the supported locations for this service. | + +## `SELECT` examples + +Lists information about the supported locations for this service. + +```sql +SELECT +name, +displayName, +labels, +locationId, +metadata +FROM google.logging.locations +WHERE name = '{{ name }}'; +``` diff --git a/docs/google-docs/providers/google/logging/log_scopes/index.md b/docs/google-docs/providers/google/logging/log_scopes/index.md new file mode 100644 index 0000000000..da3943c3c3 --- /dev/null +++ b/docs/google-docs/providers/google/logging/log_scopes/index.md @@ -0,0 +1,159 @@ + +--- +title: log_scopes +hide_title: false +hide_table_of_contents: false +keywords: + - log_scopes + - logging + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an log_scope resource or lists log_scopes in a region + +## Overview +
+ + + +
Namelog_scopes
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | Output only. The resource name of the log scope.For example:projects/my-project/locations/global/logScopes/my-log-scope | +| | `string` | Optional. Describes this log scope.The maximum length of the description is 8000 characters. | +| | `string` | Output only. The creation timestamp of the log scope. | +| | `array` | Required. Names of one or more parent resources: projects/[PROJECT_ID]May alternatively be one or more views: projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]A log scope can include a maximum of 50 projects and a maximum of 100 resources in total. | +| | `string` | Output only. The last update timestamp of the log scope. | + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets a log scope. | +| | `SELECT` | | Lists log scopes. | +| | `SELECT` | | Gets a log scope. | +| | `SELECT` | | Lists log scopes. | +| | `SELECT` | | Gets a log scope. | +| | `SELECT` | | Lists log scopes. | +| | `INSERT` | | Creates a log scope. | +| | `INSERT` | | Creates a log scope. | +| | `INSERT` | | Creates a log scope. | +| | `DELETE` | | Deletes a log scope. | +| | `DELETE` | | Deletes a log scope. | +| | `DELETE` | | Deletes a log scope. | +| | `UPDATE` | | Updates a log scope. | +| | `UPDATE` | | Updates a log scope. | +| | `UPDATE` | | Updates a log scope. | + +## `SELECT` examples + +Lists log scopes. + +```sql +SELECT +name, +description, +createTime, +resourceNames, +updateTime +FROM google.logging.log_scopes +WHERE foldersId = '{{ foldersId }}' +AND locationsId = '{{ locationsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new log_scopes resource. + + + + +```sql +/*+ create */ +INSERT INTO google.logging.log_scopes ( +foldersId, +locationsId, +name, +resourceNames, +description, +createTime, +updateTime +) +SELECT +'{{ foldersId }}', +'{{ locationsId }}', +'{{ name }}', +'{{ resourceNames }}', +'{{ description }}', +'{{ createTime }}', +'{{ updateTime }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: resourceNames + value: '{{ resourceNames }}' + - name: description + value: '{{ description }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + +``` + + + +## `UPDATE` example + +Updates a log_scope only if the necessary resources are available. + +```sql +UPDATE google.logging.log_scopes +SET +name = '{{ name }}', +resourceNames = '{{ resourceNames }}', +description = '{{ description }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}' +WHERE +foldersId = '{{ foldersId }}' +AND locationsId = '{{ locationsId }}' +AND logScopesId = '{{ logScopesId }}'; +``` + +## `DELETE` example + +Deletes the specified log_scope resource. + +```sql +DELETE FROM google.logging.log_scopes +WHERE foldersId = '{{ foldersId }}' +AND locationsId = '{{ locationsId }}' +AND logScopesId = '{{ logScopesId }}'; +``` diff --git a/docs/google-docs/providers/google/logging/logging_cmek_settings/index.md b/docs/google-docs/providers/google/logging/logging_cmek_settings/index.md index 7b17bc11ec..2b35b005dc 100644 --- a/docs/google-docs/providers/google/logging/logging_cmek_settings/index.md +++ b/docs/google-docs/providers/google/logging/logging_cmek_settings/index.md @@ -1,3 +1,4 @@ + --- title: logging_cmek_settings hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - logging_cmek_settings - logging - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an logging_cmek_setting resource or lists logging_cmek_settings in a region ## Overview @@ -34,8 +36,38 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Optional. The resource name for the configured Cloud KMS key.KMS key name format: "projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]" For example:"projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key"To enable CMEK for the Log Router, set this field to a valid kms_key_name for which the associated service account has the needed cloudkms.cryptoKeyEncrypterDecrypter roles assigned for the key.The Cloud KMS key used by the Log Router can be updated by changing the kms_key_name to a new valid key name or disabled by setting the key name to an empty string. Encryption operations that are in progress will be completed with the key that was in use when they started. Decryption operations will be completed using the key that was used at the time of encryption unless access to that key has been revoked.To disable CMEK for the Log Router, set this field to an empty string.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. | | | `string` | Output only. The CryptoKeyVersion resource name for the configured Cloud KMS key.KMS key name format: "projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]/cryptoKeyVersions/[VERSION]" For example:"projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key/cryptoKeyVersions/1"This is a read-only field used to convey the specific configured CryptoKeyVersion of kms_key that has been configured. It will be populated in cases where the CMEK settings are bound to a single key version.If this field is populated, the kms_key is tied to a specific CryptoKeyVersion. | | | `string` | Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations, and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. | -| | `EXEC` | | Updates the Log Router CMEK settings for the given resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.UpdateCmekSettings fails when any of the following are true: The value of kms_key_name is invalid. The associated service account doesn't have the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key. Access to the key is disabled.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. | +| | `UPDATE` | | Updates the Log Router CMEK settings for the given resource.Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.UpdateCmekSettings fails when any of the following are true: The value of kms_key_name is invalid. The associated service account doesn't have the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key. Access to the key is disabled.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. | + +## `SELECT` examples + +Gets the Logging CMEK settings for the given resource.Note: CMEK for the Log Router can be configured for Google Cloud projects, folders, organizations, and billing accounts. Once configured for an organization, it applies to all projects and folders in the Google Cloud organization.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. + +```sql +SELECT +name, +kmsKeyName, +kmsKeyVersionName, +serviceAccountId +FROM google.logging.logging_cmek_settings +WHERE name = '{{ name }}'; +``` + +## `UPDATE` example + +Updates a logging_cmek_setting only if the necessary resources are available. + +```sql +UPDATE google.logging.logging_cmek_settings +SET +name = '{{ name }}', +kmsKeyName = '{{ kmsKeyName }}', +kmsKeyVersionName = '{{ kmsKeyVersionName }}', +serviceAccountId = '{{ serviceAccountId }}' +WHERE +name = '{{ name }}'; +``` diff --git a/docs/google-docs/providers/google/logging/logging_settings/index.md b/docs/google-docs/providers/google/logging/logging_settings/index.md index 6f4dd1b049..85ff541557 100644 --- a/docs/google-docs/providers/google/logging/logging_settings/index.md +++ b/docs/google-docs/providers/google/logging/logging_settings/index.md @@ -1,3 +1,4 @@ + --- title: logging_settings hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - logging_settings - logging - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an logging_setting resource or lists logging_settings in a region ## Overview
@@ -37,8 +39,44 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK, you must first assign the role roles/cloudkms.cryptoKeyEncrypterDecrypter to the service account that will be used to access your Cloud KMS key. Use GetSettings to obtain the service account ID.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. | | | `string` | Output only. The service account for the given resource container, such as project or folder. Log sinks use this service account as their writer_identity if no custom service account is provided in the request when calling the create sink method. | | | `string` | Optional. The storage location for the _Default and _Required log buckets of newly created projects and folders, unless the storage location is explicitly provided.Example value: europe-west1.Note: this setting does not affect the location of resources where a location is explicitly provided when created, such as custom log buckets. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the settings for the given resource.Note: Settings can be retrieved for Google Cloud projects, folders, organizations, and billing accounts.See View default resource settings for Logging (https://cloud.google.com/logging/docs/default-settings#view-org-settings) for more information. | -| | `EXEC` | | Updates the settings for the given resource. This method applies to all feature configurations for organization and folders.UpdateSettings fails when any of the following are true: The value of storage_location either isn't supported by Logging or violates the location OrgPolicy. The default_sink_config field is set, but it has an unspecified filter write mode. The value of kms_key_name is invalid. The associated service account doesn't have the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key. Access to the key is disabled.See Configure default settings for organizations and folders (https://cloud.google.com/logging/docs/default-settings) for more information. | +| | `UPDATE` | | Updates the settings for the given resource. This method applies to all feature configurations for organization and folders.UpdateSettings fails when any of the following are true: The value of storage_location either isn't supported by Logging or violates the location OrgPolicy. The default_sink_config field is set, but it has an unspecified filter write mode. The value of kms_key_name is invalid. The associated service account doesn't have the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key. Access to the key is disabled.See Configure default settings for organizations and folders (https://cloud.google.com/logging/docs/default-settings) for more information. | + +## `SELECT` examples + +Gets the settings for the given resource.Note: Settings can be retrieved for Google Cloud projects, folders, organizations, and billing accounts.See View default resource settings for Logging (https://cloud.google.com/logging/docs/default-settings#view-org-settings) for more information. + +```sql +SELECT +name, +defaultSinkConfig, +disableDefaultSink, +kmsKeyName, +kmsServiceAccountId, +loggingServiceAccountId, +storageLocation +FROM google.logging.logging_settings +WHERE name = '{{ name }}'; +``` + +## `UPDATE` example + +Updates a logging_setting only if the necessary resources are available. + +```sql +UPDATE google.logging.logging_settings +SET +name = '{{ name }}', +kmsKeyName = '{{ kmsKeyName }}', +kmsServiceAccountId = '{{ kmsServiceAccountId }}', +storageLocation = '{{ storageLocation }}', +disableDefaultSink = true|false, +defaultSinkConfig = '{{ defaultSinkConfig }}', +loggingServiceAccountId = '{{ loggingServiceAccountId }}' +WHERE +name = '{{ name }}'; +``` diff --git a/docs/google-docs/providers/google/logging/logs/index.md b/docs/google-docs/providers/google/logging/logs/index.md index 0eaeea79ff..c3e0b26f28 100644 --- a/docs/google-docs/providers/google/logging/logs/index.md +++ b/docs/google-docs/providers/google/logging/logs/index.md @@ -1,3 +1,4 @@ + --- title: logs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - logs - logging - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an log resource or lists logs in a region ## Overview
@@ -28,6 +30,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -45,12 +51,23 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `DELETE` | | Deletes all the log entries in a log for the _Default Log Bucket. The log reappears if it receives new entries. Log entries written shortly before the delete operation might not be deleted. Entries received after the delete operation with a timestamp before the operation will be deleted. | | | `DELETE` | | Deletes all the log entries in a log for the _Default Log Bucket. The log reappears if it receives new entries. Log entries written shortly before the delete operation might not be deleted. Entries received after the delete operation with a timestamp before the operation will be deleted. | | | `DELETE` | | Deletes all the log entries in a log for the _Default Log Bucket. The log reappears if it receives new entries. Log entries written shortly before the delete operation might not be deleted. Entries received after the delete operation with a timestamp before the operation will be deleted. | -| | `EXEC` | | Lists the logs in projects, organizations, folders, or billing accounts. Only logs that have entries are listed. | -| | `EXEC` | | Lists the logs in projects, organizations, folders, or billing accounts. Only logs that have entries are listed. | -| | `EXEC` | | Lists the logs in projects, organizations, folders, or billing accounts. Only logs that have entries are listed. | -| | `EXEC` | | Lists the logs in projects, organizations, folders, or billing accounts. Only logs that have entries are listed. | -| | `EXEC` | | Lists the logs in projects, organizations, folders, or billing accounts. Only logs that have entries are listed. | -| | `EXEC` | | Lists the logs in projects, organizations, folders, or billing accounts. Only logs that have entries are listed. | -| | `EXEC` | | Lists the logs in projects, organizations, folders, or billing accounts. Only logs that have entries are listed. | -| | `EXEC` | | Lists the logs in projects, organizations, folders, or billing accounts. Only logs that have entries are listed. | -| | `EXEC` | | Lists the logs in projects, organizations, folders, or billing accounts. Only logs that have entries are listed. | + +## `SELECT` examples + +Lists the logs in projects, organizations, folders, or billing accounts. Only logs that have entries are listed. + +```sql +SELECT +column_anon +FROM google.logging.logs +WHERE foldersId = '{{ foldersId }}'; +``` + +## `DELETE` example + +Deletes the specified log resource. + +```sql +DELETE FROM google.logging.logs +WHERE logName = '{{ logName }}'; +``` diff --git a/docs/google-docs/providers/google/logging/metrics/index.md b/docs/google-docs/providers/google/logging/metrics/index.md index 9970e9b348..36b6b9f8d8 100644 --- a/docs/google-docs/providers/google/logging/metrics/index.md +++ b/docs/google-docs/providers/google/logging/metrics/index.md @@ -1,3 +1,4 @@ + --- title: metrics hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - metrics - logging - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an metric resource or lists metrics in a region ## Overview @@ -33,16 +35,17 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Required. The client-assigned metric identifier. Examples: "error_count", "nginx/requests".Metric identifiers are limited to 100 characters and can include only the following characters: A-Z, a-z, 0-9, and the special characters _-.,+!*',()%/. The forward-slash character (/) denotes a hierarchy of name pieces, and it cannot be the first character of the name.This field is the [METRIC_ID] part of a metric resource name in the format "projects/PROJECT_ID/metrics/METRIC_ID". Example: If the resource name of a metric is "projects/my-project/metrics/nginx%2Frequests", this field's value is "nginx/requests". | | | `string` | Optional. A description of this metric, which is used in documentation. The maximum length of the description is 8000 characters. | | | `string` | Optional. The resource name of the Log Bucket that owns the Log Metric. Only Log Buckets in projects are supported. The bucket has to be in the same project as the metric.For example:projects/my-project/locations/global/buckets/my-bucketIf empty, then the Log Metric is considered a non-Bucket Log Metric. | -| | `object` | BucketOptions describes the bucket boundaries used to create a histogram for the distribution. The buckets can be in a linear sequence, an exponential sequence, or each bucket can be specified explicitly. BucketOptions does not include the number of values in each bucket.A bucket has an inclusive lower bound and exclusive upper bound for the values that are counted for that bucket. The upper bound of a bucket must be strictly greater than the lower bound. The sequence of N buckets for a distribution consists of an underflow bucket (number 0), zero or more finite buckets (number 1 through N - 2) and an overflow bucket (number N - 1). The buckets are contiguous: the lower bound of bucket i (i > 0) is the same as the upper bound of bucket i - 1. The buckets span the whole range of finite values: lower bound of the underflow bucket is -infinity and the upper bound of the overflow bucket is +infinity. The finite buckets are so-called because both bounds are finite. | +| | `object` | BucketOptions describes the bucket boundaries used to create a histogram for the distribution. The buckets can be in a linear sequence, an exponential sequence, or each bucket can be specified explicitly. BucketOptions does not include the number of values in each bucket.A bucket has an inclusive lower bound and exclusive upper bound for the values that are counted for that bucket. The upper bound of a bucket must be strictly greater than the lower bound. The sequence of N buckets for a distribution consists of an underflow bucket (number 0), zero or more finite buckets (number 1 through N - 2) and an overflow bucket (number N - 1). The buckets are contiguous: the lower bound of bucket i (i > 0) is the same as the upper bound of bucket i - 1. The buckets span the whole range of finite values: lower bound of the underflow bucket is -infinity and the upper bound of the overflow bucket is +infinity. The finite buckets are so-called because both bounds are finite. | | | `string` | Output only. The creation timestamp of the metric.This field may not be present for older metrics. | | | `boolean` | Optional. If set to True, then this metric is disabled and it does not generate any points. | -| | `string` | Required. An advanced logs filter (https://cloud.google.com/logging/docs/view/advanced_filters) which is used to match log entries. Example: "resource.type=gae_app AND severity>=ERROR" The maximum length of the filter is 20000 characters. | +| | `string` | Required. An advanced logs filter (https://cloud.google.com/logging/docs/view/advanced_filters) which is used to match log entries. Example: "resource.type=gae_app AND severity>=ERROR" The maximum length of the filter is 20000 characters. | | | `object` | Optional. A map from a label key string to an extractor expression which is used to extract data from a log entry field and assign as the label value. Each label key specified in the LabelDescriptor must have an associated extractor expression in this map. The syntax of the extractor expression is the same as for the value_extractor field.The extracted value is converted to the type defined in the label descriptor. If either the extraction or the type conversion fails, the label will have a default value. The default value for a string label is an empty string, for an integer label its 0, and for a boolean label its false.Note that there are upper bounds on the maximum number of labels and the number of active time series that are allowed in a project. | | | `object` | Defines a metric type and its schema. Once a metric descriptor is created, deleting or altering it stops data collection and makes the metric type's existing data unusable. | | | `string` | Output only. The resource name of the metric: "projects/[PROJECT_ID]/metrics/[METRIC_ID]" | | | `string` | Output only. The last update timestamp of the metric.This field may not be present for older metrics. | | | `string` | Optional. A value_extractor is required when using a distribution logs-based metric to extract the values to record from a log entry. Two functions are supported for value extraction: EXTRACT(field) or REGEXP_EXTRACT(field, regex). The arguments are: field: The name of the log entry field from which the value is to be extracted. regex: A regular expression using the Google RE2 syntax (https://github.com/google/re2/wiki/Syntax) with a single capture group to extract data from the specified log entry field. The value of the field is converted to a string before applying the regex. It is an error to specify a regex that does not include exactly one capture group.The result of the extraction must be convertible to a double type, as the distribution always records double values. If either the extraction or the conversion to double fails, then those values are not recorded in the distribution.Example: REGEXP_EXTRACT(jsonPayload.request, ".*quantity=(\d+).*") | | | `string` | Deprecated. The API version that created or updated this metric. The v2 format is used by default and cannot be changed. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -50,5 +53,123 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists logs-based metrics. | | | `INSERT` | | Creates a logs-based metric. | | | `DELETE` | | Deletes a logs-based metric. | -| | `UPDATE` | | Creates or updates a logs-based metric. | -| | `EXEC` | | Lists logs-based metrics. | +| | `EXEC` | | Creates or updates a logs-based metric. | + +## `SELECT` examples + +Lists logs-based metrics. + +```sql +SELECT +name, +description, +bucketName, +bucketOptions, +createTime, +disabled, +filter, +labelExtractors, +metricDescriptor, +resourceName, +updateTime, +valueExtractor, +version +FROM google.logging.metrics +WHERE projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new metrics resource. + + + + +```sql +/*+ create */ +INSERT INTO google.logging.metrics ( +projectsId, +name, +resourceName, +description, +filter, +bucketName, +disabled, +metricDescriptor, +valueExtractor, +labelExtractors, +bucketOptions, +createTime, +updateTime, +version +) +SELECT +'{{ projectsId }}', +'{{ name }}', +'{{ resourceName }}', +'{{ description }}', +'{{ filter }}', +'{{ bucketName }}', +true|false, +'{{ metricDescriptor }}', +'{{ valueExtractor }}', +'{{ labelExtractors }}', +'{{ bucketOptions }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ version }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: resourceName + value: '{{ resourceName }}' + - name: description + value: '{{ description }}' + - name: filter + value: '{{ filter }}' + - name: bucketName + value: '{{ bucketName }}' + - name: disabled + value: '{{ disabled }}' + - name: metricDescriptor + value: '{{ metricDescriptor }}' + - name: valueExtractor + value: '{{ valueExtractor }}' + - name: labelExtractors + value: '{{ labelExtractors }}' + - name: bucketOptions + value: '{{ bucketOptions }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: version + value: '{{ version }}' + +``` + + + +## `DELETE` example + +Deletes the specified metric resource. + +```sql +DELETE FROM google.logging.metrics +WHERE metricsId = '{{ metricsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/logging/monitored_resource_descriptors/index.md b/docs/google-docs/providers/google/logging/monitored_resource_descriptors/index.md index 69eb599ef4..d7695d0c89 100644 --- a/docs/google-docs/providers/google/logging/monitored_resource_descriptors/index.md +++ b/docs/google-docs/providers/google/logging/monitored_resource_descriptors/index.md @@ -1,3 +1,4 @@ + --- title: monitored_resource_descriptors hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - monitored_resource_descriptors - logging - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an monitored_resource_descriptor resource or lists monitored_resource_descriptors in a region ## Overview
@@ -30,14 +32,30 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Optional. The resource name of the monitored resource descriptor: "projects/{project_id}/monitoredResourceDescriptors/{type}" where {type} is the value of the type field in this object and {project_id} is a project ID that provides API-specific context for accessing the type. APIs that do not use project information can use the resource name format "monitoredResourceDescriptors/{type}". | +| | `string` | Optional. The resource name of the monitored resource descriptor: "projects/{project_id}/monitoredResourceDescriptors/{type}" where {type} is the value of the type field in this object and {project_id} is a project ID that provides API-specific context for accessing the type. APIs that do not use project information can use the resource name format "monitoredResourceDescriptors/{type}". | | | `string` | Optional. A detailed description of the monitored resource type that might be used in documentation. | | | `string` | Optional. A concise name for the monitored resource type that might be displayed in user interfaces. It should be a Title Cased Noun Phrase, without any article or other determiners. For example, "Google Cloud SQL Database". | | | `array` | Required. A set of labels used to describe instances of this monitored resource type. For example, an individual Google Cloud SQL database is identified by values for the labels "database_id" and "zone". | | | `string` | Optional. The launch stage of the monitored resource definition. | | | `string` | Required. The monitored resource type. For example, the type "cloudsql_database" represents databases in Google Cloud SQL. For a list of types, see Monitored resource types (https://cloud.google.com/monitoring/api/resources) and Logging resource types (https://cloud.google.com/logging/docs/api/v2/resource-list). | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists the descriptors for monitored resource types used by Logging. | + +## `SELECT` examples + +Lists the descriptors for monitored resource types used by Logging. + +```sql +SELECT +name, +description, +displayName, +labels, +launchStage, +type +FROM google.logging.monitored_resource_descriptors +WHERE = '{{ }}'; +``` diff --git a/docs/google-docs/providers/google/logging/operations/index.md b/docs/google-docs/providers/google/logging/operations/index.md index 3e3da964c9..16a8e43262 100644 --- a/docs/google-docs/providers/google/logging/operations/index.md +++ b/docs/google-docs/providers/google/logging/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - logging - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview
@@ -30,11 +32,12 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the name should be a resource name ending with operations/{unique_id}. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the name should be a resource name ending with operations/{unique_id}. | | | `boolean` | If the value is false, it means the operation is still in progress. If true, the operation is completed, and either error or response is available. | | | `object` | The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC (https://github.com/grpc). Each Status message contains three pieces of data: error code, error message, and error details.You can find out more about this error model and how to work with it in the API Design Guide (https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as Delete, the response is google.protobuf.Empty. If the original method is standard Get/Create/Update, the response should be the resource. For other methods, the response should have the type XxxResponse, where Xxx is the original method name. For example, if the original method name is TakeSnapshot(), the inferred response type is TakeSnapshotResponse. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -42,17 +45,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns UNIMPLEMENTED. | | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns UNIMPLEMENTED. | +| | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns UNIMPLEMENTED. | | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns UNIMPLEMENTED. | | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns UNIMPLEMENTED. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns UNIMPLEMENTED. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns UNIMPLEMENTED. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns UNIMPLEMENTED. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns UNIMPLEMENTED. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns UNIMPLEMENTED. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns google.rpc.Code.UNIMPLEMENTED. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to Code.CANCELLED. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns google.rpc.Code.UNIMPLEMENTED. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to Code.CANCELLED. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns UNIMPLEMENTED. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns google.rpc.Code.UNIMPLEMENTED. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to Code.CANCELLED. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns google.rpc.Code.UNIMPLEMENTED. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to Code.CANCELLED. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns UNIMPLEMENTED. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.logging.operations +WHERE name = '{{ name }}'; +``` diff --git a/docs/google-docs/providers/google/logging/recent_queries/index.md b/docs/google-docs/providers/google/logging/recent_queries/index.md index 85dd5c79d2..53b18c967e 100644 --- a/docs/google-docs/providers/google/logging/recent_queries/index.md +++ b/docs/google-docs/providers/google/logging/recent_queries/index.md @@ -1,3 +1,4 @@ + --- title: recent_queries hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - recent_queries - logging - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an recent_query resource or lists recent_queries in a region ## Overview
@@ -34,14 +36,26 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The timestamp when this query was last run. | | | `object` | Describes a Cloud Logging query that can be run in Logs Explorer UI or via the logging API.In addition to the query itself, additional information may be stored to capture the display configuration and other UI state used in association with analysis of query results. | | | `object` | Describes an analytics query that can be run in the Log Analytics page of Google Cloud console.Preview: This is a preview feature and may be subject to change before final release. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `SELECT` | | -| | `SELECT` | | -| | `SELECT` | | -| | `EXEC` | | -| | `EXEC` | | -| | `EXEC` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists the RecentQueries that were created by the user making the request. | +| | `SELECT` | | Lists the RecentQueries that were created by the user making the request. | +| | `SELECT` | | Lists the RecentQueries that were created by the user making the request. | +| | `SELECT` | | Lists the RecentQueries that were created by the user making the request. | + +## `SELECT` examples + +Lists the RecentQueries that were created by the user making the request. + +```sql +SELECT +name, +lastRunTime, +loggingQuery, +opsAnalyticsQuery +FROM google.logging.recent_queries +WHERE foldersId = '{{ foldersId }}' +AND locationsId = '{{ locationsId }}'; +``` diff --git a/docs/google-docs/providers/google/logging/saved_queries/index.md b/docs/google-docs/providers/google/logging/saved_queries/index.md index c9e2b678c6..4547a94113 100644 --- a/docs/google-docs/providers/google/logging/saved_queries/index.md +++ b/docs/google-docs/providers/google/logging/saved_queries/index.md @@ -1,3 +1,4 @@ + --- title: saved_queries hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - saved_queries - logging - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an saved_query resource or lists saved_queries in a region ## Overview
@@ -38,12 +40,17 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Describes an analytics query that can be run in the Log Analytics page of Google Cloud console.Preview: This is a preview feature and may be subject to change before final release. | | | `string` | Output only. The timestamp when the saved query was last updated. | | | `string` | Required. The visibility status of this query, which determines its ownership. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Returns all data associated with the requested query. | | | `SELECT` | | Lists the SavedQueries that were created by the user making the request. | +| | `SELECT` | | Returns all data associated with the requested query. | | | `SELECT` | | Lists the SavedQueries that were created by the user making the request. | +| | `SELECT` | | Returns all data associated with the requested query. | | | `SELECT` | | Lists the SavedQueries that were created by the user making the request. | +| | `SELECT` | | Returns all data associated with the requested query. | | | `SELECT` | | Lists the SavedQueries that were created by the user making the request. | | | `INSERT` | | Creates a new SavedQuery for the user making the request. | | | `INSERT` | | Creates a new SavedQuery for the user making the request. | @@ -53,7 +60,126 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `DELETE` | | Deletes an existing SavedQuery that was created by the user making the request. | | | `DELETE` | | Deletes an existing SavedQuery that was created by the user making the request. | | | `DELETE` | | Deletes an existing SavedQuery that was created by the user making the request. | -| | `EXEC` | | Lists the SavedQueries that were created by the user making the request. | -| | `EXEC` | | Lists the SavedQueries that were created by the user making the request. | -| | `EXEC` | | Lists the SavedQueries that were created by the user making the request. | -| | `EXEC` | | Lists the SavedQueries that were created by the user making the request. | +| | `UPDATE` | | Updates an existing SavedQuery. | +| | `UPDATE` | | Updates an existing SavedQuery. | +| | `UPDATE` | | Updates an existing SavedQuery. | +| | `UPDATE` | | Updates an existing SavedQuery. | + +## `SELECT` examples + +Lists the SavedQueries that were created by the user making the request. + +```sql +SELECT +name, +description, +createTime, +displayName, +loggingQuery, +opsAnalyticsQuery, +updateTime, +visibility +FROM google.logging.saved_queries +WHERE foldersId = '{{ foldersId }}' +AND locationsId = '{{ locationsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new saved_queries resource. + + + + +```sql +/*+ create */ +INSERT INTO google.logging.saved_queries ( +foldersId, +locationsId, +name, +displayName, +description, +loggingQuery, +opsAnalyticsQuery, +createTime, +updateTime, +visibility +) +SELECT +'{{ foldersId }}', +'{{ locationsId }}', +'{{ name }}', +'{{ displayName }}', +'{{ description }}', +'{{ loggingQuery }}', +'{{ opsAnalyticsQuery }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ visibility }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: description + value: '{{ description }}' + - name: loggingQuery + value: '{{ loggingQuery }}' + - name: opsAnalyticsQuery + value: '{{ opsAnalyticsQuery }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: visibility + value: '{{ visibility }}' + +``` + + + +## `UPDATE` example + +Updates a saved_query only if the necessary resources are available. + +```sql +UPDATE google.logging.saved_queries +SET +name = '{{ name }}', +displayName = '{{ displayName }}', +description = '{{ description }}', +loggingQuery = '{{ loggingQuery }}', +opsAnalyticsQuery = '{{ opsAnalyticsQuery }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +visibility = '{{ visibility }}' +WHERE +foldersId = '{{ foldersId }}' +AND locationsId = '{{ locationsId }}' +AND savedQueriesId = '{{ savedQueriesId }}'; +``` + +## `DELETE` example + +Deletes the specified saved_query resource. + +```sql +DELETE FROM google.logging.saved_queries +WHERE foldersId = '{{ foldersId }}' +AND locationsId = '{{ locationsId }}' +AND savedQueriesId = '{{ savedQueriesId }}'; +``` diff --git a/docs/google-docs/providers/google/logging/settings/index.md b/docs/google-docs/providers/google/logging/settings/index.md index eb99290bfa..ddec70e8c2 100644 --- a/docs/google-docs/providers/google/logging/settings/index.md +++ b/docs/google-docs/providers/google/logging/settings/index.md @@ -1,3 +1,4 @@ + --- title: settings hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - settings - logging - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an setting resource or lists settings in a region ## Overview
@@ -37,11 +39,47 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The service account that will be used by the Log Router to access your Cloud KMS key.Before enabling CMEK, you must first assign the role roles/cloudkms.cryptoKeyEncrypterDecrypter to the service account that will be used to access your Cloud KMS key. Use GetSettings to obtain the service account ID.See Enabling CMEK for Log Router (https://cloud.google.com/logging/docs/routing/managed-encryption) for more information. | | | `string` | Output only. The service account for the given resource container, such as project or folder. Log sinks use this service account as their writer_identity if no custom service account is provided in the request when calling the create sink method. | | | `string` | Optional. The storage location for the _Default and _Required log buckets of newly created projects and folders, unless the storage location is explicitly provided.Example value: europe-west1.Note: this setting does not affect the location of resources where a location is explicitly provided when created, such as custom log buckets. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the settings for the given resource.Note: Settings can be retrieved for Google Cloud projects, folders, organizations, and billing accounts.See View default resource settings for Logging (https://cloud.google.com/logging/docs/default-settings#view-org-settings) for more information. | | | `SELECT` | | Gets the settings for the given resource.Note: Settings can be retrieved for Google Cloud projects, folders, organizations, and billing accounts.See View default resource settings for Logging (https://cloud.google.com/logging/docs/default-settings#view-org-settings) for more information. | | | `SELECT` | | Gets the settings for the given resource.Note: Settings can be retrieved for Google Cloud projects, folders, organizations, and billing accounts.See View default resource settings for Logging (https://cloud.google.com/logging/docs/default-settings#view-org-settings) for more information. | -| | `EXEC` | | Updates the settings for the given resource. This method applies to all feature configurations for organization and folders.UpdateSettings fails when any of the following are true: The value of storage_location either isn't supported by Logging or violates the location OrgPolicy. The default_sink_config field is set, but it has an unspecified filter write mode. The value of kms_key_name is invalid. The associated service account doesn't have the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key. Access to the key is disabled.See Configure default settings for organizations and folders (https://cloud.google.com/logging/docs/default-settings) for more information. | -| | `EXEC` | | Updates the settings for the given resource. This method applies to all feature configurations for organization and folders.UpdateSettings fails when any of the following are true: The value of storage_location either isn't supported by Logging or violates the location OrgPolicy. The default_sink_config field is set, but it has an unspecified filter write mode. The value of kms_key_name is invalid. The associated service account doesn't have the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key. Access to the key is disabled.See Configure default settings for organizations and folders (https://cloud.google.com/logging/docs/default-settings) for more information. | +| | `UPDATE` | | Updates the settings for the given resource. This method applies to all feature configurations for organization and folders.UpdateSettings fails when any of the following are true: The value of storage_location either isn't supported by Logging or violates the location OrgPolicy. The default_sink_config field is set, but it has an unspecified filter write mode. The value of kms_key_name is invalid. The associated service account doesn't have the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key. Access to the key is disabled.See Configure default settings for organizations and folders (https://cloud.google.com/logging/docs/default-settings) for more information. | +| | `UPDATE` | | Updates the settings for the given resource. This method applies to all feature configurations for organization and folders.UpdateSettings fails when any of the following are true: The value of storage_location either isn't supported by Logging or violates the location OrgPolicy. The default_sink_config field is set, but it has an unspecified filter write mode. The value of kms_key_name is invalid. The associated service account doesn't have the required roles/cloudkms.cryptoKeyEncrypterDecrypter role assigned for the key. Access to the key is disabled.See Configure default settings for organizations and folders (https://cloud.google.com/logging/docs/default-settings) for more information. | + +## `SELECT` examples + +Gets the settings for the given resource.Note: Settings can be retrieved for Google Cloud projects, folders, organizations, and billing accounts.See View default resource settings for Logging (https://cloud.google.com/logging/docs/default-settings#view-org-settings) for more information. + +```sql +SELECT +name, +defaultSinkConfig, +disableDefaultSink, +kmsKeyName, +kmsServiceAccountId, +loggingServiceAccountId, +storageLocation +FROM google.logging.settings +WHERE foldersId = '{{ foldersId }}'; +``` + +## `UPDATE` example + +Updates a setting only if the necessary resources are available. + +```sql +UPDATE google.logging.settings +SET +name = '{{ name }}', +kmsKeyName = '{{ kmsKeyName }}', +kmsServiceAccountId = '{{ kmsServiceAccountId }}', +storageLocation = '{{ storageLocation }}', +disableDefaultSink = true|false, +defaultSinkConfig = '{{ defaultSinkConfig }}', +loggingServiceAccountId = '{{ loggingServiceAccountId }}' +WHERE +foldersId = '{{ foldersId }}'; +``` diff --git a/docs/google-docs/providers/google/logging/sinks/index.md b/docs/google-docs/providers/google/logging/sinks/index.md index 6bb110c1db..92c8d98a39 100644 --- a/docs/google-docs/providers/google/logging/sinks/index.md +++ b/docs/google-docs/providers/google/logging/sinks/index.md @@ -1,3 +1,4 @@ + --- title: sinks hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - sinks - logging - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an sink resource or lists sinks in a region ## Overview
@@ -37,13 +39,14 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Required. The export destination: "storage.googleapis.com/[GCS_BUCKET]" "bigquery.googleapis.com/projects/[PROJECT_ID]/datasets/[DATASET]" "pubsub.googleapis.com/projects/[PROJECT_ID]/topics/[TOPIC_ID]" "logging.googleapis.com/projects/[PROJECT_ID]" "logging.googleapis.com/projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" The sink's writer_identity, set when the sink is created, must have permission to write to the destination or else the log entries are not exported. For more information, see Exporting Logs with Sinks (https://cloud.google.com/logging/docs/api/tasks/exporting-logs). | | | `boolean` | Optional. If set to true, then this sink is disabled and it does not export any log entries. | | | `array` | Optional. Log entries that match any of these exclusion filters will not be exported.If a log entry is matched by both filter and one of exclusion_filters it will not be exported. | -| | `string` | Optional. An advanced logs filter (https://cloud.google.com/logging/docs/view/advanced-queries). The only exported log entries are those that are in the resource owning the sink and that match the filter.For example:logName="projects/[PROJECT_ID]/logs/[LOG_ID]" AND severity>=ERROR | +| | `string` | Optional. An advanced logs filter (https://cloud.google.com/logging/docs/view/advanced-queries). The only exported log entries are those that are in the resource owning the sink and that match the filter.For example:logName="projects/[PROJECT_ID]/logs/[LOG_ID]" AND severity>=ERROR | | | `boolean` | Optional. This field applies only to sinks owned by organizations and folders. If the field is false, the default, only the logs owned by the sink's parent resource are available for export. If the field is true, then log entries from all the projects, folders, and billing accounts contained in the sink's parent resource are also available for export. Whether a particular log entry from the children is exported depends on the sink's filter expression.For example, if this field is true, then the filter resource.type=gce_instance would export all Compute Engine VM instance log entries from all projects in the sink's parent.To only export entries from certain child projects, filter on the project part of the log name:logName:("projects/test-project1/" OR "projects/test-project2/") AND resource.type=gce_instance | | | `boolean` | Optional. This field applies only to sinks owned by organizations and folders.When the value of 'intercept_children' is true, the following restrictions apply: The sink must have the include_children flag set to true. The sink destination must be a Cloud project.Also, the following behaviors apply: Any logs matched by the sink won't be included by non-_Required sinks owned by child resources. The sink appears in the results of a ListSinks call from a child resource if the value of the filter field in its request is either 'in_scope("ALL")' or 'in_scope("ANCESTOR")'. | | | `string` | Deprecated. This field is unused. | | | `string` | Output only. The resource name of the sink. "projects/[PROJECT_ID]/sinks/[SINK_NAME] "organizations/[ORGANIZATION_ID]/sinks/[SINK_NAME] "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_NAME] "folders/[FOLDER_ID]/sinks/[SINK_NAME] For example: projects/my_project/sinks/SINK_NAME | | | `string` | Output only. The last update timestamp of the sink.This field may not be present for older sinks. | | | `string` | Output only. An IAM identity—a service account or group—under which Cloud Logging writes the exported log entries to the sink's destination. This field is either set by specifying custom_writer_identity or set automatically by sinks.create and sinks.update based on the value of unique_writer_identity in those methods.Until you grant this identity write-access to the destination, log entry exports from this sink will fail. For more information, see Granting Access for a Resource (https://cloud.google.com/iam/docs/granting-roles-to-service-accounts#granting_access_to_a_service_account_for_a_resource). Consult the destination service's documentation to determine the appropriate IAM roles to assign to the identity.Sinks that have a destination that is a log bucket in the same project as the sink cannot have a writer_identity and no additional permissions are required. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -68,16 +71,160 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `DELETE` | | Deletes a sink. If the sink has a unique writer_identity, then that service account is also deleted. | | | `DELETE` | | Deletes a sink. If the sink has a unique writer_identity, then that service account is also deleted. | | | `UPDATE` | | Updates a sink. This method replaces the values of the destination and filter fields of the existing sink with the corresponding values from the new sink.The updated sink might also have a new writer_identity; see the unique_writer_identity field. | -| | `UPDATE` | | Updates a sink. This method replaces the values of the destination and filter fields of the existing sink with the corresponding values from the new sink.The updated sink might also have a new writer_identity; see the unique_writer_identity field. | | | `UPDATE` | | Updates a sink. This method replaces the values of the destination and filter fields of the existing sink with the corresponding values from the new sink.The updated sink might also have a new writer_identity; see the unique_writer_identity field. | -| | `UPDATE` | | Updates a sink. This method replaces the values of the destination and filter fields of the existing sink with the corresponding values from the new sink.The updated sink might also have a new writer_identity; see the unique_writer_identity field. | | | `UPDATE` | | Updates a sink. This method replaces the values of the destination and filter fields of the existing sink with the corresponding values from the new sink.The updated sink might also have a new writer_identity; see the unique_writer_identity field. | -| | `UPDATE` | | Updates a sink. This method replaces the values of the destination and filter fields of the existing sink with the corresponding values from the new sink.The updated sink might also have a new writer_identity; see the unique_writer_identity field. | | | `UPDATE` | | Updates a sink. This method replaces the values of the destination and filter fields of the existing sink with the corresponding values from the new sink.The updated sink might also have a new writer_identity; see the unique_writer_identity field. | -| | `UPDATE` | | Updates a sink. This method replaces the values of the destination and filter fields of the existing sink with the corresponding values from the new sink.The updated sink might also have a new writer_identity; see the unique_writer_identity field. | -| | `UPDATE` | | Updates a sink. This method replaces the values of the destination and filter fields of the existing sink with the corresponding values from the new sink.The updated sink might also have a new writer_identity; see the unique_writer_identity field. | -| | `EXEC` | | Lists sinks. | -| | `EXEC` | | Lists sinks. | -| | `EXEC` | | Lists sinks. | -| | `EXEC` | | Lists sinks. | -| | `EXEC` | | Lists sinks. | +| | `EXEC` | | Updates a sink. This method replaces the values of the destination and filter fields of the existing sink with the corresponding values from the new sink.The updated sink might also have a new writer_identity; see the unique_writer_identity field. | +| | `EXEC` | | Updates a sink. This method replaces the values of the destination and filter fields of the existing sink with the corresponding values from the new sink.The updated sink might also have a new writer_identity; see the unique_writer_identity field. | +| | `EXEC` | | Updates a sink. This method replaces the values of the destination and filter fields of the existing sink with the corresponding values from the new sink.The updated sink might also have a new writer_identity; see the unique_writer_identity field. | +| | `EXEC` | | Updates a sink. This method replaces the values of the destination and filter fields of the existing sink with the corresponding values from the new sink.The updated sink might also have a new writer_identity; see the unique_writer_identity field. | +| | `EXEC` | | Updates a sink. This method replaces the values of the destination and filter fields of the existing sink with the corresponding values from the new sink.The updated sink might also have a new writer_identity; see the unique_writer_identity field. | + +## `SELECT` examples + +Gets a sink. + +```sql +SELECT +name, +description, +bigqueryOptions, +createTime, +destination, +disabled, +exclusions, +filter, +includeChildren, +interceptChildren, +outputVersionFormat, +resourceName, +updateTime, +writerIdentity +FROM google.logging.sinks +WHERE sinkName = '{{ sinkName }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new sinks resource. + + + + +```sql +/*+ create */ +INSERT INTO google.logging.sinks ( +foldersId, +name, +resourceName, +destination, +filter, +description, +disabled, +exclusions, +outputVersionFormat, +writerIdentity, +includeChildren, +interceptChildren, +bigqueryOptions, +createTime, +updateTime +) +SELECT +'{{ foldersId }}', +'{{ name }}', +'{{ resourceName }}', +'{{ destination }}', +'{{ filter }}', +'{{ description }}', +true|false, +'{{ exclusions }}', +'{{ outputVersionFormat }}', +'{{ writerIdentity }}', +true|false, +true|false, +'{{ bigqueryOptions }}', +'{{ createTime }}', +'{{ updateTime }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: resourceName + value: '{{ resourceName }}' + - name: destination + value: '{{ destination }}' + - name: filter + value: '{{ filter }}' + - name: description + value: '{{ description }}' + - name: disabled + value: '{{ disabled }}' + - name: exclusions + value: '{{ exclusions }}' + - name: outputVersionFormat + value: '{{ outputVersionFormat }}' + - name: writerIdentity + value: '{{ writerIdentity }}' + - name: includeChildren + value: '{{ includeChildren }}' + - name: interceptChildren + value: '{{ interceptChildren }}' + - name: bigqueryOptions + value: '{{ bigqueryOptions }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + +``` + + + +## `UPDATE` example + +Updates a sink only if the necessary resources are available. + +```sql +UPDATE google.logging.sinks +SET +name = '{{ name }}', +resourceName = '{{ resourceName }}', +destination = '{{ destination }}', +filter = '{{ filter }}', +description = '{{ description }}', +disabled = true|false, +exclusions = '{{ exclusions }}', +outputVersionFormat = '{{ outputVersionFormat }}', +writerIdentity = '{{ writerIdentity }}', +includeChildren = true|false, +interceptChildren = true|false, +bigqueryOptions = '{{ bigqueryOptions }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}' +WHERE +foldersId = '{{ foldersId }}' +AND sinksId = '{{ sinksId }}'; +``` + +## `DELETE` example + +Deletes the specified sink resource. + +```sql +DELETE FROM google.logging.sinks +WHERE sinkName = '{{ sinkName }}'; +``` diff --git a/docs/google-docs/providers/google/logging/views/index.md b/docs/google-docs/providers/google/logging/views/index.md index a3104e1e7e..1ae4a903fb 100644 --- a/docs/google-docs/providers/google/logging/views/index.md +++ b/docs/google-docs/providers/google/logging/views/index.md @@ -1,3 +1,4 @@ + --- title: views hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - views - logging - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an view resource or lists views in a region ## Overview
@@ -35,6 +37,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The creation timestamp of the view. | | | `string` | Optional. Filter that restricts which log entries in a bucket are visible in this view.Filters must be logical conjunctions that use the AND operator, and they can use any of the following qualifiers: SOURCE(), which specifies a project, folder, organization, or billing account of origin. resource.type, which specifies the resource type. LOG_ID(), which identifies the log.They can also use the negations of these qualifiers with the NOT operator.For example:SOURCE("projects/myproject") AND resource.type = "gce_instance" AND NOT LOG_ID("stdout") | | | `string` | Output only. The last update timestamp of the view. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -60,8 +63,106 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `UPDATE` | | Updates a view on a log bucket. This method replaces the value of the filter field from the existing view with the corresponding value from the new view. If an UNAVAILABLE error is returned, this indicates that system is not in a state where it can update the view. If this occurs, please try again in a few minutes. | | | `UPDATE` | | Updates a view on a log bucket. This method replaces the value of the filter field from the existing view with the corresponding value from the new view. If an UNAVAILABLE error is returned, this indicates that system is not in a state where it can update the view. If this occurs, please try again in a few minutes. | | | `UPDATE` | | Updates a view on a log bucket. This method replaces the value of the filter field from the existing view with the corresponding value from the new view. If an UNAVAILABLE error is returned, this indicates that system is not in a state where it can update the view. If this occurs, please try again in a few minutes. | -| | `EXEC` | | Lists views on a log bucket. | -| | `EXEC` | | Lists views on a log bucket. | -| | `EXEC` | | Lists views on a log bucket. | -| | `EXEC` | | Lists views on a log bucket. | -| | `EXEC` | | Lists views on a log bucket. | + +## `SELECT` examples + +Lists views on a log bucket. + +```sql +SELECT +name, +description, +createTime, +filter, +updateTime +FROM google.logging.views +WHERE parent = '{{ parent }}' +AND parentType = '{{ parentType }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new views resource. + + + + +```sql +/*+ create */ +INSERT INTO google.logging.views ( +parent, +parentType, +name, +description, +createTime, +updateTime, +filter +) +SELECT +'{{ parent }}', +'{{ parentType }}', +'{{ name }}', +'{{ description }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ filter }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: filter + value: '{{ filter }}' + +``` + + + +## `UPDATE` example + +Updates a view only if the necessary resources are available. + +```sql +UPDATE google.logging.views +SET +name = '{{ name }}', +description = '{{ description }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +filter = '{{ filter }}' +WHERE +bucketsId = '{{ bucketsId }}' +AND foldersId = '{{ foldersId }}' +AND locationsId = '{{ locationsId }}' +AND viewsId = '{{ viewsId }}'; +``` + +## `DELETE` example + +Deletes the specified view resource. + +```sql +DELETE FROM google.logging.views +WHERE bucketsId = '{{ bucketsId }}' +AND foldersId = '{{ foldersId }}' +AND locationsId = '{{ locationsId }}' +AND viewsId = '{{ viewsId }}'; +``` diff --git a/docs/google-docs/providers/google/logging/views_iam_policies/index.md b/docs/google-docs/providers/google/logging/views_iam_policies/index.md index a2b15cb2ec..cce999efb3 100644 --- a/docs/google-docs/providers/google/logging/views_iam_policies/index.md +++ b/docs/google-docs/providers/google/logging/views_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: views_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - views_iam_policies - logging - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an views_iam_policy resource or lists views_iam_policies in a region ## Overview
@@ -30,18 +32,16 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. members can have the following values: allUsers: A special identifier that represents anyone who is on the internet; with or without a Google account. allAuthenticatedUsers: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. user:{emailid}: An email address that represents a specific Google account. For example, alice@example.com . serviceAccount:{emailid}: An email address that represents a Google service account. For example, my-other-app@appspot.gserviceaccount.com. serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]: An identifier for a Kubernetes service account (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, my-project.svc.id.goog[my-namespace/my-kubernetes-sa]. group:{emailid}: An email address that represents a Google group. For example, admins@example.com. domain:{domain}: The G Suite domain (primary) that represents all the users of that domain. For example, google.com or example.com. principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workforce identity pool. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}: All workforce identities in a group. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All workforce identities with a specific attribute value. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*: All identities in a workforce identity pool. principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workload identity pool. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}: A workload identity pool group. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All identities in a workload identity pool with a certain attribute. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*: All identities in a workload identity pool. deleted:user:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a user that has been recently deleted. For example, alice@example.com?uid=123456789012345678901. If the user is recovered, this value reverts to user:{emailid} and the recovered user retains the role in the binding. deleted:serviceAccount:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. If the service account is undeleted, this value reverts to serviceAccount:{emailid} and the undeleted service account retains the role in the binding. deleted:group:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, admins@example.com?uid=123456789012345678901. If the group is recovered, this value reverts to group:{emailid} and the recovered group retains the role in the binding. deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: Deleted single identity in a workforce identity pool. For example, deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. members can have the following values: allUsers: A special identifier that represents anyone who is on the internet; with or without a Google account. allAuthenticatedUsers: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. user:{emailid}: An email address that represents a specific Google account. For example, alice@example.com . serviceAccount:{emailid}: An email address that represents a Google service account. For example, my-other-app@appspot.gserviceaccount.com. serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]: An identifier for a Kubernetes service account (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, my-project.svc.id.goog[my-namespace/my-kubernetes-sa]. group:{emailid}: An email address that represents a Google group. For example, admins@example.com. domain:{domain}: The G Suite domain (primary) that represents all the users of that domain. For example, google.com or example.com. principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workforce identity pool. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}: All workforce identities in a group. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All workforce identities with a specific attribute value. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*: All identities in a workforce identity pool. principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workload identity pool. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}: A workload identity pool group. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All identities in a workload identity pool with a certain attribute. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*: All identities in a workload identity pool. deleted:user:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a user that has been recently deleted. For example, alice@example.com?uid=123456789012345678901. If the user is recovered, this value reverts to user:{emailid} and the recovered user retains the role in the binding. deleted:serviceAccount:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. If the service account is undeleted, this value reverts to serviceAccount:{emailid} and the undeleted service account retains the role in the binding. deleted:group:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, admins@example.com?uid=123456789012345678901. If the group is recovered, this value reverts to group:{emailid} and the recovered group retains the role in the binding. deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: Deleted single identity in a workforce identity pool. For example, deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value. | | | `string` | Role that is assigned to the list of members, or principals. For example, roles/viewer, roles/editor, or roles/owner.For an overview of the IAM roles and permissions, see the IAM documentation (https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see here (https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | @@ -49,3 +49,19 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.logging.views_iam_policies +WHERE bucketsId = '{{ bucketsId }}' +AND foldersId = '{{ foldersId }}' +AND locationsId = '{{ locationsId }}' +AND viewsId = '{{ viewsId }}'; +``` diff --git a/docs/google-docs/providers/google/looker/backups_iam_policies/index.md b/docs/google-docs/providers/google/looker/backups_iam_policies/index.md index d205ab6475..8abc8158f4 100644 --- a/docs/google-docs/providers/google/looker/backups_iam_policies/index.md +++ b/docs/google-docs/providers/google/looker/backups_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: backups_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - backups_iam_policies - looker - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an backups_iam_policy resource or lists backups_iam_policies in a region ## Overview
@@ -30,13 +32,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.looker.backups_iam_policies +WHERE backupsId = '{{ backupsId }}' +AND instancesId = '{{ instancesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/looker/index.md b/docs/google-docs/providers/google/looker/index.md index 1b7ec51e93..f95b407817 100644 --- a/docs/google-docs/providers/google/looker/index.md +++ b/docs/google-docs/providers/google/looker/index.md @@ -9,43 +9,32 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- - - +The looker service documentation. + :::info Service Summary
total resources: 5
-total selectable resources: 5
-total methods: 25
::: -## Overview -
- - - - - -
Namegoogle.looker
TypeService
TitleLooker (Google Cloud core) API
Description
Idlooker:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/looker/instances/index.md b/docs/google-docs/providers/google/looker/instances/index.md index 0ee2187abb..e15c477ce9 100644 --- a/docs/google-docs/providers/google/looker/instances/index.md +++ b/docs/google-docs/providers/google/looker/instances/index.md @@ -1,3 +1,4 @@ + --- title: instances hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - instances - looker - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an instance resource or lists instances in a region ## Overview @@ -30,9 +32,9 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. Format: `projects/{project}/locations/{location}/instances/{instance}`. | +| | `string` | Output only. Format: `projects/{project}/locations/{location}/instances/{instance}`. | | | `object` | Looker instance Admin settings fields. | -| | `string` | Network name in the consumer project. Format: `projects/{project}/global/networks/{network}`. Note that the consumer network may be in a different GCP project than the consumer project that is hosting the Looker Instance. | +| | `string` | Network name in the consumer project. Format: `projects/{project}/global/networks/{network}`. Note that the consumer network may be in a different GCP project than the consumer project that is hosting the Looker Instance. | | | `string` | Output only. The time when the Looker instance provisioning was first requested. | | | `object` | Custom domain information. | | | `object` | Specifies the maintenance denial period. | @@ -49,11 +51,14 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Looker instance OAuth login settings. | | | `string` | Platform edition. | | | `boolean` | Whether private IP is enabled on the Looker instance. | +| | `object` | Information for Private Service Connect (PSC) setup for a Looker instance. | +| | `boolean` | Optional. Whether to use Private Service Connect (PSC) for private IP connectivity. If true, neither `public_ip_enabled` nor `private_ip_enabled` can be true. | | | `boolean` | Whether public IP is enabled on the Looker instance. | | | `string` | Name of a reserved IP address range within the Instance.consumer_network, to be used for private services access connection. May or may not be specified in a create request. | | | `string` | Output only. The state of the instance. | | | `string` | Output only. The time when the Looker instance was last updated. | | | `object` | Metadata about users for a Looker instance. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -62,7 +67,233 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new Instance in a given project and location. | | | `DELETE` | | Delete instance. | | | `UPDATE` | | Update Instance. | -| | `EXEC` | | Lists Instances in a given project and location. | | | `EXEC` | | Export instance. | | | `EXEC` | | Import instance. | | | `EXEC` | | Restart instance. | + +## `SELECT` examples + +Lists Instances in a given project and location. + +```sql +SELECT +name, +adminSettings, +consumerNetwork, +createTime, +customDomain, +denyMaintenancePeriod, +egressPublicIp, +encryptionConfig, +ingressPrivateIp, +ingressPublicIp, +lastDenyMaintenancePeriod, +linkedLspProjectNumber, +lookerUri, +lookerVersion, +maintenanceSchedule, +maintenanceWindow, +oauthConfig, +platformEdition, +privateIpEnabled, +pscConfig, +pscEnabled, +publicIpEnabled, +reservedRange, +state, +updateTime, +userMetadata +FROM google.looker.instances +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new instances resource. + + + + +```sql +/*+ create */ +INSERT INTO google.looker.instances ( +locationsId, +projectsId, +name, +createTime, +updateTime, +state, +platformEdition, +publicIpEnabled, +privateIpEnabled, +lookerVersion, +egressPublicIp, +ingressPrivateIp, +ingressPublicIp, +lookerUri, +pscEnabled, +pscConfig, +consumerNetwork, +reservedRange, +maintenanceWindow, +denyMaintenancePeriod, +lastDenyMaintenancePeriod, +maintenanceSchedule, +userMetadata, +customDomain, +encryptionConfig, +adminSettings, +oauthConfig, +linkedLspProjectNumber +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ state }}', +'{{ platformEdition }}', +true|false, +true|false, +'{{ lookerVersion }}', +'{{ egressPublicIp }}', +'{{ ingressPrivateIp }}', +'{{ ingressPublicIp }}', +'{{ lookerUri }}', +true|false, +'{{ pscConfig }}', +'{{ consumerNetwork }}', +'{{ reservedRange }}', +'{{ maintenanceWindow }}', +'{{ denyMaintenancePeriod }}', +'{{ lastDenyMaintenancePeriod }}', +'{{ maintenanceSchedule }}', +'{{ userMetadata }}', +'{{ customDomain }}', +'{{ encryptionConfig }}', +'{{ adminSettings }}', +'{{ oauthConfig }}', +'{{ linkedLspProjectNumber }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: state + value: '{{ state }}' + - name: platformEdition + value: '{{ platformEdition }}' + - name: publicIpEnabled + value: '{{ publicIpEnabled }}' + - name: privateIpEnabled + value: '{{ privateIpEnabled }}' + - name: lookerVersion + value: '{{ lookerVersion }}' + - name: egressPublicIp + value: '{{ egressPublicIp }}' + - name: ingressPrivateIp + value: '{{ ingressPrivateIp }}' + - name: ingressPublicIp + value: '{{ ingressPublicIp }}' + - name: lookerUri + value: '{{ lookerUri }}' + - name: pscEnabled + value: '{{ pscEnabled }}' + - name: pscConfig + value: '{{ pscConfig }}' + - name: consumerNetwork + value: '{{ consumerNetwork }}' + - name: reservedRange + value: '{{ reservedRange }}' + - name: maintenanceWindow + value: '{{ maintenanceWindow }}' + - name: denyMaintenancePeriod + value: '{{ denyMaintenancePeriod }}' + - name: lastDenyMaintenancePeriod + value: '{{ lastDenyMaintenancePeriod }}' + - name: maintenanceSchedule + value: '{{ maintenanceSchedule }}' + - name: userMetadata + value: '{{ userMetadata }}' + - name: customDomain + value: '{{ customDomain }}' + - name: encryptionConfig + value: '{{ encryptionConfig }}' + - name: adminSettings + value: '{{ adminSettings }}' + - name: oauthConfig + value: '{{ oauthConfig }}' + - name: linkedLspProjectNumber + value: '{{ linkedLspProjectNumber }}' + +``` + + + +## `UPDATE` example + +Updates a instance only if the necessary resources are available. + +```sql +UPDATE google.looker.instances +SET +name = '{{ name }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +state = '{{ state }}', +platformEdition = '{{ platformEdition }}', +publicIpEnabled = true|false, +privateIpEnabled = true|false, +lookerVersion = '{{ lookerVersion }}', +egressPublicIp = '{{ egressPublicIp }}', +ingressPrivateIp = '{{ ingressPrivateIp }}', +ingressPublicIp = '{{ ingressPublicIp }}', +lookerUri = '{{ lookerUri }}', +pscEnabled = true|false, +pscConfig = '{{ pscConfig }}', +consumerNetwork = '{{ consumerNetwork }}', +reservedRange = '{{ reservedRange }}', +maintenanceWindow = '{{ maintenanceWindow }}', +denyMaintenancePeriod = '{{ denyMaintenancePeriod }}', +lastDenyMaintenancePeriod = '{{ lastDenyMaintenancePeriod }}', +maintenanceSchedule = '{{ maintenanceSchedule }}', +userMetadata = '{{ userMetadata }}', +customDomain = '{{ customDomain }}', +encryptionConfig = '{{ encryptionConfig }}', +adminSettings = '{{ adminSettings }}', +oauthConfig = '{{ oauthConfig }}', +linkedLspProjectNumber = '{{ linkedLspProjectNumber }}' +WHERE +instancesId = '{{ instancesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified instance resource. + +```sql +DELETE FROM google.looker.instances +WHERE instancesId = '{{ instancesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/looker/instances_iam_policies/index.md b/docs/google-docs/providers/google/looker/instances_iam_policies/index.md index 2985f4a890..2a2a3e2cff 100644 --- a/docs/google-docs/providers/google/looker/instances_iam_policies/index.md +++ b/docs/google-docs/providers/google/looker/instances_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: instances_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - instances_iam_policies - looker - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an instances_iam_policy resource or lists instances_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.looker.instances_iam_policies +WHERE instancesId = '{{ instancesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/looker/locations/index.md b/docs/google-docs/providers/google/looker/locations/index.md index b84d90abac..0e480aedc4 100644 --- a/docs/google-docs/providers/google/looker/locations/index.md +++ b/docs/google-docs/providers/google/looker/locations/index.md @@ -1,3 +1,4 @@ + --- title: locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - locations - looker - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an location resource or lists locations in a region ## Overview
@@ -32,12 +34,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` | | | `string` | The friendly name for this location, typically a nearby city name. For example, "Tokyo". | -| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | +| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | | | `string` | The canonical id for this location. For example: `"us-east1"`. | | | `object` | Service-specific metadata. For example the available capacity at the given location. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about a location. | | | `SELECT` | | Lists information about the supported locations for this service. | -| | `EXEC` | | Lists information about the supported locations for this service. | + +## `SELECT` examples + +Lists information about the supported locations for this service. + +```sql +SELECT +name, +displayName, +labels, +locationId, +metadata +FROM google.looker.locations +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/looker/operations/index.md b/docs/google-docs/providers/google/looker/operations/index.md index 700b08a899..e70da2491b 100644 --- a/docs/google-docs/providers/google/looker/operations/index.md +++ b/docs/google-docs/providers/google/looker/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - looker - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview
@@ -30,16 +32,43 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.looker.operations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified operation resource. + +```sql +DELETE FROM google.looker.operations +WHERE locationsId = '{{ locationsId }}' +AND operationsId = '{{ operationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/managedidentities/backups/index.md b/docs/google-docs/providers/google/managedidentities/backups/index.md index 1cff6aec36..6b93f61ec7 100644 --- a/docs/google-docs/providers/google/managedidentities/backups/index.md +++ b/docs/google-docs/providers/google/managedidentities/backups/index.md @@ -1,3 +1,4 @@ + --- title: backups hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - backups - managedidentities - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an backup resource or lists backups in a region ## Overview
@@ -30,13 +32,14 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. The unique name of the Backup in the form of `projects/{project_id}/locations/global/domains/{domain_name}/backups/{name}` | +| | `string` | Output only. The unique name of the Backup in the form of `projects/{project_id}/locations/global/domains/{domain_name}/backups/{name}` | | | `string` | Output only. The time the backups was created. | | | `object` | Optional. Resource labels to represent user provided metadata. | | | `string` | Output only. The current state of the backup. | | | `string` | Output only. Additional information about the current status of this backup, if available. | | | `string` | Output only. Indicates whether it’s an on-demand backup or scheduled. | | | `string` | Output only. Last update time. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -45,4 +48,116 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a Backup for a domain. | | | `DELETE` | | Deletes identified Backup. | | | `UPDATE` | | Updates the labels for specified Backup. | -| | `EXEC` | | Lists Backup in a given project. | + +## `SELECT` examples + +Lists Backup in a given project. + +```sql +SELECT +name, +createTime, +labels, +state, +statusMessage, +type, +updateTime +FROM google.managedidentities.backups +WHERE domainsId = '{{ domainsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new backups resource. + + + + +```sql +/*+ create */ +INSERT INTO google.managedidentities.backups ( +domainsId, +projectsId, +name, +labels, +createTime, +updateTime, +type, +state, +statusMessage +) +SELECT +'{{ domainsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ labels }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ type }}', +'{{ state }}', +'{{ statusMessage }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: labels + value: '{{ labels }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: type + value: '{{ type }}' + - name: state + value: '{{ state }}' + - name: statusMessage + value: '{{ statusMessage }}' + +``` + + + +## `UPDATE` example + +Updates a backup only if the necessary resources are available. + +```sql +UPDATE google.managedidentities.backups +SET +name = '{{ name }}', +labels = '{{ labels }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +type = '{{ type }}', +state = '{{ state }}', +statusMessage = '{{ statusMessage }}' +WHERE +backupsId = '{{ backupsId }}' +AND domainsId = '{{ domainsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified backup resource. + +```sql +DELETE FROM google.managedidentities.backups +WHERE backupsId = '{{ backupsId }}' +AND domainsId = '{{ domainsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/managedidentities/backups_iam_policies/index.md b/docs/google-docs/providers/google/managedidentities/backups_iam_policies/index.md index f348a7c88e..f41e52f832 100644 --- a/docs/google-docs/providers/google/managedidentities/backups_iam_policies/index.md +++ b/docs/google-docs/providers/google/managedidentities/backups_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: backups_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - backups_iam_policies - managedidentities - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an backups_iam_policy resource or lists backups_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | -| | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.managedidentities.backups_iam_policies +WHERE backupsId = '{{ backupsId }}' +AND domainsId = '{{ domainsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/managedidentities/domains/index.md b/docs/google-docs/providers/google/managedidentities/domains/index.md index 79526cfede..1b44ec9d7e 100644 --- a/docs/google-docs/providers/google/managedidentities/domains/index.md +++ b/docs/google-docs/providers/google/managedidentities/domains/index.md @@ -1,3 +1,4 @@ + --- title: domains hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - domains - managedidentities - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an domain resource or lists domains in a region ## Overview
@@ -30,19 +32,20 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Required. The unique name of the domain using the form: `projects/{project_id}/locations/global/domains/{domain_name}`. | +| | `string` | Required. The unique name of the domain using the form: `projects/{project_id}/locations/global/domains/{domain_name}`. | | | `string` | Optional. The name of delegated administrator account used to perform Active Directory operations. If not specified, `setupadmin` will be used. | | | `boolean` | Optional. Configuration for audit logs. True if audit logs are enabled, else false. Default is audit logs disabled. | | | `array` | Optional. The full names of the Google Compute Engine [networks](/compute/docs/networks-and-firewalls#networks) the domain instance is connected to. Networks can be added using UpdateDomain. The domain is only available on networks listed in `authorized_networks`. If CIDR subnets overlap between networks, domain creation will fail. | | | `string` | Output only. The time the instance was created. | | | `string` | Output only. The fully-qualified domain name of the exposed domain used by clients to connect to the service. Similar to what would be chosen for an Active Directory set up on an internal network. | | | `object` | Optional. Resource labels that can contain user-provided metadata. | -| | `array` | Required. Locations where domain needs to be provisioned. regions e.g. us-west1 or us-east4 Service supports up to 4 locations at once. Each location will use a /26 block. | +| | `array` | Required. Locations where domain needs to be provisioned. The locations can be specified according to https://cloud.google.com/compute/docs/regions-zones, such as `us-west1` or `us-east4`. Each domain supports up to 4 locations, separated by commas. Each location will use a /26 block. | | | `string` | Required. The CIDR range of internal addresses that are reserved for this domain. Reserved networks must be /24 or larger. Ranges must be unique and non-overlapping with existing subnets in [Domain].[authorized_networks]. | | | `string` | Output only. The current state of this domain. | | | `string` | Output only. Additional information about the current status of this domain, if available. | | | `array` | Output only. The current trusts associated with the domain. | | | `string` | Output only. The last update time. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -51,7 +54,6 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a Microsoft AD domain. | | | `DELETE` | | Deletes a domain. | | | `UPDATE` | | Updates the metadata and configuration of a domain. | -| | `EXEC` | | Lists domains in a project. | | | `EXEC` | | Adds an AD trust to a domain. | | | `EXEC` | | CheckMigrationPermission API gets the current state of DomainMigration | | | `EXEC` | | Removes an AD trust. | @@ -63,3 +65,147 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `EXEC` | | Resets a domain's administrator password. | | | `EXEC` | | RestoreDomain restores domain backup mentioned in the RestoreDomainRequest | | | `EXEC` | | Validates a trust state, that the target domain is reachable, and that the target domain is able to accept incoming trust requests. | + +## `SELECT` examples + +Lists domains in a project. + +```sql +SELECT +name, +admin, +auditLogsEnabled, +authorizedNetworks, +createTime, +fqdn, +labels, +locations, +reservedIpRange, +state, +statusMessage, +trusts, +updateTime +FROM google.managedidentities.domains +WHERE projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new domains resource. + + + + +```sql +/*+ create */ +INSERT INTO google.managedidentities.domains ( +projectsId, +name, +labels, +authorizedNetworks, +reservedIpRange, +locations, +admin, +fqdn, +createTime, +updateTime, +state, +statusMessage, +trusts, +auditLogsEnabled +) +SELECT +'{{ projectsId }}', +'{{ name }}', +'{{ labels }}', +'{{ authorizedNetworks }}', +'{{ reservedIpRange }}', +'{{ locations }}', +'{{ admin }}', +'{{ fqdn }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ state }}', +'{{ statusMessage }}', +'{{ trusts }}', +true|false +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: labels + value: '{{ labels }}' + - name: authorizedNetworks + value: '{{ authorizedNetworks }}' + - name: reservedIpRange + value: '{{ reservedIpRange }}' + - name: locations + value: '{{ locations }}' + - name: admin + value: '{{ admin }}' + - name: fqdn + value: '{{ fqdn }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: state + value: '{{ state }}' + - name: statusMessage + value: '{{ statusMessage }}' + - name: trusts + value: '{{ trusts }}' + - name: auditLogsEnabled + value: '{{ auditLogsEnabled }}' + +``` + + + +## `UPDATE` example + +Updates a domain only if the necessary resources are available. + +```sql +UPDATE google.managedidentities.domains +SET +name = '{{ name }}', +labels = '{{ labels }}', +authorizedNetworks = '{{ authorizedNetworks }}', +reservedIpRange = '{{ reservedIpRange }}', +locations = '{{ locations }}', +admin = '{{ admin }}', +fqdn = '{{ fqdn }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +state = '{{ state }}', +statusMessage = '{{ statusMessage }}', +trusts = '{{ trusts }}', +auditLogsEnabled = true|false +WHERE +domainsId = '{{ domainsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified domain resource. + +```sql +DELETE FROM google.managedidentities.domains +WHERE domainsId = '{{ domainsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/managedidentities/domains_iam_policies/index.md b/docs/google-docs/providers/google/managedidentities/domains_iam_policies/index.md index a2a5839075..b32c68c77f 100644 --- a/docs/google-docs/providers/google/managedidentities/domains_iam_policies/index.md +++ b/docs/google-docs/providers/google/managedidentities/domains_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: domains_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - domains_iam_policies - managedidentities - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an domains_iam_policy resource or lists domains_iam_policies in a region ## Overview
@@ -30,13 +32,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | -| | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.managedidentities.domains_iam_policies +WHERE domainsId = '{{ domainsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/managedidentities/domains_ldapssettings/index.md b/docs/google-docs/providers/google/managedidentities/domains_ldapssettings/index.md index cb0b329046..adf79a0ee3 100644 --- a/docs/google-docs/providers/google/managedidentities/domains_ldapssettings/index.md +++ b/docs/google-docs/providers/google/managedidentities/domains_ldapssettings/index.md @@ -1,3 +1,4 @@ + --- title: domains_ldapssettings hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - domains_ldapssettings - managedidentities - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an domains_ldapssetting resource or lists domains_ldapssettings in a region ## Overview
@@ -30,14 +32,50 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The resource name of the LDAPS settings. Uses the form: `projects/{project}/locations/{location}/domains/{domain}`. | +| | `string` | The resource name of the LDAPS settings. Uses the form: `projects/{project}/locations/{location}/domains/{domain}`. | | | `object` | Certificate used to configure LDAPS. | | | `string` | Input only. The password used to encrypt the uploaded PFX certificate. | | | `string` | Input only. The uploaded PKCS12-formatted certificate to configure LDAPS with. It will enable the domain controllers in this domain to accept LDAPS connections (either LDAP over SSL/TLS or the StartTLS operation). A valid certificate chain must form a valid x.509 certificate chain (or be comprised of a single self-signed certificate. It must be encrypted with either: 1) PBES2 + PBKDF2 + AES256 encryption and SHA256 PRF; or 2) pbeWithSHA1And3-KeyTripleDES-CBC Private key must be included for the leaf / single self-signed certificate. Note: For a fqdn your-example-domain.com, the wildcard fqdn is *.your-example-domain.com. Specifically the leaf certificate must have: - Either a blank subject or a subject with CN matching the wildcard fqdn. - Exactly two SANs - the fqdn and wildcard fqdn. - Encipherment and digital key signature key usages. - Server authentication extended key usage (OID=1.3.6.1.5.5.7.3.1) - Private key must be in one of the following formats: RSA, ECDSA, ED25519. - Private key must have appropriate key length: 2048 for RSA, 256 for ECDSA - Signature algorithm of the leaf certificate cannot be MD2, MD5 or SHA1. | | | `string` | Output only. The current state of this LDAPS settings. | | | `string` | Output only. Last update time. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the domain ldaps settings. | -| | `EXEC` | | Patches a single ldaps settings. | +| | `UPDATE` | | Patches a single ldaps settings. | + +## `SELECT` examples + +Gets the domain ldaps settings. + +```sql +SELECT +name, +certificate, +certificatePassword, +certificatePfx, +state, +updateTime +FROM google.managedidentities.domains_ldapssettings +WHERE domainsId = '{{ domainsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `UPDATE` example + +Updates a domains_ldapssetting only if the necessary resources are available. + +```sql +UPDATE google.managedidentities.domains_ldapssettings +SET +name = '{{ name }}', +certificate = '{{ certificate }}', +state = '{{ state }}', +certificatePfx = '{{ certificatePfx }}', +certificatePassword = '{{ certificatePassword }}', +updateTime = '{{ updateTime }}' +WHERE +domainsId = '{{ domainsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/managedidentities/index.md b/docs/google-docs/providers/google/managedidentities/index.md index c9dd42dace..53473a753c 100644 --- a/docs/google-docs/providers/google/managedidentities/index.md +++ b/docs/google-docs/providers/google/managedidentities/index.md @@ -9,34 +9,23 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -The Managed Service for Microsoft Active Directory API is used for managing a highly available, hardened service running Microsoft Active Directory (AD). - +The managedidentities service documentation. + :::info Service Summary
total resources: 10
-total selectable resources: 10
-total methods: 54
::: -## Overview -
- - - - - -
Namegoogle.managedidentities
TypeService
TitleManaged Service for Microsoft Active Directory API
DescriptionThe Managed Service for Microsoft Active Directory API is used for managing a highly available, hardened service running Microsoft Active Directory (AD).
Idmanagedidentities:v24.06.00236
- ## Resources
@@ -44,13 +33,13 @@ The Managed Service for Microsoft Active Directory API is used for managing a hi backups_iam_policies
domains
domains_iam_policies
-domains_ldapssettings
+domains_ldapssettings
+sql_integrations
+ \ No newline at end of file diff --git a/docs/google-docs/providers/google/managedidentities/locations/index.md b/docs/google-docs/providers/google/managedidentities/locations/index.md index 5dd01c6bdd..16effa4966 100644 --- a/docs/google-docs/providers/google/managedidentities/locations/index.md +++ b/docs/google-docs/providers/google/managedidentities/locations/index.md @@ -1,3 +1,4 @@ + --- title: locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - locations - managedidentities - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an location resource or lists locations in a region ## Overview @@ -32,12 +34,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` | | | `string` | The friendly name for this location, typically a nearby city name. For example, "Tokyo". | -| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | +| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | | | `string` | The canonical id for this location. For example: `"us-east1"`. | | | `object` | Service-specific metadata. For example the available capacity at the given location. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about a location. | | | `SELECT` | | Lists information about the supported locations for this service. | -| | `EXEC` | | Lists information about the supported locations for this service. | + +## `SELECT` examples + +Lists information about the supported locations for this service. + +```sql +SELECT +name, +displayName, +labels, +locationId, +metadata +FROM google.managedidentities.locations +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/managedidentities/operations/index.md b/docs/google-docs/providers/google/managedidentities/operations/index.md index 113d124e87..e4a6d2027d 100644 --- a/docs/google-docs/providers/google/managedidentities/operations/index.md +++ b/docs/google-docs/providers/google/managedidentities/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - managedidentities - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview
@@ -30,16 +32,41 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.managedidentities.operations +WHERE projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified operation resource. + +```sql +DELETE FROM google.managedidentities.operations +WHERE operationsId = '{{ operationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/managedidentities/peerings/index.md b/docs/google-docs/providers/google/managedidentities/peerings/index.md index dfb464095e..9e41aa7780 100644 --- a/docs/google-docs/providers/google/managedidentities/peerings/index.md +++ b/docs/google-docs/providers/google/managedidentities/peerings/index.md @@ -1,3 +1,4 @@ + --- title: peerings hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - peerings - managedidentities - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an peering resource or lists peerings in a region ## Overview
@@ -30,14 +32,15 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. Unique name of the peering in this scope including projects and location using the form: `projects/{project_id}/locations/global/peerings/{peering_id}`. | +| | `string` | Output only. Unique name of the peering in this scope including projects and location using the form: `projects/{project_id}/locations/global/peerings/{peering_id}`. | | | `string` | Required. The full names of the Google Compute Engine [networks](/compute/docs/networks-and-firewalls#networks) to which the instance is connected. Caller needs to make sure that CIDR subnets do not overlap between networks, else peering creation will fail. | | | `string` | Output only. The time the instance was created. | -| | `string` | Required. Full domain resource path for the Managed AD Domain involved in peering. The resource path should be in the form: `projects/{project_id}/locations/global/domains/{domain_name}` | +| | `string` | Required. Full domain resource path for the Managed AD Domain involved in peering. The resource path should be in the form: `projects/{project_id}/locations/global/domains/{domain_name}` | | | `object` | Optional. Resource labels to represent user-provided metadata. | | | `string` | Output only. The current state of this Peering. | | | `string` | Output only. Additional information about the current status of this peering, if available. | | | `string` | Output only. Last update time. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -46,4 +49,117 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a Peering for Managed AD instance. | | | `DELETE` | | Deletes identified Peering. | | | `UPDATE` | | Updates the labels for specified Peering. | -| | `EXEC` | | Lists Peerings in a given project. | + +## `SELECT` examples + +Lists Peerings in a given project. + +```sql +SELECT +name, +authorizedNetwork, +createTime, +domainResource, +labels, +state, +statusMessage, +updateTime +FROM google.managedidentities.peerings +WHERE projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new peerings resource. + + + + +```sql +/*+ create */ +INSERT INTO google.managedidentities.peerings ( +projectsId, +name, +labels, +authorizedNetwork, +domainResource, +createTime, +updateTime, +state, +statusMessage +) +SELECT +'{{ projectsId }}', +'{{ name }}', +'{{ labels }}', +'{{ authorizedNetwork }}', +'{{ domainResource }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ state }}', +'{{ statusMessage }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: labels + value: '{{ labels }}' + - name: authorizedNetwork + value: '{{ authorizedNetwork }}' + - name: domainResource + value: '{{ domainResource }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: state + value: '{{ state }}' + - name: statusMessage + value: '{{ statusMessage }}' + +``` + + + +## `UPDATE` example + +Updates a peering only if the necessary resources are available. + +```sql +UPDATE google.managedidentities.peerings +SET +name = '{{ name }}', +labels = '{{ labels }}', +authorizedNetwork = '{{ authorizedNetwork }}', +domainResource = '{{ domainResource }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +state = '{{ state }}', +statusMessage = '{{ statusMessage }}' +WHERE +peeringsId = '{{ peeringsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified peering resource. + +```sql +DELETE FROM google.managedidentities.peerings +WHERE peeringsId = '{{ peeringsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/managedidentities/peerings_iam_policies/index.md b/docs/google-docs/providers/google/managedidentities/peerings_iam_policies/index.md index 2d1e6ea36f..b57b031d2b 100644 --- a/docs/google-docs/providers/google/managedidentities/peerings_iam_policies/index.md +++ b/docs/google-docs/providers/google/managedidentities/peerings_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: peerings_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - peerings_iam_policies - managedidentities - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an peerings_iam_policy resource or lists peerings_iam_policies in a region ## Overview
@@ -30,13 +32,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | -| | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.managedidentities.peerings_iam_policies +WHERE peeringsId = '{{ peeringsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/managedidentities/sql_integrations/index.md b/docs/google-docs/providers/google/managedidentities/sql_integrations/index.md index 39d00483de..da81a01183 100644 --- a/docs/google-docs/providers/google/managedidentities/sql_integrations/index.md +++ b/docs/google-docs/providers/google/managedidentities/sql_integrations/index.md @@ -1,3 +1,4 @@ + --- title: sql_integrations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - sql_integrations - managedidentities - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an sql_integration resource or lists sql_integrations in a region ## Overview
@@ -30,14 +32,30 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The unique name of the SQL integration in the form of `projects/{project_id}/locations/global/domains/{domain_name}/sqlIntegrations/{sql_integration}` | +| | `string` | The unique name of the SQL integration in the form of `projects/{project_id}/locations/global/domains/{domain_name}/sqlIntegrations/{sql_integration}` | | | `string` | Output only. The time the SQL integration was created. | | | `string` | The full resource name of an integrated SQL instance | | | `string` | Output only. The current state of the SQL integration. | | | `string` | Output only. The time the SQL integration was updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets details of a single sqlIntegration. | | | `SELECT` | | Lists SqlIntegrations in a given domain. | -| | `EXEC` | | Lists SqlIntegrations in a given domain. | + +## `SELECT` examples + +Lists SqlIntegrations in a given domain. + +```sql +SELECT +name, +createTime, +sqlInstance, +state, +updateTime +FROM google.managedidentities.sql_integrations +WHERE domainsId = '{{ domainsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/memcache/index.md b/docs/google-docs/providers/google/memcache/index.md index f7fde732d5..d84f8ddd54 100644 --- a/docs/google-docs/providers/google/memcache/index.md +++ b/docs/google-docs/providers/google/memcache/index.md @@ -9,42 +9,31 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Google Cloud Memorystore for Memcached API is used for creating and managing Memcached instances in GCP. - +The memcache service documentation. + :::info Service Summary
total resources: 4
-total selectable resources: 3
-total methods: 18
::: -## Overview -
- - - - - -
Namegoogle.memcache
TypeService
TitleCloud Memorystore for Memcached API
DescriptionGoogle Cloud Memorystore for Memcached API is used for creating and managing Memcached instances in GCP.
Idmemcache:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/memcache/instances/index.md b/docs/google-docs/providers/google/memcache/instances/index.md index 12e491677f..f89bd90d7a 100644 --- a/docs/google-docs/providers/google/memcache/instances/index.md +++ b/docs/google-docs/providers/google/memcache/instances/index.md @@ -1,3 +1,4 @@ + --- title: instances hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - instances - memcache - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an instance resource or lists instances in a region ## Overview @@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Required. Unique name of the resource in this scope including project and location using the form: `projects/{project_id}/locations/{location_id}/instances/{instance_id}` Note: Memcached instances are managed and addressed at the regional level so `location_id` here refers to a Google Cloud region; however, users may choose which zones Memcached nodes should be provisioned in within an instance. Refer to zones field for more details. | +| | `string` | Required. Unique name of the resource in this scope including project and location using the form: `projects/{project_id}/locations/{location_id}/instances/{instance_id}` Note: Memcached instances are managed and addressed at the regional level so `location_id` here refers to a Google Cloud region; however, users may choose which zones Memcached nodes should be provisioned in within an instance. Refer to zones field for more details. | | | `string` | The full name of the Google Compute Engine [network](/compute/docs/networks-and-firewalls#networks) to which the instance is connected. If left unspecified, the `default` network will be used. | | | `string` | Output only. The time the instance was created. | | | `string` | Output only. Endpoint for the Discovery API. | @@ -46,9 +48,12 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `integer` | Required. Number of nodes in the Memcached instance. | | | `object` | | | | `array` | Optional. Contains the id of allocated IP address ranges associated with the private service access connection for example, "test-default" associated with IP range 10.0.0.0/29. | +| | `boolean` | Optional. Output only. Reserved for future use. | +| | `boolean` | Optional. Output only. Reserved for future use. | | | `string` | Output only. The state of this Memcached instance. | | | `string` | Output only. The time the instance was updated. | | | `array` | Zones in which Memcached nodes should be provisioned. Memcached nodes will be equally distributed across these zones. If not provided, the service will by default create nodes in all zones in the region for the instance. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -57,7 +62,203 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new Instance in a given location. | | | `DELETE` | | Deletes a single Instance. | | | `UPDATE` | | Updates an existing Instance in a given project and location. | -| | `EXEC` | | Lists Instances in a given location. | | | `EXEC` | | `ApplyParameters` restarts the set of specified nodes in order to update them to the current set of parameters for the Memcached Instance. | | | `EXEC` | | Reschedules upcoming maintenance event. | | | `EXEC` | | Upgrades the Memcache instance to a newer memcached engine version specified in the request. | + +## `SELECT` examples + +Lists Instances in a given location. + +```sql +SELECT +name, +authorizedNetwork, +createTime, +discoveryEndpoint, +displayName, +instanceMessages, +labels, +maintenancePolicy, +maintenanceSchedule, +memcacheFullVersion, +memcacheNodes, +memcacheVersion, +nodeConfig, +nodeCount, +parameters, +reservedIpRangeId, +satisfiesPzi, +satisfiesPzs, +state, +updateTime, +zones +FROM google.memcache.instances +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new instances resource. + + + + +```sql +/*+ create */ +INSERT INTO google.memcache.instances ( +locationsId, +projectsId, +name, +displayName, +labels, +authorizedNetwork, +zones, +nodeCount, +nodeConfig, +memcacheVersion, +parameters, +memcacheNodes, +createTime, +updateTime, +state, +memcacheFullVersion, +instanceMessages, +discoveryEndpoint, +maintenancePolicy, +maintenanceSchedule, +reservedIpRangeId, +satisfiesPzs, +satisfiesPzi +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ displayName }}', +'{{ labels }}', +'{{ authorizedNetwork }}', +'{{ zones }}', +'{{ nodeCount }}', +'{{ nodeConfig }}', +'{{ memcacheVersion }}', +'{{ parameters }}', +'{{ memcacheNodes }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ state }}', +'{{ memcacheFullVersion }}', +'{{ instanceMessages }}', +'{{ discoveryEndpoint }}', +'{{ maintenancePolicy }}', +'{{ maintenanceSchedule }}', +'{{ reservedIpRangeId }}', +true|false, +true|false +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: labels + value: '{{ labels }}' + - name: authorizedNetwork + value: '{{ authorizedNetwork }}' + - name: zones + value: '{{ zones }}' + - name: nodeCount + value: '{{ nodeCount }}' + - name: nodeConfig + value: '{{ nodeConfig }}' + - name: memcacheVersion + value: '{{ memcacheVersion }}' + - name: parameters + value: '{{ parameters }}' + - name: memcacheNodes + value: '{{ memcacheNodes }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: state + value: '{{ state }}' + - name: memcacheFullVersion + value: '{{ memcacheFullVersion }}' + - name: instanceMessages + value: '{{ instanceMessages }}' + - name: discoveryEndpoint + value: '{{ discoveryEndpoint }}' + - name: maintenancePolicy + value: '{{ maintenancePolicy }}' + - name: maintenanceSchedule + value: '{{ maintenanceSchedule }}' + - name: reservedIpRangeId + value: '{{ reservedIpRangeId }}' + - name: satisfiesPzs + value: '{{ satisfiesPzs }}' + - name: satisfiesPzi + value: '{{ satisfiesPzi }}' + +``` + + + +## `UPDATE` example + +Updates a instance only if the necessary resources are available. + +```sql +UPDATE google.memcache.instances +SET +name = '{{ name }}', +displayName = '{{ displayName }}', +labels = '{{ labels }}', +authorizedNetwork = '{{ authorizedNetwork }}', +zones = '{{ zones }}', +nodeCount = '{{ nodeCount }}', +nodeConfig = '{{ nodeConfig }}', +memcacheVersion = '{{ memcacheVersion }}', +parameters = '{{ parameters }}', +memcacheNodes = '{{ memcacheNodes }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +state = '{{ state }}', +memcacheFullVersion = '{{ memcacheFullVersion }}', +instanceMessages = '{{ instanceMessages }}', +discoveryEndpoint = '{{ discoveryEndpoint }}', +maintenancePolicy = '{{ maintenancePolicy }}', +maintenanceSchedule = '{{ maintenanceSchedule }}', +reservedIpRangeId = '{{ reservedIpRangeId }}', +satisfiesPzs = true|false, +satisfiesPzi = true|false +WHERE +instancesId = '{{ instancesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified instance resource. + +```sql +DELETE FROM google.memcache.instances +WHERE instancesId = '{{ instancesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/memcache/instances_parameters/index.md b/docs/google-docs/providers/google/memcache/instances_parameters/index.md index b2821437b7..929a78fe14 100644 --- a/docs/google-docs/providers/google/memcache/instances_parameters/index.md +++ b/docs/google-docs/providers/google/memcache/instances_parameters/index.md @@ -1,3 +1,4 @@ + --- title: instances_parameters hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - instances_parameters - memcache - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an instances_parameter resource or lists instances_parameters in a region ## Overview
@@ -28,8 +30,25 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `UPDATE` | | Updates the defined Memcached parameters for an existing instance. This method only stages the parameters, it must be followed by `ApplyParameters` to apply the parameters to nodes of the Memcached instance. | + +## `UPDATE` example + +Updates a instances_parameter only if the necessary resources are available. + +```sql +UPDATE google.memcache.instances_parameters +SET +updateMask = '{{ updateMask }}', +parameters = '{{ parameters }}' +WHERE +instancesId = '{{ instancesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/memcache/locations/index.md b/docs/google-docs/providers/google/memcache/locations/index.md index c7b85938b5..e6f268b8d1 100644 --- a/docs/google-docs/providers/google/memcache/locations/index.md +++ b/docs/google-docs/providers/google/memcache/locations/index.md @@ -1,3 +1,4 @@ + --- title: locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - locations - memcache - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an location resource or lists locations in a region ## Overview @@ -32,12 +34,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` | | | `string` | The friendly name for this location, typically a nearby city name. For example, "Tokyo". | -| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | +| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | | | `string` | The canonical id for this location. For example: `"us-east1"`. | | | `object` | Service-specific metadata. For example the available capacity at the given location. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about a location. | | | `SELECT` | | Lists information about the supported locations for this service. | -| | `EXEC` | | Lists information about the supported locations for this service. | + +## `SELECT` examples + +Lists information about the supported locations for this service. + +```sql +SELECT +name, +displayName, +labels, +locationId, +metadata +FROM google.memcache.locations +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/memcache/operations/index.md b/docs/google-docs/providers/google/memcache/operations/index.md index 750b9418b3..3a7f35ddbe 100644 --- a/docs/google-docs/providers/google/memcache/operations/index.md +++ b/docs/google-docs/providers/google/memcache/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - memcache - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview
@@ -30,16 +32,43 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.memcache.operations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified operation resource. + +```sql +DELETE FROM google.memcache.operations +WHERE locationsId = '{{ locationsId }}' +AND operationsId = '{{ operationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/metastore/backups/index.md b/docs/google-docs/providers/google/metastore/backups/index.md index 653d18425a..8639155434 100644 --- a/docs/google-docs/providers/google/metastore/backups/index.md +++ b/docs/google-docs/providers/google/metastore/backups/index.md @@ -1,3 +1,4 @@ + --- title: backups hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - backups - metastore - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an backup resource or lists backups in a region ## Overview
@@ -30,13 +32,14 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Immutable. The relative resource name of the backup, in the following form:projects/{project_number}/locations/{location_id}/services/{service_id}/backups/{backup_id} | +| | `string` | Immutable. The relative resource name of the backup, in the following form:projects/{project_number}/locations/{location_id}/services/{service_id}/backups/{backup_id} | | | `string` | The description of the backup. | | | `string` | Output only. The time when the backup was started. | | | `string` | Output only. The time when the backup finished creating. | | | `array` | Output only. Services that are restoring from the backup. | | | `object` | A managed metastore service that serves metadata queries. | | | `string` | Output only. The current state of the backup. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -44,4 +47,100 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists backups in a service. | | | `INSERT` | | Creates a new backup in a given project and location. | | | `DELETE` | | Deletes a single backup. | -| | `EXEC` | | Lists backups in a service. | + +## `SELECT` examples + +Lists backups in a service. + +```sql +SELECT +name, +description, +createTime, +endTime, +restoringServices, +serviceRevision, +state +FROM google.metastore.backups +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND servicesId = '{{ servicesId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new backups resource. + + + + +```sql +/*+ create */ +INSERT INTO google.metastore.backups ( +locationsId, +projectsId, +servicesId, +name, +createTime, +endTime, +state, +serviceRevision, +description, +restoringServices +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ servicesId }}', +'{{ name }}', +'{{ createTime }}', +'{{ endTime }}', +'{{ state }}', +'{{ serviceRevision }}', +'{{ description }}', +'{{ restoringServices }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: endTime + value: '{{ endTime }}' + - name: state + value: '{{ state }}' + - name: serviceRevision + value: '{{ serviceRevision }}' + - name: description + value: '{{ description }}' + - name: restoringServices + value: '{{ restoringServices }}' + +``` + + + +## `DELETE` example + +Deletes the specified backup resource. + +```sql +DELETE FROM google.metastore.backups +WHERE backupsId = '{{ backupsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND servicesId = '{{ servicesId }}'; +``` diff --git a/docs/google-docs/providers/google/metastore/backups_iam_policies/index.md b/docs/google-docs/providers/google/metastore/backups_iam_policies/index.md index 17e9464612..49ee0d3f6c 100644 --- a/docs/google-docs/providers/google/metastore/backups_iam_policies/index.md +++ b/docs/google-docs/providers/google/metastore/backups_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: backups_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - backups_iam_policies - metastore - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an backups_iam_policy resource or lists backups_iam_policies in a region ## Overview
@@ -30,12 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. members can have the following values: allUsers: A special identifier that represents anyone who is on the internet; with or without a Google account. allAuthenticatedUsers: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. user:{emailid}: An email address that represents a specific Google account. For example, alice@example.com . serviceAccount:{emailid}: An email address that represents a Google service account. For example, my-other-app@appspot.gserviceaccount.com. serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]: An identifier for a Kubernetes service account (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, my-project.svc.id.goog[my-namespace/my-kubernetes-sa]. group:{emailid}: An email address that represents a Google group. For example, admins@example.com. domain:{domain}: The G Suite domain (primary) that represents all the users of that domain. For example, google.com or example.com. principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workforce identity pool. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}: All workforce identities in a group. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All workforce identities with a specific attribute value. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*: All identities in a workforce identity pool. principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workload identity pool. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}: A workload identity pool group. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All identities in a workload identity pool with a certain attribute. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*: All identities in a workload identity pool. deleted:user:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a user that has been recently deleted. For example, alice@example.com?uid=123456789012345678901. If the user is recovered, this value reverts to user:{emailid} and the recovered user retains the role in the binding. deleted:serviceAccount:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. If the service account is undeleted, this value reverts to serviceAccount:{emailid} and the undeleted service account retains the role in the binding. deleted:group:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, admins@example.com?uid=123456789012345678901. If the group is recovered, this value reverts to group:{emailid} and the recovered group retains the role in the binding. deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: Deleted single identity in a workforce identity pool. For example, deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. members can have the following values: allUsers: A special identifier that represents anyone who is on the internet; with or without a Google account. allAuthenticatedUsers: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. user:{emailid}: An email address that represents a specific Google account. For example, alice@example.com . serviceAccount:{emailid}: An email address that represents a Google service account. For example, my-other-app@appspot.gserviceaccount.com. serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]: An identifier for a Kubernetes service account (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, my-project.svc.id.goog[my-namespace/my-kubernetes-sa]. group:{emailid}: An email address that represents a Google group. For example, admins@example.com. domain:{domain}: The G Suite domain (primary) that represents all the users of that domain. For example, google.com or example.com. principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workforce identity pool. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}: All workforce identities in a group. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All workforce identities with a specific attribute value. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*: All identities in a workforce identity pool. principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workload identity pool. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}: A workload identity pool group. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All identities in a workload identity pool with a certain attribute. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*: All identities in a workload identity pool. deleted:user:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a user that has been recently deleted. For example, alice@example.com?uid=123456789012345678901. If the user is recovered, this value reverts to user:{emailid} and the recovered user retains the role in the binding. deleted:serviceAccount:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. If the service account is undeleted, this value reverts to serviceAccount:{emailid} and the undeleted service account retains the role in the binding. deleted:group:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, admins@example.com?uid=123456789012345678901. If the group is recovered, this value reverts to group:{emailid} and the recovered group retains the role in the binding. deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: Deleted single identity in a workforce identity pool. For example, deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value. | | | `string` | Role that is assigned to the list of members, or principals. For example, roles/viewer, roles/editor, or roles/owner.For an overview of the IAM roles and permissions, see the IAM documentation (https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see here (https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.metastore.backups_iam_policies +WHERE backupsId = '{{ backupsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND servicesId = '{{ servicesId }}'; +``` diff --git a/docs/google-docs/providers/google/metastore/databases_iam_policies/index.md b/docs/google-docs/providers/google/metastore/databases_iam_policies/index.md index 4dd31aecfe..bb1fe70cff 100644 --- a/docs/google-docs/providers/google/metastore/databases_iam_policies/index.md +++ b/docs/google-docs/providers/google/metastore/databases_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: databases_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - databases_iam_policies - metastore - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an databases_iam_policy resource or lists databases_iam_policies in a region ## Overview
@@ -30,12 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. members can have the following values: allUsers: A special identifier that represents anyone who is on the internet; with or without a Google account. allAuthenticatedUsers: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. user:{emailid}: An email address that represents a specific Google account. For example, alice@example.com . serviceAccount:{emailid}: An email address that represents a Google service account. For example, my-other-app@appspot.gserviceaccount.com. serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]: An identifier for a Kubernetes service account (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, my-project.svc.id.goog[my-namespace/my-kubernetes-sa]. group:{emailid}: An email address that represents a Google group. For example, admins@example.com. domain:{domain}: The G Suite domain (primary) that represents all the users of that domain. For example, google.com or example.com. principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workforce identity pool. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}: All workforce identities in a group. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All workforce identities with a specific attribute value. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*: All identities in a workforce identity pool. principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workload identity pool. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}: A workload identity pool group. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All identities in a workload identity pool with a certain attribute. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*: All identities in a workload identity pool. deleted:user:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a user that has been recently deleted. For example, alice@example.com?uid=123456789012345678901. If the user is recovered, this value reverts to user:{emailid} and the recovered user retains the role in the binding. deleted:serviceAccount:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. If the service account is undeleted, this value reverts to serviceAccount:{emailid} and the undeleted service account retains the role in the binding. deleted:group:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, admins@example.com?uid=123456789012345678901. If the group is recovered, this value reverts to group:{emailid} and the recovered group retains the role in the binding. deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: Deleted single identity in a workforce identity pool. For example, deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. members can have the following values: allUsers: A special identifier that represents anyone who is on the internet; with or without a Google account. allAuthenticatedUsers: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. user:{emailid}: An email address that represents a specific Google account. For example, alice@example.com . serviceAccount:{emailid}: An email address that represents a Google service account. For example, my-other-app@appspot.gserviceaccount.com. serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]: An identifier for a Kubernetes service account (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, my-project.svc.id.goog[my-namespace/my-kubernetes-sa]. group:{emailid}: An email address that represents a Google group. For example, admins@example.com. domain:{domain}: The G Suite domain (primary) that represents all the users of that domain. For example, google.com or example.com. principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workforce identity pool. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}: All workforce identities in a group. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All workforce identities with a specific attribute value. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*: All identities in a workforce identity pool. principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workload identity pool. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}: A workload identity pool group. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All identities in a workload identity pool with a certain attribute. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*: All identities in a workload identity pool. deleted:user:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a user that has been recently deleted. For example, alice@example.com?uid=123456789012345678901. If the user is recovered, this value reverts to user:{emailid} and the recovered user retains the role in the binding. deleted:serviceAccount:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. If the service account is undeleted, this value reverts to serviceAccount:{emailid} and the undeleted service account retains the role in the binding. deleted:group:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, admins@example.com?uid=123456789012345678901. If the group is recovered, this value reverts to group:{emailid} and the recovered group retains the role in the binding. deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: Deleted single identity in a workforce identity pool. For example, deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value. | | | `string` | Role that is assigned to the list of members, or principals. For example, roles/viewer, roles/editor, or roles/owner.For an overview of the IAM roles and permissions, see the IAM documentation (https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see here (https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.metastore.databases_iam_policies +WHERE databasesId = '{{ databasesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND servicesId = '{{ servicesId }}'; +``` diff --git a/docs/google-docs/providers/google/metastore/federations/index.md b/docs/google-docs/providers/google/metastore/federations/index.md index 9453eb7c7a..f56b7b7b7a 100644 --- a/docs/google-docs/providers/google/metastore/federations/index.md +++ b/docs/google-docs/providers/google/metastore/federations/index.md @@ -1,3 +1,4 @@ + --- title: federations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - federations - metastore - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an federation resource or lists federations in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Immutable. The relative resource name of the federation, of the form: projects/{project_number}/locations/{location_id}/federations/{federation_id}`. | +| | `string` | Immutable. The relative resource name of the federation, of the form: projects/{project_number}/locations/{location_id}/federations/{federation_id}`. | | | `object` | A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key represents the order in which BackendMetastores should be evaluated to resolve database names at query time and should be greater than or equal to zero. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number. | | | `string` | Output only. The time when the metastore federation was created. | | | `string` | Output only. The federation endpoint. | @@ -40,6 +42,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The globally unique resource identifier of the metastore federation. | | | `string` | Output only. The time when the metastore federation was last updated. | | | `string` | Immutable. The Apache Hive metastore version of the federation. All backend metastore versions must be compatible with the federation version. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -48,4 +51,134 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a metastore federation in a project and location. | | | `DELETE` | | Deletes a single federation. | | | `UPDATE` | | Updates the fields of a federation. | -| | `EXEC` | | Lists federations in a project and location. | + +## `SELECT` examples + +Lists federations in a project and location. + +```sql +SELECT +name, +backendMetastores, +createTime, +endpointUri, +labels, +state, +stateMessage, +uid, +updateTime, +version +FROM google.metastore.federations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new federations resource. + + + + +```sql +/*+ create */ +INSERT INTO google.metastore.federations ( +locationsId, +projectsId, +name, +createTime, +updateTime, +labels, +version, +backendMetastores, +endpointUri, +state, +stateMessage, +uid +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ labels }}', +'{{ version }}', +'{{ backendMetastores }}', +'{{ endpointUri }}', +'{{ state }}', +'{{ stateMessage }}', +'{{ uid }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: labels + value: '{{ labels }}' + - name: version + value: '{{ version }}' + - name: backendMetastores + value: '{{ backendMetastores }}' + - name: endpointUri + value: '{{ endpointUri }}' + - name: state + value: '{{ state }}' + - name: stateMessage + value: '{{ stateMessage }}' + - name: uid + value: '{{ uid }}' + +``` + + + +## `UPDATE` example + +Updates a federation only if the necessary resources are available. + +```sql +UPDATE google.metastore.federations +SET +name = '{{ name }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +labels = '{{ labels }}', +version = '{{ version }}', +backendMetastores = '{{ backendMetastores }}', +endpointUri = '{{ endpointUri }}', +state = '{{ state }}', +stateMessage = '{{ stateMessage }}', +uid = '{{ uid }}' +WHERE +federationsId = '{{ federationsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified federation resource. + +```sql +DELETE FROM google.metastore.federations +WHERE federationsId = '{{ federationsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/metastore/federations_iam_policies/index.md b/docs/google-docs/providers/google/metastore/federations_iam_policies/index.md index 41cc59521c..7f3e3ed012 100644 --- a/docs/google-docs/providers/google/metastore/federations_iam_policies/index.md +++ b/docs/google-docs/providers/google/metastore/federations_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: federations_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - federations_iam_policies - metastore - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an federations_iam_policy resource or lists federations_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. members can have the following values: allUsers: A special identifier that represents anyone who is on the internet; with or without a Google account. allAuthenticatedUsers: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. user:{emailid}: An email address that represents a specific Google account. For example, alice@example.com . serviceAccount:{emailid}: An email address that represents a Google service account. For example, my-other-app@appspot.gserviceaccount.com. serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]: An identifier for a Kubernetes service account (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, my-project.svc.id.goog[my-namespace/my-kubernetes-sa]. group:{emailid}: An email address that represents a Google group. For example, admins@example.com. domain:{domain}: The G Suite domain (primary) that represents all the users of that domain. For example, google.com or example.com. principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workforce identity pool. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}: All workforce identities in a group. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All workforce identities with a specific attribute value. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*: All identities in a workforce identity pool. principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workload identity pool. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}: A workload identity pool group. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All identities in a workload identity pool with a certain attribute. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*: All identities in a workload identity pool. deleted:user:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a user that has been recently deleted. For example, alice@example.com?uid=123456789012345678901. If the user is recovered, this value reverts to user:{emailid} and the recovered user retains the role in the binding. deleted:serviceAccount:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. If the service account is undeleted, this value reverts to serviceAccount:{emailid} and the undeleted service account retains the role in the binding. deleted:group:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, admins@example.com?uid=123456789012345678901. If the group is recovered, this value reverts to group:{emailid} and the recovered group retains the role in the binding. deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: Deleted single identity in a workforce identity pool. For example, deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. members can have the following values: allUsers: A special identifier that represents anyone who is on the internet; with or without a Google account. allAuthenticatedUsers: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. user:{emailid}: An email address that represents a specific Google account. For example, alice@example.com . serviceAccount:{emailid}: An email address that represents a Google service account. For example, my-other-app@appspot.gserviceaccount.com. serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]: An identifier for a Kubernetes service account (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, my-project.svc.id.goog[my-namespace/my-kubernetes-sa]. group:{emailid}: An email address that represents a Google group. For example, admins@example.com. domain:{domain}: The G Suite domain (primary) that represents all the users of that domain. For example, google.com or example.com. principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workforce identity pool. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}: All workforce identities in a group. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All workforce identities with a specific attribute value. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*: All identities in a workforce identity pool. principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workload identity pool. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}: A workload identity pool group. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All identities in a workload identity pool with a certain attribute. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*: All identities in a workload identity pool. deleted:user:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a user that has been recently deleted. For example, alice@example.com?uid=123456789012345678901. If the user is recovered, this value reverts to user:{emailid} and the recovered user retains the role in the binding. deleted:serviceAccount:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. If the service account is undeleted, this value reverts to serviceAccount:{emailid} and the undeleted service account retains the role in the binding. deleted:group:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, admins@example.com?uid=123456789012345678901. If the group is recovered, this value reverts to group:{emailid} and the recovered group retains the role in the binding. deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: Deleted single identity in a workforce identity pool. For example, deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value. | | | `string` | Role that is assigned to the list of members, or principals. For example, roles/viewer, roles/editor, or roles/owner.For an overview of the IAM roles and permissions, see the IAM documentation (https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see here (https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.metastore.federations_iam_policies +WHERE federationsId = '{{ federationsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/metastore/index.md b/docs/google-docs/providers/google/metastore/index.md index 7d1b4eedd1..ea23a86dbb 100644 --- a/docs/google-docs/providers/google/metastore/index.md +++ b/docs/google-docs/providers/google/metastore/index.md @@ -9,34 +9,23 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -The Dataproc Metastore API is used to manage the lifecycle and configuration of metastore services. - +The metastore service documentation. + :::info Service Summary
-total resources: 11
-total selectable resources: 11
-total methods: 53
+total resources: 12
::: -## Overview -
- - - - - -
Namegoogle.metastore
TypeService
TitleDataproc Metastore API
DescriptionThe Dataproc Metastore API is used to manage the lifecycle and configuration of metastore services.
Idmetastore:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/metastore/locations/index.md b/docs/google-docs/providers/google/metastore/locations/index.md index c369576330..eeaf180203 100644 --- a/docs/google-docs/providers/google/metastore/locations/index.md +++ b/docs/google-docs/providers/google/metastore/locations/index.md @@ -1,3 +1,4 @@ + --- title: locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - locations - metastore - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an location resource or lists locations in a region ## Overview @@ -32,12 +34,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Resource name for the location, which may vary between implementations. For example: "projects/example-project/locations/us-east1" | | | `string` | The friendly name for this location, typically a nearby city name. For example, "Tokyo". | -| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | +| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | | | `string` | The canonical id for this location. For example: "us-east1". | | | `object` | Service-specific metadata. For example the available capacity at the given location. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about a location. | | | `SELECT` | | Lists information about the supported locations for this service. | -| | `EXEC` | | Lists information about the supported locations for this service. | + +## `SELECT` examples + +Lists information about the supported locations for this service. + +```sql +SELECT +name, +displayName, +labels, +locationId, +metadata +FROM google.metastore.locations +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/metastore/metadata_imports/index.md b/docs/google-docs/providers/google/metastore/metadata_imports/index.md index 5f0250010b..ccabd7fe33 100644 --- a/docs/google-docs/providers/google/metastore/metadata_imports/index.md +++ b/docs/google-docs/providers/google/metastore/metadata_imports/index.md @@ -1,3 +1,4 @@ + --- title: metadata_imports hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - metadata_imports - metastore - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an metadata_import resource or lists metadata_imports in a region ## Overview
@@ -30,13 +32,14 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Immutable. The relative resource name of the metadata import, of the form:projects/{project_number}/locations/{location_id}/services/{service_id}/metadataImports/{metadata_import_id}. | +| | `string` | Immutable. The relative resource name of the metadata import, of the form:projects/{project_number}/locations/{location_id}/services/{service_id}/metadataImports/{metadata_import_id}. | | | `string` | The description of the metadata import. | | | `string` | Output only. The time when the metadata import was started. | | | `object` | A specification of the location of and metadata about a database dump from a relational database management system. | | | `string` | Output only. The time when the metadata import finished. | | | `string` | Output only. The current state of the metadata import. | | | `string` | Output only. The time when the metadata import was last updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -44,4 +47,109 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists imports in a service. | | | `INSERT` | | Creates a new MetadataImport in a given project and location. | | | `UPDATE` | | Updates a single import. Only the description field of MetadataImport is supported to be updated. | -| | `EXEC` | | Lists imports in a service. | + +## `SELECT` examples + +Lists imports in a service. + +```sql +SELECT +name, +description, +createTime, +databaseDump, +endTime, +state, +updateTime +FROM google.metastore.metadata_imports +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND servicesId = '{{ servicesId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new metadata_imports resource. + + + + +```sql +/*+ create */ +INSERT INTO google.metastore.metadata_imports ( +locationsId, +projectsId, +servicesId, +databaseDump, +name, +description, +createTime, +updateTime, +endTime, +state +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ servicesId }}', +'{{ databaseDump }}', +'{{ name }}', +'{{ description }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ endTime }}', +'{{ state }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: databaseDump + value: '{{ databaseDump }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: endTime + value: '{{ endTime }}' + - name: state + value: '{{ state }}' + +``` + + + +## `UPDATE` example + +Updates a metadata_import only if the necessary resources are available. + +```sql +UPDATE google.metastore.metadata_imports +SET +databaseDump = '{{ databaseDump }}', +name = '{{ name }}', +description = '{{ description }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +endTime = '{{ endTime }}', +state = '{{ state }}' +WHERE +locationsId = '{{ locationsId }}' +AND metadataImportsId = '{{ metadataImportsId }}' +AND projectsId = '{{ projectsId }}' +AND servicesId = '{{ servicesId }}'; +``` diff --git a/docs/google-docs/providers/google/metastore/migration_executions/index.md b/docs/google-docs/providers/google/metastore/migration_executions/index.md new file mode 100644 index 0000000000..30c4bb3e22 --- /dev/null +++ b/docs/google-docs/providers/google/metastore/migration_executions/index.md @@ -0,0 +1,79 @@ + +--- +title: migration_executions +hide_title: false +hide_table_of_contents: false +keywords: + - migration_executions + - metastore + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an migration_execution resource or lists migration_executions in a region + +## Overview +
+ + + +
Namemigration_executions
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | Output only. The relative resource name of the migration execution, in the following form: projects/{project_number}/locations/{location_id}/services/{service_id}/migrationExecutions/{migration_execution_id} | +| | `object` | Configuration information for migrating from self-managed hive metastore on Google Cloud using Cloud SQL as the backend database to Dataproc Metastore. | +| | `string` | Output only. The time when the migration execution was started. | +| | `string` | Output only. The time when the migration execution finished. | +| | `string` | Output only. The current phase of the migration execution. | +| | `string` | Output only. The current state of the migration execution. | +| | `string` | Output only. Additional information about the current state of the migration execution. | + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets details of a single migration execution. | +| | `SELECT` | | Lists migration executions on a service. | +| | `DELETE` | | Deletes a single migration execution. | + +## `SELECT` examples + +Lists migration executions on a service. + +```sql +SELECT +name, +cloudSqlMigrationConfig, +createTime, +endTime, +phase, +state, +stateMessage +FROM google.metastore.migration_executions +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND servicesId = '{{ servicesId }}'; +``` + +## `DELETE` example + +Deletes the specified migration_execution resource. + +```sql +DELETE FROM google.metastore.migration_executions +WHERE locationsId = '{{ locationsId }}' +AND migrationExecutionsId = '{{ migrationExecutionsId }}' +AND projectsId = '{{ projectsId }}' +AND servicesId = '{{ servicesId }}'; +``` diff --git a/docs/google-docs/providers/google/metastore/operations/index.md b/docs/google-docs/providers/google/metastore/operations/index.md index bcc400da15..68fd48bae3 100644 --- a/docs/google-docs/providers/google/metastore/operations/index.md +++ b/docs/google-docs/providers/google/metastore/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - metastore - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview @@ -30,16 +32,43 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the name should be a resource name ending with operations/{unique_id}. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the name should be a resource name ending with operations/{unique_id}. | | | `boolean` | If the value is false, it means the operation is still in progress. If true, the operation is completed, and either error or response is available. | | | `object` | The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC (https://github.com/grpc). Each Status message contains three pieces of data: error code, error message, and error details.You can find out more about this error model and how to work with it in the API Design Guide (https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as Delete, the response is google.protobuf.Empty. If the original method is standard Get/Create/Update, the response should be the resource. For other methods, the response should have the type XxxResponse, where Xxx is the original method name. For example, if the original method name is TakeSnapshot(), the inferred response type is TakeSnapshotResponse. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns UNIMPLEMENTED. | | | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns google.rpc.Code.UNIMPLEMENTED. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns UNIMPLEMENTED. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns google.rpc.Code.UNIMPLEMENTED. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to Code.CANCELLED. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns UNIMPLEMENTED. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.metastore.operations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified operation resource. + +```sql +DELETE FROM google.metastore.operations +WHERE locationsId = '{{ locationsId }}' +AND operationsId = '{{ operationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/metastore/services/index.md b/docs/google-docs/providers/google/metastore/services/index.md index c9da67ab34..367bf5aeb0 100644 --- a/docs/google-docs/providers/google/metastore/services/index.md +++ b/docs/google-docs/providers/google/metastore/services/index.md @@ -1,3 +1,4 @@ + --- title: services hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - services - metastore - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an service resource or lists services in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Immutable. The relative resource name of the metastore service, in the following format:projects/{project_number}/locations/{location_id}/services/{service_id}. | +| | `string` | Immutable. The relative resource name of the metastore service, in the following format:projects/{project_number}/locations/{location_id}/services/{service_id}. | | | `string` | Output only. A Cloud Storage URI (starting with gs://) that specifies where artifacts related to the metastore service are stored. | | | `string` | Output only. The time when the metastore service was created. | | | `string` | Immutable. The database type that the Metastore service stores its data. | @@ -42,7 +44,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Maintenance window. This specifies when Dataproc Metastore may perform system maintenance operation to the service. | | | `object` | Specifies how metastore metadata should be integrated with external services. | | | `object` | The metadata management activities of the metastore service. | -| | `string` | Immutable. The relative resource name of the VPC network on which the instance can be accessed. It is specified in the following form:projects/{project_number}/global/networks/{network_id}. | +| | `string` | Immutable. The relative resource name of the VPC network on which the instance can be accessed. It is specified in the following form:projects/{project_number}/global/networks/{network_id}. | | | `object` | Network configuration for the Dataproc Metastore service. | | | `integer` | The TCP port at which the metastore service is reached. Default: 9083. | | | `string` | Immutable. The release channel of the service. If unspecified, defaults to STABLE. | @@ -54,6 +56,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The tier of the service. | | | `string` | Output only. The globally unique resource identifier of the metastore service. | | | `string` | Output only. The time when the metastore service was last updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -62,10 +65,227 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a metastore service in a project and location. | | | `DELETE` | | Deletes a single service. | | | `UPDATE` | | Updates the parameters of a single service. | -| | `EXEC` | | Lists services in a project and location. | | | `EXEC` | | Alter metadata resource location. The metadata resource can be a database, table, or partition. This functionality only updates the parent directory for the respective metadata resource and does not transfer any existing data to the new location. | | | `EXEC` | | Alter metadata table properties. | +| | `EXEC` | | Cancels the ongoing Managed Migration process. | +| | `EXEC` | | Completes the managed migration process. The Dataproc Metastore service will switch to using its own backend database after successful migration. | | | `EXEC` | | Exports metadata from a service. | | | `EXEC` | | Move a table to another database. | | | `EXEC` | | Query Dataproc Metastore metadata. | | | `EXEC` | | Restores a service from a backup. | +| | `EXEC` | | Starts the Managed Migration process. | + +## `SELECT` examples + +Lists services in a project and location. + +```sql +SELECT +name, +artifactGcsUri, +createTime, +databaseType, +deletionProtection, +encryptionConfig, +endpointUri, +hiveMetastoreConfig, +labels, +maintenanceWindow, +metadataIntegration, +metadataManagementActivity, +network, +networkConfig, +port, +releaseChannel, +scalingConfig, +scheduledBackup, +state, +stateMessage, +telemetryConfig, +tier, +uid, +updateTime +FROM google.metastore.services +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new services resource. + + + + +```sql +/*+ create */ +INSERT INTO google.metastore.services ( +locationsId, +projectsId, +hiveMetastoreConfig, +name, +createTime, +updateTime, +labels, +network, +endpointUri, +port, +state, +stateMessage, +artifactGcsUri, +tier, +metadataIntegration, +maintenanceWindow, +uid, +metadataManagementActivity, +releaseChannel, +encryptionConfig, +networkConfig, +databaseType, +telemetryConfig, +scalingConfig, +scheduledBackup, +deletionProtection +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ hiveMetastoreConfig }}', +'{{ name }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ labels }}', +'{{ network }}', +'{{ endpointUri }}', +'{{ port }}', +'{{ state }}', +'{{ stateMessage }}', +'{{ artifactGcsUri }}', +'{{ tier }}', +'{{ metadataIntegration }}', +'{{ maintenanceWindow }}', +'{{ uid }}', +'{{ metadataManagementActivity }}', +'{{ releaseChannel }}', +'{{ encryptionConfig }}', +'{{ networkConfig }}', +'{{ databaseType }}', +'{{ telemetryConfig }}', +'{{ scalingConfig }}', +'{{ scheduledBackup }}', +true|false +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: hiveMetastoreConfig + value: '{{ hiveMetastoreConfig }}' + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: labels + value: '{{ labels }}' + - name: network + value: '{{ network }}' + - name: endpointUri + value: '{{ endpointUri }}' + - name: port + value: '{{ port }}' + - name: state + value: '{{ state }}' + - name: stateMessage + value: '{{ stateMessage }}' + - name: artifactGcsUri + value: '{{ artifactGcsUri }}' + - name: tier + value: '{{ tier }}' + - name: metadataIntegration + value: '{{ metadataIntegration }}' + - name: maintenanceWindow + value: '{{ maintenanceWindow }}' + - name: uid + value: '{{ uid }}' + - name: metadataManagementActivity + value: '{{ metadataManagementActivity }}' + - name: releaseChannel + value: '{{ releaseChannel }}' + - name: encryptionConfig + value: '{{ encryptionConfig }}' + - name: networkConfig + value: '{{ networkConfig }}' + - name: databaseType + value: '{{ databaseType }}' + - name: telemetryConfig + value: '{{ telemetryConfig }}' + - name: scalingConfig + value: '{{ scalingConfig }}' + - name: scheduledBackup + value: '{{ scheduledBackup }}' + - name: deletionProtection + value: '{{ deletionProtection }}' + +``` + + + +## `UPDATE` example + +Updates a service only if the necessary resources are available. + +```sql +UPDATE google.metastore.services +SET +hiveMetastoreConfig = '{{ hiveMetastoreConfig }}', +name = '{{ name }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +labels = '{{ labels }}', +network = '{{ network }}', +endpointUri = '{{ endpointUri }}', +port = '{{ port }}', +state = '{{ state }}', +stateMessage = '{{ stateMessage }}', +artifactGcsUri = '{{ artifactGcsUri }}', +tier = '{{ tier }}', +metadataIntegration = '{{ metadataIntegration }}', +maintenanceWindow = '{{ maintenanceWindow }}', +uid = '{{ uid }}', +metadataManagementActivity = '{{ metadataManagementActivity }}', +releaseChannel = '{{ releaseChannel }}', +encryptionConfig = '{{ encryptionConfig }}', +networkConfig = '{{ networkConfig }}', +databaseType = '{{ databaseType }}', +telemetryConfig = '{{ telemetryConfig }}', +scalingConfig = '{{ scalingConfig }}', +scheduledBackup = '{{ scheduledBackup }}', +deletionProtection = true|false +WHERE +locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND servicesId = '{{ servicesId }}'; +``` + +## `DELETE` example + +Deletes the specified service resource. + +```sql +DELETE FROM google.metastore.services +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND servicesId = '{{ servicesId }}'; +``` diff --git a/docs/google-docs/providers/google/metastore/services_iam_policies/index.md b/docs/google-docs/providers/google/metastore/services_iam_policies/index.md index 1db4dbc69c..41f6635680 100644 --- a/docs/google-docs/providers/google/metastore/services_iam_policies/index.md +++ b/docs/google-docs/providers/google/metastore/services_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: services_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - services_iam_policies - metastore - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an services_iam_policy resource or lists services_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. members can have the following values: allUsers: A special identifier that represents anyone who is on the internet; with or without a Google account. allAuthenticatedUsers: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. user:{emailid}: An email address that represents a specific Google account. For example, alice@example.com . serviceAccount:{emailid}: An email address that represents a Google service account. For example, my-other-app@appspot.gserviceaccount.com. serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]: An identifier for a Kubernetes service account (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, my-project.svc.id.goog[my-namespace/my-kubernetes-sa]. group:{emailid}: An email address that represents a Google group. For example, admins@example.com. domain:{domain}: The G Suite domain (primary) that represents all the users of that domain. For example, google.com or example.com. principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workforce identity pool. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}: All workforce identities in a group. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All workforce identities with a specific attribute value. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*: All identities in a workforce identity pool. principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workload identity pool. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}: A workload identity pool group. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All identities in a workload identity pool with a certain attribute. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*: All identities in a workload identity pool. deleted:user:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a user that has been recently deleted. For example, alice@example.com?uid=123456789012345678901. If the user is recovered, this value reverts to user:{emailid} and the recovered user retains the role in the binding. deleted:serviceAccount:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. If the service account is undeleted, this value reverts to serviceAccount:{emailid} and the undeleted service account retains the role in the binding. deleted:group:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, admins@example.com?uid=123456789012345678901. If the group is recovered, this value reverts to group:{emailid} and the recovered group retains the role in the binding. deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: Deleted single identity in a workforce identity pool. For example, deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. members can have the following values: allUsers: A special identifier that represents anyone who is on the internet; with or without a Google account. allAuthenticatedUsers: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. user:{emailid}: An email address that represents a specific Google account. For example, alice@example.com . serviceAccount:{emailid}: An email address that represents a Google service account. For example, my-other-app@appspot.gserviceaccount.com. serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]: An identifier for a Kubernetes service account (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, my-project.svc.id.goog[my-namespace/my-kubernetes-sa]. group:{emailid}: An email address that represents a Google group. For example, admins@example.com. domain:{domain}: The G Suite domain (primary) that represents all the users of that domain. For example, google.com or example.com. principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workforce identity pool. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}: All workforce identities in a group. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All workforce identities with a specific attribute value. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*: All identities in a workforce identity pool. principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workload identity pool. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}: A workload identity pool group. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All identities in a workload identity pool with a certain attribute. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*: All identities in a workload identity pool. deleted:user:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a user that has been recently deleted. For example, alice@example.com?uid=123456789012345678901. If the user is recovered, this value reverts to user:{emailid} and the recovered user retains the role in the binding. deleted:serviceAccount:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. If the service account is undeleted, this value reverts to serviceAccount:{emailid} and the undeleted service account retains the role in the binding. deleted:group:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, admins@example.com?uid=123456789012345678901. If the group is recovered, this value reverts to group:{emailid} and the recovered group retains the role in the binding. deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: Deleted single identity in a workforce identity pool. For example, deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value. | | | `string` | Role that is assigned to the list of members, or principals. For example, roles/viewer, roles/editor, or roles/owner.For an overview of the IAM roles and permissions, see the IAM documentation (https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see here (https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.metastore.services_iam_policies +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND servicesId = '{{ servicesId }}'; +``` diff --git a/docs/google-docs/providers/google/metastore/tables_iam_policies/index.md b/docs/google-docs/providers/google/metastore/tables_iam_policies/index.md index 8dfb161ba1..081566a87e 100644 --- a/docs/google-docs/providers/google/metastore/tables_iam_policies/index.md +++ b/docs/google-docs/providers/google/metastore/tables_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: tables_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - tables_iam_policies - metastore - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an tables_iam_policy resource or lists tables_iam_policies in a region ## Overview
@@ -30,12 +32,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. members can have the following values: allUsers: A special identifier that represents anyone who is on the internet; with or without a Google account. allAuthenticatedUsers: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. user:{emailid}: An email address that represents a specific Google account. For example, alice@example.com . serviceAccount:{emailid}: An email address that represents a Google service account. For example, my-other-app@appspot.gserviceaccount.com. serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]: An identifier for a Kubernetes service account (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, my-project.svc.id.goog[my-namespace/my-kubernetes-sa]. group:{emailid}: An email address that represents a Google group. For example, admins@example.com. domain:{domain}: The G Suite domain (primary) that represents all the users of that domain. For example, google.com or example.com. principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workforce identity pool. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}: All workforce identities in a group. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All workforce identities with a specific attribute value. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*: All identities in a workforce identity pool. principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workload identity pool. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}: A workload identity pool group. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All identities in a workload identity pool with a certain attribute. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*: All identities in a workload identity pool. deleted:user:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a user that has been recently deleted. For example, alice@example.com?uid=123456789012345678901. If the user is recovered, this value reverts to user:{emailid} and the recovered user retains the role in the binding. deleted:serviceAccount:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. If the service account is undeleted, this value reverts to serviceAccount:{emailid} and the undeleted service account retains the role in the binding. deleted:group:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, admins@example.com?uid=123456789012345678901. If the group is recovered, this value reverts to group:{emailid} and the recovered group retains the role in the binding. deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: Deleted single identity in a workforce identity pool. For example, deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. members can have the following values: allUsers: A special identifier that represents anyone who is on the internet; with or without a Google account. allAuthenticatedUsers: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. user:{emailid}: An email address that represents a specific Google account. For example, alice@example.com . serviceAccount:{emailid}: An email address that represents a Google service account. For example, my-other-app@appspot.gserviceaccount.com. serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]: An identifier for a Kubernetes service account (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, my-project.svc.id.goog[my-namespace/my-kubernetes-sa]. group:{emailid}: An email address that represents a Google group. For example, admins@example.com. domain:{domain}: The G Suite domain (primary) that represents all the users of that domain. For example, google.com or example.com. principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workforce identity pool. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}: All workforce identities in a group. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All workforce identities with a specific attribute value. principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*: All identities in a workforce identity pool. principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}: A single identity in a workload identity pool. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}: A workload identity pool group. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}: All identities in a workload identity pool with a certain attribute. principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*: All identities in a workload identity pool. deleted:user:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a user that has been recently deleted. For example, alice@example.com?uid=123456789012345678901. If the user is recovered, this value reverts to user:{emailid} and the recovered user retains the role in the binding. deleted:serviceAccount:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. If the service account is undeleted, this value reverts to serviceAccount:{emailid} and the undeleted service account retains the role in the binding. deleted:group:{emailid}?uid={uniqueid}: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, admins@example.com?uid=123456789012345678901. If the group is recovered, this value reverts to group:{emailid} and the recovered group retains the role in the binding. deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: Deleted single identity in a workforce identity pool. For example, deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value. | | | `string` | Role that is assigned to the list of members, or principals. For example, roles/viewer, roles/editor, or roles/owner.For an overview of the IAM roles and permissions, see the IAM documentation (https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see here (https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.metastore.tables_iam_policies +WHERE databasesId = '{{ databasesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND servicesId = '{{ servicesId }}' +AND tablesId = '{{ tablesId }}'; +``` diff --git a/docs/google-docs/providers/google/migrationcenter/assets/index.md b/docs/google-docs/providers/google/migrationcenter/assets/index.md index 7fd00074a2..e17c7f8ecd 100644 --- a/docs/google-docs/providers/google/migrationcenter/assets/index.md +++ b/docs/google-docs/providers/google/migrationcenter/assets/index.md @@ -1,3 +1,4 @@ + --- title: assets hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - assets - migrationcenter - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an asset resource or lists assets in a region ## Overview
@@ -40,15 +42,59 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Performance data for an asset. | | | `array` | Output only. The list of sources contributing to the asset. | | | `string` | Output only. The timestamp when the asset was last updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the details of an asset. | | | `SELECT` | | Lists all the assets in a given project and location. | +| | `DELETE` | | Deletes list of Assets. | | | `DELETE` | | Deletes an asset. | +| | `UPDATE` | | Updates the parameters of a list of assets. | | | `UPDATE` | | Updates the parameters of an asset. | -| | `EXEC` | | Lists all the assets in a given project and location. | | | `EXEC` | | Aggregates the requested fields based on provided function. | -| | `EXEC` | | Deletes list of Assets. | -| | `EXEC` | | Updates the parameters of a list of assets. | | | `EXEC` | | Reports a set of frames. | + +## `SELECT` examples + +Lists all the assets in a given project and location. + +```sql +SELECT +name, +assignedGroups, +attributes, +createTime, +insightList, +labels, +machineDetails, +performanceData, +sources, +updateTime +FROM google.migrationcenter.assets +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `UPDATE` example + +Updates a asset only if the necessary resources are available. + +```sql +UPDATE google.migrationcenter.assets +SET +requests = '{{ requests }}' +WHERE +locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified asset resource. + +```sql +DELETE FROM google.migrationcenter.assets +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/migrationcenter/discovery_clients/index.md b/docs/google-docs/providers/google/migrationcenter/discovery_clients/index.md index 5adee5a01b..8bd9141f8f 100644 --- a/docs/google-docs/providers/google/migrationcenter/discovery_clients/index.md +++ b/docs/google-docs/providers/google/migrationcenter/discovery_clients/index.md @@ -1,3 +1,4 @@ + --- title: discovery_clients hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - discovery_clients - migrationcenter - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an discovery_client resource or lists discovery_clients in a region ## Overview
@@ -45,6 +47,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Optional. Input only. Client time-to-live. If specified, the backend will not accept new frames after this time. This field is input only. The derived expiration time is provided as output through the `expire_time` field. | | | `string` | Output only. Time when the discovery client was last updated. This value is not updated by heartbeats, to view the last heartbeat time please refer to the `heartbeat_time` field. | | | `string` | Output only. Client version, as reported in recent heartbeat. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -53,5 +56,165 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new discovery client. | | | `DELETE` | | Deletes a discovery client. | | | `UPDATE` | | Updates a discovery client. | -| | `EXEC` | | Lists all the discovery clients in a given project and location. | | | `EXEC` | | Sends a discovery client heartbeat. Healthy clients are expected to send heartbeats regularly (normally every few minutes). | + +## `SELECT` examples + +Lists all the discovery clients in a given project and location. + +```sql +SELECT +name, +description, +createTime, +displayName, +errors, +expireTime, +heartbeatTime, +labels, +serviceAccount, +signalsEndpoint, +source, +state, +ttl, +updateTime, +version +FROM google.migrationcenter.discovery_clients +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new discovery_clients resource. + + + + +```sql +/*+ create */ +INSERT INTO google.migrationcenter.discovery_clients ( +locationsId, +projectsId, +name, +createTime, +updateTime, +source, +serviceAccount, +signalsEndpoint, +displayName, +description, +labels, +state, +version, +errors, +heartbeatTime, +expireTime, +ttl +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ source }}', +'{{ serviceAccount }}', +'{{ signalsEndpoint }}', +'{{ displayName }}', +'{{ description }}', +'{{ labels }}', +'{{ state }}', +'{{ version }}', +'{{ errors }}', +'{{ heartbeatTime }}', +'{{ expireTime }}', +'{{ ttl }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: source + value: '{{ source }}' + - name: serviceAccount + value: '{{ serviceAccount }}' + - name: signalsEndpoint + value: '{{ signalsEndpoint }}' + - name: displayName + value: '{{ displayName }}' + - name: description + value: '{{ description }}' + - name: labels + value: '{{ labels }}' + - name: state + value: '{{ state }}' + - name: version + value: '{{ version }}' + - name: errors + value: '{{ errors }}' + - name: heartbeatTime + value: '{{ heartbeatTime }}' + - name: expireTime + value: '{{ expireTime }}' + - name: ttl + value: '{{ ttl }}' + +``` + + + +## `UPDATE` example + +Updates a discovery_client only if the necessary resources are available. + +```sql +UPDATE google.migrationcenter.discovery_clients +SET +name = '{{ name }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +source = '{{ source }}', +serviceAccount = '{{ serviceAccount }}', +signalsEndpoint = '{{ signalsEndpoint }}', +displayName = '{{ displayName }}', +description = '{{ description }}', +labels = '{{ labels }}', +state = '{{ state }}', +version = '{{ version }}', +errors = '{{ errors }}', +heartbeatTime = '{{ heartbeatTime }}', +expireTime = '{{ expireTime }}', +ttl = '{{ ttl }}' +WHERE +discoveryClientsId = '{{ discoveryClientsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified discovery_client resource. + +```sql +DELETE FROM google.migrationcenter.discovery_clients +WHERE discoveryClientsId = '{{ discoveryClientsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/migrationcenter/error_frames/index.md b/docs/google-docs/providers/google/migrationcenter/error_frames/index.md index d4b1256dcd..8fa54449a5 100644 --- a/docs/google-docs/providers/google/migrationcenter/error_frames/index.md +++ b/docs/google-docs/providers/google/migrationcenter/error_frames/index.md @@ -1,3 +1,4 @@ + --- title: error_frames hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - error_frames - migrationcenter - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an error_frame resource or lists error_frames in a region ## Overview
@@ -34,9 +36,25 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Frame ingestion time. | | | `object` | Contains data reported from an inventory source on an asset. | | | `array` | Output only. All the violations that were detected for the frame. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the details of an error frame. | | | `SELECT` | | Lists all error frames in a given source and location. | -| | `EXEC` | | Lists all error frames in a given source and location. | + +## `SELECT` examples + +Lists all error frames in a given source and location. + +```sql +SELECT +name, +ingestionTime, +originalFrame, +violations +FROM google.migrationcenter.error_frames +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND sourcesId = '{{ sourcesId }}'; +``` diff --git a/docs/google-docs/providers/google/migrationcenter/groups/index.md b/docs/google-docs/providers/google/migrationcenter/groups/index.md index 536382499b..d593269798 100644 --- a/docs/google-docs/providers/google/migrationcenter/groups/index.md +++ b/docs/google-docs/providers/google/migrationcenter/groups/index.md @@ -1,3 +1,4 @@ + --- title: groups hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - groups - migrationcenter - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an group resource or lists groups in a region ## Overview
@@ -36,6 +38,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Optional. User-friendly display name. | | | `object` | Labels as key value pairs. | | | `string` | Output only. The timestamp when the group was last updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -44,4 +47,110 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new group in a given project and location. | | | `DELETE` | | Deletes a group. | | | `UPDATE` | | Updates the parameters of a group. | -| | `EXEC` | | Lists all groups in a given project and location. | + +## `SELECT` examples + +Lists all groups in a given project and location. + +```sql +SELECT +name, +description, +createTime, +displayName, +labels, +updateTime +FROM google.migrationcenter.groups +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new groups resource. + + + + +```sql +/*+ create */ +INSERT INTO google.migrationcenter.groups ( +locationsId, +projectsId, +name, +createTime, +updateTime, +labels, +displayName, +description +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ labels }}', +'{{ displayName }}', +'{{ description }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: labels + value: '{{ labels }}' + - name: displayName + value: '{{ displayName }}' + - name: description + value: '{{ description }}' + +``` + + + +## `UPDATE` example + +Updates a group only if the necessary resources are available. + +```sql +UPDATE google.migrationcenter.groups +SET +name = '{{ name }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +labels = '{{ labels }}', +displayName = '{{ displayName }}', +description = '{{ description }}' +WHERE +groupsId = '{{ groupsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified group resource. + +```sql +DELETE FROM google.migrationcenter.groups +WHERE groupsId = '{{ groupsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/migrationcenter/groups_assets/index.md b/docs/google-docs/providers/google/migrationcenter/groups_assets/index.md index af08743f94..31ea5a470c 100644 --- a/docs/google-docs/providers/google/migrationcenter/groups_assets/index.md +++ b/docs/google-docs/providers/google/migrationcenter/groups_assets/index.md @@ -1,3 +1,4 @@ + --- title: groups_assets hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - groups_assets - migrationcenter - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an groups_asset resource or lists groups_assets in a region ## Overview
@@ -28,9 +30,72 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| -| | `EXEC` | | Adds assets to a group. | -| | `EXEC` | | Removes assets from a group. | +| | `INSERT` | | Adds assets to a group. | +| | `DELETE` | | Removes assets from a group. | + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new groups_assets resource. + + + + +```sql +/*+ create */ +INSERT INTO google.migrationcenter.groups_assets ( +groupsId, +locationsId, +projectsId, +requestId, +assets, +allowExisting +) +SELECT +'{{ groupsId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ requestId }}', +'{{ assets }}', +true|false +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: requestId + value: '{{ requestId }}' + - name: assets + value: '{{ assets }}' + - name: allowExisting + value: '{{ allowExisting }}' + +``` + + + +## `DELETE` example + +Deletes the specified groups_asset resource. + +```sql +DELETE FROM google.migrationcenter.groups_assets +WHERE groupsId = '{{ groupsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/migrationcenter/import_data_files/index.md b/docs/google-docs/providers/google/migrationcenter/import_data_files/index.md index 58a2ae591d..31cca37941 100644 --- a/docs/google-docs/providers/google/migrationcenter/import_data_files/index.md +++ b/docs/google-docs/providers/google/migrationcenter/import_data_files/index.md @@ -1,3 +1,4 @@ + --- title: import_data_files hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - import_data_files - migrationcenter - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an import_data_file resource or lists import_data_files in a region ## Overview @@ -36,6 +38,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Required. The payload format. | | | `string` | Output only. The state of the import data file. | | | `object` | A resource that contains a URI to which a data file can be uploaded. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -43,4 +46,95 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | List import data files. | | | `INSERT` | | Creates an import data file. | | | `DELETE` | | Delete an import data file. | -| | `EXEC` | | List import data files. | + +## `SELECT` examples + +List import data files. + +```sql +SELECT +name, +createTime, +displayName, +format, +state, +uploadFileInfo +FROM google.migrationcenter.import_data_files +WHERE importJobsId = '{{ importJobsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new import_data_files resource. + + + + +```sql +/*+ create */ +INSERT INTO google.migrationcenter.import_data_files ( +importJobsId, +locationsId, +projectsId, +name, +displayName, +format, +createTime, +state, +uploadFileInfo +) +SELECT +'{{ importJobsId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ displayName }}', +'{{ format }}', +'{{ createTime }}', +'{{ state }}', +'{{ uploadFileInfo }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: format + value: '{{ format }}' + - name: createTime + value: '{{ createTime }}' + - name: state + value: '{{ state }}' + - name: uploadFileInfo + value: '{{ uploadFileInfo }}' + +``` + + + +## `DELETE` example + +Deletes the specified import_data_file resource. + +```sql +DELETE FROM google.migrationcenter.import_data_files +WHERE importDataFilesId = '{{ importDataFilesId }}' +AND importJobsId = '{{ importJobsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/migrationcenter/import_jobs/index.md b/docs/google-docs/providers/google/migrationcenter/import_jobs/index.md index 1aa3fc4b02..173cf4117a 100644 --- a/docs/google-docs/providers/google/migrationcenter/import_jobs/index.md +++ b/docs/google-docs/providers/google/migrationcenter/import_jobs/index.md @@ -1,3 +1,4 @@ + --- title: import_jobs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - import_jobs - migrationcenter - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an import_job resource or lists import_jobs in a region ## Overview
@@ -40,6 +42,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The state of the import job. | | | `string` | Output only. The timestamp when the import job was last updated. | | | `object` | A resource that aggregates errors across import job files. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -48,6 +51,136 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates an import job. | | | `DELETE` | | Deletes an import job. | | | `UPDATE` | | Updates an import job. | -| | `EXEC` | | Lists all import jobs. | | | `EXEC` | | Runs an import job. | | | `EXEC` | | Validates an import job. | + +## `SELECT` examples + +Lists all import jobs. + +```sql +SELECT +name, +assetSource, +completeTime, +createTime, +displayName, +executionReport, +labels, +state, +updateTime, +validationReport +FROM google.migrationcenter.import_jobs +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new import_jobs resource. + + + + +```sql +/*+ create */ +INSERT INTO google.migrationcenter.import_jobs ( +locationsId, +projectsId, +name, +displayName, +createTime, +updateTime, +completeTime, +state, +labels, +assetSource, +validationReport, +executionReport +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ displayName }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ completeTime }}', +'{{ state }}', +'{{ labels }}', +'{{ assetSource }}', +'{{ validationReport }}', +'{{ executionReport }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: completeTime + value: '{{ completeTime }}' + - name: state + value: '{{ state }}' + - name: labels + value: '{{ labels }}' + - name: assetSource + value: '{{ assetSource }}' + - name: validationReport + value: '{{ validationReport }}' + - name: executionReport + value: '{{ executionReport }}' + +``` + + + +## `UPDATE` example + +Updates a import_job only if the necessary resources are available. + +```sql +UPDATE google.migrationcenter.import_jobs +SET +name = '{{ name }}', +displayName = '{{ displayName }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +completeTime = '{{ completeTime }}', +state = '{{ state }}', +labels = '{{ labels }}', +assetSource = '{{ assetSource }}', +validationReport = '{{ validationReport }}', +executionReport = '{{ executionReport }}' +WHERE +importJobsId = '{{ importJobsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified import_job resource. + +```sql +DELETE FROM google.migrationcenter.import_jobs +WHERE importJobsId = '{{ importJobsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/migrationcenter/index.md b/docs/google-docs/providers/google/migrationcenter/index.md index ebaf055ca0..f7be030845 100644 --- a/docs/google-docs/providers/google/migrationcenter/index.md +++ b/docs/google-docs/providers/google/migrationcenter/index.md @@ -9,34 +9,23 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -A unified platform that helps you accelerate your end-to-end cloud journey from your current on-premises or cloud environments to Google Cloud. - +The migrationcenter service documentation. + :::info Service Summary
total resources: 14
-total selectable resources: 13
-total methods: 72
::: -## Overview -
- - - - - -
Namegoogle.migrationcenter
TypeService
TitleMigration Center API
DescriptionA unified platform that helps you accelerate your end-to-end cloud journey from your current on-premises or cloud environments to Google Cloud.
Idmigrationcenter:v24.06.00236
- ## Resources
@@ -46,7 +35,7 @@ A unified platform that helps you accelerate your end-to-end cloud journey from groups
groups_assets
import_data_files
-import_jobs
+import_jobs
locations
@@ -55,6 +44,6 @@ A unified platform that helps you accelerate your end-to-end cloud journey from report_configs
reports
settings
-sources
-
+sources
+ \ No newline at end of file diff --git a/docs/google-docs/providers/google/migrationcenter/locations/index.md b/docs/google-docs/providers/google/migrationcenter/locations/index.md index 912d910310..0b1f320be9 100644 --- a/docs/google-docs/providers/google/migrationcenter/locations/index.md +++ b/docs/google-docs/providers/google/migrationcenter/locations/index.md @@ -1,3 +1,4 @@ + --- title: locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - locations - migrationcenter - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an location resource or lists locations in a region ## Overview @@ -32,12 +34,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` | | | `string` | The friendly name for this location, typically a nearby city name. For example, "Tokyo". | -| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | +| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | | | `string` | The canonical id for this location. For example: `"us-east1"`. | | | `object` | Service-specific metadata. For example the available capacity at the given location. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about a location. | | | `SELECT` | | Lists information about the supported locations for this service. | -| | `EXEC` | | Lists information about the supported locations for this service. | + +## `SELECT` examples + +Lists information about the supported locations for this service. + +```sql +SELECT +name, +displayName, +labels, +locationId, +metadata +FROM google.migrationcenter.locations +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/migrationcenter/operations/index.md b/docs/google-docs/providers/google/migrationcenter/operations/index.md index 06b697bb84..b3fbd242bd 100644 --- a/docs/google-docs/providers/google/migrationcenter/operations/index.md +++ b/docs/google-docs/providers/google/migrationcenter/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - migrationcenter - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview
@@ -30,16 +32,43 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.migrationcenter.operations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified operation resource. + +```sql +DELETE FROM google.migrationcenter.operations +WHERE locationsId = '{{ locationsId }}' +AND operationsId = '{{ operationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/migrationcenter/preference_sets/index.md b/docs/google-docs/providers/google/migrationcenter/preference_sets/index.md index 9111bc9209..4693101aee 100644 --- a/docs/google-docs/providers/google/migrationcenter/preference_sets/index.md +++ b/docs/google-docs/providers/google/migrationcenter/preference_sets/index.md @@ -1,3 +1,4 @@ + --- title: preference_sets hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - preference_sets - migrationcenter - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an preference_set resource or lists preference_sets in a region ## Overview
@@ -36,6 +38,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | User-friendly display name. Maximum length is 63 characters. | | | `string` | Output only. The timestamp when the preference set was last updated. | | | `object` | VirtualMachinePreferences enables you to create sets of assumptions, for example, a geographical location and pricing track, for your migrated virtual machines. The set of preferences influence recommendations for migrating virtual machine assets. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -44,4 +47,110 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new preference set in a given project and location. | | | `DELETE` | | Deletes a preference set. | | | `UPDATE` | | Updates the parameters of a preference set. | -| | `EXEC` | | Lists all the preference sets in a given project and location. | + +## `SELECT` examples + +Lists all the preference sets in a given project and location. + +```sql +SELECT +name, +description, +createTime, +displayName, +updateTime, +virtualMachinePreferences +FROM google.migrationcenter.preference_sets +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new preference_sets resource. + + + + +```sql +/*+ create */ +INSERT INTO google.migrationcenter.preference_sets ( +locationsId, +projectsId, +name, +createTime, +updateTime, +displayName, +description, +virtualMachinePreferences +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ displayName }}', +'{{ description }}', +'{{ virtualMachinePreferences }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: displayName + value: '{{ displayName }}' + - name: description + value: '{{ description }}' + - name: virtualMachinePreferences + value: '{{ virtualMachinePreferences }}' + +``` + + + +## `UPDATE` example + +Updates a preference_set only if the necessary resources are available. + +```sql +UPDATE google.migrationcenter.preference_sets +SET +name = '{{ name }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +displayName = '{{ displayName }}', +description = '{{ description }}', +virtualMachinePreferences = '{{ virtualMachinePreferences }}' +WHERE +locationsId = '{{ locationsId }}' +AND preferenceSetsId = '{{ preferenceSetsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified preference_set resource. + +```sql +DELETE FROM google.migrationcenter.preference_sets +WHERE locationsId = '{{ locationsId }}' +AND preferenceSetsId = '{{ preferenceSetsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/migrationcenter/report_configs/index.md b/docs/google-docs/providers/google/migrationcenter/report_configs/index.md index 407380fe40..68504bea36 100644 --- a/docs/google-docs/providers/google/migrationcenter/report_configs/index.md +++ b/docs/google-docs/providers/google/migrationcenter/report_configs/index.md @@ -1,3 +1,4 @@ + --- title: report_configs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - report_configs - migrationcenter - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an report_config resource or lists report_configs in a region ## Overview
@@ -36,6 +38,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | User-friendly display name. Maximum length is 63 characters. | | | `array` | Required. Collection of combinations of groups and preference sets. | | | `string` | Output only. The timestamp when the resource was last updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -43,4 +46,91 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists ReportConfigs in a given project and location. | | | `INSERT` | | Creates a report configuration. | | | `DELETE` | | Deletes a ReportConfig. | -| | `EXEC` | | Lists ReportConfigs in a given project and location. | + +## `SELECT` examples + +Lists ReportConfigs in a given project and location. + +```sql +SELECT +name, +description, +createTime, +displayName, +groupPreferencesetAssignments, +updateTime +FROM google.migrationcenter.report_configs +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new report_configs resource. + + + + +```sql +/*+ create */ +INSERT INTO google.migrationcenter.report_configs ( +locationsId, +projectsId, +name, +createTime, +updateTime, +displayName, +description, +groupPreferencesetAssignments +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ displayName }}', +'{{ description }}', +'{{ groupPreferencesetAssignments }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: displayName + value: '{{ displayName }}' + - name: description + value: '{{ description }}' + - name: groupPreferencesetAssignments + value: '{{ groupPreferencesetAssignments }}' + +``` + + + +## `DELETE` example + +Deletes the specified report_config resource. + +```sql +DELETE FROM google.migrationcenter.report_configs +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND reportConfigsId = '{{ reportConfigsId }}'; +``` diff --git a/docs/google-docs/providers/google/migrationcenter/reports/index.md b/docs/google-docs/providers/google/migrationcenter/reports/index.md index a4df108e14..a3617052df 100644 --- a/docs/google-docs/providers/google/migrationcenter/reports/index.md +++ b/docs/google-docs/providers/google/migrationcenter/reports/index.md @@ -1,3 +1,4 @@ + --- title: reports hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - reports - migrationcenter - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an report resource or lists reports in a region ## Overview
@@ -38,6 +40,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Describes the Summary view of a Report, which contains aggregated values for all the groups and preference sets included in this Report. | | | `string` | Report type. | | | `string` | Output only. Last update timestamp. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -45,4 +48,105 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists Reports in a given ReportConfig. | | | `INSERT` | | Creates a report. | | | `DELETE` | | Deletes a Report. | -| | `EXEC` | | Lists Reports in a given ReportConfig. | + +## `SELECT` examples + +Lists Reports in a given ReportConfig. + +```sql +SELECT +name, +description, +createTime, +displayName, +state, +summary, +type, +updateTime +FROM google.migrationcenter.reports +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND reportConfigsId = '{{ reportConfigsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new reports resource. + + + + +```sql +/*+ create */ +INSERT INTO google.migrationcenter.reports ( +locationsId, +projectsId, +reportConfigsId, +name, +createTime, +updateTime, +displayName, +description, +type, +state, +summary +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ reportConfigsId }}', +'{{ name }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ displayName }}', +'{{ description }}', +'{{ type }}', +'{{ state }}', +'{{ summary }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: displayName + value: '{{ displayName }}' + - name: description + value: '{{ description }}' + - name: type + value: '{{ type }}' + - name: state + value: '{{ state }}' + - name: summary + value: '{{ summary }}' + +``` + + + +## `DELETE` example + +Deletes the specified report resource. + +```sql +DELETE FROM google.migrationcenter.reports +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND reportConfigsId = '{{ reportConfigsId }}' +AND reportsId = '{{ reportsId }}'; +``` diff --git a/docs/google-docs/providers/google/migrationcenter/settings/index.md b/docs/google-docs/providers/google/migrationcenter/settings/index.md index 1314a7489a..5d0fc2c075 100644 --- a/docs/google-docs/providers/google/migrationcenter/settings/index.md +++ b/docs/google-docs/providers/google/migrationcenter/settings/index.md @@ -1,3 +1,4 @@ + --- title: settings hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - settings - migrationcenter - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an setting resource or lists settings in a region ## Overview
@@ -33,8 +35,38 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The name of the resource. | | | `boolean` | Disable Cloud Logging for the Migration Center API. Users are billed for the logs. | | | `string` | The preference set used by default for a project. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the details of regional settings. | -| | `EXEC` | | Updates the regional-level project settings. | +| | `UPDATE` | | Updates the regional-level project settings. | + +## `SELECT` examples + +Gets the details of regional settings. + +```sql +SELECT +name, +disableCloudLogging, +preferenceSet +FROM google.migrationcenter.settings +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `UPDATE` example + +Updates a setting only if the necessary resources are available. + +```sql +UPDATE google.migrationcenter.settings +SET +name = '{{ name }}', +preferenceSet = '{{ preferenceSet }}', +disableCloudLogging = true|false +WHERE +locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/migrationcenter/sources/index.md b/docs/google-docs/providers/google/migrationcenter/sources/index.md index 1898558542..c3e5e89dbf 100644 --- a/docs/google-docs/providers/google/migrationcenter/sources/index.md +++ b/docs/google-docs/providers/google/migrationcenter/sources/index.md @@ -1,3 +1,4 @@ + --- title: sources hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - sources - migrationcenter - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an source resource or lists sources in a region ## Overview
@@ -41,6 +43,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The state of the source. | | | `string` | Data source type. | | | `string` | Output only. The timestamp when the source was last updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -49,4 +52,140 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new source in a given project and location. | | | `DELETE` | | Deletes a source. | | | `UPDATE` | | Updates the parameters of a source. | -| | `EXEC` | | Lists all the sources in a given project and location. | + +## `SELECT` examples + +Lists all the sources in a given project and location. + +```sql +SELECT +name, +description, +createTime, +displayName, +errorFrameCount, +managed, +pendingFrameCount, +priority, +state, +type, +updateTime +FROM google.migrationcenter.sources +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new sources resource. + + + + +```sql +/*+ create */ +INSERT INTO google.migrationcenter.sources ( +locationsId, +projectsId, +name, +createTime, +updateTime, +displayName, +description, +type, +priority, +managed, +pendingFrameCount, +errorFrameCount, +state +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ displayName }}', +'{{ description }}', +'{{ type }}', +'{{ priority }}', +true|false, +'{{ pendingFrameCount }}', +'{{ errorFrameCount }}', +'{{ state }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: displayName + value: '{{ displayName }}' + - name: description + value: '{{ description }}' + - name: type + value: '{{ type }}' + - name: priority + value: '{{ priority }}' + - name: managed + value: '{{ managed }}' + - name: pendingFrameCount + value: '{{ pendingFrameCount }}' + - name: errorFrameCount + value: '{{ errorFrameCount }}' + - name: state + value: '{{ state }}' + +``` + + + +## `UPDATE` example + +Updates a source only if the necessary resources are available. + +```sql +UPDATE google.migrationcenter.sources +SET +name = '{{ name }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +displayName = '{{ displayName }}', +description = '{{ description }}', +type = '{{ type }}', +priority = '{{ priority }}', +managed = true|false, +pendingFrameCount = '{{ pendingFrameCount }}', +errorFrameCount = '{{ errorFrameCount }}', +state = '{{ state }}' +WHERE +locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND sourcesId = '{{ sourcesId }}'; +``` + +## `DELETE` example + +Deletes the specified source resource. + +```sql +DELETE FROM google.migrationcenter.sources +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND sourcesId = '{{ sourcesId }}'; +``` diff --git a/docs/google-docs/providers/google/ml/config/index.md b/docs/google-docs/providers/google/ml/config/index.md index 9fcbe8fafc..fa0c7d265c 100644 --- a/docs/google-docs/providers/google/ml/config/index.md +++ b/docs/google-docs/providers/google/ml/config/index.md @@ -1,3 +1,4 @@ + --- title: config hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - config - ml - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an config resource or lists config in a region ## Overview
@@ -33,7 +35,21 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | | | | `string` | The service account Cloud ML uses to access resources in the project. | | | `string` | The project number for `service_account`. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Get the service account information associated with your project. You need this information in order to grant the service account permissions for the Google Cloud Storage location where you put your model training code for training the model with Google Cloud Machine Learning. | + +## `SELECT` examples + +Get the service account information associated with your project. You need this information in order to grant the service account permissions for the Google Cloud Storage location where you put your model training code for training the model with Google Cloud Machine Learning. + +```sql +SELECT +config, +serviceAccount, +serviceAccountProject +FROM google.ml.config +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/ml/index.md b/docs/google-docs/providers/google/ml/index.md index 7a96de01cd..f9fe11362b 100644 --- a/docs/google-docs/providers/google/ml/index.md +++ b/docs/google-docs/providers/google/ml/index.md @@ -9,34 +9,23 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -An API to enable creating and using machine learning models. - +The ml service documentation. + :::info Service Summary
total resources: 13
-total selectable resources: 10
-total methods: 53
::: -## Overview -
- - - - - -
Namegoogle.ml
TypeService
TitleAI Platform Training & Prediction API
DescriptionAn API to enable creating and using machine learning models.
Idml:v24.06.00236
- ## Resources
@@ -46,7 +35,7 @@ An API to enable creating and using machine learning models. locations
models
models_iam_policies
-operations
+operations
projects
@@ -54,6 +43,6 @@ An API to enable creating and using machine learning models. trials
trials_measurement
trials_optimal_trials
-versions
-
+versions
+ \ No newline at end of file diff --git a/docs/google-docs/providers/google/ml/jobs/index.md b/docs/google-docs/providers/google/ml/jobs/index.md index 16e3c630c9..2fefa1336a 100644 --- a/docs/google-docs/providers/google/ml/jobs/index.md +++ b/docs/google-docs/providers/google/ml/jobs/index.md @@ -1,3 +1,4 @@ + --- title: jobs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - jobs - ml - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an job resource or lists jobs in a region ## Overview @@ -43,12 +45,146 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The detailed state of a job. | | | `object` | Represents input parameters for a training job. When using the gcloud command to submit your training job, you can specify the input parameters as command-line arguments and/or in a YAML configuration file referenced from the --config command-line argument. For details, see the guide to [submitting a training job](/ai-platform/training/docs/training-jobs). | | | `object` | Represents results of a training job. Output only. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Describes a job. | -| | `SELECT` | | Lists the jobs in the project. If there are no jobs that match the request parameters, the list request returns an empty response body: {}. | +| | `SELECT` | | Lists the jobs in the project. If there are no jobs that match the request parameters, the list request returns an empty response body: {}. | | | `INSERT` | | Creates a training or a batch prediction job. | | | `UPDATE` | | Updates a specific job resource. Currently the only supported fields to update are `labels`. | -| | `EXEC` | | Lists the jobs in the project. If there are no jobs that match the request parameters, the list request returns an empty response body: {}. | | | `EXEC` | | Cancels a running job. | + +## `SELECT` examples + +Lists the jobs in the project. If there are no jobs that match the request parameters, the list request returns an empty response body: {}. + +```sql +SELECT +createTime, +endTime, +errorMessage, +etag, +jobId, +jobPosition, +labels, +predictionInput, +predictionOutput, +startTime, +state, +trainingInput, +trainingOutput +FROM google.ml.jobs +WHERE projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new jobs resource. + + + + +```sql +/*+ create */ +INSERT INTO google.ml.jobs ( +projectsId, +jobId, +trainingInput, +predictionInput, +createTime, +startTime, +endTime, +state, +errorMessage, +trainingOutput, +predictionOutput, +labels, +etag, +jobPosition +) +SELECT +'{{ projectsId }}', +'{{ jobId }}', +'{{ trainingInput }}', +'{{ predictionInput }}', +'{{ createTime }}', +'{{ startTime }}', +'{{ endTime }}', +'{{ state }}', +'{{ errorMessage }}', +'{{ trainingOutput }}', +'{{ predictionOutput }}', +'{{ labels }}', +'{{ etag }}', +'{{ jobPosition }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: jobId + value: '{{ jobId }}' + - name: trainingInput + value: '{{ trainingInput }}' + - name: predictionInput + value: '{{ predictionInput }}' + - name: createTime + value: '{{ createTime }}' + - name: startTime + value: '{{ startTime }}' + - name: endTime + value: '{{ endTime }}' + - name: state + value: '{{ state }}' + - name: errorMessage + value: '{{ errorMessage }}' + - name: trainingOutput + value: '{{ trainingOutput }}' + - name: predictionOutput + value: '{{ predictionOutput }}' + - name: labels + value: '{{ labels }}' + - name: etag + value: '{{ etag }}' + - name: jobPosition + value: '{{ jobPosition }}' + +``` + + + +## `UPDATE` example + +Updates a job only if the necessary resources are available. + +```sql +UPDATE google.ml.jobs +SET +jobId = '{{ jobId }}', +trainingInput = '{{ trainingInput }}', +predictionInput = '{{ predictionInput }}', +createTime = '{{ createTime }}', +startTime = '{{ startTime }}', +endTime = '{{ endTime }}', +state = '{{ state }}', +errorMessage = '{{ errorMessage }}', +trainingOutput = '{{ trainingOutput }}', +predictionOutput = '{{ predictionOutput }}', +labels = '{{ labels }}', +etag = '{{ etag }}', +jobPosition = '{{ jobPosition }}' +WHERE +jobsId = '{{ jobsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/ml/jobs_iam_policies/index.md b/docs/google-docs/providers/google/ml/jobs_iam_policies/index.md index db52105023..2d2a0e6f66 100644 --- a/docs/google-docs/providers/google/ml/jobs_iam_policies/index.md +++ b/docs/google-docs/providers/google/ml/jobs_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: jobs_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - jobs_iam_policies - ml - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an jobs_iam_policy resource or lists jobs_iam_policies in a region ## Overview
@@ -30,13 +32,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.ml.jobs_iam_policies +WHERE jobsId = '{{ jobsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/ml/locations/index.md b/docs/google-docs/providers/google/ml/locations/index.md index ef80cadda1..0056398327 100644 --- a/docs/google-docs/providers/google/ml/locations/index.md +++ b/docs/google-docs/providers/google/ml/locations/index.md @@ -1,3 +1,4 @@ + --- title: locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - locations - ml - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an location resource or lists locations in a region ## Overview
@@ -32,9 +34,21 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | | | | `array` | Capabilities available in the location. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Get the complete list of CMLE capabilities in a location, along with their location-specific properties. | | | `SELECT` | | List all locations that provides at least one type of CMLE capability. | -| | `EXEC` | | List all locations that provides at least one type of CMLE capability. | + +## `SELECT` examples + +List all locations that provides at least one type of CMLE capability. + +```sql +SELECT +name, +capabilities +FROM google.ml.locations +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/ml/models/index.md b/docs/google-docs/providers/google/ml/models/index.md index 978bdccf77..012ed2863d 100644 --- a/docs/google-docs/providers/google/ml/models/index.md +++ b/docs/google-docs/providers/google/ml/models/index.md @@ -1,3 +1,4 @@ + --- title: models hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - models - ml - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an model resource or lists models in a region ## Overview
@@ -38,12 +40,126 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `boolean` | Optional. If true, online prediction nodes send `stderr` and `stdout` streams to Cloud Logging. These can be more verbose than the standard access logs (see `onlinePredictionLogging`) and can incur higher cost. However, they are helpful for debugging. Note that [logs may incur a cost](/stackdriver/pricing), especially if your project receives prediction requests at a high QPS. Estimate your costs before enabling this option. Default is false. | | | `boolean` | Optional. If true, online prediction access logs are sent to Cloud Logging. These logs are like standard server access logs, containing information like timestamp and latency for each request. Note that [logs may incur a cost](/stackdriver/pricing), especially if your project receives prediction requests at a high queries per second rate (QPS). Estimate your costs before enabling this option. Default is false. | | | `array` | Optional. The list of regions where the model is going to be deployed. Only one region per model is supported. Defaults to 'us-central1' if nothing is set. See the available regions for AI Platform services. Note: * No matter where a model is deployed, it can always be accessed by users from anywhere, both for online and batch prediction. * The region for a batch prediction job is set by the region field when submitting the batch prediction job and does not take its value from this field. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about a model, including its name, the description (if set), and the default version (if at least one version of the model has been deployed). | -| | `SELECT` | | Lists the models in a project. Each project can contain multiple models, and each model can have multiple versions. If there are no models that match the request parameters, the list request returns an empty response body: {}. | +| | `SELECT` | | Lists the models in a project. Each project can contain multiple models, and each model can have multiple versions. If there are no models that match the request parameters, the list request returns an empty response body: {}. | | | `INSERT` | | Creates a model which will later contain one or more versions. You must add at least one version before you can request predictions from the model. Add versions by calling projects.models.versions.create. | | | `DELETE` | | Deletes a model. You can only delete a model if there are no versions in it. You can delete versions by calling projects.models.versions.delete. | | | `UPDATE` | | Updates a specific model resource. Currently the only supported fields to update are `description` and `default_version.name`. | -| | `EXEC` | | Lists the models in a project. Each project can contain multiple models, and each model can have multiple versions. If there are no models that match the request parameters, the list request returns an empty response body: {}. | + +## `SELECT` examples + +Lists the models in a project. Each project can contain multiple models, and each model can have multiple versions. If there are no models that match the request parameters, the list request returns an empty response body: {}. + +```sql +SELECT +name, +description, +defaultVersion, +etag, +labels, +onlinePredictionConsoleLogging, +onlinePredictionLogging, +regions +FROM google.ml.models +WHERE projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new models resource. + + + + +```sql +/*+ create */ +INSERT INTO google.ml.models ( +projectsId, +name, +description, +defaultVersion, +regions, +onlinePredictionLogging, +onlinePredictionConsoleLogging, +labels, +etag +) +SELECT +'{{ projectsId }}', +'{{ name }}', +'{{ description }}', +'{{ defaultVersion }}', +'{{ regions }}', +true|false, +true|false, +'{{ labels }}', +'{{ etag }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: defaultVersion + value: '{{ defaultVersion }}' + - name: regions + value: '{{ regions }}' + - name: onlinePredictionLogging + value: '{{ onlinePredictionLogging }}' + - name: onlinePredictionConsoleLogging + value: '{{ onlinePredictionConsoleLogging }}' + - name: labels + value: '{{ labels }}' + - name: etag + value: '{{ etag }}' + +``` + + + +## `UPDATE` example + +Updates a model only if the necessary resources are available. + +```sql +UPDATE google.ml.models +SET +name = '{{ name }}', +description = '{{ description }}', +defaultVersion = '{{ defaultVersion }}', +regions = '{{ regions }}', +onlinePredictionLogging = true|false, +onlinePredictionConsoleLogging = true|false, +labels = '{{ labels }}', +etag = '{{ etag }}' +WHERE +modelsId = '{{ modelsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified model resource. + +```sql +DELETE FROM google.ml.models +WHERE modelsId = '{{ modelsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/ml/models_iam_policies/index.md b/docs/google-docs/providers/google/ml/models_iam_policies/index.md index 0d994fd28f..331657cea8 100644 --- a/docs/google-docs/providers/google/ml/models_iam_policies/index.md +++ b/docs/google-docs/providers/google/ml/models_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: models_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - models_iam_policies - ml - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an models_iam_policy resource or lists models_iam_policies in a region ## Overview
@@ -30,13 +32,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.ml.models_iam_policies +WHERE modelsId = '{{ modelsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/ml/operations/index.md b/docs/google-docs/providers/google/ml/operations/index.md index 654b8602a0..76e5f088a1 100644 --- a/docs/google-docs/providers/google/ml/operations/index.md +++ b/docs/google-docs/providers/google/ml/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - ml - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview
@@ -30,17 +32,32 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.ml.operations +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/ml/projects/index.md b/docs/google-docs/providers/google/ml/projects/index.md index bc2195e3f0..0e5d9578ef 100644 --- a/docs/google-docs/providers/google/ml/projects/index.md +++ b/docs/google-docs/providers/google/ml/projects/index.md @@ -1,3 +1,4 @@ + --- title: projects hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - projects - ml - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an project resource or lists projects in a region ## Overview
@@ -28,9 +30,11 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| -| | `EXEC` | | Performs explanation on the data in the request. {% dynamic include "/ai-platform/includes/___explain-request" %} | -| | `EXEC` | | Performs online prediction on the data in the request. {% dynamic include "/ai-platform/includes/___predict-request" %} | +| | `EXEC` | | Performs explanation on the data in the request. {% dynamic include "/ai-platform/includes/___explain-request" %} | +| | `EXEC` | | Performs online prediction on the data in the request. {% dynamic include "/ai-platform/includes/___predict-request" %} | diff --git a/docs/google-docs/providers/google/ml/studies/index.md b/docs/google-docs/providers/google/ml/studies/index.md index eced3695d3..e867100bbe 100644 --- a/docs/google-docs/providers/google/ml/studies/index.md +++ b/docs/google-docs/providers/google/ml/studies/index.md @@ -1,3 +1,4 @@ + --- title: studies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - studies - ml - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an study resource or lists studies in a region ## Overview @@ -35,6 +37,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. A human readable reason why the Study is inactive. This should be empty if a study is ACTIVE or COMPLETED. | | | `string` | Output only. The detailed state of a study. | | | `object` | Represents configuration of a study. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -42,3 +45,86 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists all the studies in a region for an associated project. | | | `INSERT` | | Creates a study. | | | `DELETE` | | Deletes a study. | + +## `SELECT` examples + +Lists all the studies in a region for an associated project. + +```sql +SELECT +name, +createTime, +inactiveReason, +state, +studyConfig +FROM google.ml.studies +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new studies resource. + + + + +```sql +/*+ create */ +INSERT INTO google.ml.studies ( +locationsId, +projectsId, +name, +studyConfig, +state, +createTime, +inactiveReason +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ studyConfig }}', +'{{ state }}', +'{{ createTime }}', +'{{ inactiveReason }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: studyConfig + value: '{{ studyConfig }}' + - name: state + value: '{{ state }}' + - name: createTime + value: '{{ createTime }}' + - name: inactiveReason + value: '{{ inactiveReason }}' + +``` + + + +## `DELETE` example + +Deletes the specified study resource. + +```sql +DELETE FROM google.ml.studies +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND studiesId = '{{ studiesId }}'; +``` diff --git a/docs/google-docs/providers/google/ml/trials/index.md b/docs/google-docs/providers/google/ml/trials/index.md index cd198648c9..e505dcf730 100644 --- a/docs/google-docs/providers/google/ml/trials/index.md +++ b/docs/google-docs/providers/google/ml/trials/index.md @@ -1,3 +1,4 @@ + --- title: trials hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - trials - ml - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an trial resource or lists trials in a region ## Overview
@@ -40,6 +42,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Time at which the trial was started. | | | `string` | The detailed state of a trial. | | | `boolean` | Output only. If true, the parameters in this trial are not attempted again. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -51,3 +54,115 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `EXEC` | | Marks a trial as complete. | | | `EXEC` | | Stops a trial. | | | `EXEC` | | Adds one or more trials to a study, with parameter values suggested by AI Platform Vizier. Returns a long-running operation associated with the generation of trial suggestions. When this long-running operation succeeds, it will contain a SuggestTrialsResponse. | + +## `SELECT` examples + +Lists the trials associated with a study. + +```sql +SELECT +name, +clientId, +endTime, +finalMeasurement, +infeasibleReason, +measurements, +parameters, +startTime, +state, +trialInfeasible +FROM google.ml.trials +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND studiesId = '{{ studiesId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new trials resource. + + + + +```sql +/*+ create */ +INSERT INTO google.ml.trials ( +locationsId, +projectsId, +studiesId, +name, +state, +parameters, +finalMeasurement, +measurements, +startTime, +endTime, +clientId, +trialInfeasible, +infeasibleReason +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ studiesId }}', +'{{ name }}', +'{{ state }}', +'{{ parameters }}', +'{{ finalMeasurement }}', +'{{ measurements }}', +'{{ startTime }}', +'{{ endTime }}', +'{{ clientId }}', +true|false, +'{{ infeasibleReason }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: state + value: '{{ state }}' + - name: parameters + value: '{{ parameters }}' + - name: finalMeasurement + value: '{{ finalMeasurement }}' + - name: measurements + value: '{{ measurements }}' + - name: startTime + value: '{{ startTime }}' + - name: endTime + value: '{{ endTime }}' + - name: clientId + value: '{{ clientId }}' + - name: trialInfeasible + value: '{{ trialInfeasible }}' + - name: infeasibleReason + value: '{{ infeasibleReason }}' + +``` + + + +## `DELETE` example + +Deletes the specified trial resource. + +```sql +DELETE FROM google.ml.trials +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND studiesId = '{{ studiesId }}' +AND trialsId = '{{ trialsId }}'; +``` diff --git a/docs/google-docs/providers/google/ml/trials_measurement/index.md b/docs/google-docs/providers/google/ml/trials_measurement/index.md index 344a2a25c0..f85bce06a4 100644 --- a/docs/google-docs/providers/google/ml/trials_measurement/index.md +++ b/docs/google-docs/providers/google/ml/trials_measurement/index.md @@ -1,3 +1,4 @@ + --- title: trials_measurement hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - trials_measurement - ml - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an trials_measurement resource or lists trials_measurement in a region ## Overview
@@ -28,8 +30,54 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `INSERT` | | Adds a measurement of the objective metrics to a trial. This measurement is assumed to have been taken before the trial is complete. | + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new trials_measurement resource. + + + + +```sql +/*+ create */ +INSERT INTO google.ml.trials_measurement ( +locationsId, +projectsId, +studiesId, +trialsId, +measurement +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ studiesId }}', +'{{ trialsId }}', +'{{ measurement }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: measurement + value: '{{ measurement }}' + +``` + + diff --git a/docs/google-docs/providers/google/ml/trials_optimal_trials/index.md b/docs/google-docs/providers/google/ml/trials_optimal_trials/index.md index f0ce0f35e5..5b3f54bc28 100644 --- a/docs/google-docs/providers/google/ml/trials_optimal_trials/index.md +++ b/docs/google-docs/providers/google/ml/trials_optimal_trials/index.md @@ -1,3 +1,4 @@ + --- title: trials_optimal_trials hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - trials_optimal_trials - ml - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an trials_optimal_trial resource or lists trials_optimal_trials in a region ## Overview @@ -28,8 +30,24 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `array` | The pareto-optimal trials for multiple objective study or the optimal trial for single objective study. The definition of pareto-optimal can be checked in wiki page. https://en.wikipedia.org/wiki/Pareto_efficiency | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists the pareto-optimal trials for multi-objective study or the optimal trials for single-objective study. The definition of pareto-optimal can be checked in wiki page. https://en.wikipedia.org/wiki/Pareto_efficiency | + +## `SELECT` examples + +Lists the pareto-optimal trials for multi-objective study or the optimal trials for single-objective study. The definition of pareto-optimal can be checked in wiki page. https://en.wikipedia.org/wiki/Pareto_efficiency + +```sql +SELECT +trials +FROM google.ml.trials_optimal_trials +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND studiesId = '{{ studiesId }}'; +``` diff --git a/docs/google-docs/providers/google/ml/versions/index.md b/docs/google-docs/providers/google/ml/versions/index.md index 08276bf962..9f36519344 100644 --- a/docs/google-docs/providers/google/ml/versions/index.md +++ b/docs/google-docs/providers/google/ml/versions/index.md @@ -1,3 +1,4 @@ + --- title: versions hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - versions - ml - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an version resource or lists versions in a region ## Overview @@ -56,13 +58,240 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Required. The AI Platform runtime version to use for this deployment. For more information, see the [runtime version list](/ml-engine/docs/runtime-version-list) and [how to manage runtime versions](/ml-engine/docs/versioning). | | | `string` | Optional. Specifies the service account for resource access control. If you specify this field, then you must also specify either the `containerSpec` or the `predictionClass` field. Learn more about [using a custom service account](/ai-platform/prediction/docs/custom-service-account). | | | `string` | Output only. The state of a version. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about a model version. Models can have multiple versions. You can call projects.models.versions.list to get the same information that this method returns for all of the versions of a model. | -| | `SELECT` | | Gets basic information about all the versions of a model. If you expect that a model has many versions, or if you need to handle only a limited number of results at a time, you can request that the list be retrieved in batches (called pages). If there are no versions that match the request parameters, the list request returns an empty response body: {}. | +| | `SELECT` | | Gets basic information about all the versions of a model. If you expect that a model has many versions, or if you need to handle only a limited number of results at a time, you can request that the list be retrieved in batches (called pages). If there are no versions that match the request parameters, the list request returns an empty response body: {}. | | | `INSERT` | | Creates a new version of a model from a trained TensorFlow model. If the version created in the cloud by this call is the first deployed version of the specified model, it will be made the default version of the model. When you add a version to a model that already has one or more versions, the default version does not automatically change. If you want a new version to be the default, you must call projects.models.versions.setDefault. | | | `DELETE` | | Deletes a model version. Each model can have multiple versions deployed and in use at any given time. Use this method to remove a single version. Note: You cannot delete the version that is set as the default version of the model unless it is the only remaining version. | | | `UPDATE` | | Updates the specified Version resource. Currently the only update-able fields are `description`, `requestLoggingConfig`, `autoScaling.minNodes`, and `manualScaling.nodes`. | -| | `EXEC` | | Gets basic information about all the versions of a model. If you expect that a model has many versions, or if you need to handle only a limited number of results at a time, you can request that the list be retrieved in batches (called pages). If there are no versions that match the request parameters, the list request returns an empty response body: {}. | | | `EXEC` | | Designates a version to be the default for the model. The default version is used for prediction requests made against the model that don't specify a version. The first version to be created for a model is automatically set as the default. You must make any subsequent changes to the default version setting manually using this method. | + +## `SELECT` examples + +Gets basic information about all the versions of a model. If you expect that a model has many versions, or if you need to handle only a limited number of results at a time, you can request that the list be retrieved in batches (called pages). If there are no versions that match the request parameters, the list request returns an empty response body: {}. + +```sql +SELECT +name, +description, +acceleratorConfig, +autoScaling, +container, +createTime, +deploymentUri, +errorMessage, +etag, +explanationConfig, +framework, +isDefault, +labels, +lastMigrationModelId, +lastMigrationTime, +lastUseTime, +machineType, +manualScaling, +packageUris, +predictionClass, +pythonVersion, +requestLoggingConfig, +routes, +runtimeVersion, +serviceAccount, +state +FROM google.ml.versions +WHERE modelsId = '{{ modelsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new versions resource. + + + + +```sql +/*+ create */ +INSERT INTO google.ml.versions ( +modelsId, +projectsId, +name, +description, +isDefault, +deploymentUri, +createTime, +lastUseTime, +runtimeVersion, +machineType, +autoScaling, +manualScaling, +state, +errorMessage, +predictionClass, +packageUris, +labels, +etag, +framework, +pythonVersion, +acceleratorConfig, +serviceAccount, +requestLoggingConfig, +explanationConfig, +container, +routes, +lastMigrationTime, +lastMigrationModelId +) +SELECT +'{{ modelsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ description }}', +true|false, +'{{ deploymentUri }}', +'{{ createTime }}', +'{{ lastUseTime }}', +'{{ runtimeVersion }}', +'{{ machineType }}', +'{{ autoScaling }}', +'{{ manualScaling }}', +'{{ state }}', +'{{ errorMessage }}', +'{{ predictionClass }}', +'{{ packageUris }}', +'{{ labels }}', +'{{ etag }}', +'{{ framework }}', +'{{ pythonVersion }}', +'{{ acceleratorConfig }}', +'{{ serviceAccount }}', +'{{ requestLoggingConfig }}', +'{{ explanationConfig }}', +'{{ container }}', +'{{ routes }}', +'{{ lastMigrationTime }}', +'{{ lastMigrationModelId }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: isDefault + value: '{{ isDefault }}' + - name: deploymentUri + value: '{{ deploymentUri }}' + - name: createTime + value: '{{ createTime }}' + - name: lastUseTime + value: '{{ lastUseTime }}' + - name: runtimeVersion + value: '{{ runtimeVersion }}' + - name: machineType + value: '{{ machineType }}' + - name: autoScaling + value: '{{ autoScaling }}' + - name: manualScaling + value: '{{ manualScaling }}' + - name: state + value: '{{ state }}' + - name: errorMessage + value: '{{ errorMessage }}' + - name: predictionClass + value: '{{ predictionClass }}' + - name: packageUris + value: '{{ packageUris }}' + - name: labels + value: '{{ labels }}' + - name: etag + value: '{{ etag }}' + - name: framework + value: '{{ framework }}' + - name: pythonVersion + value: '{{ pythonVersion }}' + - name: acceleratorConfig + value: '{{ acceleratorConfig }}' + - name: serviceAccount + value: '{{ serviceAccount }}' + - name: requestLoggingConfig + value: '{{ requestLoggingConfig }}' + - name: explanationConfig + value: '{{ explanationConfig }}' + - name: container + value: '{{ container }}' + - name: routes + value: '{{ routes }}' + - name: lastMigrationTime + value: '{{ lastMigrationTime }}' + - name: lastMigrationModelId + value: '{{ lastMigrationModelId }}' + +``` + + + +## `UPDATE` example + +Updates a version only if the necessary resources are available. + +```sql +UPDATE google.ml.versions +SET +name = '{{ name }}', +description = '{{ description }}', +isDefault = true|false, +deploymentUri = '{{ deploymentUri }}', +createTime = '{{ createTime }}', +lastUseTime = '{{ lastUseTime }}', +runtimeVersion = '{{ runtimeVersion }}', +machineType = '{{ machineType }}', +autoScaling = '{{ autoScaling }}', +manualScaling = '{{ manualScaling }}', +state = '{{ state }}', +errorMessage = '{{ errorMessage }}', +predictionClass = '{{ predictionClass }}', +packageUris = '{{ packageUris }}', +labels = '{{ labels }}', +etag = '{{ etag }}', +framework = '{{ framework }}', +pythonVersion = '{{ pythonVersion }}', +acceleratorConfig = '{{ acceleratorConfig }}', +serviceAccount = '{{ serviceAccount }}', +requestLoggingConfig = '{{ requestLoggingConfig }}', +explanationConfig = '{{ explanationConfig }}', +container = '{{ container }}', +routes = '{{ routes }}', +lastMigrationTime = '{{ lastMigrationTime }}', +lastMigrationModelId = '{{ lastMigrationModelId }}' +WHERE +modelsId = '{{ modelsId }}' +AND projectsId = '{{ projectsId }}' +AND versionsId = '{{ versionsId }}'; +``` + +## `DELETE` example + +Deletes the specified version resource. + +```sql +DELETE FROM google.ml.versions +WHERE modelsId = '{{ modelsId }}' +AND projectsId = '{{ projectsId }}' +AND versionsId = '{{ versionsId }}'; +``` diff --git a/docs/google-docs/providers/google/monitoring/alert_policies/index.md b/docs/google-docs/providers/google/monitoring/alert_policies/index.md index 538a0b2f6f..a27ab0f7c8 100644 --- a/docs/google-docs/providers/google/monitoring/alert_policies/index.md +++ b/docs/google-docs/providers/google/monitoring/alert_policies/index.md @@ -1,3 +1,4 @@ + --- title: alert_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - alert_policies - monitoring - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an alert_policy resource or lists alert_policies in a region ## Overview
@@ -30,19 +32,20 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Required if the policy exists. The resource name for this policy. The format is: projects/[PROJECT_ID_OR_NUMBER]/alertPolicies/[ALERT_POLICY_ID] [ALERT_POLICY_ID] is assigned by Cloud Monitoring when the policy is created. When calling the alertPolicies.create method, do not include the name field in the alerting policy passed as part of the request. | +| | `string` | Identifier. Required if the policy exists. The resource name for this policy. The format is: projects/[PROJECT_ID_OR_NUMBER]/alertPolicies/[ALERT_POLICY_ID] [ALERT_POLICY_ID] is assigned by Cloud Monitoring when the policy is created. When calling the alertPolicies.create method, do not include the name field in the alerting policy passed as part of the request. | | | `object` | Control over how the notification channels in notification_channels are notified when this alert fires. | | | `string` | How to combine the results of multiple conditions to determine if an incident should be opened. If condition_time_series_query_language is present, this must be COMBINE_UNSPECIFIED. | | | `array` | A list of conditions for the policy. The conditions are combined by AND or OR according to the combiner field. If the combined conditions evaluate to true, then an incident is created. A policy can have from one to six conditions. If condition_time_series_query_language is present, it must be the only condition. If condition_monitoring_query_language is present, it must be the only condition. | | | `object` | Describes a change made to a configuration. | -| | `string` | A short name or phrase used to identify the policy in dashboards, notifications, and incidents. To avoid confusion, don't use the same display name for multiple policies in the same project. The name is limited to 512 Unicode characters.The convention for the display_name of a PrometheusQueryLanguageCondition is "{rule group name}/{alert name}", where the {rule group name} and {alert name} should be taken from the corresponding Prometheus configuration file. This convention is not enforced. In any case the display_name is not a unique key of the AlertPolicy. | +| | `string` | A short name or phrase used to identify the policy in dashboards, notifications, and incidents. To avoid confusion, don't use the same display name for multiple policies in the same project. The name is limited to 512 Unicode characters.The convention for the display_name of a PrometheusQueryLanguageCondition is "{rule group name}/{alert name}", where the {rule group name} and {alert name} should be taken from the corresponding Prometheus configuration file. This convention is not enforced. In any case the display_name is not a unique key of the AlertPolicy. | | | `object` | Documentation that is included in the notifications and incidents pertaining to this policy. | | | `boolean` | Whether or not the policy is enabled. On write, the default interpretation if unset is that the policy is enabled. On read, clients should not make any assumption about the state if it has not been populated. The field should always be populated on List and Get operations, unless a field projection has been specified that strips it out. | | | `object` | Describes a change made to a configuration. | | | `array` | Identifies the notification channels to which notifications should be sent when incidents are opened or closed or when new violations occur on an already opened incident. Each element of this array corresponds to the name field in each of the NotificationChannel objects that are returned from the ListNotificationChannels method. The format of the entries in this field is: projects/[PROJECT_ID_OR_NUMBER]/notificationChannels/[CHANNEL_ID] | | | `string` | Optional. The severity of an alert policy indicates how important incidents generated by that policy are. The severity level will be displayed on the Incident detail page and in notifications. | -| | `object` | User-supplied key/value data to be used for organizing and identifying the AlertPolicy objects.The field can contain up to 64 entries. Each key and value is limited to 63 Unicode characters or 128 bytes, whichever is smaller. Labels and values can contain only lowercase letters, numerals, underscores, and dashes. Keys must begin with a letter.Note that Prometheus {alert name} is a valid Prometheus label names (https://prometheus.io/docs/concepts/data_model/#metric-names-and-labels), whereas Prometheus {rule group} is an unrestricted UTF-8 string. This means that they cannot be stored as-is in user labels, because they may contain characters that are not allowed in user-label values. | +| | `object` | User-supplied key/value data to be used for organizing and identifying the AlertPolicy objects.The field can contain up to 64 entries. Each key and value is limited to 63 Unicode characters or 128 bytes, whichever is smaller. Labels and values can contain only lowercase letters, numerals, underscores, and dashes. Keys must begin with a letter.Note that Prometheus {alert name} is a valid Prometheus label names (https://prometheus.io/docs/concepts/data_model/#metric-names-and-labels), whereas Prometheus {rule group} is an unrestricted UTF-8 string. This means that they cannot be stored as-is in user labels, because they may contain characters that are not allowed in user-label values. | | | `object` | The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC (https://github.com/grpc). Each Status message contains three pieces of data: error code, error message, and error details.You can find out more about this error model and how to work with it in the API Design Guide (https://cloud.google.com/apis/design/errors). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -51,4 +54,147 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new alerting policy.Design your application to single-thread API calls that modify the state of alerting policies in a single project. This includes calls to CreateAlertPolicy, DeleteAlertPolicy and UpdateAlertPolicy. | | | `DELETE` | | Deletes an alerting policy.Design your application to single-thread API calls that modify the state of alerting policies in a single project. This includes calls to CreateAlertPolicy, DeleteAlertPolicy and UpdateAlertPolicy. | | | `UPDATE` | | Updates an alerting policy. You can either replace the entire policy with a new one or replace only certain fields in the current alerting policy by specifying the fields to be updated via updateMask. Returns the updated alerting policy.Design your application to single-thread API calls that modify the state of alerting policies in a single project. This includes calls to CreateAlertPolicy, DeleteAlertPolicy and UpdateAlertPolicy. | -| | `EXEC` | | Lists the existing alerting policies for the workspace. | + +## `SELECT` examples + +Lists the existing alerting policies for the workspace. + +```sql +SELECT +name, +alertStrategy, +combiner, +conditions, +creationRecord, +displayName, +documentation, +enabled, +mutationRecord, +notificationChannels, +severity, +userLabels, +validity +FROM google.monitoring.alert_policies +WHERE projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new alert_policies resource. + + + + +```sql +/*+ create */ +INSERT INTO google.monitoring.alert_policies ( +projectsId, +name, +displayName, +documentation, +userLabels, +conditions, +combiner, +enabled, +validity, +notificationChannels, +creationRecord, +mutationRecord, +alertStrategy, +severity +) +SELECT +'{{ projectsId }}', +'{{ name }}', +'{{ displayName }}', +'{{ documentation }}', +'{{ userLabels }}', +'{{ conditions }}', +'{{ combiner }}', +true|false, +'{{ validity }}', +'{{ notificationChannels }}', +'{{ creationRecord }}', +'{{ mutationRecord }}', +'{{ alertStrategy }}', +'{{ severity }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: documentation + value: '{{ documentation }}' + - name: userLabels + value: '{{ userLabels }}' + - name: conditions + value: '{{ conditions }}' + - name: combiner + value: '{{ combiner }}' + - name: enabled + value: '{{ enabled }}' + - name: validity + value: '{{ validity }}' + - name: notificationChannels + value: '{{ notificationChannels }}' + - name: creationRecord + value: '{{ creationRecord }}' + - name: mutationRecord + value: '{{ mutationRecord }}' + - name: alertStrategy + value: '{{ alertStrategy }}' + - name: severity + value: '{{ severity }}' + +``` + + + +## `UPDATE` example + +Updates a alert_policy only if the necessary resources are available. + +```sql +UPDATE google.monitoring.alert_policies +SET +name = '{{ name }}', +displayName = '{{ displayName }}', +documentation = '{{ documentation }}', +userLabels = '{{ userLabels }}', +conditions = '{{ conditions }}', +combiner = '{{ combiner }}', +enabled = true|false, +validity = '{{ validity }}', +notificationChannels = '{{ notificationChannels }}', +creationRecord = '{{ creationRecord }}', +mutationRecord = '{{ mutationRecord }}', +alertStrategy = '{{ alertStrategy }}', +severity = '{{ severity }}' +WHERE +alertPoliciesId = '{{ alertPoliciesId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified alert_policy resource. + +```sql +DELETE FROM google.monitoring.alert_policies +WHERE alertPoliciesId = '{{ alertPoliciesId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/monitoring/collectd_time_series/index.md b/docs/google-docs/providers/google/monitoring/collectd_time_series/index.md index 7a4d0bd8c3..ea89912220 100644 --- a/docs/google-docs/providers/google/monitoring/collectd_time_series/index.md +++ b/docs/google-docs/providers/google/monitoring/collectd_time_series/index.md @@ -1,3 +1,4 @@ + --- title: collectd_time_series hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - collectd_time_series - monitoring - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an collectd_time_sery resource or lists collectd_time_series in a region ## Overview
@@ -28,8 +30,56 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `INSERT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `INSERT` | | Cloud Monitoring Agent only: Creates a new time series.This method is only for use by the Cloud Monitoring Agent. Use projects.timeSeries.create instead. | + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new collectd_time_series resource. + + + + +```sql +/*+ create */ +INSERT INTO google.monitoring.collectd_time_series ( +projectsId, +resource, +collectdVersion, +collectdPayloads +) +SELECT +'{{ projectsId }}', +'{{ resource }}', +'{{ collectdVersion }}', +'{{ collectdPayloads }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: resource + value: '{{ resource }}' + - name: collectdVersion + value: '{{ collectdVersion }}' + - name: collectdPayloads + value: '{{ collectdPayloads }}' + +``` + + diff --git a/docs/google-docs/providers/google/monitoring/groups/index.md b/docs/google-docs/providers/google/monitoring/groups/index.md index fa2f5143ba..6270c1e4d0 100644 --- a/docs/google-docs/providers/google/monitoring/groups/index.md +++ b/docs/google-docs/providers/google/monitoring/groups/index.md @@ -1,3 +1,4 @@ + --- title: groups hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - groups - monitoring - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an group resource or lists groups in a region ## Overview @@ -35,6 +37,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The filter used to determine which monitored resources belong to this group. | | | `boolean` | If true, the members of this group are considered to be a cluster. The system can perform additional analysis on groups that are clusters. | | | `string` | The name of the group's parent, if it has one. The format is: projects/[PROJECT_ID_OR_NUMBER]/groups/[GROUP_ID] For groups with no parent, parent_name is the empty string, "". | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -42,5 +45,83 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists the existing groups. | | | `INSERT` | | Creates a new group. | | | `DELETE` | | Deletes an existing group. | -| | `UPDATE` | | Updates an existing group. You can change any group attributes except name. | -| | `EXEC` | | Lists the existing groups. | +| | `EXEC` | | Updates an existing group. You can change any group attributes except name. | + +## `SELECT` examples + +Lists the existing groups. + +```sql +SELECT +name, +displayName, +filter, +isCluster, +parentName +FROM google.monitoring.groups +WHERE projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new groups resource. + + + + +```sql +/*+ create */ +INSERT INTO google.monitoring.groups ( +projectsId, +name, +displayName, +parentName, +filter, +isCluster +) +SELECT +'{{ projectsId }}', +'{{ name }}', +'{{ displayName }}', +'{{ parentName }}', +'{{ filter }}', +true|false +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: parentName + value: '{{ parentName }}' + - name: filter + value: '{{ filter }}' + - name: isCluster + value: '{{ isCluster }}' + +``` + + + +## `DELETE` example + +Deletes the specified group resource. + +```sql +DELETE FROM google.monitoring.groups +WHERE groupsId = '{{ groupsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/monitoring/index.md b/docs/google-docs/providers/google/monitoring/index.md index 0261fd25fb..3f8ede19e8 100644 --- a/docs/google-docs/providers/google/monitoring/index.md +++ b/docs/google-docs/providers/google/monitoring/index.md @@ -9,34 +9,23 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Manages your Cloud Monitoring data and configurations. - +The monitoring service documentation. + :::info Service Summary
total resources: 16
-total selectable resources: 13
-total methods: 66
::: -## Overview -
- - - - - -
Namegoogle.monitoring
TypeService
TitleCloud Monitoring API
DescriptionManages your Cloud Monitoring data and configurations.
Idmonitoring:v24.06.00236
- ## Resources
notification_channels_verification_code
@@ -57,6 +46,6 @@ Manages your Cloud Monitoring data and configurations. time_series
time_series_service
uptime_check_configs
-uptime_check_ips
-
+uptime_check_ips
+ \ No newline at end of file diff --git a/docs/google-docs/providers/google/monitoring/members/index.md b/docs/google-docs/providers/google/monitoring/members/index.md index b9bdaf088b..c2b9439a50 100644 --- a/docs/google-docs/providers/google/monitoring/members/index.md +++ b/docs/google-docs/providers/google/monitoring/members/index.md @@ -1,3 +1,4 @@ + --- title: members hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - members - monitoring - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an member resource or lists members in a region ## Overview @@ -32,8 +34,21 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `object` | Required. Values for all of the labels listed in the associated monitored resource descriptor. For example, Compute Engine VM instances use the labels "project_id", "instance_id", and "zone". | | | `string` | Required. The monitored resource type. This field must match the type field of a MonitoredResourceDescriptor object. For example, the type of a Compute Engine VM instance is gce_instance. For a list of types, see Monitoring resource types (https://cloud.google.com/monitoring/api/resources) and Logging resource types (https://cloud.google.com/logging/docs/api/v2/resource-list). | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists the monitored resources that are members of a group. | + +## `SELECT` examples + +Lists the monitored resources that are members of a group. + +```sql +SELECT +labels, +type +FROM google.monitoring.members +WHERE groupsId = '{{ groupsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/monitoring/metric_descriptors/index.md b/docs/google-docs/providers/google/monitoring/metric_descriptors/index.md index fd45675e75..fab8c78bb8 100644 --- a/docs/google-docs/providers/google/monitoring/metric_descriptors/index.md +++ b/docs/google-docs/providers/google/monitoring/metric_descriptors/index.md @@ -1,3 +1,4 @@ + --- title: metric_descriptors hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - metric_descriptors - monitoring - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an metric_descriptor resource or lists metric_descriptors in a region ## Overview
@@ -39,8 +41,9 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Whether the metric records instantaneous values, changes to a value, etc. Some combinations of metric_kind and value_type might not be supported. | | | `array` | Read-only. If present, then a time series, which is identified partially by a metric type and a MonitoredResourceDescriptor, that is associated with this metric type can only be associated with one of the monitored resource types listed here. | | | `string` | The metric type, including its DNS name prefix. The type is not URL-encoded. All user-defined metric types have the DNS name custom.googleapis.com or external.googleapis.com. Metric types should use a natural hierarchical grouping. For example: "custom.googleapis.com/invoice/paid/amount" "external.googleapis.com/prometheus/up" "appengine.googleapis.com/http/server/response_latencies" | -| | `string` | The units in which the metric value is reported. It is only applicable if the value_type is INT64, DOUBLE, or DISTRIBUTION. The unit defines the representation of the stored metric values.Different systems might scale the values to be more easily displayed (so a value of 0.02kBy might be displayed as 20By, and a value of 3523kBy might be displayed as 3.5MBy). However, if the unit is kBy, then the value of the metric is always in thousands of bytes, no matter how it might be displayed.If you want a custom metric to record the exact number of CPU-seconds used by a job, you can create an INT64 CUMULATIVE metric whose unit is s{CPU} (or equivalently 1s{CPU} or just s). If the job uses 12,005 CPU-seconds, then the value is written as 12005.Alternatively, if you want a custom metric to record data in a more granular way, you can create a DOUBLE CUMULATIVE metric whose unit is ks{CPU}, and then write the value 12.005 (which is 12005/1000), or use Kis{CPU} and write 11.723 (which is 12005/1024).The supported units are a subset of The Unified Code for Units of Measure (https://unitsofmeasure.org/ucum.html) standard:Basic units (UNIT) bit bit By byte s second min minute h hour d day 1 dimensionlessPrefixes (PREFIX) k kilo (10^3) M mega (10^6) G giga (10^9) T tera (10^12) P peta (10^15) E exa (10^18) Z zetta (10^21) Y yotta (10^24) m milli (10^-3) u micro (10^-6) n nano (10^-9) p pico (10^-12) f femto (10^-15) a atto (10^-18) z zepto (10^-21) y yocto (10^-24) Ki kibi (2^10) Mi mebi (2^20) Gi gibi (2^30) Ti tebi (2^40) Pi pebi (2^50)GrammarThe grammar also includes these connectors: / division or ratio (as an infix operator). For examples, kBy/{email} or MiBy/10ms (although you should almost never have /s in a metric unit; rates should always be computed at query time from the underlying cumulative or delta value). . multiplication or composition (as an infix operator). For examples, GBy.d or k{watt}.h.The grammar for a unit is as follows: Expression = Component { "." Component } { "/" Component } ; Component = ( [ PREFIX ] UNIT \| "%" ) [ Annotation ] \| Annotation \| "1" ; Annotation = "{" NAME "}" ; Notes: Annotation is just a comment if it follows a UNIT. If the annotation is used alone, then the unit is equivalent to 1. For examples, {request}/s == 1/s, By{transmitted}/s == By/s. NAME is a sequence of non-blank printable ASCII characters not containing { or }. 1 represents a unitary dimensionless unit (https://en.wikipedia.org/wiki/Dimensionless_quantity) of 1, such as in 1/s. It is typically used when none of the basic units are appropriate. For example, "new users per day" can be represented as 1/d or {new-users}/d (and a metric value 5 would mean "5 new users). Alternatively, "thousands of page views per day" would be represented as 1000/d or k1/d or k{page_views}/d (and a metric value of 5.3 would mean "5300 page views per day"). % represents dimensionless value of 1/100, and annotates values giving a percentage (so the metric values are typically in the range of 0..100, and a metric value 3 means "3 percent"). 10^2.% indicates a metric contains a ratio, typically in the range 0..1, that will be multiplied by 100 and displayed as a percentage (so a metric value 0.03 means "3 percent"). | +| | `string` | The units in which the metric value is reported. It is only applicable if the value_type is INT64, DOUBLE, or DISTRIBUTION. The unit defines the representation of the stored metric values.Different systems might scale the values to be more easily displayed (so a value of 0.02kBy might be displayed as 20By, and a value of 3523kBy might be displayed as 3.5MBy). However, if the unit is kBy, then the value of the metric is always in thousands of bytes, no matter how it might be displayed.If you want a custom metric to record the exact number of CPU-seconds used by a job, you can create an INT64 CUMULATIVE metric whose unit is s{CPU} (or equivalently 1s{CPU} or just s). If the job uses 12,005 CPU-seconds, then the value is written as 12005.Alternatively, if you want a custom metric to record data in a more granular way, you can create a DOUBLE CUMULATIVE metric whose unit is ks{CPU}, and then write the value 12.005 (which is 12005/1000), or use Kis{CPU} and write 11.723 (which is 12005/1024).The supported units are a subset of The Unified Code for Units of Measure (https://unitsofmeasure.org/ucum.html) standard:Basic units (UNIT) bit bit By byte s second min minute h hour d day 1 dimensionlessPrefixes (PREFIX) k kilo (10^3) M mega (10^6) G giga (10^9) T tera (10^12) P peta (10^15) E exa (10^18) Z zetta (10^21) Y yotta (10^24) m milli (10^-3) u micro (10^-6) n nano (10^-9) p pico (10^-12) f femto (10^-15) a atto (10^-18) z zepto (10^-21) y yocto (10^-24) Ki kibi (2^10) Mi mebi (2^20) Gi gibi (2^30) Ti tebi (2^40) Pi pebi (2^50)GrammarThe grammar also includes these connectors: / division or ratio (as an infix operator). For examples, kBy/{email} or MiBy/10ms (although you should almost never have /s in a metric unit; rates should always be computed at query time from the underlying cumulative or delta value). . multiplication or composition (as an infix operator). For examples, GBy.d or k{watt}.h.The grammar for a unit is as follows: Expression = Component { "." Component } { "/" Component } ; Component = ( [ PREFIX ] UNIT | "%" ) [ Annotation ] | Annotation | "1" ; Annotation = "{" NAME "}" ; Notes: Annotation is just a comment if it follows a UNIT. If the annotation is used alone, then the unit is equivalent to 1. For examples, {request}/s == 1/s, By{transmitted}/s == By/s. NAME is a sequence of non-blank printable ASCII characters not containing { or }. 1 represents a unitary dimensionless unit (https://en.wikipedia.org/wiki/Dimensionless_quantity) of 1, such as in 1/s. It is typically used when none of the basic units are appropriate. For example, "new users per day" can be represented as 1/d or {new-users}/d (and a metric value 5 would mean "5 new users). Alternatively, "thousands of page views per day" would be represented as 1000/d or k1/d or k{page_views}/d (and a metric value of 5.3 would mean "5300 page views per day"). % represents dimensionless value of 1/100, and annotates values giving a percentage (so the metric values are typically in the range of 0..100, and a metric value 3 means "3 percent"). 10^2.% indicates a metric contains a ratio, typically in the range 0..1, that will be multiplied by 100 and displayed as a percentage (so a metric value 0.03 means "3 percent"). | | | `string` | Whether the measurement is an integer, a floating-point number, etc. Some combinations of metric_kind and value_type might not be supported. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -48,4 +51,112 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists metric descriptors that match a filter. | | | `INSERT` | | Creates a new metric descriptor. The creation is executed asynchronously. User-created metric descriptors define custom metrics (https://cloud.google.com/monitoring/custom-metrics). The metric descriptor is updated if it already exists, except that metric labels are never removed. | | | `DELETE` | | Deletes a metric descriptor. Only user-created custom metrics (https://cloud.google.com/monitoring/custom-metrics) can be deleted. | -| | `EXEC` | | Lists metric descriptors that match a filter. | + +## `SELECT` examples + +Lists metric descriptors that match a filter. + +```sql +SELECT +name, +description, +displayName, +labels, +launchStage, +metadata, +metricKind, +monitoredResourceTypes, +type, +unit, +valueType +FROM google.monitoring.metric_descriptors +WHERE projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new metric_descriptors resource. + + + + +```sql +/*+ create */ +INSERT INTO google.monitoring.metric_descriptors ( +projectsId, +name, +type, +labels, +metricKind, +valueType, +unit, +description, +displayName, +metadata, +launchStage, +monitoredResourceTypes +) +SELECT +'{{ projectsId }}', +'{{ name }}', +'{{ type }}', +'{{ labels }}', +'{{ metricKind }}', +'{{ valueType }}', +'{{ unit }}', +'{{ description }}', +'{{ displayName }}', +'{{ metadata }}', +'{{ launchStage }}', +'{{ monitoredResourceTypes }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: type + value: '{{ type }}' + - name: labels + value: '{{ labels }}' + - name: metricKind + value: '{{ metricKind }}' + - name: valueType + value: '{{ valueType }}' + - name: unit + value: '{{ unit }}' + - name: description + value: '{{ description }}' + - name: displayName + value: '{{ displayName }}' + - name: metadata + value: '{{ metadata }}' + - name: launchStage + value: '{{ launchStage }}' + - name: monitoredResourceTypes + value: '{{ monitoredResourceTypes }}' + +``` + + + +## `DELETE` example + +Deletes the specified metric_descriptor resource. + +```sql +DELETE FROM google.monitoring.metric_descriptors +WHERE metricDescriptorsId = '{{ metricDescriptorsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/monitoring/monitored_resource_descriptors/index.md b/docs/google-docs/providers/google/monitoring/monitored_resource_descriptors/index.md index 4cceda20af..bca793c944 100644 --- a/docs/google-docs/providers/google/monitoring/monitored_resource_descriptors/index.md +++ b/docs/google-docs/providers/google/monitoring/monitored_resource_descriptors/index.md @@ -1,3 +1,4 @@ + --- title: monitored_resource_descriptors hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - monitored_resource_descriptors - monitoring - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an monitored_resource_descriptor resource or lists monitored_resource_descriptors in a region ## Overview
@@ -30,15 +32,31 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Optional. The resource name of the monitored resource descriptor: "projects/{project_id}/monitoredResourceDescriptors/{type}" where {type} is the value of the type field in this object and {project_id} is a project ID that provides API-specific context for accessing the type. APIs that do not use project information can use the resource name format "monitoredResourceDescriptors/{type}". | +| | `string` | Optional. The resource name of the monitored resource descriptor: "projects/{project_id}/monitoredResourceDescriptors/{type}" where {type} is the value of the type field in this object and {project_id} is a project ID that provides API-specific context for accessing the type. APIs that do not use project information can use the resource name format "monitoredResourceDescriptors/{type}". | | | `string` | Optional. A detailed description of the monitored resource type that might be used in documentation. | | | `string` | Optional. A concise name for the monitored resource type that might be displayed in user interfaces. It should be a Title Cased Noun Phrase, without any article or other determiners. For example, "Google Cloud SQL Database". | | | `array` | Required. A set of labels used to describe instances of this monitored resource type. For example, an individual Google Cloud SQL database is identified by values for the labels "database_id" and "zone". | | | `string` | Optional. The launch stage of the monitored resource definition. | | | `string` | Required. The monitored resource type. For example, the type "cloudsql_database" represents databases in Google Cloud SQL. For a list of types, see Monitored resource types (https://cloud.google.com/monitoring/api/resources) and Logging resource types (https://cloud.google.com/logging/docs/api/v2/resource-list). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets a single monitored resource descriptor. | | | `SELECT` | | Lists monitored resource descriptors that match a filter. | -| | `EXEC` | | Lists monitored resource descriptors that match a filter. | + +## `SELECT` examples + +Lists monitored resource descriptors that match a filter. + +```sql +SELECT +name, +description, +displayName, +labels, +launchStage, +type +FROM google.monitoring.monitored_resource_descriptors +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/monitoring/notification_channel_descriptors/index.md b/docs/google-docs/providers/google/monitoring/notification_channel_descriptors/index.md index 14053f8879..36681931f3 100644 --- a/docs/google-docs/providers/google/monitoring/notification_channel_descriptors/index.md +++ b/docs/google-docs/providers/google/monitoring/notification_channel_descriptors/index.md @@ -1,3 +1,4 @@ + --- title: notification_channel_descriptors hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - notification_channel_descriptors - monitoring - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an notification_channel_descriptor resource or lists notification_channel_descriptors in a region ## Overview
@@ -37,9 +39,26 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The product launch stage for channels of this type. | | | `array` | The tiers that support this notification channel; the project service tier must be one of the supported_tiers. | | | `string` | The type of notification channel, such as "email" and "sms". To view the full list of channels, see Channel descriptors (https://cloud.google.com/monitoring/alerts/using-channels-api#ncd). Notification channel types are globally unique. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets a single channel descriptor. The descriptor indicates which fields are expected / permitted for a notification channel of the given type. | | | `SELECT` | | Lists the descriptors for supported channel types. The use of descriptors makes it possible for new channel types to be dynamically added. | -| | `EXEC` | | Lists the descriptors for supported channel types. The use of descriptors makes it possible for new channel types to be dynamically added. | + +## `SELECT` examples + +Lists the descriptors for supported channel types. The use of descriptors makes it possible for new channel types to be dynamically added. + +```sql +SELECT +name, +description, +displayName, +labels, +launchStage, +supportedTiers, +type +FROM google.monitoring.notification_channel_descriptors +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/monitoring/notification_channels/index.md b/docs/google-docs/providers/google/monitoring/notification_channels/index.md index f60a9357e6..8b4551ef5c 100644 --- a/docs/google-docs/providers/google/monitoring/notification_channels/index.md +++ b/docs/google-docs/providers/google/monitoring/notification_channels/index.md @@ -1,3 +1,4 @@ + --- title: notification_channels hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - notification_channels - monitoring - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an notification_channel resource or lists notification_channels in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The full REST resource name for this channel. The format is: projects/[PROJECT_ID_OR_NUMBER]/notificationChannels/[CHANNEL_ID] The [CHANNEL_ID] is automatically assigned by the server on creation. | +| | `string` | Identifier. The full REST resource name for this channel. The format is: projects/[PROJECT_ID_OR_NUMBER]/notificationChannels/[CHANNEL_ID] The [CHANNEL_ID] is automatically assigned by the server on creation. | | | `string` | An optional human-readable description of this notification channel. This description may provide additional details, beyond the display name, for the channel. This may not exceed 1024 Unicode characters. | | | `object` | Describes a change made to a configuration. | | | `string` | An optional human-readable name for this notification channel. It is recommended that you specify a non-empty and unique name in order to make it easier to identify the channels in your project, though this is not enforced. The display name is limited to 512 Unicode characters. | @@ -40,6 +42,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The type of the notification channel. This field matches the value of the NotificationChannelDescriptor.type field. | | | `object` | User-supplied key/value data that does not need to conform to the corresponding NotificationChannelDescriptor's schema, unlike the labels field. This field is intended to be used for organizing and identifying the NotificationChannel objects.The field can contain up to 64 entries. Each key and value is limited to 63 Unicode characters or 128 bytes, whichever is smaller. Labels and values can contain only lowercase letters, numerals, underscores, and dashes. Keys must begin with a letter. | | | `string` | Indicates whether this channel has been verified or not. On a ListNotificationChannels or GetNotificationChannel operation, this field is expected to be populated.If the value is UNVERIFIED, then it indicates that the channel is non-functioning (it both requires verification and lacks verification); otherwise, it is assumed that the channel works.If the channel is neither VERIFIED nor UNVERIFIED, it implies that the channel is of a type that does not require verification or that this specific channel has been exempted from verification because it was created prior to verification being required for channels of this type.This field cannot be modified using a standard UpdateNotificationChannel operation. To change the value of this field, you must call VerifyNotificationChannel. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -48,6 +51,131 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new notification channel, representing a single notification endpoint such as an email address, SMS number, or PagerDuty service.Design your application to single-thread API calls that modify the state of notification channels in a single project. This includes calls to CreateNotificationChannel, DeleteNotificationChannel and UpdateNotificationChannel. | | | `DELETE` | | Deletes a notification channel.Design your application to single-thread API calls that modify the state of notification channels in a single project. This includes calls to CreateNotificationChannel, DeleteNotificationChannel and UpdateNotificationChannel. | | | `UPDATE` | | Updates a notification channel. Fields not specified in the field mask remain unchanged.Design your application to single-thread API calls that modify the state of notification channels in a single project. This includes calls to CreateNotificationChannel, DeleteNotificationChannel and UpdateNotificationChannel. | -| | `EXEC` | | Lists the notification channels that have been created for the project. To list the types of notification channels that are supported, use the ListNotificationChannelDescriptors method. | | | `EXEC` | | Causes a verification code to be delivered to the channel. The code can then be supplied in VerifyNotificationChannel to verify the channel. | | | `EXEC` | | Verifies a NotificationChannel by proving receipt of the code delivered to the channel as a result of calling SendNotificationChannelVerificationCode. | + +## `SELECT` examples + +Lists the notification channels that have been created for the project. To list the types of notification channels that are supported, use the ListNotificationChannelDescriptors method. + +```sql +SELECT +name, +description, +creationRecord, +displayName, +enabled, +labels, +mutationRecords, +type, +userLabels, +verificationStatus +FROM google.monitoring.notification_channels +WHERE projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new notification_channels resource. + + + + +```sql +/*+ create */ +INSERT INTO google.monitoring.notification_channels ( +projectsId, +type, +name, +displayName, +description, +labels, +userLabels, +verificationStatus, +enabled, +creationRecord, +mutationRecords +) +SELECT +'{{ projectsId }}', +'{{ type }}', +'{{ name }}', +'{{ displayName }}', +'{{ description }}', +'{{ labels }}', +'{{ userLabels }}', +'{{ verificationStatus }}', +true|false, +'{{ creationRecord }}', +'{{ mutationRecords }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: type + value: '{{ type }}' + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: description + value: '{{ description }}' + - name: labels + value: '{{ labels }}' + - name: userLabels + value: '{{ userLabels }}' + - name: verificationStatus + value: '{{ verificationStatus }}' + - name: enabled + value: '{{ enabled }}' + - name: creationRecord + value: '{{ creationRecord }}' + - name: mutationRecords + value: '{{ mutationRecords }}' + +``` + + + +## `UPDATE` example + +Updates a notification_channel only if the necessary resources are available. + +```sql +UPDATE google.monitoring.notification_channels +SET +type = '{{ type }}', +name = '{{ name }}', +displayName = '{{ displayName }}', +description = '{{ description }}', +labels = '{{ labels }}', +userLabels = '{{ userLabels }}', +verificationStatus = '{{ verificationStatus }}', +enabled = true|false, +creationRecord = '{{ creationRecord }}', +mutationRecords = '{{ mutationRecords }}' +WHERE +notificationChannelsId = '{{ notificationChannelsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified notification_channel resource. + +```sql +DELETE FROM google.monitoring.notification_channels +WHERE notificationChannelsId = '{{ notificationChannelsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/monitoring/notification_channels_verification_code/index.md b/docs/google-docs/providers/google/monitoring/notification_channels_verification_code/index.md index 7bfa5f3114..b5c5f2363e 100644 --- a/docs/google-docs/providers/google/monitoring/notification_channels_verification_code/index.md +++ b/docs/google-docs/providers/google/monitoring/notification_channels_verification_code/index.md @@ -1,3 +1,4 @@ + --- title: notification_channels_verification_code hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - notification_channels_verification_code - monitoring - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an notification_channels_verification_code resource or lists notification_channels_verification_code in a region ## Overview
@@ -28,8 +30,25 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | The verification code, which may be used to verify other channels that have an equivalent identity (i.e. other channels of the same type with the same fingerprint such as other email channels with the same email address or other sms channels with the same number). | +| | `string` | The expiration time associated with the code that was returned. If an expiration was provided in the request, this is the minimum of the requested expiration in the request and the max permitted expiration. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Requests a verification code for an already verified channel that can then be used in a call to VerifyNotificationChannel() on a different channel with an equivalent identity in the same or in a different project. This makes it possible to copy a channel between projects without requiring manual reverification of the channel. If the channel is not in the verified state, this method will fail (in other words, this may only be used if the SendNotificationChannelVerificationCode and VerifyNotificationChannel paths have already been used to put the given channel into the verified state).There is no guarantee that the verification codes returned by this method will be of a similar structure or form as the ones that are delivered to the channel via SendNotificationChannelVerificationCode; while VerifyNotificationChannel() will recognize both the codes delivered via SendNotificationChannelVerificationCode() and returned from GetNotificationChannelVerificationCode(), it is typically the case that the verification codes delivered via SendNotificationChannelVerificationCode() will be shorter and also have a shorter expiration (e.g. codes such as "G-123456") whereas GetVerificationCode() will typically return a much longer, websafe base 64 encoded string that has a longer expiration time. | + +## `SELECT` examples + +Requests a verification code for an already verified channel that can then be used in a call to VerifyNotificationChannel() on a different channel with an equivalent identity in the same or in a different project. This makes it possible to copy a channel between projects without requiring manual reverification of the channel. If the channel is not in the verified state, this method will fail (in other words, this may only be used if the SendNotificationChannelVerificationCode and VerifyNotificationChannel paths have already been used to put the given channel into the verified state).There is no guarantee that the verification codes returned by this method will be of a similar structure or form as the ones that are delivered to the channel via SendNotificationChannelVerificationCode; while VerifyNotificationChannel() will recognize both the codes delivered via SendNotificationChannelVerificationCode() and returned from GetNotificationChannelVerificationCode(), it is typically the case that the verification codes delivered via SendNotificationChannelVerificationCode() will be shorter and also have a shorter expiration (e.g. codes such as "G-123456") whereas GetVerificationCode() will typically return a much longer, websafe base 64 encoded string that has a longer expiration time. + +```sql +SELECT +code, +expireTime +FROM google.monitoring.notification_channels_verification_code +WHERE notificationChannelsId = '{{ notificationChannelsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/monitoring/service_level_objectives/index.md b/docs/google-docs/providers/google/monitoring/service_level_objectives/index.md index 6bcdf2ad8a..2d9ba10118 100644 --- a/docs/google-docs/providers/google/monitoring/service_level_objectives/index.md +++ b/docs/google-docs/providers/google/monitoring/service_level_objectives/index.md @@ -1,3 +1,4 @@ + --- title: service_level_objectives hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - service_level_objectives - monitoring - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an service_level_objective resource or lists service_level_objectives in a region ## Overview @@ -33,10 +35,11 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Identifier. Resource name for this ServiceLevelObjective. The format is: projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID]/serviceLevelObjectives/[SLO_NAME] | | | `string` | A calendar period, semantically "since the start of the current ". At this time, only DAY, WEEK, FORTNIGHT, and MONTH are supported. | | | `string` | Name used for UI elements listing this SLO. | -| | `number` | The fraction of service that must be good in order for this objective to be met. 0 < goal <= 0.999. | +| | `number` | The fraction of service that must be good in order for this objective to be met. 0 < goal <= 0.9999. | | | `string` | A rolling time period, semantically "in the past ". Must be an integer multiple of 1 day no larger than 30 days. | -| | `object` | A Service-Level Indicator (SLI) describes the "performance" of a service. For some services, the SLI is well-defined. In such cases, the SLI can be described easily by referencing the well-known SLI and providing the needed parameters. Alternatively, a "custom" SLI can be defined with a query to the underlying metric store. An SLI is defined to be good_service / total_service over any queried time interval. The value of performance always falls into the range 0 <= performance <= 1. A custom SLI describes how to compute this ratio, whether this is by dividing values from a pair of time series, cutting a Distribution into good and bad counts, or counting time windows in which the service complies with a criterion. For separation of concerns, a single Service-Level Indicator measures performance for only one aspect of service quality, such as fraction of successful queries or fast-enough queries. | +| | `object` | A Service-Level Indicator (SLI) describes the "performance" of a service. For some services, the SLI is well-defined. In such cases, the SLI can be described easily by referencing the well-known SLI and providing the needed parameters. Alternatively, a "custom" SLI can be defined with a query to the underlying metric store. An SLI is defined to be good_service / total_service over any queried time interval. The value of performance always falls into the range 0 <= performance <= 1. A custom SLI describes how to compute this ratio, whether this is by dividing values from a pair of time series, cutting a Distribution into good and bad counts, or counting time windows in which the service complies with a criterion. For separation of concerns, a single Service-Level Indicator measures performance for only one aspect of service quality, such as fraction of successful queries or fast-enough queries. | | | `object` | Labels which have been used to annotate the service-level objective. Label keys must start with a letter. Label keys and values may contain lowercase letters, numbers, underscores, and dashes. Label keys and values have a maximum length of 63 characters, and must be less than 128 bytes in size. Up to 64 label entries may be stored. For labels which do not have a semantic value, the empty string may be supplied for the label value. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -45,4 +48,111 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Create a ServiceLevelObjective for the given Service. | | | `DELETE` | | Delete the given ServiceLevelObjective. | | | `UPDATE` | | Update the given ServiceLevelObjective. | -| | `EXEC` | | List the ServiceLevelObjectives for the given Service. | + +## `SELECT` examples + +Get a ServiceLevelObjective by name. + +```sql +SELECT +name, +calendarPeriod, +displayName, +goal, +rollingPeriod, +serviceLevelIndicator, +userLabels +FROM google.monitoring.service_level_objectives +WHERE name = '{{ name }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new service_level_objectives resource. + + + + +```sql +/*+ create */ +INSERT INTO google.monitoring.service_level_objectives ( +parent, +parentType, +name, +displayName, +serviceLevelIndicator, +goal, +rollingPeriod, +calendarPeriod, +userLabels +) +SELECT +'{{ parent }}', +'{{ parentType }}', +'{{ name }}', +'{{ displayName }}', +'{{ serviceLevelIndicator }}', +number, +'{{ rollingPeriod }}', +'{{ calendarPeriod }}', +'{{ userLabels }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: serviceLevelIndicator + value: '{{ serviceLevelIndicator }}' + - name: goal + value: '{{ goal }}' + - name: rollingPeriod + value: '{{ rollingPeriod }}' + - name: calendarPeriod + value: '{{ calendarPeriod }}' + - name: userLabels + value: '{{ userLabels }}' + +``` + + + +## `UPDATE` example + +Updates a service_level_objective only if the necessary resources are available. + +```sql +UPDATE google.monitoring.service_level_objectives +SET +name = '{{ name }}', +displayName = '{{ displayName }}', +serviceLevelIndicator = '{{ serviceLevelIndicator }}', +goal = number, +rollingPeriod = '{{ rollingPeriod }}', +calendarPeriod = '{{ calendarPeriod }}', +userLabels = '{{ userLabels }}' +WHERE +name = '{{ name }}'; +``` + +## `DELETE` example + +Deletes the specified service_level_objective resource. + +```sql +DELETE FROM google.monitoring.service_level_objectives +WHERE name = '{{ name }}'; +``` diff --git a/docs/google-docs/providers/google/monitoring/services/index.md b/docs/google-docs/providers/google/monitoring/services/index.md index 787e4d3cf4..9385555dd8 100644 --- a/docs/google-docs/providers/google/monitoring/services/index.md +++ b/docs/google-docs/providers/google/monitoring/services/index.md @@ -1,3 +1,4 @@ + --- title: services hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - services - monitoring - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an service resource or lists services in a region ## Overview
@@ -41,13 +43,135 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | GKE Namespace. The field names correspond to the resource metadata labels on monitored resources that fall under a namespace (for example, k8s_container or k8s_pod). | | | `object` | GKE Service. The "service" here represents a Kubernetes service object (https://kubernetes.io/docs/concepts/services-networking/service). The field names correspond to the resource labels on k8s_service monitored resources (https://cloud.google.com/monitoring/api/resources#tag_k8s_service). | | | `object` | A GKE Workload (Deployment, StatefulSet, etc). The field names correspond to the metadata labels on monitored resources that fall under a workload (for example, k8s_container or k8s_pod). | -| | `object` | Canonical service scoped to an Istio mesh. Anthos clusters running ASM >= 1.6.8 will have their services ingested as this type. | -| | `object` | Istio service scoped to an Istio mesh. Anthos clusters running ASM < 1.6.8 will have their services ingested as this type. | +| | `object` | Canonical service scoped to an Istio mesh. Anthos clusters running ASM >= 1.6.8 will have their services ingested as this type. | +| | `object` | Istio service scoped to an Istio mesh. Anthos clusters running ASM < 1.6.8 will have their services ingested as this type. | | | `object` | Configuration for how to query telemetry on a Service. | | | `object` | Labels which have been used to annotate the service. Label keys must start with a letter. Label keys and values may contain lowercase letters, numbers, underscores, and dashes. Label keys and values have a maximum length of 63 characters, and must be less than 128 bytes in size. Up to 64 label entries may be stored. For labels which do not have a semantic value, the empty string may be supplied for the label value. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | List Services for this Metrics Scope. | | | `INSERT` | | Create a Service. | -| | `EXEC` | | List Services for this Metrics Scope. | + +## `SELECT` examples + +List Services for this Metrics Scope. + +```sql +SELECT +name, +appEngine, +basicService, +cloudEndpoints, +cloudRun, +clusterIstio, +custom, +displayName, +gkeNamespace, +gkeService, +gkeWorkload, +istioCanonicalService, +meshIstio, +telemetry, +userLabels +FROM google.monitoring.services +WHERE parent = '{{ parent }}' +AND parentType = '{{ parentType }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new services resource. + + + + +```sql +/*+ create */ +INSERT INTO google.monitoring.services ( +parent, +parentType, +name, +displayName, +custom, +appEngine, +cloudEndpoints, +clusterIstio, +meshIstio, +istioCanonicalService, +cloudRun, +gkeNamespace, +gkeWorkload, +gkeService, +basicService, +telemetry, +userLabels +) +SELECT +'{{ parent }}', +'{{ parentType }}', +'{{ name }}', +'{{ displayName }}', +'{{ custom }}', +'{{ appEngine }}', +'{{ cloudEndpoints }}', +'{{ clusterIstio }}', +'{{ meshIstio }}', +'{{ istioCanonicalService }}', +'{{ cloudRun }}', +'{{ gkeNamespace }}', +'{{ gkeWorkload }}', +'{{ gkeService }}', +'{{ basicService }}', +'{{ telemetry }}', +'{{ userLabels }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: custom + value: '{{ custom }}' + - name: appEngine + value: '{{ appEngine }}' + - name: cloudEndpoints + value: '{{ cloudEndpoints }}' + - name: clusterIstio + value: '{{ clusterIstio }}' + - name: meshIstio + value: '{{ meshIstio }}' + - name: istioCanonicalService + value: '{{ istioCanonicalService }}' + - name: cloudRun + value: '{{ cloudRun }}' + - name: gkeNamespace + value: '{{ gkeNamespace }}' + - name: gkeWorkload + value: '{{ gkeWorkload }}' + - name: gkeService + value: '{{ gkeService }}' + - name: basicService + value: '{{ basicService }}' + - name: telemetry + value: '{{ telemetry }}' + - name: userLabels + value: '{{ userLabels }}' + +``` + + diff --git a/docs/google-docs/providers/google/monitoring/snoozes/index.md b/docs/google-docs/providers/google/monitoring/snoozes/index.md index 816e75a4d6..79769aaae0 100644 --- a/docs/google-docs/providers/google/monitoring/snoozes/index.md +++ b/docs/google-docs/providers/google/monitoring/snoozes/index.md @@ -1,3 +1,4 @@ + --- title: snoozes hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - snoozes - monitoring - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an snooze resource or lists snoozes in a region ## Overview
@@ -30,10 +32,11 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Required. The name of the Snooze. The format is: projects/[PROJECT_ID_OR_NUMBER]/snoozes/[SNOOZE_ID] The ID of the Snooze will be generated by the system. | +| | `string` | Required. Identifier. The name of the Snooze. The format is: projects/[PROJECT_ID_OR_NUMBER]/snoozes/[SNOOZE_ID] The ID of the Snooze will be generated by the system. | | | `object` | Criteria specific to the AlertPolicys that this Snooze applies to. The Snooze will suppress alerts that come from one of the AlertPolicys whose names are supplied. | | | `string` | Required. A display name for the Snooze. This can be, at most, 512 unicode characters. | | | `object` | Describes a time interval: Reads: A half-open time interval. It includes the end time but excludes the start time: (startTime, endTime]. The start time must be specified, must be earlier than the end time, and should be no older than the data retention period for the metric. Writes: A closed time interval. It extends from the start time to the end time, and includes both: [startTime, endTime]. Valid time intervals depend on the MetricKind (https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.metricDescriptors#MetricKind) of the metric value. The end time must not be earlier than the start time, and the end time must not be more than 25 hours in the past or more than five minutes in the future. For GAUGE metrics, the startTime value is technically optional; if no value is specified, the start time defaults to the value of the end time, and the interval represents a single point in time. If both start and end times are specified, they must be identical. Such an interval is valid only for GAUGE metrics, which are point-in-time measurements. The end time of a new interval must be at least a millisecond after the end time of the previous interval. For DELTA metrics, the start time and end time must specify a non-zero interval, with subsequent points specifying contiguous and non-overlapping intervals. For DELTA metrics, the start time of the next interval must be at least a millisecond after the end time of the previous interval. For CUMULATIVE metrics, the start time and end time must specify a non-zero interval, with subsequent points specifying the same start time and increasing end times, until an event resets the cumulative value to zero and sets a new start time for the following points. The new start time must be at least a millisecond after the end time of the previous interval. The start time of a new interval must be at least a millisecond after the end time of the previous interval because intervals are closed. If the start time of a new interval is the same as the end time of the previous interval, then data written at the new start time could overwrite data written at the previous end time. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -41,4 +44,83 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists the Snoozes associated with a project. Can optionally pass in filter, which specifies predicates to match Snoozes. | | | `INSERT` | | Creates a Snooze that will prevent alerts, which match the provided criteria, from being opened. The Snooze applies for a specific time interval. | | | `UPDATE` | | Updates a Snooze, identified by its name, with the parameters in the given Snooze object. | -| | `EXEC` | | Lists the Snoozes associated with a project. Can optionally pass in filter, which specifies predicates to match Snoozes. | + +## `SELECT` examples + +Lists the Snoozes associated with a project. Can optionally pass in filter, which specifies predicates to match Snoozes. + +```sql +SELECT +name, +criteria, +displayName, +interval +FROM google.monitoring.snoozes +WHERE projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new snoozes resource. + + + + +```sql +/*+ create */ +INSERT INTO google.monitoring.snoozes ( +projectsId, +name, +criteria, +interval, +displayName +) +SELECT +'{{ projectsId }}', +'{{ name }}', +'{{ criteria }}', +'{{ interval }}', +'{{ displayName }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: criteria + value: '{{ criteria }}' + - name: interval + value: '{{ interval }}' + - name: displayName + value: '{{ displayName }}' + +``` + + + +## `UPDATE` example + +Updates a snooze only if the necessary resources are available. + +```sql +UPDATE google.monitoring.snoozes +SET +name = '{{ name }}', +criteria = '{{ criteria }}', +interval = '{{ interval }}', +displayName = '{{ displayName }}' +WHERE +projectsId = '{{ projectsId }}' +AND snoozesId = '{{ snoozesId }}'; +``` diff --git a/docs/google-docs/providers/google/monitoring/time_series/index.md b/docs/google-docs/providers/google/monitoring/time_series/index.md index b794b279bd..d793bfc9fa 100644 --- a/docs/google-docs/providers/google/monitoring/time_series/index.md +++ b/docs/google-docs/providers/google/monitoring/time_series/index.md @@ -1,3 +1,4 @@ + --- title: time_series hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - time_series - monitoring - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an time_sery resource or lists time_series in a region ## Overview
@@ -30,13 +32,15 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| +| | `string` | Input only. A detailed description of the time series that will be associated with the google.api.MetricDescriptor for the metric. Once set, this field cannot be changed through CreateTimeSeries. | | | `object` | Auxiliary metadata for a MonitoredResource object. MonitoredResource objects contain the minimum set of information to uniquely identify a monitored resource instance. There is some other useful auxiliary metadata. Monitoring and Logging use an ingestion pipeline to extract metadata for cloud resources of all types, and store the metadata in this message. | | | `object` | A specific metric, identified by specifying values for all of the labels of a MetricDescriptor. | | | `string` | The metric kind of the time series. When listing time series, this metric kind might be different from the metric kind of the associated metric if this time series is an alignment or reduction of other time series.When creating a time series, this field is optional. If present, it must be the same as the metric kind of the associated metric. If the associated metric's descriptor must be auto-created, then this field specifies the metric kind of the new descriptor and must be either GAUGE (the default) or CUMULATIVE. | | | `array` | The data points of this time series. When listing time series, points are returned in reverse time order.When creating a time series, this field must contain exactly one point and the point's type must be the same as the value type of the associated metric. If the associated metric's descriptor must be auto-created, then the value type of the descriptor is determined by the point's type, which must be BOOL, INT64, DOUBLE, or DISTRIBUTION. | -| | `object` | An object representing a resource that can be used for monitoring, logging, billing, or other purposes. Examples include virtual machine instances, databases, and storage devices such as disks. The type field identifies a MonitoredResourceDescriptor object that describes the resource's schema. Information in the labels field identifies the actual resource and its attributes according to the schema. For example, a particular Compute Engine VM instance could be represented by the following object, because the MonitoredResourceDescriptor for "gce_instance" has labels "project_id", "instance_id" and "zone": { "type": "gce_instance", "labels": { "project_id": "my-project", "instance_id": "12345678901234", "zone": "us-central1-a" }} | -| | `string` | The units in which the metric value is reported. It is only applicable if the value_type is INT64, DOUBLE, or DISTRIBUTION. The unit defines the representation of the stored metric values. | +| | `object` | An object representing a resource that can be used for monitoring, logging, billing, or other purposes. Examples include virtual machine instances, databases, and storage devices such as disks. The type field identifies a MonitoredResourceDescriptor object that describes the resource's schema. Information in the labels field identifies the actual resource and its attributes according to the schema. For example, a particular Compute Engine VM instance could be represented by the following object, because the MonitoredResourceDescriptor for "gce_instance" has labels "project_id", "instance_id" and "zone": { "type": "gce_instance", "labels": { "project_id": "my-project", "instance_id": "12345678901234", "zone": "us-central1-a" }} | +| | `string` | The units in which the metric value is reported. It is only applicable if the value_type is INT64, DOUBLE, or DISTRIBUTION. The unit defines the representation of the stored metric values. This field can only be changed through CreateTimeSeries when it is empty. | | | `string` | The value type of the time series. When listing time series, this value type might be different from the value type of the associated metric if this time series is an alignment or reduction of other time series.When creating a time series, this field is optional. If present, it must be the same as the type of the data in the points field. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -44,7 +48,60 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists time series that match a filter. | | | `SELECT` | | Lists time series that match a filter. | | | `INSERT` | | Creates or adds data to one or more time series. The response is empty if all time series in the request were written. If any time series could not be written, a corresponding failure message is included in the error response. This method does not support resource locations constraint of an organization policy (https://cloud.google.com/resource-manager/docs/organization-policy/defining-locations#setting_the_organization_policy). | -| | `EXEC` | | Lists time series that match a filter. | -| | `EXEC` | | Lists time series that match a filter. | -| | `EXEC` | | Lists time series that match a filter. | -| | `EXEC` | | Queries time series using Monitoring Query Language. | +| | `EXEC` | | Queries time series by using Monitoring Query Language (MQL). We recommend using PromQL instead of MQL. For more information about the status of MQL, see the MQL deprecation notice (https://cloud.google.com/stackdriver/docs/deprecations/mql). | + +## `SELECT` examples + +Lists time series that match a filter. + +```sql +SELECT +description, +metadata, +metric, +metricKind, +points, +resource, +unit, +valueType +FROM google.monitoring.time_series +WHERE foldersId = '{{ foldersId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new time_series resource. + + + + +```sql +/*+ create */ +INSERT INTO google.monitoring.time_series ( +projectsId, +timeSeries +) +SELECT +'{{ projectsId }}', +'{{ timeSeries }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: timeSeries + value: '{{ timeSeries }}' + +``` + + diff --git a/docs/google-docs/providers/google/monitoring/time_series_service/index.md b/docs/google-docs/providers/google/monitoring/time_series_service/index.md index 114813e6d9..9c1e0ed1f2 100644 --- a/docs/google-docs/providers/google/monitoring/time_series_service/index.md +++ b/docs/google-docs/providers/google/monitoring/time_series_service/index.md @@ -1,3 +1,4 @@ + --- title: time_series_service hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - time_series_service - monitoring - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an time_series_service resource or lists time_series_service in a region ## Overview
@@ -28,8 +30,48 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `INSERT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `INSERT` | | Creates or adds data to one or more service time series. A service time series is a time series for a metric from a Google Cloud service. The response is empty if all time series in the request were written. If any time series could not be written, a corresponding failure message is included in the error response. This endpoint rejects writes to user-defined metrics. This method is only for use by Google Cloud services. Use projects.timeSeries.create instead. | + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new time_series_service resource. + + + + +```sql +/*+ create */ +INSERT INTO google.monitoring.time_series_service ( +projectsId, +timeSeries +) +SELECT +'{{ projectsId }}', +'{{ timeSeries }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: timeSeries + value: '{{ timeSeries }}' + +``` + + diff --git a/docs/google-docs/providers/google/monitoring/uptime_check_configs/index.md b/docs/google-docs/providers/google/monitoring/uptime_check_configs/index.md index 50d336e85e..a610deac14 100644 --- a/docs/google-docs/providers/google/monitoring/uptime_check_configs/index.md +++ b/docs/google-docs/providers/google/monitoring/uptime_check_configs/index.md @@ -1,3 +1,4 @@ + --- title: uptime_check_configs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - uptime_check_configs - monitoring - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an uptime_check_config resource or lists uptime_check_configs in a region ## Overview @@ -37,7 +39,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Information involved in an HTTP/HTTPS Uptime check request. | | | `array` | The internal checkers that this check will egress from. If is_internal is true and this list is empty, the check will egress from all the InternalCheckers configured for the project that owns this UptimeCheckConfig. | | | `boolean` | If this is true, then checks are made only from the 'internal_checkers'. If it is false, then checks are made only from the 'selected_regions'. It is an error to provide 'selected_regions' when is_internal is true, or to provide 'internal_checkers' when is_internal is false. | -| | `object` | An object representing a resource that can be used for monitoring, logging, billing, or other purposes. Examples include virtual machine instances, databases, and storage devices such as disks. The type field identifies a MonitoredResourceDescriptor object that describes the resource's schema. Information in the labels field identifies the actual resource and its attributes according to the schema. For example, a particular Compute Engine VM instance could be represented by the following object, because the MonitoredResourceDescriptor for "gce_instance" has labels "project_id", "instance_id" and "zone": { "type": "gce_instance", "labels": { "project_id": "my-project", "instance_id": "12345678901234", "zone": "us-central1-a" }} | +| | `object` | An object representing a resource that can be used for monitoring, logging, billing, or other purposes. Examples include virtual machine instances, databases, and storage devices such as disks. The type field identifies a MonitoredResourceDescriptor object that describes the resource's schema. Information in the labels field identifies the actual resource and its attributes according to the schema. For example, a particular Compute Engine VM instance could be represented by the following object, because the MonitoredResourceDescriptor for "gce_instance" has labels "project_id", "instance_id" and "zone": { "type": "gce_instance", "labels": { "project_id": "my-project", "instance_id": "12345678901234", "zone": "us-central1-a" }} | | | `string` | How often, in seconds, the Uptime check is performed. Currently, the only supported values are 60s (1 minute), 300s (5 minutes), 600s (10 minutes), and 900s (15 minutes). Optional, defaults to 60s. | | | `object` | The resource submessage for group checks. It can be used instead of a monitored resource, when multiple resources are being monitored. | | | `array` | The list of regions from which the check will be run. Some regions contain one location, and others contain more than one. If this field is specified, enough regions must be provided to include a minimum of 3 locations. Not specifying this field will result in Uptime checks running from all available regions. | @@ -45,6 +47,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Information required for a TCP Uptime check request. | | | `string` | The maximum amount of time to wait for the request to complete (must be between 1 and 60 seconds). Required. | | | `object` | User-supplied key/value data to be used for organizing and identifying the UptimeCheckConfig objects.The field can contain up to 64 entries. Each key and value is limited to 63 Unicode characters or 128 bytes, whichever is smaller. Labels and values can contain only lowercase letters, numerals, underscores, and dashes. Keys must begin with a letter. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -53,4 +56,159 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new Uptime check configuration. | | | `DELETE` | | Deletes an Uptime check configuration. Note that this method will fail if the Uptime check configuration is referenced by an alert policy or other dependent configs that would be rendered invalid by the deletion. | | | `UPDATE` | | Updates an Uptime check configuration. You can either replace the entire configuration with a new one or replace only certain fields in the current configuration by specifying the fields to be updated via updateMask. Returns the updated configuration. | -| | `EXEC` | | Lists the existing valid Uptime check configurations for the project (leaving out any invalid configurations). | + +## `SELECT` examples + +Lists the existing valid Uptime check configurations for the project (leaving out any invalid configurations). + +```sql +SELECT +name, +checkerType, +contentMatchers, +displayName, +httpCheck, +internalCheckers, +isInternal, +monitoredResource, +period, +resourceGroup, +selectedRegions, +syntheticMonitor, +tcpCheck, +timeout, +userLabels +FROM google.monitoring.uptime_check_configs +WHERE projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new uptime_check_configs resource. + + + + +```sql +/*+ create */ +INSERT INTO google.monitoring.uptime_check_configs ( +projectsId, +name, +displayName, +monitoredResource, +resourceGroup, +syntheticMonitor, +httpCheck, +tcpCheck, +period, +timeout, +contentMatchers, +checkerType, +selectedRegions, +isInternal, +internalCheckers, +userLabels +) +SELECT +'{{ projectsId }}', +'{{ name }}', +'{{ displayName }}', +'{{ monitoredResource }}', +'{{ resourceGroup }}', +'{{ syntheticMonitor }}', +'{{ httpCheck }}', +'{{ tcpCheck }}', +'{{ period }}', +'{{ timeout }}', +'{{ contentMatchers }}', +'{{ checkerType }}', +'{{ selectedRegions }}', +true|false, +'{{ internalCheckers }}', +'{{ userLabels }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: monitoredResource + value: '{{ monitoredResource }}' + - name: resourceGroup + value: '{{ resourceGroup }}' + - name: syntheticMonitor + value: '{{ syntheticMonitor }}' + - name: httpCheck + value: '{{ httpCheck }}' + - name: tcpCheck + value: '{{ tcpCheck }}' + - name: period + value: '{{ period }}' + - name: timeout + value: '{{ timeout }}' + - name: contentMatchers + value: '{{ contentMatchers }}' + - name: checkerType + value: '{{ checkerType }}' + - name: selectedRegions + value: '{{ selectedRegions }}' + - name: isInternal + value: '{{ isInternal }}' + - name: internalCheckers + value: '{{ internalCheckers }}' + - name: userLabels + value: '{{ userLabels }}' + +``` + + + +## `UPDATE` example + +Updates a uptime_check_config only if the necessary resources are available. + +```sql +UPDATE google.monitoring.uptime_check_configs +SET +name = '{{ name }}', +displayName = '{{ displayName }}', +monitoredResource = '{{ monitoredResource }}', +resourceGroup = '{{ resourceGroup }}', +syntheticMonitor = '{{ syntheticMonitor }}', +httpCheck = '{{ httpCheck }}', +tcpCheck = '{{ tcpCheck }}', +period = '{{ period }}', +timeout = '{{ timeout }}', +contentMatchers = '{{ contentMatchers }}', +checkerType = '{{ checkerType }}', +selectedRegions = '{{ selectedRegions }}', +isInternal = true|false, +internalCheckers = '{{ internalCheckers }}', +userLabels = '{{ userLabels }}' +WHERE +projectsId = '{{ projectsId }}' +AND uptimeCheckConfigsId = '{{ uptimeCheckConfigsId }}'; +``` + +## `DELETE` example + +Deletes the specified uptime_check_config resource. + +```sql +DELETE FROM google.monitoring.uptime_check_configs +WHERE projectsId = '{{ projectsId }}' +AND uptimeCheckConfigsId = '{{ uptimeCheckConfigsId }}'; +``` diff --git a/docs/google-docs/providers/google/monitoring/uptime_check_ips/index.md b/docs/google-docs/providers/google/monitoring/uptime_check_ips/index.md index deabf52db9..31678f6156 100644 --- a/docs/google-docs/providers/google/monitoring/uptime_check_ips/index.md +++ b/docs/google-docs/providers/google/monitoring/uptime_check_ips/index.md @@ -1,3 +1,4 @@ + --- title: uptime_check_ips hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - uptime_check_ips - monitoring - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an uptime_check_ip resource or lists uptime_check_ips in a region ## Overview
@@ -33,8 +35,21 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The IP address from which the Uptime check originates. This is a fully specified IP address (not an IP address range). Most IP addresses, as of this publication, are in IPv4 format; however, one should not rely on the IP addresses being in IPv4 format indefinitely, and should support interpreting this field in either IPv4 or IPv6 format. | | | `string` | A more specific location within the region that typically encodes a particular city/town/metro (and its containing state/province or country) within the broader umbrella region category. | | | `string` | A broad region category in which the IP address is located. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Returns the list of IP addresses that checkers run from. | + +## `SELECT` examples + +Returns the list of IP addresses that checkers run from. + +```sql +SELECT +ipAddress, +location, +region +FROM google.monitoring.uptime_check_ips +WHERE = '{{ }}'; +``` diff --git a/docs/google-docs/providers/google/networkconnectivity/groups/index.md b/docs/google-docs/providers/google/networkconnectivity/groups/index.md index 2ae93de941..b4a2d7c71a 100644 --- a/docs/google-docs/providers/google/networkconnectivity/groups/index.md +++ b/docs/google-docs/providers/google/networkconnectivity/groups/index.md @@ -1,3 +1,4 @@ + --- title: groups hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - groups - networkconnectivity - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an group resource or lists groups in a region ## Overview
@@ -30,19 +32,61 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Immutable. The name of the group. Group names must be unique. They use the following form: `projects/{project_number}/locations/global/hubs/{hub}/groups/{group_id}` | +| | `string` | Immutable. The name of the group. Group names must be unique. They use the following form: `projects/{project_number}/locations/global/hubs/{hub}/groups/{group_id}` | | | `string` | Optional. The description of the group. | | | `object` | The auto-accept setting for a group controls whether proposed spokes are automatically attached to the hub. If auto-accept is enabled, the spoke immediately is attached to the hub and becomes part of the group. In this case, the new spoke is in the ACTIVE state. If auto-accept is disabled, the spoke goes to the INACTIVE state, and it must be reviewed and accepted by a hub administrator. | | | `string` | Output only. The time the group was created. | | | `object` | Optional. Labels in key-value pair format. For more information about labels, see [Requirements for labels](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements). | -| | `string` | Output only. The name of the route table that corresponds to this group. They use the following form: `projects/{project_number}/locations/global/hubs/{hub_id}/routeTables/{route_table_id}` | +| | `string` | Output only. The name of the route table that corresponds to this group. They use the following form: `projects/{project_number}/locations/global/hubs/{hub_id}/routeTables/{route_table_id}` | | | `string` | Output only. The current lifecycle state of this group. | | | `string` | Output only. The Google-generated UUID for the group. This value is unique across all group resources. If a group is deleted and another with the same name is created, the new route table is assigned a different unique_id. | | | `string` | Output only. The time the group was last updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets details about a Network Connectivity Center group. | | | `SELECT` | | Lists groups in a given hub. | | | `UPDATE` | | Updates the parameters of a Network Connectivity Center group. | -| | `EXEC` | | Lists groups in a given hub. | + +## `SELECT` examples + +Lists groups in a given hub. + +```sql +SELECT +name, +description, +autoAccept, +createTime, +labels, +routeTable, +state, +uid, +updateTime +FROM google.networkconnectivity.groups +WHERE hubsId = '{{ hubsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `UPDATE` example + +Updates a group only if the necessary resources are available. + +```sql +UPDATE google.networkconnectivity.groups +SET +name = '{{ name }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +labels = '{{ labels }}', +description = '{{ description }}', +uid = '{{ uid }}', +state = '{{ state }}', +autoAccept = '{{ autoAccept }}', +routeTable = '{{ routeTable }}' +WHERE +groupsId = '{{ groupsId }}' +AND hubsId = '{{ hubsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/networkconnectivity/groups_iam_policies/index.md b/docs/google-docs/providers/google/networkconnectivity/groups_iam_policies/index.md index 480bee68a0..5d93104112 100644 --- a/docs/google-docs/providers/google/networkconnectivity/groups_iam_policies/index.md +++ b/docs/google-docs/providers/google/networkconnectivity/groups_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: groups_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - groups_iam_policies - networkconnectivity - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an groups_iam_policy resource or lists groups_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.networkconnectivity.groups_iam_policies +WHERE groupsId = '{{ groupsId }}' +AND hubsId = '{{ hubsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/networkconnectivity/hubs/index.md b/docs/google-docs/providers/google/networkconnectivity/hubs/index.md index b3c27674e1..6c574ebb07 100644 --- a/docs/google-docs/providers/google/networkconnectivity/hubs/index.md +++ b/docs/google-docs/providers/google/networkconnectivity/hubs/index.md @@ -1,3 +1,4 @@ + --- title: hubs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - hubs - networkconnectivity - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an hub resource or lists hubs in a region ## Overview
@@ -30,19 +32,20 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Immutable. The name of the hub. Hub names must be unique. They use the following form: `projects/{project_number}/locations/global/hubs/{hub_id}` | +| | `string` | Immutable. The name of the hub. Hub names must be unique. They use the following form: `projects/{project_number}/locations/global/hubs/{hub_id}` | | | `string` | An optional description of the hub. | | | `string` | Output only. The time the hub was created. | | | `boolean` | Optional. Whether Private Service Connect transitivity is enabled for the hub. If true, Private Service Connect endpoints in VPC spokes attached to the hub are made accessible to other VPC spokes attached to the hub. The default value is false. | | | `object` | Optional labels in key-value pair format. For more information about labels, see [Requirements for labels](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements). | | | `string` | Optional. The policy mode of this hub. This field can be either PRESET or CUSTOM. If unspecified, the policy_mode defaults to PRESET. | | | `string` | Optional. The topology implemented in this hub. Currently, this field is only used when policy_mode = PRESET. The available preset topologies are MESH and STAR. If preset_topology is unspecified and policy_mode = PRESET, the preset_topology defaults to MESH. When policy_mode = CUSTOM, the preset_topology is set to PRESET_TOPOLOGY_UNSPECIFIED. | -| | `array` | Output only. The route tables that belong to this hub. They use the following form: `projects/{project_number}/locations/global/hubs/{hub_id}/routeTables/{route_table_id}` This field is read-only. Network Connectivity Center automatically populates it based on the route tables nested under the hub. | +| | `array` | Output only. The route tables that belong to this hub. They use the following form: `projects/{project_number}/locations/global/hubs/{hub_id}/routeTables/{route_table_id}` This field is read-only. Network Connectivity Center automatically populates it based on the route tables nested under the hub. | | | `array` | The VPC networks associated with this hub's spokes. This field is read-only. Network Connectivity Center automatically populates it based on the set of spokes attached to the hub. | | | `object` | Summarizes information about the spokes associated with a hub. The summary includes a count of spokes according to type and according to state. If any spokes are inactive, the summary also lists the reasons they are inactive, including a count for each reason. | | | `string` | Output only. The current lifecycle state of this hub. | | | `string` | Output only. The Google-generated UUID for the hub. This value is unique across all hub resources. If a hub is deleted and another with the same name is created, the new hub is assigned a different unique_id. | | | `string` | Output only. The time the hub was last updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -51,6 +54,149 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new Network Connectivity Center hub in the specified project. | | | `DELETE` | | Deletes a Network Connectivity Center hub. | | | `UPDATE` | | Updates the description and/or labels of a Network Connectivity Center hub. | -| | `EXEC` | | Lists the Network Connectivity Center hubs associated with a given project. | | | `EXEC` | | Accepts a proposal to attach a Network Connectivity Center spoke to a hub. | | | `EXEC` | | Rejects a Network Connectivity Center spoke from being attached to a hub. If the spoke was previously in the `ACTIVE` state, it transitions to the `INACTIVE` state and is no longer able to connect to other spokes that are attached to the hub. | + +## `SELECT` examples + +Lists the Network Connectivity Center hubs associated with a given project. + +```sql +SELECT +name, +description, +createTime, +exportPsc, +labels, +policyMode, +presetTopology, +routeTables, +routingVpcs, +spokeSummary, +state, +uniqueId, +updateTime +FROM google.networkconnectivity.hubs +WHERE projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new hubs resource. + + + + +```sql +/*+ create */ +INSERT INTO google.networkconnectivity.hubs ( +projectsId, +name, +createTime, +updateTime, +labels, +description, +uniqueId, +state, +routingVpcs, +routeTables, +spokeSummary, +policyMode, +presetTopology, +exportPsc +) +SELECT +'{{ projectsId }}', +'{{ name }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ labels }}', +'{{ description }}', +'{{ uniqueId }}', +'{{ state }}', +'{{ routingVpcs }}', +'{{ routeTables }}', +'{{ spokeSummary }}', +'{{ policyMode }}', +'{{ presetTopology }}', +true|false +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: labels + value: '{{ labels }}' + - name: description + value: '{{ description }}' + - name: uniqueId + value: '{{ uniqueId }}' + - name: state + value: '{{ state }}' + - name: routingVpcs + value: '{{ routingVpcs }}' + - name: routeTables + value: '{{ routeTables }}' + - name: spokeSummary + value: '{{ spokeSummary }}' + - name: policyMode + value: '{{ policyMode }}' + - name: presetTopology + value: '{{ presetTopology }}' + - name: exportPsc + value: '{{ exportPsc }}' + +``` + + + +## `UPDATE` example + +Updates a hub only if the necessary resources are available. + +```sql +UPDATE google.networkconnectivity.hubs +SET +name = '{{ name }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +labels = '{{ labels }}', +description = '{{ description }}', +uniqueId = '{{ uniqueId }}', +state = '{{ state }}', +routingVpcs = '{{ routingVpcs }}', +routeTables = '{{ routeTables }}', +spokeSummary = '{{ spokeSummary }}', +policyMode = '{{ policyMode }}', +presetTopology = '{{ presetTopology }}', +exportPsc = true|false +WHERE +hubsId = '{{ hubsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified hub resource. + +```sql +DELETE FROM google.networkconnectivity.hubs +WHERE hubsId = '{{ hubsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/networkconnectivity/hubs_iam_policies/index.md b/docs/google-docs/providers/google/networkconnectivity/hubs_iam_policies/index.md index b229ceb4f5..d1c38a16d7 100644 --- a/docs/google-docs/providers/google/networkconnectivity/hubs_iam_policies/index.md +++ b/docs/google-docs/providers/google/networkconnectivity/hubs_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: hubs_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - hubs_iam_policies - networkconnectivity - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an hubs_iam_policy resource or lists hubs_iam_policies in a region ## Overview
@@ -30,13 +32,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.networkconnectivity.hubs_iam_policies +WHERE hubsId = '{{ hubsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/networkconnectivity/index.md b/docs/google-docs/providers/google/networkconnectivity/index.md index 7e3874f5a4..9d98dfd2b8 100644 --- a/docs/google-docs/providers/google/networkconnectivity/index.md +++ b/docs/google-docs/providers/google/networkconnectivity/index.md @@ -9,34 +9,23 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -This API enables connectivity with and between Google Cloud resources. - +The networkconnectivity service documentation. + :::info Service Summary
total resources: 21
-total selectable resources: 21
-total methods: 100
::: -## Overview -
- - - - - -
Namegoogle.networkconnectivity
TypeService
TitleNetwork Connectivity API
DescriptionThis API enables connectivity with and between Google Cloud resources.
Idnetworkconnectivity:v24.06.00236
- ## Resources
@@ -50,7 +39,7 @@ This API enables connectivity with and between Google Cloud resources. policy_based_routes
policy_based_routes_iam_policies
regional_endpoints
-route_tables
+route_tables
routes
@@ -62,6 +51,6 @@ This API enables connectivity with and between Google Cloud resources. service_connection_policies_iam_policies
service_connection_tokens
spokes
-spokes_iam_policies
-
+spokes_iam_policies
+ \ No newline at end of file diff --git a/docs/google-docs/providers/google/networkconnectivity/internal_ranges/index.md b/docs/google-docs/providers/google/networkconnectivity/internal_ranges/index.md index 6be5b2508e..4492d40a42 100644 --- a/docs/google-docs/providers/google/networkconnectivity/internal_ranges/index.md +++ b/docs/google-docs/providers/google/networkconnectivity/internal_ranges/index.md @@ -1,3 +1,4 @@ + --- title: internal_ranges hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - internal_ranges - networkconnectivity - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an internal_range resource or lists internal_ranges in a region ## Overview @@ -30,12 +32,12 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Immutable. The name of an internal range. Format: projects/{project}/locations/{location}/internalRanges/{internal_range} See: https://google.aip.dev/122#fields-representing-resource-names | +| | `string` | Immutable. The name of an internal range. Format: projects/{project}/locations/{location}/internalRanges/{internal_range} See: https://google.aip.dev/122#fields-representing-resource-names | | | `string` | A description of this resource. | | | `string` | Time when the internal range was created. | | | `string` | The IP range that this internal range defines. | | | `object` | User-defined labels. | -| | `string` | The URL or resource ID of the network in which to reserve the internal range. The network cannot be deleted if there are any reserved internal ranges referring to it. Legacy networks are not supported. For example: https://www.googleapis.com/compute/v1/projects/{project}/locations/global/networks/{network} projects/{project}/locations/global/networks/{network} {network} | +| | `string` | The URL or resource ID of the network in which to reserve the internal range. The network cannot be deleted if there are any reserved internal ranges referring to it. Legacy networks are not supported. For example: https://www.googleapis.com/compute/v1/projects/{project}/locations/global/networks/{network} projects/{project}/locations/global/networks/{network} {network} | | | `array` | Optional. Types of resources that are allowed to overlap with the current internal range. | | | `string` | The type of peering set for this internal range. | | | `integer` | An alternate to ip_cidr_range. Can be set when trying to create a reservation that automatically finds a free range of the given size. If both ip_cidr_range and prefix_length are set, there is an error if the range sizes do not match. Can also be used during updates to change the range size. | @@ -43,6 +45,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Time when the internal range was updated. | | | `string` | The type of usage set for this InternalRange. | | | `array` | Output only. The list of resources that refer to this internal range. Resources that use the internal range for their range allocation are referred to as users of the range. Other resources mark themselves as users while doing so by creating a reference to this internal range. Having a user, based on this reference, prevents deletion of the internal range referred to. Can be empty. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -51,4 +54,152 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new internal range in a given project and location. | | | `DELETE` | | Deletes a single internal range. | | | `UPDATE` | | Updates the parameters of a single internal range. | -| | `EXEC` | | Lists internal ranges in a given project and location. | + +## `SELECT` examples + +Lists internal ranges in a given project and location. + +```sql +SELECT +name, +description, +createTime, +ipCidrRange, +labels, +network, +overlaps, +peering, +prefixLength, +targetCidrRange, +updateTime, +usage, +users +FROM google.networkconnectivity.internal_ranges +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new internal_ranges resource. + + + + +```sql +/*+ create */ +INSERT INTO google.networkconnectivity.internal_ranges ( +locationsId, +projectsId, +name, +createTime, +updateTime, +labels, +description, +ipCidrRange, +network, +usage, +peering, +prefixLength, +targetCidrRange, +users, +overlaps +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ labels }}', +'{{ description }}', +'{{ ipCidrRange }}', +'{{ network }}', +'{{ usage }}', +'{{ peering }}', +'{{ prefixLength }}', +'{{ targetCidrRange }}', +'{{ users }}', +'{{ overlaps }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: labels + value: '{{ labels }}' + - name: description + value: '{{ description }}' + - name: ipCidrRange + value: '{{ ipCidrRange }}' + - name: network + value: '{{ network }}' + - name: usage + value: '{{ usage }}' + - name: peering + value: '{{ peering }}' + - name: prefixLength + value: '{{ prefixLength }}' + - name: targetCidrRange + value: '{{ targetCidrRange }}' + - name: users + value: '{{ users }}' + - name: overlaps + value: '{{ overlaps }}' + +``` + + + +## `UPDATE` example + +Updates a internal_range only if the necessary resources are available. + +```sql +UPDATE google.networkconnectivity.internal_ranges +SET +name = '{{ name }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +labels = '{{ labels }}', +description = '{{ description }}', +ipCidrRange = '{{ ipCidrRange }}', +network = '{{ network }}', +usage = '{{ usage }}', +peering = '{{ peering }}', +prefixLength = '{{ prefixLength }}', +targetCidrRange = '{{ targetCidrRange }}', +users = '{{ users }}', +overlaps = '{{ overlaps }}' +WHERE +internalRangesId = '{{ internalRangesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified internal_range resource. + +```sql +DELETE FROM google.networkconnectivity.internal_ranges +WHERE internalRangesId = '{{ internalRangesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/networkconnectivity/locations/index.md b/docs/google-docs/providers/google/networkconnectivity/locations/index.md index b271b8fd1a..01757de7fc 100644 --- a/docs/google-docs/providers/google/networkconnectivity/locations/index.md +++ b/docs/google-docs/providers/google/networkconnectivity/locations/index.md @@ -1,3 +1,4 @@ + --- title: locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - locations - networkconnectivity - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an location resource or lists locations in a region ## Overview
@@ -32,12 +34,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` | | | `string` | The friendly name for this location, typically a nearby city name. For example, "Tokyo". | -| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | +| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | | | `string` | The canonical id for this location. For example: `"us-east1"`. | | | `object` | Service-specific metadata. For example the available capacity at the given location. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about a location. | | | `SELECT` | | Lists information about the supported locations for this service. | -| | `EXEC` | | Lists information about the supported locations for this service. | + +## `SELECT` examples + +Lists information about the supported locations for this service. + +```sql +SELECT +name, +displayName, +labels, +locationId, +metadata +FROM google.networkconnectivity.locations +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/networkconnectivity/operations/index.md b/docs/google-docs/providers/google/networkconnectivity/operations/index.md index c0fc0d41ac..f83774083c 100644 --- a/docs/google-docs/providers/google/networkconnectivity/operations/index.md +++ b/docs/google-docs/providers/google/networkconnectivity/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - networkconnectivity - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview
@@ -30,16 +32,43 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.networkconnectivity.operations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified operation resource. + +```sql +DELETE FROM google.networkconnectivity.operations +WHERE locationsId = '{{ locationsId }}' +AND operationsId = '{{ operationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/networkconnectivity/policy_based_routes/index.md b/docs/google-docs/providers/google/networkconnectivity/policy_based_routes/index.md index f6f9fd3baf..269be2f185 100644 --- a/docs/google-docs/providers/google/networkconnectivity/policy_based_routes/index.md +++ b/docs/google-docs/providers/google/networkconnectivity/policy_based_routes/index.md @@ -1,3 +1,4 @@ + --- title: policy_based_routes hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - policy_based_routes - networkconnectivity - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an policy_based_route resource or lists policy_based_routes in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Immutable. A unique name of the resource in the form of `projects/{project_number}/locations/global/PolicyBasedRoutes/{policy_based_route_id}` | +| | `string` | Immutable. A unique name of the resource in the form of `projects/{project_number}/locations/global/PolicyBasedRoutes/{policy_based_route_id}` | | | `string` | Optional. An optional description of this resource. Provide this field when you create the resource. | | | `string` | Output only. Time when the policy-based route was created. | | | `object` | Filter matches L4 traffic. | @@ -45,6 +47,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Time when the policy-based route was updated. | | | `object` | VM instances that this policy-based route applies to. | | | `array` | Output only. If potential misconfigurations are detected for this route, this field will be populated with warning messages. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -52,4 +55,132 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists policy-based routes in a given project and location. | | | `INSERT` | | Creates a new policy-based route in a given project and location. | | | `DELETE` | | Deletes a single policy-based route. | -| | `EXEC` | | Lists policy-based routes in a given project and location. | + +## `SELECT` examples + +Lists policy-based routes in a given project and location. + +```sql +SELECT +name, +description, +createTime, +filter, +interconnectAttachment, +kind, +labels, +network, +nextHopIlbIp, +nextHopOtherRoutes, +priority, +selfLink, +updateTime, +virtualMachine, +warnings +FROM google.networkconnectivity.policy_based_routes +WHERE projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new policy_based_routes resource. + + + + +```sql +/*+ create */ +INSERT INTO google.networkconnectivity.policy_based_routes ( +projectsId, +virtualMachine, +interconnectAttachment, +nextHopIlbIp, +nextHopOtherRoutes, +name, +createTime, +updateTime, +labels, +description, +network, +filter, +priority, +warnings, +selfLink, +kind +) +SELECT +'{{ projectsId }}', +'{{ virtualMachine }}', +'{{ interconnectAttachment }}', +'{{ nextHopIlbIp }}', +'{{ nextHopOtherRoutes }}', +'{{ name }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ labels }}', +'{{ description }}', +'{{ network }}', +'{{ filter }}', +'{{ priority }}', +'{{ warnings }}', +'{{ selfLink }}', +'{{ kind }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: virtualMachine + value: '{{ virtualMachine }}' + - name: interconnectAttachment + value: '{{ interconnectAttachment }}' + - name: nextHopIlbIp + value: '{{ nextHopIlbIp }}' + - name: nextHopOtherRoutes + value: '{{ nextHopOtherRoutes }}' + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: labels + value: '{{ labels }}' + - name: description + value: '{{ description }}' + - name: network + value: '{{ network }}' + - name: filter + value: '{{ filter }}' + - name: priority + value: '{{ priority }}' + - name: warnings + value: '{{ warnings }}' + - name: selfLink + value: '{{ selfLink }}' + - name: kind + value: '{{ kind }}' + +``` + + + +## `DELETE` example + +Deletes the specified policy_based_route resource. + +```sql +DELETE FROM google.networkconnectivity.policy_based_routes +WHERE policyBasedRoutesId = '{{ policyBasedRoutesId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/networkconnectivity/policy_based_routes_iam_policies/index.md b/docs/google-docs/providers/google/networkconnectivity/policy_based_routes_iam_policies/index.md index 785ab97db3..94ce3ae182 100644 --- a/docs/google-docs/providers/google/networkconnectivity/policy_based_routes_iam_policies/index.md +++ b/docs/google-docs/providers/google/networkconnectivity/policy_based_routes_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: policy_based_routes_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - policy_based_routes_iam_policies - networkconnectivity - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an policy_based_routes_iam_policy resource or lists policy_based_routes_iam_policies in a region ## Overview
@@ -30,13 +32,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.networkconnectivity.policy_based_routes_iam_policies +WHERE policyBasedRoutesId = '{{ policyBasedRoutesId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/networkconnectivity/regional_endpoints/index.md b/docs/google-docs/providers/google/networkconnectivity/regional_endpoints/index.md index 9f0c499e51..a8e49393c7 100644 --- a/docs/google-docs/providers/google/networkconnectivity/regional_endpoints/index.md +++ b/docs/google-docs/providers/google/networkconnectivity/regional_endpoints/index.md @@ -1,3 +1,4 @@ + --- title: regional_endpoints hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - regional_endpoints - networkconnectivity - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an regional_endpoint resource or lists regional_endpoints in a region ## Overview
@@ -30,18 +32,19 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. The name of a RegionalEndpoint. Format: `projects/{project}/locations/{location}/regionalEndpoints/{regional_endpoint}`. | +| | `string` | Output only. The name of a RegionalEndpoint. Format: `projects/{project}/locations/{location}/regionalEndpoints/{regional_endpoint}`. | | | `string` | Optional. A description of this resource. | | | `string` | Required. The access type of this regional endpoint. This field is reflected in the PSC Forwarding Rule configuration to enable global access. | -| | `string` | Optional. The IP Address of the Regional Endpoint. When no address is provided, an IP from the subnetwork is allocated. Use one of the following formats: * IPv4 address as in `10.0.0.1` * Address resource URI as in `projects/{project}/regions/{region}/addresses/{address_name}` | +| | `string` | Optional. The IP Address of the Regional Endpoint. When no address is provided, an IP from the subnetwork is allocated. Use one of the following formats: * IPv4 address as in `10.0.0.1` * Address resource URI as in `projects/{project}/regions/{region}/addresses/{address_name}` | | | `string` | Output only. Time when the RegionalEndpoint was created. | | | `string` | Output only. The literal IP address of the PSC Forwarding Rule created on behalf of the customer. This field is deprecated. Use address instead. | | | `object` | User-defined labels. | -| | `string` | The name of the VPC network for this private regional endpoint. Format: `projects/{project}/global/networks/{network}` | -| | `string` | Output only. The resource reference of the PSC Forwarding Rule created on behalf of the customer. Format: `//compute.googleapis.com/projects/{project}/regions/{region}/forwardingRules/{forwarding_rule_name}` | -| | `string` | The name of the subnetwork from which the IP address will be allocated. Format: `projects/{project}/regions/{region}/subnetworks/{subnetwork}` | -| | `string` | Required. The service endpoint this private regional endpoint connects to. Format: `{apiname}.{region}.p.rep.googleapis.com` Example: "cloudkms.us-central1.p.rep.googleapis.com". | +| | `string` | The name of the VPC network for this private regional endpoint. Format: `projects/{project}/global/networks/{network}` | +| | `string` | Output only. The resource reference of the PSC Forwarding Rule created on behalf of the customer. Format: `//compute.googleapis.com/projects/{project}/regions/{region}/forwardingRules/{forwarding_rule_name}` | +| | `string` | The name of the subnetwork from which the IP address will be allocated. Format: `projects/{project}/regions/{region}/subnetworks/{subnetwork}` | +| | `string` | Required. The service endpoint this private regional endpoint connects to. Format: `{apiname}.{region}.p.rep.googleapis.com` Example: "cloudkms.us-central1.p.rep.googleapis.com". | | | `string` | Output only. Time when the RegionalEndpoint was updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -49,4 +52,121 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists RegionalEndpoints in a given project and location. | | | `INSERT` | | Creates a new RegionalEndpoint in a given project and location. | | | `DELETE` | | Deletes a single RegionalEndpoint. | -| | `EXEC` | | Lists RegionalEndpoints in a given project and location. | + +## `SELECT` examples + +Lists RegionalEndpoints in a given project and location. + +```sql +SELECT +name, +description, +accessType, +address, +createTime, +ipAddress, +labels, +network, +pscForwardingRule, +subnetwork, +targetGoogleApi, +updateTime +FROM google.networkconnectivity.regional_endpoints +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new regional_endpoints resource. + + + + +```sql +/*+ create */ +INSERT INTO google.networkconnectivity.regional_endpoints ( +locationsId, +projectsId, +name, +createTime, +updateTime, +labels, +description, +targetGoogleApi, +network, +subnetwork, +accessType, +pscForwardingRule, +ipAddress, +address +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ labels }}', +'{{ description }}', +'{{ targetGoogleApi }}', +'{{ network }}', +'{{ subnetwork }}', +'{{ accessType }}', +'{{ pscForwardingRule }}', +'{{ ipAddress }}', +'{{ address }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: labels + value: '{{ labels }}' + - name: description + value: '{{ description }}' + - name: targetGoogleApi + value: '{{ targetGoogleApi }}' + - name: network + value: '{{ network }}' + - name: subnetwork + value: '{{ subnetwork }}' + - name: accessType + value: '{{ accessType }}' + - name: pscForwardingRule + value: '{{ pscForwardingRule }}' + - name: ipAddress + value: '{{ ipAddress }}' + - name: address + value: '{{ address }}' + +``` + + + +## `DELETE` example + +Deletes the specified regional_endpoint resource. + +```sql +DELETE FROM google.networkconnectivity.regional_endpoints +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND regionalEndpointsId = '{{ regionalEndpointsId }}'; +``` diff --git a/docs/google-docs/providers/google/networkconnectivity/route_tables/index.md b/docs/google-docs/providers/google/networkconnectivity/route_tables/index.md index 43673ec93c..1080c269d0 100644 --- a/docs/google-docs/providers/google/networkconnectivity/route_tables/index.md +++ b/docs/google-docs/providers/google/networkconnectivity/route_tables/index.md @@ -1,3 +1,4 @@ + --- title: route_tables hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - route_tables - networkconnectivity - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an route_table resource or lists route_tables in a region ## Overview
@@ -30,16 +32,34 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Immutable. The name of the route table. Route table names must be unique. They use the following form: `projects/{project_number}/locations/global/hubs/{hub}/routeTables/{route_table_id}` | +| | `string` | Immutable. The name of the route table. Route table names must be unique. They use the following form: `projects/{project_number}/locations/global/hubs/{hub}/routeTables/{route_table_id}` | | | `string` | An optional description of the route table. | | | `string` | Output only. The time the route table was created. | | | `object` | Optional labels in key-value pair format. For more information about labels, see [Requirements for labels](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements). | | | `string` | Output only. The current lifecycle state of this route table. | | | `string` | Output only. The Google-generated UUID for the route table. This value is unique across all route table resources. If a route table is deleted and another with the same name is created, the new route table is assigned a different `uid`. | | | `string` | Output only. The time the route table was last updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets details about a Network Connectivity Center route table. | | | `SELECT` | | Lists route tables in a given hub. | -| | `EXEC` | | Lists route tables in a given hub. | + +## `SELECT` examples + +Lists route tables in a given hub. + +```sql +SELECT +name, +description, +createTime, +labels, +state, +uid, +updateTime +FROM google.networkconnectivity.route_tables +WHERE hubsId = '{{ hubsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/networkconnectivity/routes/index.md b/docs/google-docs/providers/google/networkconnectivity/routes/index.md index 023f838b47..35dbace044 100644 --- a/docs/google-docs/providers/google/networkconnectivity/routes/index.md +++ b/docs/google-docs/providers/google/networkconnectivity/routes/index.md @@ -1,3 +1,4 @@ + --- title: routes hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - routes - networkconnectivity - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an route resource or lists routes in a region ## Overview
@@ -30,12 +32,12 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Immutable. The name of the route. Route names must be unique. Route names use the following form: `projects/{project_number}/locations/global/hubs/{hub}/routeTables/{route_table_id}/routes/{route_id}` | +| | `string` | Immutable. The name of the route. Route names must be unique. Route names use the following form: `projects/{project_number}/locations/global/hubs/{hub}/routeTables/{route_table_id}/routes/{route_id}` | | | `string` | An optional description of the route. | | | `string` | Output only. The time the route was created. | | | `string` | The destination IP address range. | | | `object` | Optional labels in key-value pair format. For more information about labels, see [Requirements for labels](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements). | -| | `string` | Output only. The origin location of the route. Uses the following form: "projects/{project}/locations/{location}" Example: projects/1234/locations/us-central1 | +| | `string` | Output only. The origin location of the route. Uses the following form: "projects/{project}/locations/{location}" Example: projects/1234/locations/us-central1 | | | `object` | A route next hop that leads to an interconnect attachment resource. | | | `object` | A route next hop that leads to a Router appliance instance. | | | `object` | | @@ -46,9 +48,37 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The route's type. Its type is determined by the properties of its IP address range. | | | `string` | Output only. The Google-generated UUID for the route. This value is unique across all Network Connectivity Center route resources. If a route is deleted and another with the same name is created, the new route is assigned a different `uid`. | | | `string` | Output only. The time the route was last updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets details about the specified route. | | | `SELECT` | | Lists routes in a given route table. | -| | `EXEC` | | Lists routes in a given route table. | + +## `SELECT` examples + +Lists routes in a given route table. + +```sql +SELECT +name, +description, +createTime, +ipCidrRange, +labels, +location, +nextHopInterconnectAttachment, +nextHopRouterApplianceInstance, +nextHopVpcNetwork, +nextHopVpnTunnel, +priority, +spoke, +state, +type, +uid, +updateTime +FROM google.networkconnectivity.routes +WHERE hubsId = '{{ hubsId }}' +AND projectsId = '{{ projectsId }}' +AND routeTablesId = '{{ routeTablesId }}'; +``` diff --git a/docs/google-docs/providers/google/networkconnectivity/service_classes/index.md b/docs/google-docs/providers/google/networkconnectivity/service_classes/index.md index e55ebb2c59..c27d2dd382 100644 --- a/docs/google-docs/providers/google/networkconnectivity/service_classes/index.md +++ b/docs/google-docs/providers/google/networkconnectivity/service_classes/index.md @@ -1,3 +1,4 @@ + --- title: service_classes hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - service_classes - networkconnectivity - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an service_class resource or lists service_classes in a region ## Overview
@@ -30,13 +32,14 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Immutable. The name of a ServiceClass resource. Format: projects/{project}/locations/{location}/serviceClasses/{service_class} See: https://google.aip.dev/122#fields-representing-resource-names | +| | `string` | Immutable. The name of a ServiceClass resource. Format: projects/{project}/locations/{location}/serviceClasses/{service_class} See: https://google.aip.dev/122#fields-representing-resource-names | | | `string` | A description of this resource. | | | `string` | Output only. Time when the ServiceClass was created. | | | `string` | Optional. The etag is computed by the server, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. | | | `object` | User-defined labels. | | | `string` | Output only. The generated service class name. Use this name to refer to the Service class in Service Connection Maps and Service Connection Policies. | | | `string` | Output only. Time when the ServiceClass was updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -44,4 +47,52 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists ServiceClasses in a given project and location. | | | `DELETE` | | Deletes a single ServiceClass. | | | `UPDATE` | | Updates the parameters of a single ServiceClass. | -| | `EXEC` | | Lists ServiceClasses in a given project and location. | + +## `SELECT` examples + +Lists ServiceClasses in a given project and location. + +```sql +SELECT +name, +description, +createTime, +etag, +labels, +serviceClass, +updateTime +FROM google.networkconnectivity.service_classes +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `UPDATE` example + +Updates a service_class only if the necessary resources are available. + +```sql +UPDATE google.networkconnectivity.service_classes +SET +name = '{{ name }}', +serviceClass = '{{ serviceClass }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +labels = '{{ labels }}', +description = '{{ description }}', +etag = '{{ etag }}' +WHERE +locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND serviceClassesId = '{{ serviceClassesId }}'; +``` + +## `DELETE` example + +Deletes the specified service_class resource. + +```sql +DELETE FROM google.networkconnectivity.service_classes +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND serviceClassesId = '{{ serviceClassesId }}'; +``` diff --git a/docs/google-docs/providers/google/networkconnectivity/service_classes_iam_policies/index.md b/docs/google-docs/providers/google/networkconnectivity/service_classes_iam_policies/index.md index ae60834938..51225a77ec 100644 --- a/docs/google-docs/providers/google/networkconnectivity/service_classes_iam_policies/index.md +++ b/docs/google-docs/providers/google/networkconnectivity/service_classes_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: service_classes_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - service_classes_iam_policies - networkconnectivity - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an service_classes_iam_policy resource or lists service_classes_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.networkconnectivity.service_classes_iam_policies +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND serviceClassesId = '{{ serviceClassesId }}'; +``` diff --git a/docs/google-docs/providers/google/networkconnectivity/service_connection_maps/index.md b/docs/google-docs/providers/google/networkconnectivity/service_connection_maps/index.md index 93d7b60588..d9d1eb19d0 100644 --- a/docs/google-docs/providers/google/networkconnectivity/service_connection_maps/index.md +++ b/docs/google-docs/providers/google/networkconnectivity/service_connection_maps/index.md @@ -1,3 +1,4 @@ + --- title: service_connection_maps hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - service_connection_maps - networkconnectivity - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an service_connection_map resource or lists service_connection_maps in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Immutable. The name of a ServiceConnectionMap. Format: projects/{project}/locations/{location}/serviceConnectionMaps/{service_connection_map} See: https://google.aip.dev/122#fields-representing-resource-names | +| | `string` | Immutable. The name of a ServiceConnectionMap. Format: projects/{project}/locations/{location}/serviceConnectionMaps/{service_connection_map} See: https://google.aip.dev/122#fields-representing-resource-names | | | `string` | A description of this resource. | | | `array` | The PSC configurations on consumer side. | | | `array` | Output only. PSC connection details on consumer side. | @@ -43,6 +45,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The service class uri this ServiceConnectionMap is for. | | | `string` | The token provided by the consumer. This token authenticates that the consumer can create a connecton within the specified project and network. | | | `string` | Output only. Time when the ServiceConnectionMap was updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -51,4 +54,152 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new ServiceConnectionMap in a given project and location. | | | `DELETE` | | Deletes a single ServiceConnectionMap. | | | `UPDATE` | | Updates the parameters of a single ServiceConnectionMap. | -| | `EXEC` | | Lists ServiceConnectionMaps in a given project and location. | + +## `SELECT` examples + +Lists ServiceConnectionMaps in a given project and location. + +```sql +SELECT +name, +description, +consumerPscConfigs, +consumerPscConnections, +createTime, +etag, +infrastructure, +labels, +producerPscConfigs, +serviceClass, +serviceClassUri, +token, +updateTime +FROM google.networkconnectivity.service_connection_maps +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new service_connection_maps resource. + + + + +```sql +/*+ create */ +INSERT INTO google.networkconnectivity.service_connection_maps ( +locationsId, +projectsId, +name, +createTime, +updateTime, +labels, +description, +serviceClass, +serviceClassUri, +infrastructure, +producerPscConfigs, +consumerPscConfigs, +consumerPscConnections, +token, +etag +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ labels }}', +'{{ description }}', +'{{ serviceClass }}', +'{{ serviceClassUri }}', +'{{ infrastructure }}', +'{{ producerPscConfigs }}', +'{{ consumerPscConfigs }}', +'{{ consumerPscConnections }}', +'{{ token }}', +'{{ etag }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: labels + value: '{{ labels }}' + - name: description + value: '{{ description }}' + - name: serviceClass + value: '{{ serviceClass }}' + - name: serviceClassUri + value: '{{ serviceClassUri }}' + - name: infrastructure + value: '{{ infrastructure }}' + - name: producerPscConfigs + value: '{{ producerPscConfigs }}' + - name: consumerPscConfigs + value: '{{ consumerPscConfigs }}' + - name: consumerPscConnections + value: '{{ consumerPscConnections }}' + - name: token + value: '{{ token }}' + - name: etag + value: '{{ etag }}' + +``` + + + +## `UPDATE` example + +Updates a service_connection_map only if the necessary resources are available. + +```sql +UPDATE google.networkconnectivity.service_connection_maps +SET +name = '{{ name }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +labels = '{{ labels }}', +description = '{{ description }}', +serviceClass = '{{ serviceClass }}', +serviceClassUri = '{{ serviceClassUri }}', +infrastructure = '{{ infrastructure }}', +producerPscConfigs = '{{ producerPscConfigs }}', +consumerPscConfigs = '{{ consumerPscConfigs }}', +consumerPscConnections = '{{ consumerPscConnections }}', +token = '{{ token }}', +etag = '{{ etag }}' +WHERE +locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND serviceConnectionMapsId = '{{ serviceConnectionMapsId }}'; +``` + +## `DELETE` example + +Deletes the specified service_connection_map resource. + +```sql +DELETE FROM google.networkconnectivity.service_connection_maps +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND serviceConnectionMapsId = '{{ serviceConnectionMapsId }}'; +``` diff --git a/docs/google-docs/providers/google/networkconnectivity/service_connection_maps_iam_policies/index.md b/docs/google-docs/providers/google/networkconnectivity/service_connection_maps_iam_policies/index.md index e079d7aba7..f980cfb456 100644 --- a/docs/google-docs/providers/google/networkconnectivity/service_connection_maps_iam_policies/index.md +++ b/docs/google-docs/providers/google/networkconnectivity/service_connection_maps_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: service_connection_maps_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - service_connection_maps_iam_policies - networkconnectivity - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an service_connection_maps_iam_policy resource or lists service_connection_maps_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.networkconnectivity.service_connection_maps_iam_policies +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND serviceConnectionMapsId = '{{ serviceConnectionMapsId }}'; +``` diff --git a/docs/google-docs/providers/google/networkconnectivity/service_connection_policies/index.md b/docs/google-docs/providers/google/networkconnectivity/service_connection_policies/index.md index 0a4bf6bac0..63c949dc77 100644 --- a/docs/google-docs/providers/google/networkconnectivity/service_connection_policies/index.md +++ b/docs/google-docs/providers/google/networkconnectivity/service_connection_policies/index.md @@ -1,3 +1,4 @@ + --- title: service_connection_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - service_connection_policies - networkconnectivity - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an service_connection_policy resource or lists service_connection_policies in a region ## Overview
@@ -30,17 +32,18 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Immutable. The name of a ServiceConnectionPolicy. Format: projects/{project}/locations/{location}/serviceConnectionPolicies/{service_connection_policy} See: https://google.aip.dev/122#fields-representing-resource-names | +| | `string` | Immutable. The name of a ServiceConnectionPolicy. Format: projects/{project}/locations/{location}/serviceConnectionPolicies/{service_connection_policy} See: https://google.aip.dev/122#fields-representing-resource-names | | | `string` | A description of this resource. | | | `string` | Output only. Time when the ServiceConnectionMap was created. | | | `string` | Optional. The etag is computed by the server, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. | | | `string` | Output only. The type of underlying resources used to create the connection. | | | `object` | User-defined labels. | -| | `string` | The resource path of the consumer network. Example: - projects/{projectNumOrId}/global/networks/{resourceId}. | +| | `string` | The resource path of the consumer network. Example: - projects/{projectNumOrId}/global/networks/{resourceId}. | | | `object` | Configuration used for Private Service Connect connections. Used when Infrastructure is PSC. | | | `array` | Output only. [Output only] Information about each Private Service Connect connection. | -| | `string` | The service class identifier for which this ServiceConnectionPolicy is for. The service class identifier is a unique, symbolic representation of a ServiceClass. It is provided by the Service Producer. Google services have a prefix of gcp. For example, gcp-cloud-sql. 3rd party services do not. For example, test-service-a3dfcx. | +| | `string` | The service class identifier for which this ServiceConnectionPolicy is for. The service class identifier is a unique, symbolic representation of a ServiceClass. It is provided by the Service Producer. Google services have a prefix of gcp or google-cloud. For example, gcp-memorystore-redis or google-cloud-sql. 3rd party services do not. For example, test-service-a3dfcx. | | | `string` | Output only. Time when the ServiceConnectionMap was updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -49,4 +52,140 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new ServiceConnectionPolicy in a given project and location. | | | `DELETE` | | Deletes a single ServiceConnectionPolicy. | | | `UPDATE` | | Updates the parameters of a single ServiceConnectionPolicy. | -| | `EXEC` | | Lists ServiceConnectionPolicies in a given project and location. | + +## `SELECT` examples + +Lists ServiceConnectionPolicies in a given project and location. + +```sql +SELECT +name, +description, +createTime, +etag, +infrastructure, +labels, +network, +pscConfig, +pscConnections, +serviceClass, +updateTime +FROM google.networkconnectivity.service_connection_policies +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new service_connection_policies resource. + + + + +```sql +/*+ create */ +INSERT INTO google.networkconnectivity.service_connection_policies ( +locationsId, +projectsId, +name, +createTime, +updateTime, +labels, +description, +network, +serviceClass, +infrastructure, +pscConfig, +pscConnections, +etag +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ labels }}', +'{{ description }}', +'{{ network }}', +'{{ serviceClass }}', +'{{ infrastructure }}', +'{{ pscConfig }}', +'{{ pscConnections }}', +'{{ etag }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: labels + value: '{{ labels }}' + - name: description + value: '{{ description }}' + - name: network + value: '{{ network }}' + - name: serviceClass + value: '{{ serviceClass }}' + - name: infrastructure + value: '{{ infrastructure }}' + - name: pscConfig + value: '{{ pscConfig }}' + - name: pscConnections + value: '{{ pscConnections }}' + - name: etag + value: '{{ etag }}' + +``` + + + +## `UPDATE` example + +Updates a service_connection_policy only if the necessary resources are available. + +```sql +UPDATE google.networkconnectivity.service_connection_policies +SET +name = '{{ name }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +labels = '{{ labels }}', +description = '{{ description }}', +network = '{{ network }}', +serviceClass = '{{ serviceClass }}', +infrastructure = '{{ infrastructure }}', +pscConfig = '{{ pscConfig }}', +pscConnections = '{{ pscConnections }}', +etag = '{{ etag }}' +WHERE +locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND serviceConnectionPoliciesId = '{{ serviceConnectionPoliciesId }}'; +``` + +## `DELETE` example + +Deletes the specified service_connection_policy resource. + +```sql +DELETE FROM google.networkconnectivity.service_connection_policies +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND serviceConnectionPoliciesId = '{{ serviceConnectionPoliciesId }}'; +``` diff --git a/docs/google-docs/providers/google/networkconnectivity/service_connection_policies_iam_policies/index.md b/docs/google-docs/providers/google/networkconnectivity/service_connection_policies_iam_policies/index.md index 1a7db3ce87..893716fcf8 100644 --- a/docs/google-docs/providers/google/networkconnectivity/service_connection_policies_iam_policies/index.md +++ b/docs/google-docs/providers/google/networkconnectivity/service_connection_policies_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: service_connection_policies_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - service_connection_policies_iam_policies - networkconnectivity - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an service_connection_policies_iam_policy resource or lists service_connection_policies_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.networkconnectivity.service_connection_policies_iam_policies +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND serviceConnectionPoliciesId = '{{ serviceConnectionPoliciesId }}'; +``` diff --git a/docs/google-docs/providers/google/networkconnectivity/service_connection_tokens/index.md b/docs/google-docs/providers/google/networkconnectivity/service_connection_tokens/index.md index be4494ed16..ead6e0b952 100644 --- a/docs/google-docs/providers/google/networkconnectivity/service_connection_tokens/index.md +++ b/docs/google-docs/providers/google/networkconnectivity/service_connection_tokens/index.md @@ -1,3 +1,4 @@ + --- title: service_connection_tokens hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - service_connection_tokens - networkconnectivity - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an service_connection_token resource or lists service_connection_tokens in a region ## Overview
@@ -30,15 +32,16 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Immutable. The name of a ServiceConnectionToken. Format: projects/{project}/locations/{location}/ServiceConnectionTokens/{service_connection_token} See: https://google.aip.dev/122#fields-representing-resource-names | +| | `string` | Immutable. The name of a ServiceConnectionToken. Format: projects/{project}/locations/{location}/ServiceConnectionTokens/{service_connection_token} See: https://google.aip.dev/122#fields-representing-resource-names | | | `string` | A description of this resource. | | | `string` | Output only. Time when the ServiceConnectionToken was created. | | | `string` | Optional. The etag is computed by the server, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. | | | `string` | Output only. The time to which this token is valid. | | | `object` | User-defined labels. | -| | `string` | The resource path of the network associated with this token. Example: projects/{projectNumOrId}/global/networks/{resourceId}. | +| | `string` | The resource path of the network associated with this token. Example: projects/{projectNumOrId}/global/networks/{resourceId}. | | | `string` | Output only. The token generated by Automation. | | | `string` | Output only. Time when the ServiceConnectionToken was updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -46,4 +49,106 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists ServiceConnectionTokens in a given project and location. | | | `INSERT` | | Creates a new ServiceConnectionToken in a given project and location. | | | `DELETE` | | Deletes a single ServiceConnectionToken. | -| | `EXEC` | | Lists ServiceConnectionTokens in a given project and location. | + +## `SELECT` examples + +Lists ServiceConnectionTokens in a given project and location. + +```sql +SELECT +name, +description, +createTime, +etag, +expireTime, +labels, +network, +token, +updateTime +FROM google.networkconnectivity.service_connection_tokens +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new service_connection_tokens resource. + + + + +```sql +/*+ create */ +INSERT INTO google.networkconnectivity.service_connection_tokens ( +locationsId, +projectsId, +name, +createTime, +updateTime, +labels, +description, +network, +token, +expireTime, +etag +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ labels }}', +'{{ description }}', +'{{ network }}', +'{{ token }}', +'{{ expireTime }}', +'{{ etag }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: labels + value: '{{ labels }}' + - name: description + value: '{{ description }}' + - name: network + value: '{{ network }}' + - name: token + value: '{{ token }}' + - name: expireTime + value: '{{ expireTime }}' + - name: etag + value: '{{ etag }}' + +``` + + + +## `DELETE` example + +Deletes the specified service_connection_token resource. + +```sql +DELETE FROM google.networkconnectivity.service_connection_tokens +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND serviceConnectionTokensId = '{{ serviceConnectionTokensId }}'; +``` diff --git a/docs/google-docs/providers/google/networkconnectivity/spokes/index.md b/docs/google-docs/providers/google/networkconnectivity/spokes/index.md index 25c6412f03..9b9b16cfcc 100644 --- a/docs/google-docs/providers/google/networkconnectivity/spokes/index.md +++ b/docs/google-docs/providers/google/networkconnectivity/spokes/index.md @@ -1,3 +1,4 @@ + --- title: spokes hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - spokes - networkconnectivity - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an spoke resource or lists spokes in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Immutable. The name of the spoke. Spoke names must be unique. They use the following form: `projects/{project_number}/locations/{region}/spokes/{spoke_id}` | +| | `string` | Immutable. The name of the spoke. Spoke names must be unique. They use the following form: `projects/{project_number}/locations/{region}/spokes/{spoke_id}` | | | `string` | An optional description of the spoke. | | | `string` | Output only. The time the spoke was created. | | | `string` | Optional. The name of the group that this spoke is associated with. | @@ -45,6 +47,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The current lifecycle state of this spoke. | | | `string` | Output only. The Google-generated UUID for the spoke. This value is unique across all spoke resources. If a spoke is deleted and another with the same name is created, the new spoke is assigned a different `unique_id`. | | | `string` | Output only. The time the spoke was last updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -54,5 +57,164 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a Network Connectivity Center spoke. | | | `DELETE` | | Deletes a Network Connectivity Center spoke. | | | `UPDATE` | | Updates the parameters of a Network Connectivity Center spoke. | -| | `EXEC` | | Lists the Network Connectivity Center spokes in a specified project and location. | -| | `EXEC` | | Lists the Network Connectivity Center spokes associated with a specified hub and location. The list includes both spokes that are attached to the hub and spokes that have been proposed but not yet accepted. | + +## `SELECT` examples + +Lists the Network Connectivity Center spokes associated with a specified hub and location. The list includes both spokes that are attached to the hub and spokes that have been proposed but not yet accepted. + +```sql +SELECT +name, +description, +createTime, +group, +hub, +labels, +linkedInterconnectAttachments, +linkedRouterApplianceInstances, +linkedVpcNetwork, +linkedVpnTunnels, +reasons, +spokeType, +state, +uniqueId, +updateTime +FROM google.networkconnectivity.spokes +WHERE hubsId = '{{ hubsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new spokes resource. + + + + +```sql +/*+ create */ +INSERT INTO google.networkconnectivity.spokes ( +locationsId, +projectsId, +name, +createTime, +updateTime, +labels, +description, +hub, +group, +linkedVpnTunnels, +linkedInterconnectAttachments, +linkedRouterApplianceInstances, +linkedVpcNetwork, +uniqueId, +state, +reasons, +spokeType +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ labels }}', +'{{ description }}', +'{{ hub }}', +'{{ group }}', +'{{ linkedVpnTunnels }}', +'{{ linkedInterconnectAttachments }}', +'{{ linkedRouterApplianceInstances }}', +'{{ linkedVpcNetwork }}', +'{{ uniqueId }}', +'{{ state }}', +'{{ reasons }}', +'{{ spokeType }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: labels + value: '{{ labels }}' + - name: description + value: '{{ description }}' + - name: hub + value: '{{ hub }}' + - name: group + value: '{{ group }}' + - name: linkedVpnTunnels + value: '{{ linkedVpnTunnels }}' + - name: linkedInterconnectAttachments + value: '{{ linkedInterconnectAttachments }}' + - name: linkedRouterApplianceInstances + value: '{{ linkedRouterApplianceInstances }}' + - name: linkedVpcNetwork + value: '{{ linkedVpcNetwork }}' + - name: uniqueId + value: '{{ uniqueId }}' + - name: state + value: '{{ state }}' + - name: reasons + value: '{{ reasons }}' + - name: spokeType + value: '{{ spokeType }}' + +``` + + + +## `UPDATE` example + +Updates a spoke only if the necessary resources are available. + +```sql +UPDATE google.networkconnectivity.spokes +SET +name = '{{ name }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +labels = '{{ labels }}', +description = '{{ description }}', +hub = '{{ hub }}', +group = '{{ group }}', +linkedVpnTunnels = '{{ linkedVpnTunnels }}', +linkedInterconnectAttachments = '{{ linkedInterconnectAttachments }}', +linkedRouterApplianceInstances = '{{ linkedRouterApplianceInstances }}', +linkedVpcNetwork = '{{ linkedVpcNetwork }}', +uniqueId = '{{ uniqueId }}', +state = '{{ state }}', +reasons = '{{ reasons }}', +spokeType = '{{ spokeType }}' +WHERE +locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND spokesId = '{{ spokesId }}'; +``` + +## `DELETE` example + +Deletes the specified spoke resource. + +```sql +DELETE FROM google.networkconnectivity.spokes +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND spokesId = '{{ spokesId }}'; +``` diff --git a/docs/google-docs/providers/google/networkconnectivity/spokes_iam_policies/index.md b/docs/google-docs/providers/google/networkconnectivity/spokes_iam_policies/index.md index 9ec78888c0..31a2072599 100644 --- a/docs/google-docs/providers/google/networkconnectivity/spokes_iam_policies/index.md +++ b/docs/google-docs/providers/google/networkconnectivity/spokes_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: spokes_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - spokes_iam_policies - networkconnectivity - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an spokes_iam_policy resource or lists spokes_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.networkconnectivity.spokes_iam_policies +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND spokesId = '{{ spokesId }}'; +``` diff --git a/docs/google-docs/providers/google/networkmanagement/connectivity_tests/index.md b/docs/google-docs/providers/google/networkmanagement/connectivity_tests/index.md index 04fb1b5c58..2608445b00 100644 --- a/docs/google-docs/providers/google/networkmanagement/connectivity_tests/index.md +++ b/docs/google-docs/providers/google/networkmanagement/connectivity_tests/index.md @@ -1,3 +1,4 @@ + --- title: connectivity_tests hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - connectivity_tests - networkmanagement - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an connectivity_test resource or lists connectivity_tests in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Identifier. Unique name of the resource using the form: `projects/{project_id}/locations/global/connectivityTests/{test_id}` | +| | `string` | Identifier. Unique name of the resource using the form: `projects/{project_id}/locations/global/connectivityTests/{test_id}` | | | `string` | The user-supplied description of the Connectivity Test. Maximum of 512 characters. | | | `boolean` | Whether the test should skip firewall checking. If not provided, we assume false. | | | `string` | Output only. The time the test was created. | @@ -43,6 +45,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `array` | Other projects that may be relevant for reachability analysis. This is applicable to scenarios where a test can cross project boundaries. | | | `object` | Source or destination of the Connectivity Test. | | | `string` | Output only. The time the test's configuration was updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -51,5 +54,148 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new Connectivity Test. After you create a test, the reachability analysis is performed as part of the long running operation, which completes when the analysis completes. If the endpoint specifications in `ConnectivityTest` are invalid (for example, containing non-existent resources in the network, or you don't have read permissions to the network configurations of listed projects), then the reachability result returns a value of `UNKNOWN`. If the endpoint specifications in `ConnectivityTest` are incomplete, the reachability result returns a value of AMBIGUOUS. For more information, see the Connectivity Test documentation. | | | `DELETE` | | Deletes a specific `ConnectivityTest`. | | | `UPDATE` | | Updates the configuration of an existing `ConnectivityTest`. After you update a test, the reachability analysis is performed as part of the long running operation, which completes when the analysis completes. The Reachability state in the test resource is updated with the new result. If the endpoint specifications in `ConnectivityTest` are invalid (for example, they contain non-existent resources in the network, or the user does not have read permissions to the network configurations of listed projects), then the reachability result returns a value of UNKNOWN. If the endpoint specifications in `ConnectivityTest` are incomplete, the reachability result returns a value of `AMBIGUOUS`. See the documentation in `ConnectivityTest` for more details. | -| | `EXEC` | | Lists all Connectivity Tests owned by a project. | | | `EXEC` | | Rerun an existing `ConnectivityTest`. After the user triggers the rerun, the reachability analysis is performed as part of the long running operation, which completes when the analysis completes. Even though the test configuration remains the same, the reachability result may change due to underlying network configuration changes. If the endpoint specifications in `ConnectivityTest` become invalid (for example, specified resources are deleted in the network, or you lost read permissions to the network configurations of listed projects), then the reachability result returns a value of `UNKNOWN`. | + +## `SELECT` examples + +Lists all Connectivity Tests owned by a project. + +```sql +SELECT +name, +description, +bypassFirewallChecks, +createTime, +destination, +displayName, +labels, +probingDetails, +protocol, +reachabilityDetails, +relatedProjects, +source, +updateTime +FROM google.networkmanagement.connectivity_tests +WHERE projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new connectivity_tests resource. + + + + +```sql +/*+ create */ +INSERT INTO google.networkmanagement.connectivity_tests ( +projectsId, +name, +description, +source, +destination, +protocol, +relatedProjects, +displayName, +labels, +createTime, +updateTime, +reachabilityDetails, +probingDetails, +bypassFirewallChecks +) +SELECT +'{{ projectsId }}', +'{{ name }}', +'{{ description }}', +'{{ source }}', +'{{ destination }}', +'{{ protocol }}', +'{{ relatedProjects }}', +'{{ displayName }}', +'{{ labels }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ reachabilityDetails }}', +'{{ probingDetails }}', +true|false +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: source + value: '{{ source }}' + - name: destination + value: '{{ destination }}' + - name: protocol + value: '{{ protocol }}' + - name: relatedProjects + value: '{{ relatedProjects }}' + - name: displayName + value: '{{ displayName }}' + - name: labels + value: '{{ labels }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: reachabilityDetails + value: '{{ reachabilityDetails }}' + - name: probingDetails + value: '{{ probingDetails }}' + - name: bypassFirewallChecks + value: '{{ bypassFirewallChecks }}' + +``` + + + +## `UPDATE` example + +Updates a connectivity_test only if the necessary resources are available. + +```sql +UPDATE google.networkmanagement.connectivity_tests +SET +name = '{{ name }}', +description = '{{ description }}', +source = '{{ source }}', +destination = '{{ destination }}', +protocol = '{{ protocol }}', +relatedProjects = '{{ relatedProjects }}', +displayName = '{{ displayName }}', +labels = '{{ labels }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +reachabilityDetails = '{{ reachabilityDetails }}', +probingDetails = '{{ probingDetails }}', +bypassFirewallChecks = true|false +WHERE +connectivityTestsId = '{{ connectivityTestsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified connectivity_test resource. + +```sql +DELETE FROM google.networkmanagement.connectivity_tests +WHERE connectivityTestsId = '{{ connectivityTestsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/networkmanagement/connectivity_tests_iam_policies/index.md b/docs/google-docs/providers/google/networkmanagement/connectivity_tests_iam_policies/index.md index 6e57c1cdd2..8b105603b7 100644 --- a/docs/google-docs/providers/google/networkmanagement/connectivity_tests_iam_policies/index.md +++ b/docs/google-docs/providers/google/networkmanagement/connectivity_tests_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: connectivity_tests_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - connectivity_tests_iam_policies - networkmanagement - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an connectivity_tests_iam_policy resource or lists connectivity_tests_iam_policies in a region ## Overview
@@ -30,13 +32,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.networkmanagement.connectivity_tests_iam_policies +WHERE connectivityTestsId = '{{ connectivityTestsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/networkmanagement/index.md b/docs/google-docs/providers/google/networkmanagement/index.md index a0ba04e086..c02d763a21 100644 --- a/docs/google-docs/providers/google/networkmanagement/index.md +++ b/docs/google-docs/providers/google/networkmanagement/index.md @@ -9,42 +9,31 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -The Network Management API provides a collection of network performance monitoring and diagnostic capabilities. - +The networkmanagement service documentation. + :::info Service Summary
total resources: 4
-total selectable resources: 4
-total methods: 19
::: -## Overview -
- - - - - -
Namegoogle.networkmanagement
TypeService
TitleNetwork Management API
DescriptionThe Network Management API provides a collection of network performance monitoring and diagnostic capabilities.
Idnetworkmanagement:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/networkmanagement/locations/index.md b/docs/google-docs/providers/google/networkmanagement/locations/index.md index b1e4b2ec34..58b2f9bc06 100644 --- a/docs/google-docs/providers/google/networkmanagement/locations/index.md +++ b/docs/google-docs/providers/google/networkmanagement/locations/index.md @@ -1,3 +1,4 @@ + --- title: locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - locations - networkmanagement - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an location resource or lists locations in a region ## Overview @@ -32,12 +34,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` | | | `string` | The friendly name for this location, typically a nearby city name. For example, "Tokyo". | -| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | +| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | | | `string` | The canonical id for this location. For example: `"us-east1"`. | | | `object` | Service-specific metadata. For example the available capacity at the given location. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about a location. | | | `SELECT` | | Lists information about the supported locations for this service. | -| | `EXEC` | | Lists information about the supported locations for this service. | + +## `SELECT` examples + +Lists information about the supported locations for this service. + +```sql +SELECT +name, +displayName, +labels, +locationId, +metadata +FROM google.networkmanagement.locations +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/networkmanagement/operations/index.md b/docs/google-docs/providers/google/networkmanagement/operations/index.md index 4f1e3611e0..a9fa6d54df 100644 --- a/docs/google-docs/providers/google/networkmanagement/operations/index.md +++ b/docs/google-docs/providers/google/networkmanagement/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - networkmanagement - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview
@@ -30,16 +32,41 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.networkmanagement.operations +WHERE projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified operation resource. + +```sql +DELETE FROM google.networkmanagement.operations +WHERE operationsId = '{{ operationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/networksecurity/address_groups/index.md b/docs/google-docs/providers/google/networksecurity/address_groups/index.md index 1f72a93f4f..0450cd20ea 100644 --- a/docs/google-docs/providers/google/networksecurity/address_groups/index.md +++ b/docs/google-docs/providers/google/networksecurity/address_groups/index.md @@ -1,3 +1,4 @@ + --- title: address_groups hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - address_groups - networksecurity - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an address_group resource or lists address_groups in a region ## Overview
@@ -28,6 +30,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -41,7 +47,127 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `DELETE` | | Deletes a single address group. | | | `UPDATE` | | Updates parameters of an address group. | | | `UPDATE` | | Updates the parameters of a single address group. | -| | `EXEC` | | Lists address groups in a given project and location. | -| | `EXEC` | | Lists address groups in a given project and location. | | | `EXEC` | | Clones items from one address group to another. | | | `EXEC` | | Clones items from one address group to another. | + +## `SELECT` examples + +Lists address groups in a given project and location. + +```sql +SELECT +column_anon +FROM google.networksecurity.address_groups +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new address_groups resource. + + + + +```sql +/*+ create */ +INSERT INTO google.networksecurity.address_groups ( +locationsId, +projectsId, +name, +description, +createTime, +updateTime, +labels, +type, +items, +capacity, +selfLink, +purpose +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ description }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ labels }}', +'{{ type }}', +'{{ items }}', +'{{ capacity }}', +'{{ selfLink }}', +'{{ purpose }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: labels + value: '{{ labels }}' + - name: type + value: '{{ type }}' + - name: items + value: '{{ items }}' + - name: capacity + value: '{{ capacity }}' + - name: selfLink + value: '{{ selfLink }}' + - name: purpose + value: '{{ purpose }}' + +``` + + + +## `UPDATE` example + +Updates a address_group only if the necessary resources are available. + +```sql +UPDATE google.networksecurity.address_groups +SET +name = '{{ name }}', +description = '{{ description }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +labels = '{{ labels }}', +type = '{{ type }}', +items = '{{ items }}', +capacity = '{{ capacity }}', +selfLink = '{{ selfLink }}', +purpose = '{{ purpose }}' +WHERE +addressGroupsId = '{{ addressGroupsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified address_group resource. + +```sql +DELETE FROM google.networksecurity.address_groups +WHERE addressGroupsId = '{{ addressGroupsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/networksecurity/address_groups_iam_policies/index.md b/docs/google-docs/providers/google/networksecurity/address_groups_iam_policies/index.md index 04b9c609c9..3376801c3d 100644 --- a/docs/google-docs/providers/google/networksecurity/address_groups_iam_policies/index.md +++ b/docs/google-docs/providers/google/networksecurity/address_groups_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: address_groups_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - address_groups_iam_policies - networksecurity - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an address_groups_iam_policy resource or lists address_groups_iam_policies in a region ## Overview @@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.networksecurity.address_groups_iam_policies +WHERE addressGroupsId = '{{ addressGroupsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/networksecurity/address_groups_items/index.md b/docs/google-docs/providers/google/networksecurity/address_groups_items/index.md index c8812255de..7078bf7d5c 100644 --- a/docs/google-docs/providers/google/networksecurity/address_groups_items/index.md +++ b/docs/google-docs/providers/google/networksecurity/address_groups_items/index.md @@ -1,3 +1,4 @@ + --- title: address_groups_items hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - address_groups_items - networksecurity - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an address_groups_item resource or lists address_groups_items in a region ## Overview
@@ -28,11 +30,70 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| -| | `EXEC` | | Adds items to an address group. | -| | `EXEC` | | Removes items from an address group. | -| | `EXEC` | | Adds items to an address group. | -| | `EXEC` | | Removes items from an address group. | +| | `INSERT` | | Adds items to an address group. | +| | `INSERT` | | Adds items to an address group. | +| | `DELETE` | | Removes items from an address group. | +| | `DELETE` | | Removes items from an address group. | + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new address_groups_items resource. + + + + +```sql +/*+ create */ +INSERT INTO google.networksecurity.address_groups_items ( +addressGroupsId, +locationsId, +projectsId, +items, +requestId +) +SELECT +'{{ addressGroupsId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ items }}', +'{{ requestId }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: items + value: '{{ items }}' + - name: requestId + value: '{{ requestId }}' + +``` + + + +## `DELETE` example + +Deletes the specified address_groups_item resource. + +```sql +DELETE FROM google.networksecurity.address_groups_items +WHERE addressGroupsId = '{{ addressGroupsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/networksecurity/address_groups_references/index.md b/docs/google-docs/providers/google/networksecurity/address_groups_references/index.md index 9e4e17dc2a..55898cd3c0 100644 --- a/docs/google-docs/providers/google/networksecurity/address_groups_references/index.md +++ b/docs/google-docs/providers/google/networksecurity/address_groups_references/index.md @@ -1,3 +1,4 @@ + --- title: address_groups_references hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - address_groups_references - networksecurity - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an address_groups_reference resource or lists address_groups_references in a region ## Overview @@ -33,10 +35,24 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | FirewallPolicy that is using the Address Group. | | | `integer` | Rule priority of the FirewallPolicy that is using the Address Group. | | | `string` | Cloud Armor SecurityPolicy that is using the Address Group. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `SELECT` | | -| | `EXEC` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists references of an address group. | +| | `SELECT` | | Lists references of an address group. | + +## `SELECT` examples + +Lists references of an address group. + +```sql +SELECT +firewallPolicy, +rulePriority, +securityPolicy +FROM google.networksecurity.address_groups_references +WHERE addressGroupsId = '{{ addressGroupsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/networksecurity/authorization_policies/index.md b/docs/google-docs/providers/google/networksecurity/authorization_policies/index.md index 4f5cd29a2b..971ea49e12 100644 --- a/docs/google-docs/providers/google/networksecurity/authorization_policies/index.md +++ b/docs/google-docs/providers/google/networksecurity/authorization_policies/index.md @@ -1,3 +1,4 @@ + --- title: authorization_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - authorization_policies - networksecurity - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an authorization_policy resource or lists authorization_policies in a region ## Overview
@@ -30,13 +32,14 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Required. Name of the AuthorizationPolicy resource. It matches pattern `projects/{project}/locations/{location}/authorizationPolicies/`. | +| | `string` | Required. Name of the AuthorizationPolicy resource. It matches pattern `projects/{project}/locations/{location}/authorizationPolicies/`. | | | `string` | Optional. Free-text description of the resource. | | | `string` | Required. The action to take when a rule match is found. Possible values are "ALLOW" or "DENY". | | | `string` | Output only. The timestamp when the resource was created. | | | `object` | Optional. Set of label tags associated with the AuthorizationPolicy resource. | | | `array` | Optional. List of rules to match. Note that at least one of the rules must match in order for the action specified in the 'action' field to be taken. A rule is a match if there is a matching source and destination. If left blank, the action specified in the `action` field will be applied on every request. | | | `string` | Output only. The timestamp when the resource was updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -45,4 +48,116 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new AuthorizationPolicy in a given project and location. | | | `DELETE` | | Deletes a single AuthorizationPolicy. | | | `UPDATE` | | Updates the parameters of a single AuthorizationPolicy. | -| | `EXEC` | | Lists AuthorizationPolicies in a given project and location. | + +## `SELECT` examples + +Lists AuthorizationPolicies in a given project and location. + +```sql +SELECT +name, +description, +action, +createTime, +labels, +rules, +updateTime +FROM google.networksecurity.authorization_policies +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new authorization_policies resource. + + + + +```sql +/*+ create */ +INSERT INTO google.networksecurity.authorization_policies ( +locationsId, +projectsId, +name, +description, +createTime, +updateTime, +labels, +action, +rules +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ description }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ labels }}', +'{{ action }}', +'{{ rules }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: labels + value: '{{ labels }}' + - name: action + value: '{{ action }}' + - name: rules + value: '{{ rules }}' + +``` + + + +## `UPDATE` example + +Updates a authorization_policy only if the necessary resources are available. + +```sql +UPDATE google.networksecurity.authorization_policies +SET +name = '{{ name }}', +description = '{{ description }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +labels = '{{ labels }}', +action = '{{ action }}', +rules = '{{ rules }}' +WHERE +authorizationPoliciesId = '{{ authorizationPoliciesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified authorization_policy resource. + +```sql +DELETE FROM google.networksecurity.authorization_policies +WHERE authorizationPoliciesId = '{{ authorizationPoliciesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/networksecurity/authorization_policies_iam_policies/index.md b/docs/google-docs/providers/google/networksecurity/authorization_policies_iam_policies/index.md index a0323c4842..98bfa2b710 100644 --- a/docs/google-docs/providers/google/networksecurity/authorization_policies_iam_policies/index.md +++ b/docs/google-docs/providers/google/networksecurity/authorization_policies_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: authorization_policies_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - authorization_policies_iam_policies - networksecurity - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an authorization_policies_iam_policy resource or lists authorization_policies_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.networksecurity.authorization_policies_iam_policies +WHERE authorizationPoliciesId = '{{ authorizationPoliciesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/networksecurity/authz_policies_iam_policies/index.md b/docs/google-docs/providers/google/networksecurity/authz_policies_iam_policies/index.md new file mode 100644 index 0000000000..b5bcfd05b3 --- /dev/null +++ b/docs/google-docs/providers/google/networksecurity/authz_policies_iam_policies/index.md @@ -0,0 +1,59 @@ + +--- +title: authz_policies_iam_policies +hide_title: false +hide_table_of_contents: false +keywords: + - authz_policies_iam_policies + - networksecurity + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an authz_policies_iam_policy resource or lists authz_policies_iam_policies in a region + +## Overview +
+ + + +
Nameauthz_policies_iam_policies
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | +| | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | +| | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.networksecurity.authz_policies_iam_policies +WHERE authzPoliciesId = '{{ authzPoliciesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/networksecurity/client_tls_policies/index.md b/docs/google-docs/providers/google/networksecurity/client_tls_policies/index.md index 936ea81822..672e2b6871 100644 --- a/docs/google-docs/providers/google/networksecurity/client_tls_policies/index.md +++ b/docs/google-docs/providers/google/networksecurity/client_tls_policies/index.md @@ -1,3 +1,4 @@ + --- title: client_tls_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - client_tls_policies - networksecurity - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an client_tls_policy resource or lists client_tls_policies in a region ## Overview @@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Required. Name of the ClientTlsPolicy resource. It matches the pattern `projects/*/locations/{location}/clientTlsPolicies/{client_tls_policy}` | +| | `string` | Required. Name of the ClientTlsPolicy resource. It matches the pattern `projects/*/locations/{location}/clientTlsPolicies/{client_tls_policy}` | | | `string` | Optional. Free-text description of the resource. | | | `object` | Specification of certificate provider. Defines the mechanism to obtain the certificate and private key for peer to peer authentication. | | | `string` | Output only. The timestamp when the resource was created. | @@ -38,6 +40,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `array` | Optional. Defines the mechanism to obtain the Certificate Authority certificate to validate the server certificate. If empty, client does not validate the server certificate. | | | `string` | Optional. Server Name Indication string to present to the server during TLS handshake. E.g: "secure.example.com". | | | `string` | Output only. The timestamp when the resource was updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -46,4 +49,122 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new ClientTlsPolicy in a given project and location. | | | `DELETE` | | Deletes a single ClientTlsPolicy. | | | `UPDATE` | | Updates the parameters of a single ClientTlsPolicy. | -| | `EXEC` | | Lists ClientTlsPolicies in a given project and location. | + +## `SELECT` examples + +Lists ClientTlsPolicies in a given project and location. + +```sql +SELECT +name, +description, +clientCertificate, +createTime, +labels, +serverValidationCa, +sni, +updateTime +FROM google.networksecurity.client_tls_policies +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new client_tls_policies resource. + + + + +```sql +/*+ create */ +INSERT INTO google.networksecurity.client_tls_policies ( +locationsId, +projectsId, +name, +description, +createTime, +updateTime, +labels, +sni, +clientCertificate, +serverValidationCa +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ description }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ labels }}', +'{{ sni }}', +'{{ clientCertificate }}', +'{{ serverValidationCa }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: labels + value: '{{ labels }}' + - name: sni + value: '{{ sni }}' + - name: clientCertificate + value: '{{ clientCertificate }}' + - name: serverValidationCa + value: '{{ serverValidationCa }}' + +``` + + + +## `UPDATE` example + +Updates a client_tls_policy only if the necessary resources are available. + +```sql +UPDATE google.networksecurity.client_tls_policies +SET +name = '{{ name }}', +description = '{{ description }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +labels = '{{ labels }}', +sni = '{{ sni }}', +clientCertificate = '{{ clientCertificate }}', +serverValidationCa = '{{ serverValidationCa }}' +WHERE +clientTlsPoliciesId = '{{ clientTlsPoliciesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified client_tls_policy resource. + +```sql +DELETE FROM google.networksecurity.client_tls_policies +WHERE clientTlsPoliciesId = '{{ clientTlsPoliciesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/networksecurity/client_tls_policies_iam_policies/index.md b/docs/google-docs/providers/google/networksecurity/client_tls_policies_iam_policies/index.md index 879c7f28a1..74d5714c10 100644 --- a/docs/google-docs/providers/google/networksecurity/client_tls_policies_iam_policies/index.md +++ b/docs/google-docs/providers/google/networksecurity/client_tls_policies_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: client_tls_policies_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - client_tls_policies_iam_policies - networksecurity - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an client_tls_policies_iam_policy resource or lists client_tls_policies_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.networksecurity.client_tls_policies_iam_policies +WHERE clientTlsPoliciesId = '{{ clientTlsPoliciesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/networksecurity/firewall_endpoint_associations/index.md b/docs/google-docs/providers/google/networksecurity/firewall_endpoint_associations/index.md index a5033a7d3c..9e68bcea1e 100644 --- a/docs/google-docs/providers/google/networksecurity/firewall_endpoint_associations/index.md +++ b/docs/google-docs/providers/google/networksecurity/firewall_endpoint_associations/index.md @@ -1,3 +1,4 @@ + --- title: firewall_endpoint_associations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - firewall_endpoint_associations - networksecurity - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an firewall_endpoint_association resource or lists firewall_endpoint_associations in a region ## Overview
@@ -40,6 +42,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Current state of the association. | | | `string` | Optional. The URL of the TlsInspectionPolicy that is being associated. | | | `string` | Output only. Update time stamp | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -48,4 +51,134 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new FirewallEndpointAssociation in a given project and location. | | | `DELETE` | | Deletes a single FirewallEndpointAssociation. | | | `UPDATE` | | Update a single FirewallEndpointAssociation. | -| | `EXEC` | | Lists Associations in a given project and location. | + +## `SELECT` examples + +Lists Associations in a given project and location. + +```sql +SELECT +name, +createTime, +disabled, +firewallEndpoint, +labels, +network, +reconciling, +state, +tlsInspectionPolicy, +updateTime +FROM google.networksecurity.firewall_endpoint_associations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new firewall_endpoint_associations resource. + + + + +```sql +/*+ create */ +INSERT INTO google.networksecurity.firewall_endpoint_associations ( +locationsId, +projectsId, +name, +createTime, +updateTime, +labels, +state, +network, +firewallEndpoint, +tlsInspectionPolicy, +reconciling, +disabled +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ labels }}', +'{{ state }}', +'{{ network }}', +'{{ firewallEndpoint }}', +'{{ tlsInspectionPolicy }}', +true|false, +true|false +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: labels + value: '{{ labels }}' + - name: state + value: '{{ state }}' + - name: network + value: '{{ network }}' + - name: firewallEndpoint + value: '{{ firewallEndpoint }}' + - name: tlsInspectionPolicy + value: '{{ tlsInspectionPolicy }}' + - name: reconciling + value: '{{ reconciling }}' + - name: disabled + value: '{{ disabled }}' + +``` + + + +## `UPDATE` example + +Updates a firewall_endpoint_association only if the necessary resources are available. + +```sql +UPDATE google.networksecurity.firewall_endpoint_associations +SET +name = '{{ name }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +labels = '{{ labels }}', +state = '{{ state }}', +network = '{{ network }}', +firewallEndpoint = '{{ firewallEndpoint }}', +tlsInspectionPolicy = '{{ tlsInspectionPolicy }}', +reconciling = true|false, +disabled = true|false +WHERE +firewallEndpointAssociationsId = '{{ firewallEndpointAssociationsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified firewall_endpoint_association resource. + +```sql +DELETE FROM google.networksecurity.firewall_endpoint_associations +WHERE firewallEndpointAssociationsId = '{{ firewallEndpointAssociationsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/networksecurity/firewall_endpoints/index.md b/docs/google-docs/providers/google/networksecurity/firewall_endpoints/index.md index 4609aa8f28..de78c57ccd 100644 --- a/docs/google-docs/providers/google/networksecurity/firewall_endpoints/index.md +++ b/docs/google-docs/providers/google/networksecurity/firewall_endpoints/index.md @@ -1,3 +1,4 @@ + --- title: firewall_endpoints hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - firewall_endpoints - networksecurity - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an firewall_endpoint resource or lists firewall_endpoints in a region ## Overview
@@ -32,7 +34,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Immutable. Identifier. name of resource | | | `string` | Optional. Description of the firewall endpoint. Max length 2048 characters. | -| | `array` | Output only. List of networks that are associated with this endpoint in the local zone. This is a projection of the FirewallEndpointAssociations pointing at this endpoint. A network will only appear in this list after traffic routing is fully configured. Format: projects/{project}/global/networks/{name}. | +| | `array` | Output only. List of networks that are associated with this endpoint in the local zone. This is a projection of the FirewallEndpointAssociations pointing at this endpoint. A network will only appear in this list after traffic routing is fully configured. Format: projects/{project}/global/networks/{name}. | | | `array` | Output only. List of FirewallEndpointAssociations that are associated to this endpoint. An association will only appear in this list after traffic routing is fully configured. | | | `string` | Required. Project to bill on endpoint uptime usage. | | | `string` | Output only. Create time stamp | @@ -40,6 +42,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `boolean` | Output only. Whether reconciling is in progress, recommended per https://google.aip.dev/128. | | | `string` | Output only. Current state of the endpoint. | | | `string` | Output only. Update time stamp | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -48,4 +51,134 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new FirewallEndpoint in a given project and location. | | | `DELETE` | | Deletes a single Endpoint. | | | `UPDATE` | | Update a single Endpoint. | -| | `EXEC` | | Lists FirewallEndpoints in a given project and location. | + +## `SELECT` examples + +Lists FirewallEndpoints in a given project and location. + +```sql +SELECT +name, +description, +associatedNetworks, +associations, +billingProjectId, +createTime, +labels, +reconciling, +state, +updateTime +FROM google.networksecurity.firewall_endpoints +WHERE locationsId = '{{ locationsId }}' +AND organizationsId = '{{ organizationsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new firewall_endpoints resource. + + + + +```sql +/*+ create */ +INSERT INTO google.networksecurity.firewall_endpoints ( +locationsId, +organizationsId, +name, +description, +createTime, +updateTime, +labels, +state, +reconciling, +associatedNetworks, +associations, +billingProjectId +) +SELECT +'{{ locationsId }}', +'{{ organizationsId }}', +'{{ name }}', +'{{ description }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ labels }}', +'{{ state }}', +true|false, +'{{ associatedNetworks }}', +'{{ associations }}', +'{{ billingProjectId }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: labels + value: '{{ labels }}' + - name: state + value: '{{ state }}' + - name: reconciling + value: '{{ reconciling }}' + - name: associatedNetworks + value: '{{ associatedNetworks }}' + - name: associations + value: '{{ associations }}' + - name: billingProjectId + value: '{{ billingProjectId }}' + +``` + + + +## `UPDATE` example + +Updates a firewall_endpoint only if the necessary resources are available. + +```sql +UPDATE google.networksecurity.firewall_endpoints +SET +name = '{{ name }}', +description = '{{ description }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +labels = '{{ labels }}', +state = '{{ state }}', +reconciling = true|false, +associatedNetworks = '{{ associatedNetworks }}', +associations = '{{ associations }}', +billingProjectId = '{{ billingProjectId }}' +WHERE +firewallEndpointsId = '{{ firewallEndpointsId }}' +AND locationsId = '{{ locationsId }}' +AND organizationsId = '{{ organizationsId }}'; +``` + +## `DELETE` example + +Deletes the specified firewall_endpoint resource. + +```sql +DELETE FROM google.networksecurity.firewall_endpoints +WHERE firewallEndpointsId = '{{ firewallEndpointsId }}' +AND locationsId = '{{ locationsId }}' +AND organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/networksecurity/gateway_security_policies/index.md b/docs/google-docs/providers/google/networksecurity/gateway_security_policies/index.md index 89a616a0b6..e6473f71d3 100644 --- a/docs/google-docs/providers/google/networksecurity/gateway_security_policies/index.md +++ b/docs/google-docs/providers/google/networksecurity/gateway_security_policies/index.md @@ -1,3 +1,4 @@ + --- title: gateway_security_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - gateway_security_policies - networksecurity - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an gateway_security_policy resource or lists gateway_security_policies in a region ## Overview
@@ -30,11 +32,12 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Required. Name of the resource. Name is of the form projects/{project}/locations/{location}/gatewaySecurityPolicies/{gateway_security_policy} gateway_security_policy should match the pattern:(^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$). | +| | `string` | Required. Name of the resource. Name is of the form projects/{project}/locations/{location}/gatewaySecurityPolicies/{gateway_security_policy} gateway_security_policy should match the pattern:(^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$). | | | `string` | Optional. Free-text description of the resource. | | | `string` | Output only. The timestamp when the resource was created. | | | `string` | Optional. Name of a TLS Inspection Policy resource that defines how TLS inspection will be performed for any rule(s) which enables it. | | | `string` | Output only. The timestamp when the resource was updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -43,4 +46,104 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new GatewaySecurityPolicy in a given project and location. | | | `DELETE` | | Deletes a single GatewaySecurityPolicy. | | | `UPDATE` | | Updates the parameters of a single GatewaySecurityPolicy. | -| | `EXEC` | | Lists GatewaySecurityPolicies in a given project and location. | + +## `SELECT` examples + +Lists GatewaySecurityPolicies in a given project and location. + +```sql +SELECT +name, +description, +createTime, +tlsInspectionPolicy, +updateTime +FROM google.networksecurity.gateway_security_policies +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new gateway_security_policies resource. + + + + +```sql +/*+ create */ +INSERT INTO google.networksecurity.gateway_security_policies ( +locationsId, +projectsId, +name, +createTime, +updateTime, +description, +tlsInspectionPolicy +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ description }}', +'{{ tlsInspectionPolicy }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: description + value: '{{ description }}' + - name: tlsInspectionPolicy + value: '{{ tlsInspectionPolicy }}' + +``` + + + +## `UPDATE` example + +Updates a gateway_security_policy only if the necessary resources are available. + +```sql +UPDATE google.networksecurity.gateway_security_policies +SET +name = '{{ name }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +description = '{{ description }}', +tlsInspectionPolicy = '{{ tlsInspectionPolicy }}' +WHERE +gatewaySecurityPoliciesId = '{{ gatewaySecurityPoliciesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified gateway_security_policy resource. + +```sql +DELETE FROM google.networksecurity.gateway_security_policies +WHERE gatewaySecurityPoliciesId = '{{ gatewaySecurityPoliciesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/networksecurity/index.md b/docs/google-docs/providers/google/networksecurity/index.md index 0223139343..69cddb8670 100644 --- a/docs/google-docs/providers/google/networksecurity/index.md +++ b/docs/google-docs/providers/google/networksecurity/index.md @@ -9,34 +9,23 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- - - +The networksecurity service documentation. + :::info Service Summary
-total resources: 20
-total selectable resources: 19
-total methods: 117
+total resources: 21
::: -## Overview -
- - - - - -
Namegoogle.networksecurity
TypeService
TitleNetwork Security API
Description
Idnetworksecurity:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/networksecurity/locations/index.md b/docs/google-docs/providers/google/networksecurity/locations/index.md index f7d5f005e6..cf4e0e4593 100644 --- a/docs/google-docs/providers/google/networksecurity/locations/index.md +++ b/docs/google-docs/providers/google/networksecurity/locations/index.md @@ -1,3 +1,4 @@ + --- title: locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - locations - networksecurity - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an location resource or lists locations in a region ## Overview @@ -32,12 +34,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` | | | `string` | The friendly name for this location, typically a nearby city name. For example, "Tokyo". | -| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | +| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | | | `string` | The canonical id for this location. For example: `"us-east1"`. | | | `object` | Service-specific metadata. For example the available capacity at the given location. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about a location. | | | `SELECT` | | Lists information about the supported locations for this service. | -| | `EXEC` | | Lists information about the supported locations for this service. | + +## `SELECT` examples + +Lists information about the supported locations for this service. + +```sql +SELECT +name, +displayName, +labels, +locationId, +metadata +FROM google.networksecurity.locations +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/networksecurity/operations/index.md b/docs/google-docs/providers/google/networksecurity/operations/index.md index bfa83e5e22..9323d7fabb 100644 --- a/docs/google-docs/providers/google/networksecurity/operations/index.md +++ b/docs/google-docs/providers/google/networksecurity/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - networksecurity - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview
@@ -30,11 +32,12 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -44,7 +47,32 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. | | | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.networksecurity.operations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified operation resource. + +```sql +DELETE FROM google.networksecurity.operations +WHERE locationsId = '{{ locationsId }}' +AND operationsId = '{{ operationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/networksecurity/rules/index.md b/docs/google-docs/providers/google/networksecurity/rules/index.md index 4137b7e37b..abb57e05af 100644 --- a/docs/google-docs/providers/google/networksecurity/rules/index.md +++ b/docs/google-docs/providers/google/networksecurity/rules/index.md @@ -1,3 +1,4 @@ + --- title: rules hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - rules - networksecurity - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an rule resource or lists rules in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Required. Immutable. Name of the resource. ame is the full resource name so projects/{project}/locations/{location}/gatewaySecurityPolicies/{gateway_security_policy}/rules/{rule} rule should match the pattern: (^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$). | +| | `string` | Required. Immutable. Name of the resource. ame is the full resource name so projects/{project}/locations/{location}/gatewaySecurityPolicies/{gateway_security_policy}/rules/{rule} rule should match the pattern: (^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$). | | | `string` | Optional. Free-text description of the resource. | | | `string` | Optional. CEL expression for matching on L7/application level criteria. | | | `string` | Required. Profile which tells what the primitive action should be. | @@ -40,6 +42,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Required. CEL expression for matching on session criteria. | | | `boolean` | Optional. Flag to enable TLS inspection of traffic matching on , can only be true if the parent GatewaySecurityPolicy references a TLSInspectionConfig. | | | `string` | Output only. Time when the rule was updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -48,4 +51,139 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new GatewaySecurityPolicy in a given project and location. | | | `DELETE` | | Deletes a single GatewaySecurityPolicyRule. | | | `UPDATE` | | Updates the parameters of a single GatewaySecurityPolicyRule. | -| | `EXEC` | | Lists GatewaySecurityPolicyRules in a given project and location. | + +## `SELECT` examples + +Lists GatewaySecurityPolicyRules in a given project and location. + +```sql +SELECT +name, +description, +applicationMatcher, +basicProfile, +createTime, +enabled, +priority, +sessionMatcher, +tlsInspectionEnabled, +updateTime +FROM google.networksecurity.rules +WHERE gatewaySecurityPoliciesId = '{{ gatewaySecurityPoliciesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new rules resource. + + + + +```sql +/*+ create */ +INSERT INTO google.networksecurity.rules ( +gatewaySecurityPoliciesId, +locationsId, +projectsId, +basicProfile, +name, +createTime, +updateTime, +enabled, +priority, +description, +sessionMatcher, +applicationMatcher, +tlsInspectionEnabled +) +SELECT +'{{ gatewaySecurityPoliciesId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ basicProfile }}', +'{{ name }}', +'{{ createTime }}', +'{{ updateTime }}', +true|false, +'{{ priority }}', +'{{ description }}', +'{{ sessionMatcher }}', +'{{ applicationMatcher }}', +true|false +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: basicProfile + value: '{{ basicProfile }}' + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: enabled + value: '{{ enabled }}' + - name: priority + value: '{{ priority }}' + - name: description + value: '{{ description }}' + - name: sessionMatcher + value: '{{ sessionMatcher }}' + - name: applicationMatcher + value: '{{ applicationMatcher }}' + - name: tlsInspectionEnabled + value: '{{ tlsInspectionEnabled }}' + +``` + + + +## `UPDATE` example + +Updates a rule only if the necessary resources are available. + +```sql +UPDATE google.networksecurity.rules +SET +basicProfile = '{{ basicProfile }}', +name = '{{ name }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +enabled = true|false, +priority = '{{ priority }}', +description = '{{ description }}', +sessionMatcher = '{{ sessionMatcher }}', +applicationMatcher = '{{ applicationMatcher }}', +tlsInspectionEnabled = true|false +WHERE +gatewaySecurityPoliciesId = '{{ gatewaySecurityPoliciesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND rulesId = '{{ rulesId }}'; +``` + +## `DELETE` example + +Deletes the specified rule resource. + +```sql +DELETE FROM google.networksecurity.rules +WHERE gatewaySecurityPoliciesId = '{{ gatewaySecurityPoliciesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND rulesId = '{{ rulesId }}'; +``` diff --git a/docs/google-docs/providers/google/networksecurity/security_profile_groups/index.md b/docs/google-docs/providers/google/networksecurity/security_profile_groups/index.md index 743f3f9182..cdd329b483 100644 --- a/docs/google-docs/providers/google/networksecurity/security_profile_groups/index.md +++ b/docs/google-docs/providers/google/networksecurity/security_profile_groups/index.md @@ -1,3 +1,4 @@ + --- title: security_profile_groups hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - security_profile_groups - networksecurity - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an security_profile_group resource or lists security_profile_groups in a region ## Overview
@@ -30,13 +32,14 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Immutable. Identifier. Name of the SecurityProfileGroup resource. It matches pattern `projects\|organizations/*/locations/{location}/securityProfileGroups/{security_profile_group}`. | +| | `string` | Immutable. Identifier. Name of the SecurityProfileGroup resource. It matches pattern `projects|organizations/*/locations/{location}/securityProfileGroups/{security_profile_group}`. | | | `string` | Optional. An optional description of the profile group. Max length 2048 characters. | | | `string` | Output only. Resource creation timestamp. | | | `string` | Output only. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. | | | `object` | Optional. Labels as key value pairs. | -| | `string` | Optional. Reference to a SecurityProfile with the threat prevention configuration for the SecurityProfileGroup. | +| | `string` | Optional. Reference to a SecurityProfile with the ThreatPrevention configuration. | | | `string` | Output only. Last resource update timestamp. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -45,4 +48,116 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new SecurityProfileGroup in a given organization and location. | | | `DELETE` | | Deletes a single SecurityProfileGroup. | | | `UPDATE` | | Updates the parameters of a single SecurityProfileGroup. | -| | `EXEC` | | Lists SecurityProfileGroups in a given organization and location. | + +## `SELECT` examples + +Lists SecurityProfileGroups in a given organization and location. + +```sql +SELECT +name, +description, +createTime, +etag, +labels, +threatPreventionProfile, +updateTime +FROM google.networksecurity.security_profile_groups +WHERE locationsId = '{{ locationsId }}' +AND organizationsId = '{{ organizationsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new security_profile_groups resource. + + + + +```sql +/*+ create */ +INSERT INTO google.networksecurity.security_profile_groups ( +locationsId, +organizationsId, +name, +description, +createTime, +updateTime, +etag, +labels, +threatPreventionProfile +) +SELECT +'{{ locationsId }}', +'{{ organizationsId }}', +'{{ name }}', +'{{ description }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ etag }}', +'{{ labels }}', +'{{ threatPreventionProfile }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: etag + value: '{{ etag }}' + - name: labels + value: '{{ labels }}' + - name: threatPreventionProfile + value: '{{ threatPreventionProfile }}' + +``` + + + +## `UPDATE` example + +Updates a security_profile_group only if the necessary resources are available. + +```sql +UPDATE google.networksecurity.security_profile_groups +SET +name = '{{ name }}', +description = '{{ description }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +etag = '{{ etag }}', +labels = '{{ labels }}', +threatPreventionProfile = '{{ threatPreventionProfile }}' +WHERE +locationsId = '{{ locationsId }}' +AND organizationsId = '{{ organizationsId }}' +AND securityProfileGroupsId = '{{ securityProfileGroupsId }}'; +``` + +## `DELETE` example + +Deletes the specified security_profile_group resource. + +```sql +DELETE FROM google.networksecurity.security_profile_groups +WHERE locationsId = '{{ locationsId }}' +AND organizationsId = '{{ organizationsId }}' +AND securityProfileGroupsId = '{{ securityProfileGroupsId }}'; +``` diff --git a/docs/google-docs/providers/google/networksecurity/security_profiles/index.md b/docs/google-docs/providers/google/networksecurity/security_profiles/index.md index 5eafea12ec..d47476167a 100644 --- a/docs/google-docs/providers/google/networksecurity/security_profiles/index.md +++ b/docs/google-docs/providers/google/networksecurity/security_profiles/index.md @@ -1,3 +1,4 @@ + --- title: security_profiles hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - security_profiles - networksecurity - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an security_profile resource or lists security_profiles in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Immutable. Identifier. Name of the SecurityProfile resource. It matches pattern `projects\|organizations/*/locations/{location}/securityProfiles/{security_profile}`. | +| | `string` | Immutable. Identifier. Name of the SecurityProfile resource. It matches pattern `projects|organizations/*/locations/{location}/securityProfiles/{security_profile}`. | | | `string` | Optional. An optional description of the profile. Max length 512 characters. | | | `string` | Output only. Resource creation timestamp. | | | `string` | Output only. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. | @@ -38,6 +40,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | ThreatPreventionProfile defines an action for specific threat signatures or severity levels. | | | `string` | Immutable. The single ProfileType that the SecurityProfile resource configures. | | | `string` | Output only. Last resource update timestamp. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -46,4 +49,122 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new SecurityProfile in a given organization and location. | | | `DELETE` | | Deletes a single SecurityProfile. | | | `UPDATE` | | Updates the parameters of a single SecurityProfile. | -| | `EXEC` | | Lists SecurityProfiles in a given organization and location. | + +## `SELECT` examples + +Lists SecurityProfiles in a given organization and location. + +```sql +SELECT +name, +description, +createTime, +etag, +labels, +threatPreventionProfile, +type, +updateTime +FROM google.networksecurity.security_profiles +WHERE locationsId = '{{ locationsId }}' +AND organizationsId = '{{ organizationsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new security_profiles resource. + + + + +```sql +/*+ create */ +INSERT INTO google.networksecurity.security_profiles ( +locationsId, +organizationsId, +threatPreventionProfile, +name, +description, +createTime, +updateTime, +etag, +labels, +type +) +SELECT +'{{ locationsId }}', +'{{ organizationsId }}', +'{{ threatPreventionProfile }}', +'{{ name }}', +'{{ description }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ etag }}', +'{{ labels }}', +'{{ type }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: threatPreventionProfile + value: '{{ threatPreventionProfile }}' + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: etag + value: '{{ etag }}' + - name: labels + value: '{{ labels }}' + - name: type + value: '{{ type }}' + +``` + + + +## `UPDATE` example + +Updates a security_profile only if the necessary resources are available. + +```sql +UPDATE google.networksecurity.security_profiles +SET +threatPreventionProfile = '{{ threatPreventionProfile }}', +name = '{{ name }}', +description = '{{ description }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +etag = '{{ etag }}', +labels = '{{ labels }}', +type = '{{ type }}' +WHERE +locationsId = '{{ locationsId }}' +AND organizationsId = '{{ organizationsId }}' +AND securityProfilesId = '{{ securityProfilesId }}'; +``` + +## `DELETE` example + +Deletes the specified security_profile resource. + +```sql +DELETE FROM google.networksecurity.security_profiles +WHERE locationsId = '{{ locationsId }}' +AND organizationsId = '{{ organizationsId }}' +AND securityProfilesId = '{{ securityProfilesId }}'; +``` diff --git a/docs/google-docs/providers/google/networksecurity/server_tls_policies/index.md b/docs/google-docs/providers/google/networksecurity/server_tls_policies/index.md index 7afd48b115..13d34d45f9 100644 --- a/docs/google-docs/providers/google/networksecurity/server_tls_policies/index.md +++ b/docs/google-docs/providers/google/networksecurity/server_tls_policies/index.md @@ -1,3 +1,4 @@ + --- title: server_tls_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - server_tls_policies - networksecurity - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an server_tls_policy resource or lists server_tls_policies in a region ## Overview
@@ -30,14 +32,15 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Required. Name of the ServerTlsPolicy resource. It matches the pattern `projects/*/locations/{location}/serverTlsPolicies/{server_tls_policy}` | +| | `string` | Required. Name of the ServerTlsPolicy resource. It matches the pattern `projects/*/locations/{location}/serverTlsPolicies/{server_tls_policy}` | | | `string` | Free-text description of the resource. | -| | `boolean` | This field applies only for Traffic Director policies. It is must be set to false for external HTTPS load balancer policies. Determines if server allows plaintext connections. If set to true, server allows plain text connections. By default, it is set to false. This setting is not exclusive of other encryption modes. For example, if `allow_open` and `mtls_policy` are set, server allows both plain text and mTLS connections. See documentation of other encryption modes to confirm compatibility. Consider using it if you wish to upgrade in place your deployment to TLS while having mixed TLS and non-TLS traffic reaching port :80. | +| | `boolean` | This field applies only for Traffic Director policies. It is must be set to false for Application Load Balancer policies. Determines if server allows plaintext connections. If set to true, server allows plain text connections. By default, it is set to false. This setting is not exclusive of other encryption modes. For example, if `allow_open` and `mtls_policy` are set, server allows both plain text and mTLS connections. See documentation of other encryption modes to confirm compatibility. Consider using it if you wish to upgrade in place your deployment to TLS while having mixed TLS and non-TLS traffic reaching port :80. | | | `string` | Output only. The timestamp when the resource was created. | | | `object` | Set of label tags associated with the resource. | | | `object` | Specification of the MTLSPolicy. | | | `object` | Specification of certificate provider. Defines the mechanism to obtain the certificate and private key for peer to peer authentication. | | | `string` | Output only. The timestamp when the resource was updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -46,4 +49,122 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new ServerTlsPolicy in a given project and location. | | | `DELETE` | | Deletes a single ServerTlsPolicy. | | | `UPDATE` | | Updates the parameters of a single ServerTlsPolicy. | -| | `EXEC` | | Lists ServerTlsPolicies in a given project and location. | + +## `SELECT` examples + +Lists ServerTlsPolicies in a given project and location. + +```sql +SELECT +name, +description, +allowOpen, +createTime, +labels, +mtlsPolicy, +serverCertificate, +updateTime +FROM google.networksecurity.server_tls_policies +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new server_tls_policies resource. + + + + +```sql +/*+ create */ +INSERT INTO google.networksecurity.server_tls_policies ( +locationsId, +projectsId, +name, +description, +createTime, +updateTime, +labels, +allowOpen, +serverCertificate, +mtlsPolicy +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ description }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ labels }}', +true|false, +'{{ serverCertificate }}', +'{{ mtlsPolicy }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: labels + value: '{{ labels }}' + - name: allowOpen + value: '{{ allowOpen }}' + - name: serverCertificate + value: '{{ serverCertificate }}' + - name: mtlsPolicy + value: '{{ mtlsPolicy }}' + +``` + + + +## `UPDATE` example + +Updates a server_tls_policy only if the necessary resources are available. + +```sql +UPDATE google.networksecurity.server_tls_policies +SET +name = '{{ name }}', +description = '{{ description }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +labels = '{{ labels }}', +allowOpen = true|false, +serverCertificate = '{{ serverCertificate }}', +mtlsPolicy = '{{ mtlsPolicy }}' +WHERE +locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND serverTlsPoliciesId = '{{ serverTlsPoliciesId }}'; +``` + +## `DELETE` example + +Deletes the specified server_tls_policy resource. + +```sql +DELETE FROM google.networksecurity.server_tls_policies +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND serverTlsPoliciesId = '{{ serverTlsPoliciesId }}'; +``` diff --git a/docs/google-docs/providers/google/networksecurity/server_tls_policies_iam_policies/index.md b/docs/google-docs/providers/google/networksecurity/server_tls_policies_iam_policies/index.md index 51043f8769..a2325b2107 100644 --- a/docs/google-docs/providers/google/networksecurity/server_tls_policies_iam_policies/index.md +++ b/docs/google-docs/providers/google/networksecurity/server_tls_policies_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: server_tls_policies_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - server_tls_policies_iam_policies - networksecurity - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an server_tls_policies_iam_policy resource or lists server_tls_policies_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.networksecurity.server_tls_policies_iam_policies +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND serverTlsPoliciesId = '{{ serverTlsPoliciesId }}'; +``` diff --git a/docs/google-docs/providers/google/networksecurity/tls_inspection_policies/index.md b/docs/google-docs/providers/google/networksecurity/tls_inspection_policies/index.md index abe5ba3939..3aa4cd6eee 100644 --- a/docs/google-docs/providers/google/networksecurity/tls_inspection_policies/index.md +++ b/docs/google-docs/providers/google/networksecurity/tls_inspection_policies/index.md @@ -1,3 +1,4 @@ + --- title: tls_inspection_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - tls_inspection_policies - networksecurity - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an tls_inspection_policy resource or lists tls_inspection_policies in a region ## Overview
@@ -30,16 +32,17 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Required. Name of the resource. Name is of the form projects/{project}/locations/{location}/tlsInspectionPolicies/{tls_inspection_policy} tls_inspection_policy should match the pattern:(^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$). | +| | `string` | Required. Name of the resource. Name is of the form projects/{project}/locations/{location}/tlsInspectionPolicies/{tls_inspection_policy} tls_inspection_policy should match the pattern:(^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$). | | | `string` | Optional. Free-text description of the resource. | -| | `string` | Required. A CA pool resource used to issue interception certificates. The CA pool string has a relative resource path following the form "projects/{project}/locations/{location}/caPools/{ca_pool}". | +| | `string` | Required. A CA pool resource used to issue interception certificates. The CA pool string has a relative resource path following the form "projects/{project}/locations/{location}/caPools/{ca_pool}". | | | `string` | Output only. The timestamp when the resource was created. | | | `array` | Optional. List of custom TLS cipher suites selected. This field is valid only if the selected tls_feature_profile is CUSTOM. The compute.SslPoliciesService.ListAvailableFeatures method returns the set of features that can be specified in this list. Note that Secure Web Proxy does not yet honor this field. | | | `boolean` | Optional. If FALSE (the default), use our default set of public CAs in addition to any CAs specified in trust_config. These public CAs are currently based on the Mozilla Root Program and are subject to change over time. If TRUE, do not accept our default set of public CAs. Only CAs specified in trust_config will be accepted. This defaults to FALSE (use public CAs in addition to trust_config) for backwards compatibility, but trusting public root CAs is *not recommended* unless the traffic in question is outbound to public web servers. When possible, prefer setting this to "false" and explicitly specifying trusted CAs and certificates in a TrustConfig. Note that Secure Web Proxy does not yet honor this field. | | | `string` | Optional. Minimum TLS version that the firewall should use when negotiating connections with both clients and servers. If this is not set, then the default value is to allow the broadest set of clients and servers (TLS 1.0 or higher). Setting this to more restrictive values may improve security, but may also prevent the firewall from connecting to some clients or servers. Note that Secure Web Proxy does not yet honor this field. | | | `string` | Optional. The selected Profile. If this is not set, then the default value is to allow the broadest set of clients and servers ("PROFILE_COMPATIBLE"). Setting this to more restrictive values may improve security, but may also prevent the TLS inspection proxy from connecting to some clients or servers. Note that Secure Web Proxy does not yet honor this field. | -| | `string` | Optional. A TrustConfig resource used when making a connection to the TLS server. This is a relative resource path following the form "projects/{project}/locations/{location}/trustConfigs/{trust_config}". This is necessary to intercept TLS connections to servers with certificates signed by a private CA or self-signed certificates. Note that Secure Web Proxy does not yet honor this field. | +| | `string` | Optional. A TrustConfig resource used when making a connection to the TLS server. This is a relative resource path following the form "projects/{project}/locations/{location}/trustConfigs/{trust_config}". This is necessary to intercept TLS connections to servers with certificates signed by a private CA or self-signed certificates. Note that Secure Web Proxy does not yet honor this field. | | | `string` | Output only. The timestamp when the resource was updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -48,4 +51,134 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new TlsInspectionPolicy in a given project and location. | | | `DELETE` | | Deletes a single TlsInspectionPolicy. | | | `UPDATE` | | Updates the parameters of a single TlsInspectionPolicy. | -| | `EXEC` | | Lists TlsInspectionPolicies in a given project and location. | + +## `SELECT` examples + +Lists TlsInspectionPolicies in a given project and location. + +```sql +SELECT +name, +description, +caPool, +createTime, +customTlsFeatures, +excludePublicCaSet, +minTlsVersion, +tlsFeatureProfile, +trustConfig, +updateTime +FROM google.networksecurity.tls_inspection_policies +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new tls_inspection_policies resource. + + + + +```sql +/*+ create */ +INSERT INTO google.networksecurity.tls_inspection_policies ( +locationsId, +projectsId, +name, +description, +createTime, +updateTime, +caPool, +trustConfig, +excludePublicCaSet, +minTlsVersion, +tlsFeatureProfile, +customTlsFeatures +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ description }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ caPool }}', +'{{ trustConfig }}', +true|false, +'{{ minTlsVersion }}', +'{{ tlsFeatureProfile }}', +'{{ customTlsFeatures }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: caPool + value: '{{ caPool }}' + - name: trustConfig + value: '{{ trustConfig }}' + - name: excludePublicCaSet + value: '{{ excludePublicCaSet }}' + - name: minTlsVersion + value: '{{ minTlsVersion }}' + - name: tlsFeatureProfile + value: '{{ tlsFeatureProfile }}' + - name: customTlsFeatures + value: '{{ customTlsFeatures }}' + +``` + + + +## `UPDATE` example + +Updates a tls_inspection_policy only if the necessary resources are available. + +```sql +UPDATE google.networksecurity.tls_inspection_policies +SET +name = '{{ name }}', +description = '{{ description }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +caPool = '{{ caPool }}', +trustConfig = '{{ trustConfig }}', +excludePublicCaSet = true|false, +minTlsVersion = '{{ minTlsVersion }}', +tlsFeatureProfile = '{{ tlsFeatureProfile }}', +customTlsFeatures = '{{ customTlsFeatures }}' +WHERE +locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND tlsInspectionPoliciesId = '{{ tlsInspectionPoliciesId }}'; +``` + +## `DELETE` example + +Deletes the specified tls_inspection_policy resource. + +```sql +DELETE FROM google.networksecurity.tls_inspection_policies +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND tlsInspectionPoliciesId = '{{ tlsInspectionPoliciesId }}'; +``` diff --git a/docs/google-docs/providers/google/networksecurity/url_lists/index.md b/docs/google-docs/providers/google/networksecurity/url_lists/index.md index ffe2d40187..806a3afeb6 100644 --- a/docs/google-docs/providers/google/networksecurity/url_lists/index.md +++ b/docs/google-docs/providers/google/networksecurity/url_lists/index.md @@ -1,3 +1,4 @@ + --- title: url_lists hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - url_lists - networksecurity - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an url_list resource or lists url_lists in a region ## Overview
@@ -30,11 +32,12 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Required. Name of the resource provided by the user. Name is of the form projects/{project}/locations/{location}/urlLists/{url_list} url_list should match the pattern:(^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$). | +| | `string` | Required. Name of the resource provided by the user. Name is of the form projects/{project}/locations/{location}/urlLists/{url_list} url_list should match the pattern:(^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$). | | | `string` | Optional. Free-text description of the resource. | | | `string` | Output only. Time when the security policy was created. | | | `string` | Output only. Time when the security policy was updated. | | | `array` | Required. FQDNs and URLs. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -43,4 +46,104 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new UrlList in a given project and location. | | | `DELETE` | | Deletes a single UrlList. | | | `UPDATE` | | Updates the parameters of a single UrlList. | -| | `EXEC` | | Lists UrlLists in a given project and location. | + +## `SELECT` examples + +Lists UrlLists in a given project and location. + +```sql +SELECT +name, +description, +createTime, +updateTime, +values +FROM google.networksecurity.url_lists +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new url_lists resource. + + + + +```sql +/*+ create */ +INSERT INTO google.networksecurity.url_lists ( +locationsId, +projectsId, +name, +createTime, +updateTime, +description, +values +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ description }}', +'{{ values }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: description + value: '{{ description }}' + - name: values + value: '{{ values }}' + +``` + + + +## `UPDATE` example + +Updates a url_list only if the necessary resources are available. + +```sql +UPDATE google.networksecurity.url_lists +SET +name = '{{ name }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +description = '{{ description }}', +values = '{{ values }}' +WHERE +locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND urlListsId = '{{ urlListsId }}'; +``` + +## `DELETE` example + +Deletes the specified url_list resource. + +```sql +DELETE FROM google.networksecurity.url_lists +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND urlListsId = '{{ urlListsId }}'; +``` diff --git a/docs/google-docs/providers/google/networkservices/edge_cache_keysets_iam_policies/index.md b/docs/google-docs/providers/google/networkservices/edge_cache_keysets_iam_policies/index.md index ece3b89c19..a8fe9b9b25 100644 --- a/docs/google-docs/providers/google/networkservices/edge_cache_keysets_iam_policies/index.md +++ b/docs/google-docs/providers/google/networkservices/edge_cache_keysets_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: edge_cache_keysets_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - edge_cache_keysets_iam_policies - networkservices - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an edge_cache_keysets_iam_policy resource or lists edge_cache_keysets_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.networkservices.edge_cache_keysets_iam_policies +WHERE edgeCacheKeysetsId = '{{ edgeCacheKeysetsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/networkservices/edge_cache_origins_iam_policies/index.md b/docs/google-docs/providers/google/networkservices/edge_cache_origins_iam_policies/index.md index 735e3baf77..dd9ce5ed11 100644 --- a/docs/google-docs/providers/google/networkservices/edge_cache_origins_iam_policies/index.md +++ b/docs/google-docs/providers/google/networkservices/edge_cache_origins_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: edge_cache_origins_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - edge_cache_origins_iam_policies - networkservices - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an edge_cache_origins_iam_policy resource or lists edge_cache_origins_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.networkservices.edge_cache_origins_iam_policies +WHERE edgeCacheOriginsId = '{{ edgeCacheOriginsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/networkservices/edge_cache_services_iam_policies/index.md b/docs/google-docs/providers/google/networkservices/edge_cache_services_iam_policies/index.md index 0d4a931243..5c5a95a4a7 100644 --- a/docs/google-docs/providers/google/networkservices/edge_cache_services_iam_policies/index.md +++ b/docs/google-docs/providers/google/networkservices/edge_cache_services_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: edge_cache_services_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - edge_cache_services_iam_policies - networkservices - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an edge_cache_services_iam_policy resource or lists edge_cache_services_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.networkservices.edge_cache_services_iam_policies +WHERE edgeCacheServicesId = '{{ edgeCacheServicesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/networkservices/endpoint_policies/index.md b/docs/google-docs/providers/google/networkservices/endpoint_policies/index.md index b9bded3ea1..77e6d21e66 100644 --- a/docs/google-docs/providers/google/networkservices/endpoint_policies/index.md +++ b/docs/google-docs/providers/google/networkservices/endpoint_policies/index.md @@ -1,3 +1,4 @@ + --- title: endpoint_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - endpoint_policies - networkservices - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an endpoint_policy resource or lists endpoint_policies in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Required. Name of the EndpointPolicy resource. It matches pattern `projects/{project}/locations/global/endpointPolicies/{endpoint_policy}`. | +| | `string` | Identifier. Name of the EndpointPolicy resource. It matches pattern `projects/{project}/locations/global/endpointPolicies/{endpoint_policy}`. | | | `string` | Optional. A free-text description of the resource. Max length 1024 characters. | | | `string` | Optional. This field specifies the URL of AuthorizationPolicy resource that applies authorization policies to the inbound traffic at the matched endpoints. Refer to Authorization. If this field is not specified, authorization is disabled(no authz checks) for this endpoint. | | | `string` | Optional. A URL referring to a ClientTlsPolicy resource. ClientTlsPolicy can be set to specify the authentication for traffic from the proxy to the actual endpoints. More specifically, it is applied to the outgoing traffic from the proxy to the endpoint. This is typically used for sidecar model where the proxy identifies itself as endpoint to the control plane, with the connection between sidecar and endpoint requiring authentication. If this field is not set, authentication is disabled(open). Applicable only when EndpointPolicyType is SIDECAR_PROXY. | @@ -41,6 +43,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Specification of a port-based selector. | | | `string` | Required. The type of endpoint policy. This is primarily used to validate the configuration. | | | `string` | Output only. The timestamp when the resource was updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -49,4 +52,140 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new EndpointPolicy in a given project and location. | | | `DELETE` | | Deletes a single EndpointPolicy. | | | `UPDATE` | | Updates the parameters of a single EndpointPolicy. | -| | `EXEC` | | Lists EndpointPolicies in a given project and location. | + +## `SELECT` examples + +Lists EndpointPolicies in a given project and location. + +```sql +SELECT +name, +description, +authorizationPolicy, +clientTlsPolicy, +createTime, +endpointMatcher, +labels, +serverTlsPolicy, +trafficPortSelector, +type, +updateTime +FROM google.networkservices.endpoint_policies +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new endpoint_policies resource. + + + + +```sql +/*+ create */ +INSERT INTO google.networkservices.endpoint_policies ( +locationsId, +projectsId, +name, +createTime, +updateTime, +labels, +type, +authorizationPolicy, +endpointMatcher, +trafficPortSelector, +description, +serverTlsPolicy, +clientTlsPolicy +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ labels }}', +'{{ type }}', +'{{ authorizationPolicy }}', +'{{ endpointMatcher }}', +'{{ trafficPortSelector }}', +'{{ description }}', +'{{ serverTlsPolicy }}', +'{{ clientTlsPolicy }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: labels + value: '{{ labels }}' + - name: type + value: '{{ type }}' + - name: authorizationPolicy + value: '{{ authorizationPolicy }}' + - name: endpointMatcher + value: '{{ endpointMatcher }}' + - name: trafficPortSelector + value: '{{ trafficPortSelector }}' + - name: description + value: '{{ description }}' + - name: serverTlsPolicy + value: '{{ serverTlsPolicy }}' + - name: clientTlsPolicy + value: '{{ clientTlsPolicy }}' + +``` + + + +## `UPDATE` example + +Updates a endpoint_policy only if the necessary resources are available. + +```sql +UPDATE google.networkservices.endpoint_policies +SET +name = '{{ name }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +labels = '{{ labels }}', +type = '{{ type }}', +authorizationPolicy = '{{ authorizationPolicy }}', +endpointMatcher = '{{ endpointMatcher }}', +trafficPortSelector = '{{ trafficPortSelector }}', +description = '{{ description }}', +serverTlsPolicy = '{{ serverTlsPolicy }}', +clientTlsPolicy = '{{ clientTlsPolicy }}' +WHERE +endpointPoliciesId = '{{ endpointPoliciesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified endpoint_policy resource. + +```sql +DELETE FROM google.networkservices.endpoint_policies +WHERE endpointPoliciesId = '{{ endpointPoliciesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/networkservices/endpoint_policies_iam_policies/index.md b/docs/google-docs/providers/google/networkservices/endpoint_policies_iam_policies/index.md deleted file mode 100644 index 23023cb47e..0000000000 --- a/docs/google-docs/providers/google/networkservices/endpoint_policies_iam_policies/index.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -title: endpoint_policies_iam_policies -hide_title: false -hide_table_of_contents: false -keywords: - - endpoint_policies_iam_policies - - networkservices - - google - - stackql - - infrastructure-as-code - - configuration-as-data - - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL -custom_edit_url: null -image: /img/providers/google/stackql-google-provider-featured-image.png ---- - -import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; - - - - -## Overview -
- - - -
Nameendpoint_policies_iam_policies
TypeResource
Id
- -## Fields -| Name | Datatype | Description | -|:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | -| | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | -## Methods -| Name | Accessible by | Required Params | Description | -|:-----|:--------------|:----------------|:------------| -| | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | -| | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | diff --git a/docs/google-docs/providers/google/networkservices/gateways/index.md b/docs/google-docs/providers/google/networkservices/gateways/index.md index 34aba8b06b..b69a5885bc 100644 --- a/docs/google-docs/providers/google/networkservices/gateways/index.md +++ b/docs/google-docs/providers/google/networkservices/gateways/index.md @@ -1,3 +1,4 @@ + --- title: gateways hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - gateways - networkservices - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an gateway resource or lists gateways in a region ## Overview @@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Required. Name of the Gateway resource. It matches pattern `projects/*/locations/*/gateways/`. | +| | `string` | Identifier. Name of the Gateway resource. It matches pattern `projects/*/locations/*/gateways/`. | | | `string` | Optional. A free-text description of the resource. Max length 1024 characters. | | | `array` | Optional. Zero or one IPv4 or IPv6 address on which the Gateway will receive the traffic. When no address is provided, an IP from the subnetwork is allocated This field only applies to gateways of type 'SECURE_WEB_GATEWAY'. Gateways of type 'OPEN_MESH' listen on 0.0.0.0 for IPv4 and :: for IPv6. | | | `array` | Optional. A fully-qualified Certificates URL reference. The proxy presents a Certificate (selected based on SNI) when establishing a TLS connection. This feature only applies to gateways of type 'SECURE_WEB_GATEWAY'. | @@ -41,12 +43,14 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Optional. Set of label tags associated with the Gateway resource. | | | `string` | Optional. The relative resource name identifying the VPC network that is using this configuration. For example: `projects/*/global/networks/network-1`. Currently, this field is specific to gateways of type 'SECURE_WEB_GATEWAY'. | | | `array` | Required. One or more port numbers (1-65535), on which the Gateway will receive traffic. The proxy binds to the specified ports. Gateways of type 'SECURE_WEB_GATEWAY' are limited to 1 port. Gateways of type 'OPEN_MESH' listen on 0.0.0.0 for IPv4 and :: for IPv6 and support multiple ports. | +| | `string` | Optional. The routing mode of the Gateway. This field is configurable only for gateways of type SECURE_WEB_GATEWAY. This field is required for gateways of type SECURE_WEB_GATEWAY. | | | `string` | Optional. Scope determines how configuration across multiple Gateway instances are merged. The configuration for multiple Gateway instances with the same scope will be merged as presented as a single coniguration to the proxy/load balancer. Max length 64 characters. Scope should start with a letter and can only have letters, numbers, hyphens. | | | `string` | Output only. Server-defined URL of this resource | | | `string` | Optional. A fully-qualified ServerTLSPolicy URL reference. Specifies how TLS traffic is terminated. If empty, TLS termination is disabled. | | | `string` | Optional. The relative resource name identifying the subnetwork in which this SWG is allocated. For example: `projects/*/regions/us-central1/subnetworks/network-1` Currently, this field is specific to gateways of type 'SECURE_WEB_GATEWAY". | | | `string` | Immutable. The type of the customer managed gateway. This field is required. If unspecified, an error is returned. | | | `string` | Output only. The timestamp when the resource was updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -55,4 +59,182 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new Gateway in a given project and location. | | | `DELETE` | | Deletes a single Gateway. | | | `UPDATE` | | Updates the parameters of a single Gateway. | -| | `EXEC` | | Lists Gateways in a given project and location. | + +## `SELECT` examples + +Lists Gateways in a given project and location. + +```sql +SELECT +name, +description, +addresses, +certificateUrls, +createTime, +envoyHeaders, +gatewaySecurityPolicy, +ipVersion, +labels, +network, +ports, +routingMode, +scope, +selfLink, +serverTlsPolicy, +subnetwork, +type, +updateTime +FROM google.networkservices.gateways +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new gateways resource. + + + + +```sql +/*+ create */ +INSERT INTO google.networkservices.gateways ( +locationsId, +projectsId, +name, +selfLink, +createTime, +updateTime, +labels, +description, +type, +addresses, +ports, +scope, +serverTlsPolicy, +certificateUrls, +gatewaySecurityPolicy, +network, +subnetwork, +ipVersion, +envoyHeaders, +routingMode +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ selfLink }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ labels }}', +'{{ description }}', +'{{ type }}', +'{{ addresses }}', +'{{ ports }}', +'{{ scope }}', +'{{ serverTlsPolicy }}', +'{{ certificateUrls }}', +'{{ gatewaySecurityPolicy }}', +'{{ network }}', +'{{ subnetwork }}', +'{{ ipVersion }}', +'{{ envoyHeaders }}', +'{{ routingMode }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: selfLink + value: '{{ selfLink }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: labels + value: '{{ labels }}' + - name: description + value: '{{ description }}' + - name: type + value: '{{ type }}' + - name: addresses + value: '{{ addresses }}' + - name: ports + value: '{{ ports }}' + - name: scope + value: '{{ scope }}' + - name: serverTlsPolicy + value: '{{ serverTlsPolicy }}' + - name: certificateUrls + value: '{{ certificateUrls }}' + - name: gatewaySecurityPolicy + value: '{{ gatewaySecurityPolicy }}' + - name: network + value: '{{ network }}' + - name: subnetwork + value: '{{ subnetwork }}' + - name: ipVersion + value: '{{ ipVersion }}' + - name: envoyHeaders + value: '{{ envoyHeaders }}' + - name: routingMode + value: '{{ routingMode }}' + +``` + + + +## `UPDATE` example + +Updates a gateway only if the necessary resources are available. + +```sql +UPDATE google.networkservices.gateways +SET +name = '{{ name }}', +selfLink = '{{ selfLink }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +labels = '{{ labels }}', +description = '{{ description }}', +type = '{{ type }}', +addresses = '{{ addresses }}', +ports = '{{ ports }}', +scope = '{{ scope }}', +serverTlsPolicy = '{{ serverTlsPolicy }}', +certificateUrls = '{{ certificateUrls }}', +gatewaySecurityPolicy = '{{ gatewaySecurityPolicy }}', +network = '{{ network }}', +subnetwork = '{{ subnetwork }}', +ipVersion = '{{ ipVersion }}', +envoyHeaders = '{{ envoyHeaders }}', +routingMode = '{{ routingMode }}' +WHERE +gatewaysId = '{{ gatewaysId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified gateway resource. + +```sql +DELETE FROM google.networkservices.gateways +WHERE gatewaysId = '{{ gatewaysId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/networkservices/gateways_iam_policies/index.md b/docs/google-docs/providers/google/networkservices/gateways_iam_policies/index.md deleted file mode 100644 index 3215881649..0000000000 --- a/docs/google-docs/providers/google/networkservices/gateways_iam_policies/index.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -title: gateways_iam_policies -hide_title: false -hide_table_of_contents: false -keywords: - - gateways_iam_policies - - networkservices - - google - - stackql - - infrastructure-as-code - - configuration-as-data - - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL -custom_edit_url: null -image: /img/providers/google/stackql-google-provider-featured-image.png ---- - -import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; - - - - -## Overview -
- - - -
Namegateways_iam_policies
TypeResource
Id
- -## Fields -| Name | Datatype | Description | -|:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | -| | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | -## Methods -| Name | Accessible by | Required Params | Description | -|:-----|:--------------|:----------------|:------------| -| | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | -| | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | diff --git a/docs/google-docs/providers/google/networkservices/grpc_routes/index.md b/docs/google-docs/providers/google/networkservices/grpc_routes/index.md index 44f3d2d9b5..fd556d3acb 100644 --- a/docs/google-docs/providers/google/networkservices/grpc_routes/index.md +++ b/docs/google-docs/providers/google/networkservices/grpc_routes/index.md @@ -1,3 +1,4 @@ + --- title: grpc_routes hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - grpc_routes - networkservices - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an grpc_route resource or lists grpc_routes in a region ## Overview @@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Required. Name of the GrpcRoute resource. It matches pattern `projects/*/locations/global/grpcRoutes/` | +| | `string` | Identifier. Name of the GrpcRoute resource. It matches pattern `projects/*/locations/global/grpcRoutes/` | | | `string` | Optional. A free-text description of the resource. Max length 1024 characters. | | | `string` | Output only. The timestamp when the resource was created. | | | `array` | Optional. Gateways defines a list of gateways this GrpcRoute is attached to, as one of the routing rules to route the requests served by the gateway. Each gateway reference should match the pattern: `projects/*/locations/global/gateways/` | @@ -40,6 +42,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `array` | Required. A list of detailed rules defining how to route traffic. Within a single GrpcRoute, the GrpcRoute.RouteAction associated with the first matching GrpcRoute.RouteRule will be executed. At least one rule must be supplied. | | | `string` | Output only. Server-defined URL of this resource | | | `string` | Output only. The timestamp when the resource was updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -48,4 +51,134 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new GrpcRoute in a given project and location. | | | `DELETE` | | Deletes a single GrpcRoute. | | | `UPDATE` | | Updates the parameters of a single GrpcRoute. | -| | `EXEC` | | Lists GrpcRoutes in a given project and location. | + +## `SELECT` examples + +Lists GrpcRoutes in a given project and location. + +```sql +SELECT +name, +description, +createTime, +gateways, +hostnames, +labels, +meshes, +rules, +selfLink, +updateTime +FROM google.networkservices.grpc_routes +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new grpc_routes resource. + + + + +```sql +/*+ create */ +INSERT INTO google.networkservices.grpc_routes ( +locationsId, +projectsId, +name, +selfLink, +createTime, +updateTime, +labels, +description, +hostnames, +meshes, +gateways, +rules +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ selfLink }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ labels }}', +'{{ description }}', +'{{ hostnames }}', +'{{ meshes }}', +'{{ gateways }}', +'{{ rules }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: selfLink + value: '{{ selfLink }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: labels + value: '{{ labels }}' + - name: description + value: '{{ description }}' + - name: hostnames + value: '{{ hostnames }}' + - name: meshes + value: '{{ meshes }}' + - name: gateways + value: '{{ gateways }}' + - name: rules + value: '{{ rules }}' + +``` + + + +## `UPDATE` example + +Updates a grpc_route only if the necessary resources are available. + +```sql +UPDATE google.networkservices.grpc_routes +SET +name = '{{ name }}', +selfLink = '{{ selfLink }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +labels = '{{ labels }}', +description = '{{ description }}', +hostnames = '{{ hostnames }}', +meshes = '{{ meshes }}', +gateways = '{{ gateways }}', +rules = '{{ rules }}' +WHERE +grpcRoutesId = '{{ grpcRoutesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified grpc_route resource. + +```sql +DELETE FROM google.networkservices.grpc_routes +WHERE grpcRoutesId = '{{ grpcRoutesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/networkservices/http_routes/index.md b/docs/google-docs/providers/google/networkservices/http_routes/index.md index b7d9c1124e..76a689cac4 100644 --- a/docs/google-docs/providers/google/networkservices/http_routes/index.md +++ b/docs/google-docs/providers/google/networkservices/http_routes/index.md @@ -1,3 +1,4 @@ + --- title: http_routes hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - http_routes - networkservices - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an http_route resource or lists http_routes in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Required. Name of the HttpRoute resource. It matches pattern `projects/*/locations/global/httpRoutes/http_route_name>`. | +| | `string` | Identifier. Name of the HttpRoute resource. It matches pattern `projects/*/locations/global/httpRoutes/http_route_name>`. | | | `string` | Optional. A free-text description of the resource. Max length 1024 characters. | | | `string` | Output only. The timestamp when the resource was created. | | | `array` | Optional. Gateways defines a list of gateways this HttpRoute is attached to, as one of the routing rules to route the requests served by the gateway. Each gateway reference should match the pattern: `projects/*/locations/global/gateways/` | @@ -40,6 +42,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `array` | Required. Rules that define how traffic is routed and handled. Rules will be matched sequentially based on the RouteMatch specified for the rule. | | | `string` | Output only. Server-defined URL of this resource | | | `string` | Output only. The timestamp when the resource was updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -48,4 +51,134 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new HttpRoute in a given project and location. | | | `DELETE` | | Deletes a single HttpRoute. | | | `UPDATE` | | Updates the parameters of a single HttpRoute. | -| | `EXEC` | | Lists HttpRoute in a given project and location. | + +## `SELECT` examples + +Lists HttpRoute in a given project and location. + +```sql +SELECT +name, +description, +createTime, +gateways, +hostnames, +labels, +meshes, +rules, +selfLink, +updateTime +FROM google.networkservices.http_routes +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new http_routes resource. + + + + +```sql +/*+ create */ +INSERT INTO google.networkservices.http_routes ( +locationsId, +projectsId, +name, +selfLink, +description, +createTime, +updateTime, +hostnames, +meshes, +gateways, +labels, +rules +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ selfLink }}', +'{{ description }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ hostnames }}', +'{{ meshes }}', +'{{ gateways }}', +'{{ labels }}', +'{{ rules }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: selfLink + value: '{{ selfLink }}' + - name: description + value: '{{ description }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: hostnames + value: '{{ hostnames }}' + - name: meshes + value: '{{ meshes }}' + - name: gateways + value: '{{ gateways }}' + - name: labels + value: '{{ labels }}' + - name: rules + value: '{{ rules }}' + +``` + + + +## `UPDATE` example + +Updates a http_route only if the necessary resources are available. + +```sql +UPDATE google.networkservices.http_routes +SET +name = '{{ name }}', +selfLink = '{{ selfLink }}', +description = '{{ description }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +hostnames = '{{ hostnames }}', +meshes = '{{ meshes }}', +gateways = '{{ gateways }}', +labels = '{{ labels }}', +rules = '{{ rules }}' +WHERE +httpRoutesId = '{{ httpRoutesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified http_route resource. + +```sql +DELETE FROM google.networkservices.http_routes +WHERE httpRoutesId = '{{ httpRoutesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/networkservices/index.md b/docs/google-docs/providers/google/networkservices/index.md index 7012ecd488..a804142a07 100644 --- a/docs/google-docs/providers/google/networkservices/index.md +++ b/docs/google-docs/providers/google/networkservices/index.md @@ -9,34 +9,23 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- - - +The networkservices service documentation. + :::info Service Summary
-total resources: 21
-total selectable resources: 21
-total methods: 105
+total resources: 17
::: -## Overview -
- - - - - -
Namegoogle.networkservices
TypeService
TitleNetwork Services API
Description
Idnetworkservices:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/networkservices/lb_route_extensions/index.md b/docs/google-docs/providers/google/networkservices/lb_route_extensions/index.md index 749e157554..e0f31ff30c 100644 --- a/docs/google-docs/providers/google/networkservices/lb_route_extensions/index.md +++ b/docs/google-docs/providers/google/networkservices/lb_route_extensions/index.md @@ -1,3 +1,4 @@ + --- title: lb_route_extensions hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - lb_route_extensions - networkservices - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an lb_route_extension resource or lists lb_route_extensions in a region ## Overview @@ -30,15 +32,16 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Required. Identifier. Name of the `LbRouteExtension` resource in the following format: `projects/{project}/locations/{location}/lbRouteExtensions/{lb_route_extension}`. | +| | `string` | Required. Identifier. Name of the `LbRouteExtension` resource in the following format: `projects/{project}/locations/{location}/lbRouteExtensions/{lb_route_extension}`. | | | `string` | Optional. A human-readable description of the resource. | | | `string` | Output only. The timestamp when the resource was created. | | | `array` | Required. A set of ordered extension chains that contain the match conditions and extensions to execute. Match conditions for each extension chain are evaluated in sequence for a given request. The first extension chain that has a condition that matches the request is executed. Any subsequent extension chains do not execute. Limited to 5 extension chains per resource. | | | `array` | Required. A list of references to the forwarding rules to which this service extension is attached to. At least one forwarding rule is required. There can be only one `LbRouteExtension` resource per forwarding rule. | | | `object` | Optional. Set of labels associated with the `LbRouteExtension` resource. The format must comply with [the requirements for labels](https://cloud.google.com/compute/docs/labeling-resources#requirements) for Google Cloud resources. | | | `string` | Required. All backend services and forwarding rules referenced by this extension must share the same load balancing scheme. Supported values: `INTERNAL_MANAGED`, `EXTERNAL_MANAGED`. For more information, refer to [Choosing a load balancer](https://cloud.google.com/load-balancing/docs/backend-service). | -| | `object` | Optional. The metadata provided here will be included as part of the `metadata_context` (of type `google.protobuf.Struct`) in the `ProcessingRequest` message sent to the extension server. The metadata will be available under the namespace `com.google.lb_route_extension.`. The following variables are supported in the metadata Struct: `{forwarding_rule_id}` - substituted with the forwarding rule's fully qualified resource name. | +| | `object` | Optional. The metadata provided here is included as part of the `metadata_context` (of type `google.protobuf.Struct`) in the `ProcessingRequest` message sent to the extension server. The metadata is available under the namespace `com.google.lb_route_extension.`. The following variables are supported in the metadata Struct: `{forwarding_rule_id}` - substituted with the forwarding rule's fully qualified resource name. | | | `string` | Output only. The timestamp when the resource was updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -47,4 +50,128 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new `LbRouteExtension` resource in a given project and location. | | | `DELETE` | | Deletes the specified `LbRouteExtension` resource. | | | `UPDATE` | | Updates the parameters of the specified `LbRouteExtension` resource. | -| | `EXEC` | | Lists `LbRouteExtension` resources in a given project and location. | + +## `SELECT` examples + +Lists `LbRouteExtension` resources in a given project and location. + +```sql +SELECT +name, +description, +createTime, +extensionChains, +forwardingRules, +labels, +loadBalancingScheme, +metadata, +updateTime +FROM google.networkservices.lb_route_extensions +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new lb_route_extensions resource. + + + + +```sql +/*+ create */ +INSERT INTO google.networkservices.lb_route_extensions ( +locationsId, +projectsId, +name, +createTime, +updateTime, +description, +labels, +forwardingRules, +extensionChains, +loadBalancingScheme, +metadata +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ description }}', +'{{ labels }}', +'{{ forwardingRules }}', +'{{ extensionChains }}', +'{{ loadBalancingScheme }}', +'{{ metadata }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: description + value: '{{ description }}' + - name: labels + value: '{{ labels }}' + - name: forwardingRules + value: '{{ forwardingRules }}' + - name: extensionChains + value: '{{ extensionChains }}' + - name: loadBalancingScheme + value: '{{ loadBalancingScheme }}' + - name: metadata + value: '{{ metadata }}' + +``` + + + +## `UPDATE` example + +Updates a lb_route_extension only if the necessary resources are available. + +```sql +UPDATE google.networkservices.lb_route_extensions +SET +name = '{{ name }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +description = '{{ description }}', +labels = '{{ labels }}', +forwardingRules = '{{ forwardingRules }}', +extensionChains = '{{ extensionChains }}', +loadBalancingScheme = '{{ loadBalancingScheme }}', +metadata = '{{ metadata }}' +WHERE +lbRouteExtensionsId = '{{ lbRouteExtensionsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified lb_route_extension resource. + +```sql +DELETE FROM google.networkservices.lb_route_extensions +WHERE lbRouteExtensionsId = '{{ lbRouteExtensionsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/networkservices/lb_traffic_extensions/index.md b/docs/google-docs/providers/google/networkservices/lb_traffic_extensions/index.md index 13ebec9ad4..249d7247de 100644 --- a/docs/google-docs/providers/google/networkservices/lb_traffic_extensions/index.md +++ b/docs/google-docs/providers/google/networkservices/lb_traffic_extensions/index.md @@ -1,3 +1,4 @@ + --- title: lb_traffic_extensions hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - lb_traffic_extensions - networkservices - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an lb_traffic_extension resource or lists lb_traffic_extensions in a region ## Overview
@@ -30,15 +32,16 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Required. Identifier. Name of the `LbTrafficExtension` resource in the following format: `projects/{project}/locations/{location}/lbTrafficExtensions/{lb_traffic_extension}`. | +| | `string` | Required. Identifier. Name of the `LbTrafficExtension` resource in the following format: `projects/{project}/locations/{location}/lbTrafficExtensions/{lb_traffic_extension}`. | | | `string` | Optional. A human-readable description of the resource. | | | `string` | Output only. The timestamp when the resource was created. | | | `array` | Required. A set of ordered extension chains that contain the match conditions and extensions to execute. Match conditions for each extension chain are evaluated in sequence for a given request. The first extension chain that has a condition that matches the request is executed. Any subsequent extension chains do not execute. Limited to 5 extension chains per resource. | | | `array` | Required. A list of references to the forwarding rules to which this service extension is attached to. At least one forwarding rule is required. There can be only one `LBTrafficExtension` resource per forwarding rule. | | | `object` | Optional. Set of labels associated with the `LbTrafficExtension` resource. The format must comply with [the requirements for labels](https://cloud.google.com/compute/docs/labeling-resources#requirements) for Google Cloud resources. | | | `string` | Required. All backend services and forwarding rules referenced by this extension must share the same load balancing scheme. Supported values: `INTERNAL_MANAGED`, `EXTERNAL_MANAGED`. For more information, refer to [Choosing a load balancer](https://cloud.google.com/load-balancing/docs/backend-service). | -| | `object` | Optional. The metadata provided here will be included in the `ProcessingRequest.metadata_context.filter_metadata` map field. The metadata will be available under the key `com.google.lb_traffic_extension.`. The following variables are supported in the metadata: `{forwarding_rule_id}` - substituted with the forwarding rule's fully qualified resource name. | +| | `object` | Optional. The metadata provided here is included in the `ProcessingRequest.metadata_context.filter_metadata` map field. The metadata is available under the key `com.google.lb_traffic_extension.`. The following variables are supported in the metadata: `{forwarding_rule_id}` - substituted with the forwarding rule's fully qualified resource name. | | | `string` | Output only. The timestamp when the resource was updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -47,4 +50,128 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new `LbTrafficExtension` resource in a given project and location. | | | `DELETE` | | Deletes the specified `LbTrafficExtension` resource. | | | `UPDATE` | | Updates the parameters of the specified `LbTrafficExtension` resource. | -| | `EXEC` | | Lists `LbTrafficExtension` resources in a given project and location. | + +## `SELECT` examples + +Lists `LbTrafficExtension` resources in a given project and location. + +```sql +SELECT +name, +description, +createTime, +extensionChains, +forwardingRules, +labels, +loadBalancingScheme, +metadata, +updateTime +FROM google.networkservices.lb_traffic_extensions +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new lb_traffic_extensions resource. + + + + +```sql +/*+ create */ +INSERT INTO google.networkservices.lb_traffic_extensions ( +locationsId, +projectsId, +name, +createTime, +updateTime, +description, +labels, +forwardingRules, +extensionChains, +loadBalancingScheme, +metadata +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ description }}', +'{{ labels }}', +'{{ forwardingRules }}', +'{{ extensionChains }}', +'{{ loadBalancingScheme }}', +'{{ metadata }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: description + value: '{{ description }}' + - name: labels + value: '{{ labels }}' + - name: forwardingRules + value: '{{ forwardingRules }}' + - name: extensionChains + value: '{{ extensionChains }}' + - name: loadBalancingScheme + value: '{{ loadBalancingScheme }}' + - name: metadata + value: '{{ metadata }}' + +``` + + + +## `UPDATE` example + +Updates a lb_traffic_extension only if the necessary resources are available. + +```sql +UPDATE google.networkservices.lb_traffic_extensions +SET +name = '{{ name }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +description = '{{ description }}', +labels = '{{ labels }}', +forwardingRules = '{{ forwardingRules }}', +extensionChains = '{{ extensionChains }}', +loadBalancingScheme = '{{ loadBalancingScheme }}', +metadata = '{{ metadata }}' +WHERE +lbTrafficExtensionsId = '{{ lbTrafficExtensionsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified lb_traffic_extension resource. + +```sql +DELETE FROM google.networkservices.lb_traffic_extensions +WHERE lbTrafficExtensionsId = '{{ lbTrafficExtensionsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/networkservices/locations/index.md b/docs/google-docs/providers/google/networkservices/locations/index.md index 744cf58f9c..f8b82abfb9 100644 --- a/docs/google-docs/providers/google/networkservices/locations/index.md +++ b/docs/google-docs/providers/google/networkservices/locations/index.md @@ -1,3 +1,4 @@ + --- title: locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - locations - networkservices - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an location resource or lists locations in a region ## Overview
@@ -32,12 +34,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` | | | `string` | The friendly name for this location, typically a nearby city name. For example, "Tokyo". | -| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | +| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | | | `string` | The canonical id for this location. For example: `"us-east1"`. | | | `object` | Service-specific metadata. For example the available capacity at the given location. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about a location. | | | `SELECT` | | Lists information about the supported locations for this service. | -| | `EXEC` | | Lists information about the supported locations for this service. | + +## `SELECT` examples + +Lists information about the supported locations for this service. + +```sql +SELECT +name, +displayName, +labels, +locationId, +metadata +FROM google.networkservices.locations +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/networkservices/meshes/index.md b/docs/google-docs/providers/google/networkservices/meshes/index.md index bebe345ddf..f8d6e5ceb2 100644 --- a/docs/google-docs/providers/google/networkservices/meshes/index.md +++ b/docs/google-docs/providers/google/networkservices/meshes/index.md @@ -1,3 +1,4 @@ + --- title: meshes hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - meshes - networkservices - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an mesh resource or lists meshes in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Required. Name of the Mesh resource. It matches pattern `projects/*/locations/global/meshes/`. | +| | `string` | Identifier. Name of the Mesh resource. It matches pattern `projects/*/locations/global/meshes/`. | | | `string` | Optional. A free-text description of the resource. Max length 1024 characters. | | | `string` | Output only. The timestamp when the resource was created. | | | `string` | Optional. Determines if envoy will insert internal debug headers into upstream requests. Other Envoy headers may still be injected. By default, envoy will not insert any debug headers. | @@ -38,6 +40,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Optional. Set of label tags associated with the Mesh resource. | | | `string` | Output only. Server-defined URL of this resource | | | `string` | Output only. The timestamp when the resource was updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -46,4 +49,122 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new Mesh in a given project and location. | | | `DELETE` | | Deletes a single Mesh. | | | `UPDATE` | | Updates the parameters of a single Mesh. | -| | `EXEC` | | Lists Meshes in a given project and location. | + +## `SELECT` examples + +Lists Meshes in a given project and location. + +```sql +SELECT +name, +description, +createTime, +envoyHeaders, +interceptionPort, +labels, +selfLink, +updateTime +FROM google.networkservices.meshes +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new meshes resource. + + + + +```sql +/*+ create */ +INSERT INTO google.networkservices.meshes ( +locationsId, +projectsId, +name, +selfLink, +createTime, +updateTime, +labels, +description, +interceptionPort, +envoyHeaders +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ selfLink }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ labels }}', +'{{ description }}', +'{{ interceptionPort }}', +'{{ envoyHeaders }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: selfLink + value: '{{ selfLink }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: labels + value: '{{ labels }}' + - name: description + value: '{{ description }}' + - name: interceptionPort + value: '{{ interceptionPort }}' + - name: envoyHeaders + value: '{{ envoyHeaders }}' + +``` + + + +## `UPDATE` example + +Updates a mesh only if the necessary resources are available. + +```sql +UPDATE google.networkservices.meshes +SET +name = '{{ name }}', +selfLink = '{{ selfLink }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +labels = '{{ labels }}', +description = '{{ description }}', +interceptionPort = '{{ interceptionPort }}', +envoyHeaders = '{{ envoyHeaders }}' +WHERE +locationsId = '{{ locationsId }}' +AND meshesId = '{{ meshesId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified mesh resource. + +```sql +DELETE FROM google.networkservices.meshes +WHERE locationsId = '{{ locationsId }}' +AND meshesId = '{{ meshesId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/networkservices/meshes_iam_policies/index.md b/docs/google-docs/providers/google/networkservices/meshes_iam_policies/index.md deleted file mode 100644 index 3b43c54c3d..0000000000 --- a/docs/google-docs/providers/google/networkservices/meshes_iam_policies/index.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -title: meshes_iam_policies -hide_title: false -hide_table_of_contents: false -keywords: - - meshes_iam_policies - - networkservices - - google - - stackql - - infrastructure-as-code - - configuration-as-data - - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL -custom_edit_url: null -image: /img/providers/google/stackql-google-provider-featured-image.png ---- - -import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; - - - - -## Overview -
- - - -
Namemeshes_iam_policies
TypeResource
Id
- -## Fields -| Name | Datatype | Description | -|:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | -| | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | -## Methods -| Name | Accessible by | Required Params | Description | -|:-----|:--------------|:----------------|:------------| -| | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | -| | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | diff --git a/docs/google-docs/providers/google/networkservices/operations/index.md b/docs/google-docs/providers/google/networkservices/operations/index.md index fb9918e812..fa08cfb8b4 100644 --- a/docs/google-docs/providers/google/networkservices/operations/index.md +++ b/docs/google-docs/providers/google/networkservices/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - networkservices - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview @@ -30,16 +32,43 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.networkservices.operations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified operation resource. + +```sql +DELETE FROM google.networkservices.operations +WHERE locationsId = '{{ locationsId }}' +AND operationsId = '{{ operationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/networkservices/service_bindings/index.md b/docs/google-docs/providers/google/networkservices/service_bindings/index.md index 70e7b02f8e..6fe5a77734 100644 --- a/docs/google-docs/providers/google/networkservices/service_bindings/index.md +++ b/docs/google-docs/providers/google/networkservices/service_bindings/index.md @@ -1,3 +1,4 @@ + --- title: service_bindings hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - service_bindings - networkservices - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an service_binding resource or lists service_bindings in a region ## Overview
@@ -30,13 +32,14 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Required. Name of the ServiceBinding resource. It matches pattern `projects/*/locations/global/serviceBindings/service_binding_name`. | +| | `string` | Identifier. Name of the ServiceBinding resource. It matches pattern `projects/*/locations/global/serviceBindings/service_binding_name`. | | | `string` | Optional. A free-text description of the resource. Max length 1024 characters. | | | `string` | Output only. The timestamp when the resource was created. | | | `object` | Optional. Set of label tags associated with the ServiceBinding resource. | | | `string` | Required. The full Service Directory Service name of the format projects/*/locations/*/namespaces/*/services/* | | | `string` | Output only. The unique identifier of the Service Directory Service against which the Service Binding resource is validated. This is populated when the Service Binding resource is used in another resource (like Backend Service). This is of the UUID4 format. | | | `string` | Output only. The timestamp when the resource was updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -44,4 +47,96 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists ServiceBinding in a given project and location. | | | `INSERT` | | Creates a new ServiceBinding in a given project and location. | | | `DELETE` | | Deletes a single ServiceBinding. | -| | `EXEC` | | Lists ServiceBinding in a given project and location. | + +## `SELECT` examples + +Lists ServiceBinding in a given project and location. + +```sql +SELECT +name, +description, +createTime, +labels, +service, +serviceId, +updateTime +FROM google.networkservices.service_bindings +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new service_bindings resource. + + + + +```sql +/*+ create */ +INSERT INTO google.networkservices.service_bindings ( +locationsId, +projectsId, +name, +description, +createTime, +updateTime, +service, +serviceId, +labels +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ description }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ service }}', +'{{ serviceId }}', +'{{ labels }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: service + value: '{{ service }}' + - name: serviceId + value: '{{ serviceId }}' + - name: labels + value: '{{ labels }}' + +``` + + + +## `DELETE` example + +Deletes the specified service_binding resource. + +```sql +DELETE FROM google.networkservices.service_bindings +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND serviceBindingsId = '{{ serviceBindingsId }}'; +``` diff --git a/docs/google-docs/providers/google/networkservices/service_bindings_iam_policies/index.md b/docs/google-docs/providers/google/networkservices/service_bindings_iam_policies/index.md deleted file mode 100644 index 24c210ce50..0000000000 --- a/docs/google-docs/providers/google/networkservices/service_bindings_iam_policies/index.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -title: service_bindings_iam_policies -hide_title: false -hide_table_of_contents: false -keywords: - - service_bindings_iam_policies - - networkservices - - google - - stackql - - infrastructure-as-code - - configuration-as-data - - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL -custom_edit_url: null -image: /img/providers/google/stackql-google-provider-featured-image.png ---- - -import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; - - - - -## Overview -
- - - -
Nameservice_bindings_iam_policies
TypeResource
Id
- -## Fields -| Name | Datatype | Description | -|:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | -| | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | -## Methods -| Name | Accessible by | Required Params | Description | -|:-----|:--------------|:----------------|:------------| -| | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | -| | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | diff --git a/docs/google-docs/providers/google/networkservices/service_lb_policies/index.md b/docs/google-docs/providers/google/networkservices/service_lb_policies/index.md index 61129f6d4a..7b43034e7f 100644 --- a/docs/google-docs/providers/google/networkservices/service_lb_policies/index.md +++ b/docs/google-docs/providers/google/networkservices/service_lb_policies/index.md @@ -1,3 +1,4 @@ + --- title: service_lb_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - service_lb_policies - networkservices - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an service_lb_policy resource or lists service_lb_policies in a region ## Overview @@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Required. Name of the ServiceLbPolicy resource. It matches pattern `projects/{project}/locations/{location}/serviceLbPolicies/{service_lb_policy_name}`. | +| | `string` | Required. Name of the ServiceLbPolicy resource. It matches pattern `projects/{project}/locations/{location}/serviceLbPolicies/{service_lb_policy_name}`. | | | `string` | Optional. A free-text description of the resource. Max length 1024 characters. | | | `object` | Option to specify if an unhealthy IG/NEG should be considered for global load balancing and traffic routing. | | | `string` | Output only. The timestamp when this resource was created. | @@ -38,6 +40,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Optional. Set of label tags associated with the ServiceLbPolicy resource. | | | `string` | Optional. The type of load balancing algorithm to be used. The default behavior is WATERFALL_BY_REGION. | | | `string` | Output only. The timestamp when this resource was last updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -46,4 +49,122 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new ServiceLbPolicy in a given project and location. | | | `DELETE` | | Deletes a single ServiceLbPolicy. | | | `UPDATE` | | Updates the parameters of a single ServiceLbPolicy. | -| | `EXEC` | | Lists ServiceLbPolicies in a given project and location. | + +## `SELECT` examples + +Lists ServiceLbPolicies in a given project and location. + +```sql +SELECT +name, +description, +autoCapacityDrain, +createTime, +failoverConfig, +labels, +loadBalancingAlgorithm, +updateTime +FROM google.networkservices.service_lb_policies +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new service_lb_policies resource. + + + + +```sql +/*+ create */ +INSERT INTO google.networkservices.service_lb_policies ( +locationsId, +projectsId, +name, +createTime, +updateTime, +labels, +description, +loadBalancingAlgorithm, +autoCapacityDrain, +failoverConfig +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ labels }}', +'{{ description }}', +'{{ loadBalancingAlgorithm }}', +'{{ autoCapacityDrain }}', +'{{ failoverConfig }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: labels + value: '{{ labels }}' + - name: description + value: '{{ description }}' + - name: loadBalancingAlgorithm + value: '{{ loadBalancingAlgorithm }}' + - name: autoCapacityDrain + value: '{{ autoCapacityDrain }}' + - name: failoverConfig + value: '{{ failoverConfig }}' + +``` + + + +## `UPDATE` example + +Updates a service_lb_policy only if the necessary resources are available. + +```sql +UPDATE google.networkservices.service_lb_policies +SET +name = '{{ name }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +labels = '{{ labels }}', +description = '{{ description }}', +loadBalancingAlgorithm = '{{ loadBalancingAlgorithm }}', +autoCapacityDrain = '{{ autoCapacityDrain }}', +failoverConfig = '{{ failoverConfig }}' +WHERE +locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND serviceLbPoliciesId = '{{ serviceLbPoliciesId }}'; +``` + +## `DELETE` example + +Deletes the specified service_lb_policy resource. + +```sql +DELETE FROM google.networkservices.service_lb_policies +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND serviceLbPoliciesId = '{{ serviceLbPoliciesId }}'; +``` diff --git a/docs/google-docs/providers/google/networkservices/service_lb_policies_iam_policies/index.md b/docs/google-docs/providers/google/networkservices/service_lb_policies_iam_policies/index.md index a36fcbd704..14664b1ff8 100644 --- a/docs/google-docs/providers/google/networkservices/service_lb_policies_iam_policies/index.md +++ b/docs/google-docs/providers/google/networkservices/service_lb_policies_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: service_lb_policies_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - service_lb_policies_iam_policies - networkservices - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an service_lb_policies_iam_policy resource or lists service_lb_policies_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.networkservices.service_lb_policies_iam_policies +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND serviceLbPoliciesId = '{{ serviceLbPoliciesId }}'; +``` diff --git a/docs/google-docs/providers/google/networkservices/tcp_routes/index.md b/docs/google-docs/providers/google/networkservices/tcp_routes/index.md index 2b906d33ee..a41fa2b87c 100644 --- a/docs/google-docs/providers/google/networkservices/tcp_routes/index.md +++ b/docs/google-docs/providers/google/networkservices/tcp_routes/index.md @@ -1,3 +1,4 @@ + --- title: tcp_routes hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - tcp_routes - networkservices - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an tcp_route resource or lists tcp_routes in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Required. Name of the TcpRoute resource. It matches pattern `projects/*/locations/global/tcpRoutes/tcp_route_name>`. | +| | `string` | Identifier. Name of the TcpRoute resource. It matches pattern `projects/*/locations/global/tcpRoutes/tcp_route_name>`. | | | `string` | Optional. A free-text description of the resource. Max length 1024 characters. | | | `string` | Output only. The timestamp when the resource was created. | | | `array` | Optional. Gateways defines a list of gateways this TcpRoute is attached to, as one of the routing rules to route the requests served by the gateway. Each gateway reference should match the pattern: `projects/*/locations/global/gateways/` | @@ -39,6 +41,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `array` | Required. Rules that define how traffic is routed and handled. At least one RouteRule must be supplied. If there are multiple rules then the action taken will be the first rule to match. | | | `string` | Output only. Server-defined URL of this resource | | | `string` | Output only. The timestamp when the resource was updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -47,4 +50,128 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new TcpRoute in a given project and location. | | | `DELETE` | | Deletes a single TcpRoute. | | | `UPDATE` | | Updates the parameters of a single TcpRoute. | -| | `EXEC` | | Lists TcpRoute in a given project and location. | + +## `SELECT` examples + +Lists TcpRoute in a given project and location. + +```sql +SELECT +name, +description, +createTime, +gateways, +labels, +meshes, +rules, +selfLink, +updateTime +FROM google.networkservices.tcp_routes +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new tcp_routes resource. + + + + +```sql +/*+ create */ +INSERT INTO google.networkservices.tcp_routes ( +locationsId, +projectsId, +name, +selfLink, +createTime, +updateTime, +description, +rules, +meshes, +gateways, +labels +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ selfLink }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ description }}', +'{{ rules }}', +'{{ meshes }}', +'{{ gateways }}', +'{{ labels }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: selfLink + value: '{{ selfLink }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: description + value: '{{ description }}' + - name: rules + value: '{{ rules }}' + - name: meshes + value: '{{ meshes }}' + - name: gateways + value: '{{ gateways }}' + - name: labels + value: '{{ labels }}' + +``` + + + +## `UPDATE` example + +Updates a tcp_route only if the necessary resources are available. + +```sql +UPDATE google.networkservices.tcp_routes +SET +name = '{{ name }}', +selfLink = '{{ selfLink }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +description = '{{ description }}', +rules = '{{ rules }}', +meshes = '{{ meshes }}', +gateways = '{{ gateways }}', +labels = '{{ labels }}' +WHERE +locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND tcpRoutesId = '{{ tcpRoutesId }}'; +``` + +## `DELETE` example + +Deletes the specified tcp_route resource. + +```sql +DELETE FROM google.networkservices.tcp_routes +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND tcpRoutesId = '{{ tcpRoutesId }}'; +``` diff --git a/docs/google-docs/providers/google/networkservices/tls_routes/index.md b/docs/google-docs/providers/google/networkservices/tls_routes/index.md index 54b435643c..53f30269cf 100644 --- a/docs/google-docs/providers/google/networkservices/tls_routes/index.md +++ b/docs/google-docs/providers/google/networkservices/tls_routes/index.md @@ -1,3 +1,4 @@ + --- title: tls_routes hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - tls_routes - networkservices - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an tls_route resource or lists tls_routes in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Required. Name of the TlsRoute resource. It matches pattern `projects/*/locations/global/tlsRoutes/tls_route_name>`. | +| | `string` | Identifier. Name of the TlsRoute resource. It matches pattern `projects/*/locations/global/tlsRoutes/tls_route_name>`. | | | `string` | Optional. A free-text description of the resource. Max length 1024 characters. | | | `string` | Output only. The timestamp when the resource was created. | | | `array` | Optional. Gateways defines a list of gateways this TlsRoute is attached to, as one of the routing rules to route the requests served by the gateway. Each gateway reference should match the pattern: `projects/*/locations/global/gateways/` | @@ -39,6 +41,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `array` | Required. Rules that define how traffic is routed and handled. At least one RouteRule must be supplied. If there are multiple rules then the action taken will be the first rule to match. | | | `string` | Output only. Server-defined URL of this resource | | | `string` | Output only. The timestamp when the resource was updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -47,4 +50,128 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new TlsRoute in a given project and location. | | | `DELETE` | | Deletes a single TlsRoute. | | | `UPDATE` | | Updates the parameters of a single TlsRoute. | -| | `EXEC` | | Lists TlsRoute in a given project and location. | + +## `SELECT` examples + +Lists TlsRoute in a given project and location. + +```sql +SELECT +name, +description, +createTime, +gateways, +labels, +meshes, +rules, +selfLink, +updateTime +FROM google.networkservices.tls_routes +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new tls_routes resource. + + + + +```sql +/*+ create */ +INSERT INTO google.networkservices.tls_routes ( +locationsId, +projectsId, +name, +selfLink, +createTime, +updateTime, +description, +rules, +meshes, +gateways, +labels +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ selfLink }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ description }}', +'{{ rules }}', +'{{ meshes }}', +'{{ gateways }}', +'{{ labels }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: selfLink + value: '{{ selfLink }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: description + value: '{{ description }}' + - name: rules + value: '{{ rules }}' + - name: meshes + value: '{{ meshes }}' + - name: gateways + value: '{{ gateways }}' + - name: labels + value: '{{ labels }}' + +``` + + + +## `UPDATE` example + +Updates a tls_route only if the necessary resources are available. + +```sql +UPDATE google.networkservices.tls_routes +SET +name = '{{ name }}', +selfLink = '{{ selfLink }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +description = '{{ description }}', +rules = '{{ rules }}', +meshes = '{{ meshes }}', +gateways = '{{ gateways }}', +labels = '{{ labels }}' +WHERE +locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND tlsRoutesId = '{{ tlsRoutesId }}'; +``` + +## `DELETE` example + +Deletes the specified tls_route resource. + +```sql +DELETE FROM google.networkservices.tls_routes +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND tlsRoutesId = '{{ tlsRoutesId }}'; +``` diff --git a/docs/google-docs/providers/google/notebooks/index.md b/docs/google-docs/providers/google/notebooks/index.md index b7f2d64b5b..d06d4e7458 100644 --- a/docs/google-docs/providers/google/notebooks/index.md +++ b/docs/google-docs/providers/google/notebooks/index.md @@ -9,43 +9,32 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Notebooks API is used to manage notebook resources in Google Cloud. - +The notebooks service documentation. + :::info Service Summary
total resources: 5
-total selectable resources: 5
-total methods: 29
::: -## Overview -
- - - - - -
Namegoogle.notebooks
TypeService
TitleNotebooks API
DescriptionNotebooks API is used to manage notebook resources in Google Cloud.
Idnotebooks:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/notebooks/instances/index.md b/docs/google-docs/providers/google/notebooks/instances/index.md index 2db035ed50..432df871d7 100644 --- a/docs/google-docs/providers/google/notebooks/instances/index.md +++ b/docs/google-docs/providers/google/notebooks/instances/index.md @@ -1,3 +1,4 @@ + --- title: instances hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - instances - notebooks - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an instance resource or lists instances in a region ## Overview @@ -31,20 +33,23 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | Name | Datatype | Description | |:-----|:---------|:------------| | | `string` | Output only. Unique ID of the resource. | -| | `string` | Output only. The name of this notebook instance. Format: `projects/{project_id}/locations/{location}/instances/{instance_id}` | +| | `string` | Output only. The name of this notebook instance. Format: `projects/{project_id}/locations/{location}/instances/{instance_id}` | | | `string` | Output only. Instance creation time. | | | `string` | Output only. Email address of entity that sent original CreateInstance request. | | | `boolean` | Optional. If true, the notebook instance will not register with the proxy. | | | `object` | The definition of how to configure a VM instance outside of Resources and Identity. | -| | `object` | Output only. Additional information about instance health. Example: healthInfo": { "docker_proxy_agent_status": "1", "docker_status": "1", "jupyterlab_api_status": "-1", "jupyterlab_status": "-1", "updated": "2020-10-18 09:40:03.573409" } | +| | `object` | Output only. Additional information about instance health. Example: healthInfo": { "docker_proxy_agent_status": "1", "docker_status": "1", "jupyterlab_api_status": "-1", "jupyterlab_status": "-1", "updated": "2020-10-18 09:40:03.573409" } | | | `string` | Output only. Instance health_state. | | | `array` | Optional. Input only. The owner of this instance after creation. Format: `alias@example.com` Currently supports one owner only. If not specified, all of the service account users of your VM instance's service account can use the instance. | | | `object` | Optional. Labels to apply to this instance. These can be later modified by the UpdateInstance method. | | | `string` | Output only. The proxy endpoint that is used to access the Jupyter notebook. | +| | `boolean` | Output only. Reserved for future use for Zone Isolation. | +| | `boolean` | Output only. Reserved for future use for Zone Separation. | | | `string` | Output only. The state of this instance. | | | `string` | Output only. The workforce pools proxy endpoint that is used to access the Jupyter notebook. | | | `string` | Output only. Instance update time. | | | `array` | Output only. The upgrade history of this instance. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -53,14 +58,187 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new Instance in a given project and location. | | | `DELETE` | | Deletes a single Instance. | | | `UPDATE` | | UpdateInstance updates an Instance. | -| | `EXEC` | | Lists instances in a given project and location. | | | `EXEC` | | Checks whether a notebook instance is upgradable. | | | `EXEC` | | Creates a Diagnostic File and runs Diagnostic Tool given an Instance. | | | `EXEC` | | Allows notebook instances to report their latest instance information to the Notebooks API server. The server will merge the reported information to the instance metadata store. Do not use this method directly. | | | `EXEC` | | Resets a notebook instance. | | | `EXEC` | | Resize a notebook instance disk to a higher capacity. | +| | `EXEC` | | RestoreInstance restores an Instance from a BackupSource. | | | `EXEC` | | Rollbacks a notebook instance to the previous version. | | | `EXEC` | | Starts a notebook instance. | | | `EXEC` | | Stops a notebook instance. | | | `EXEC` | | Upgrades a notebook instance to the latest version. | | | `EXEC` | | Allows notebook instances to upgrade themselves. Do not use this method directly. | + +## `SELECT` examples + +Lists instances in a given project and location. + +```sql +SELECT +id, +name, +createTime, +creator, +disableProxyAccess, +gceSetup, +healthInfo, +healthState, +instanceOwners, +labels, +proxyUri, +satisfiesPzi, +satisfiesPzs, +state, +thirdPartyProxyUrl, +updateTime, +upgradeHistory +FROM google.notebooks.instances +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new instances resource. + + + + +```sql +/*+ create */ +INSERT INTO google.notebooks.instances ( +locationsId, +projectsId, +name, +gceSetup, +proxyUri, +instanceOwners, +creator, +state, +upgradeHistory, +id, +healthState, +healthInfo, +createTime, +updateTime, +disableProxyAccess, +labels, +thirdPartyProxyUrl, +satisfiesPzs, +satisfiesPzi +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ gceSetup }}', +'{{ proxyUri }}', +'{{ instanceOwners }}', +'{{ creator }}', +'{{ state }}', +'{{ upgradeHistory }}', +'{{ id }}', +'{{ healthState }}', +'{{ healthInfo }}', +'{{ createTime }}', +'{{ updateTime }}', +true|false, +'{{ labels }}', +'{{ thirdPartyProxyUrl }}', +true|false, +true|false +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: gceSetup + value: '{{ gceSetup }}' + - name: proxyUri + value: '{{ proxyUri }}' + - name: instanceOwners + value: '{{ instanceOwners }}' + - name: creator + value: '{{ creator }}' + - name: state + value: '{{ state }}' + - name: upgradeHistory + value: '{{ upgradeHistory }}' + - name: id + value: '{{ id }}' + - name: healthState + value: '{{ healthState }}' + - name: healthInfo + value: '{{ healthInfo }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: disableProxyAccess + value: '{{ disableProxyAccess }}' + - name: labels + value: '{{ labels }}' + - name: thirdPartyProxyUrl + value: '{{ thirdPartyProxyUrl }}' + - name: satisfiesPzs + value: '{{ satisfiesPzs }}' + - name: satisfiesPzi + value: '{{ satisfiesPzi }}' + +``` + + + +## `UPDATE` example + +Updates a instance only if the necessary resources are available. + +```sql +UPDATE google.notebooks.instances +SET +name = '{{ name }}', +gceSetup = '{{ gceSetup }}', +proxyUri = '{{ proxyUri }}', +instanceOwners = '{{ instanceOwners }}', +creator = '{{ creator }}', +state = '{{ state }}', +upgradeHistory = '{{ upgradeHistory }}', +id = '{{ id }}', +healthState = '{{ healthState }}', +healthInfo = '{{ healthInfo }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +disableProxyAccess = true|false, +labels = '{{ labels }}', +thirdPartyProxyUrl = '{{ thirdPartyProxyUrl }}', +satisfiesPzs = true|false, +satisfiesPzi = true|false +WHERE +instancesId = '{{ instancesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified instance resource. + +```sql +DELETE FROM google.notebooks.instances +WHERE instancesId = '{{ instancesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/notebooks/instances_config/index.md b/docs/google-docs/providers/google/notebooks/instances_config/index.md index b6d1ea5f4c..d4329785f3 100644 --- a/docs/google-docs/providers/google/notebooks/instances_config/index.md +++ b/docs/google-docs/providers/google/notebooks/instances_config/index.md @@ -1,3 +1,4 @@ + --- title: instances_config hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - instances_config - notebooks - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an instances_config resource or lists instances_config in a region ## Overview
@@ -33,7 +35,22 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `array` | Output only. The list of available images to create a WbI. | | | `object` | DefaultValues represents the default configuration values. | | | `object` | SupportedValues represents the values supported by the configuration. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets general backend configurations that might also affect the frontend. Location is required by CCFE. Although we could bypass it to send location- less request directly to the backend job, we would need CPE (go/cloud-cpe). Having the location might also be useful depending on the query. | + +## `SELECT` examples + +Gets general backend configurations that might also affect the frontend. Location is required by CCFE. Although we could bypass it to send location- less request directly to the backend job, we would need CPE (go/cloud-cpe). Having the location might also be useful depending on the query. + +```sql +SELECT +availableImages, +defaultValues, +supportedValues +FROM google.notebooks.instances_config +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/notebooks/instances_iam_policies/index.md b/docs/google-docs/providers/google/notebooks/instances_iam_policies/index.md index 459b2a2366..0be0747e6a 100644 --- a/docs/google-docs/providers/google/notebooks/instances_iam_policies/index.md +++ b/docs/google-docs/providers/google/notebooks/instances_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: instances_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - instances_iam_policies - notebooks - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an instances_iam_policy resource or lists instances_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.notebooks.instances_iam_policies +WHERE instancesId = '{{ instancesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/notebooks/locations/index.md b/docs/google-docs/providers/google/notebooks/locations/index.md index 7355ebdf05..9b399004ad 100644 --- a/docs/google-docs/providers/google/notebooks/locations/index.md +++ b/docs/google-docs/providers/google/notebooks/locations/index.md @@ -1,3 +1,4 @@ + --- title: locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - locations - notebooks - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an location resource or lists locations in a region ## Overview
@@ -32,12 +34,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` | | | `string` | The friendly name for this location, typically a nearby city name. For example, "Tokyo". | -| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | +| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | | | `string` | The canonical id for this location. For example: `"us-east1"`. | | | `object` | Service-specific metadata. For example the available capacity at the given location. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about a location. | | | `SELECT` | | Lists information about the supported locations for this service. | -| | `EXEC` | | Lists information about the supported locations for this service. | + +## `SELECT` examples + +Lists information about the supported locations for this service. + +```sql +SELECT +name, +displayName, +labels, +locationId, +metadata +FROM google.notebooks.locations +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/notebooks/operations/index.md b/docs/google-docs/providers/google/notebooks/operations/index.md index 500479133e..193eb064b4 100644 --- a/docs/google-docs/providers/google/notebooks/operations/index.md +++ b/docs/google-docs/providers/google/notebooks/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - notebooks - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview
@@ -30,16 +32,43 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.notebooks.operations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified operation resource. + +```sql +DELETE FROM google.notebooks.operations +WHERE locationsId = '{{ locationsId }}' +AND operationsId = '{{ operationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/ondemandscanning/index.md b/docs/google-docs/providers/google/ondemandscanning/index.md index d3e3e98b6d..109bc532e8 100644 --- a/docs/google-docs/providers/google/ondemandscanning/index.md +++ b/docs/google-docs/providers/google/ondemandscanning/index.md @@ -9,41 +9,30 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -A service to scan container images for vulnerabilities. - +The ondemandscanning service documentation. + :::info Service Summary
total resources: 3
-total selectable resources: 2
-total methods: 9
::: -## Overview -
- - - - - -
Namegoogle.ondemandscanning
TypeService
TitleOn-Demand Scanning API
DescriptionA service to scan container images for vulnerabilities.
Idondemandscanning:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/ondemandscanning/operations/index.md b/docs/google-docs/providers/google/ondemandscanning/operations/index.md index fa1ef60004..71eac8f11a 100644 --- a/docs/google-docs/providers/google/ondemandscanning/operations/index.md +++ b/docs/google-docs/providers/google/ondemandscanning/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - ondemandscanning - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview @@ -30,17 +32,44 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | | | `EXEC` | | Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.ondemandscanning.operations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified operation resource. + +```sql +DELETE FROM google.ondemandscanning.operations +WHERE locationsId = '{{ locationsId }}' +AND operationsId = '{{ operationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/ondemandscanning/scans/index.md b/docs/google-docs/providers/google/ondemandscanning/scans/index.md index 30c7a4cea7..e67ae13273 100644 --- a/docs/google-docs/providers/google/ondemandscanning/scans/index.md +++ b/docs/google-docs/providers/google/ondemandscanning/scans/index.md @@ -1,3 +1,4 @@ + --- title: scans hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - scans - ondemandscanning - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an scan resource or lists scans in a region ## Overview
@@ -28,8 +30,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Initiates an analysis of the provided packages. | diff --git a/docs/google-docs/providers/google/ondemandscanning/vulnerabilities/index.md b/docs/google-docs/providers/google/ondemandscanning/vulnerabilities/index.md index 09651aa08a..1de6b8faa2 100644 --- a/docs/google-docs/providers/google/ondemandscanning/vulnerabilities/index.md +++ b/docs/google-docs/providers/google/ondemandscanning/vulnerabilities/index.md @@ -1,3 +1,4 @@ + --- title: vulnerabilities hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - vulnerabilities - ondemandscanning - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an vulnerability resource or lists vulnerabilities in a region ## Overview @@ -49,8 +51,39 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The time this occurrence was last updated. | | | `object` | An Upgrade Occurrence represents that a specific resource_url could install a specific upgrade. This presence is supplied via local sources (i.e. it is present in the mirror and the running system has noticed its availability). For Windows, both distribution and windows_update contain information for the Windows update. | | | `object` | An occurrence of a severity vulnerability on a resource. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists vulnerabilities resulting from a successfully completed scan. | + +## `SELECT` examples + +Lists vulnerabilities resulting from a successfully completed scan. + +```sql +SELECT +name, +attestation, +build, +compliance, +createTime, +deployment, +discovery, +dsseAttestation, +envelope, +image, +kind, +noteName, +package, +remediation, +resourceUri, +sbomReference, +updateTime, +upgrade, +vulnerability +FROM google.ondemandscanning.vulnerabilities +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND scansId = '{{ scansId }}'; +``` diff --git a/docs/google-docs/providers/google/orgpolicy/constraints/index.md b/docs/google-docs/providers/google/orgpolicy/constraints/index.md index e186ff15d6..b7660c30de 100644 --- a/docs/google-docs/providers/google/orgpolicy/constraints/index.md +++ b/docs/google-docs/providers/google/orgpolicy/constraints/index.md @@ -1,3 +1,4 @@ + --- title: constraints hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - constraints - orgpolicy - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an constraint resource or lists constraints in a region ## Overview
@@ -30,19 +32,34 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Immutable. The resource name of the constraint. Must be in one of the following forms: * `projects/{project_number}/constraints/{constraint_name}` * `folders/{folder_id}/constraints/{constraint_name}` * `organizations/{organization_id}/constraints/{constraint_name}` For example, "/projects/123/constraints/compute.disableSerialPortAccess". | +| | `string` | Immutable. The resource name of the constraint. Must be in one of the following forms: * `projects/{project_number}/constraints/{constraint_name}` * `folders/{folder_id}/constraints/{constraint_name}` * `organizations/{organization_id}/constraints/{constraint_name}` For example, "/projects/123/constraints/compute.disableSerialPortAccess". | | | `string` | Detailed description of what this constraint controls as well as how and where it is enforced. Mutable. | | | `object` | A constraint that is either enforced or not. For example, a constraint `constraints/compute.disableSerialPortAccess`. If it is enforced on a VM instance, serial port connections will not be opened to that instance. | | | `string` | The evaluation behavior of this constraint in the absence of a policy. | | | `string` | The human readable name. Mutable. | | | `object` | A constraint that allows or disallows a list of string values, which are configured by an Organization Policy administrator with a policy. | | | `boolean` | Shows if dry run is supported for this constraint or not. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `SELECT` | | -| | `SELECT` | | -| | `EXEC` | | -| | `EXEC` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists constraints that could be applied on the specified resource. | +| | `SELECT` | | Lists constraints that could be applied on the specified resource. | +| | `SELECT` | | Lists constraints that could be applied on the specified resource. | + +## `SELECT` examples + +Lists constraints that could be applied on the specified resource. + +```sql +SELECT +name, +description, +booleanConstraint, +constraintDefault, +displayName, +listConstraint, +supportsDryRun +FROM google.orgpolicy.constraints +WHERE foldersId = '{{ foldersId }}'; +``` diff --git a/docs/google-docs/providers/google/orgpolicy/custom_constraints/index.md b/docs/google-docs/providers/google/orgpolicy/custom_constraints/index.md index 11e6f8a319..ef5a9d9043 100644 --- a/docs/google-docs/providers/google/orgpolicy/custom_constraints/index.md +++ b/docs/google-docs/providers/google/orgpolicy/custom_constraints/index.md @@ -1,3 +1,4 @@ + --- title: custom_constraints hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - custom_constraints - orgpolicy - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an custom_constraint resource or lists custom_constraints in a region ## Overview
@@ -30,14 +32,15 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Immutable. Name of the constraint. This is unique within the organization. Format of the name should be * `organizations/{organization_id}/customConstraints/{custom_constraint_id}` Example: `organizations/123/customConstraints/custom.createOnlyE2TypeVms` The max length is 70 characters and the minimum length is 1. Note that the prefix `organizations/{organization_id}/customConstraints/` is not counted. | +| | `string` | Immutable. Name of the constraint. This is unique within the organization. Format of the name should be * `organizations/{organization_id}/customConstraints/{custom_constraint_id}` Example: `organizations/123/customConstraints/custom.createOnlyE2TypeVms` The max length is 70 characters and the minimum length is 1. Note that the prefix `organizations/{organization_id}/customConstraints/` is not counted. | | | `string` | Detailed information about this custom policy constraint. The max length of the description is 2000 characters. | | | `string` | Allow or deny type. | -| | `string` | Org policy condition/expression. For example: `resource.instanceName.matches("[production\|test]_.*_(\d)+")` or, `resource.management.auto_upgrade == true` The max length of the condition is 1000 characters. | +| | `string` | Org policy condition/expression. For example: `resource.instanceName.matches("[production|test]_.*_(\d)+")` or, `resource.management.auto_upgrade == true` The max length of the condition is 1000 characters. | | | `string` | One line display name for the UI. The max length of the display_name is 200 characters. | | | `array` | All the operations being applied for this constraint. | | | `array` | Immutable. The resource instance type on which this policy applies. Format will be of the form : `/` Example: * `compute.googleapis.com/Instance`. | | | `string` | Output only. The last time this custom constraint was updated. This represents the last time that the `CreateCustomConstraint` or `UpdateCustomConstraint` RPC was called | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -46,4 +49,117 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a custom constraint. Returns a `google.rpc.Status` with `google.rpc.Code.NOT_FOUND` if the organization does not exist. Returns a `google.rpc.Status` with `google.rpc.Code.ALREADY_EXISTS` if the constraint already exists on the given organization. | | | `DELETE` | | Deletes a custom constraint. Returns a `google.rpc.Status` with `google.rpc.Code.NOT_FOUND` if the constraint does not exist. | | | `UPDATE` | | Updates a custom constraint. Returns a `google.rpc.Status` with `google.rpc.Code.NOT_FOUND` if the constraint does not exist. Note: the supplied policy will perform a full overwrite of all fields. | -| | `EXEC` | | Retrieves all of the custom constraints that exist on a particular organization resource. | + +## `SELECT` examples + +Retrieves all of the custom constraints that exist on a particular organization resource. + +```sql +SELECT +name, +description, +actionType, +condition, +displayName, +methodTypes, +resourceTypes, +updateTime +FROM google.orgpolicy.custom_constraints +WHERE organizationsId = '{{ organizationsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new custom_constraints resource. + + + + +```sql +/*+ create */ +INSERT INTO google.orgpolicy.custom_constraints ( +organizationsId, +name, +methodTypes, +description, +resourceTypes, +displayName, +updateTime, +actionType, +condition +) +SELECT +'{{ organizationsId }}', +'{{ name }}', +'{{ methodTypes }}', +'{{ description }}', +'{{ resourceTypes }}', +'{{ displayName }}', +'{{ updateTime }}', +'{{ actionType }}', +'{{ condition }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: methodTypes + value: '{{ methodTypes }}' + - name: description + value: '{{ description }}' + - name: resourceTypes + value: '{{ resourceTypes }}' + - name: displayName + value: '{{ displayName }}' + - name: updateTime + value: '{{ updateTime }}' + - name: actionType + value: '{{ actionType }}' + - name: condition + value: '{{ condition }}' + +``` + + + +## `UPDATE` example + +Updates a custom_constraint only if the necessary resources are available. + +```sql +UPDATE google.orgpolicy.custom_constraints +SET +name = '{{ name }}', +methodTypes = '{{ methodTypes }}', +description = '{{ description }}', +resourceTypes = '{{ resourceTypes }}', +displayName = '{{ displayName }}', +updateTime = '{{ updateTime }}', +actionType = '{{ actionType }}', +condition = '{{ condition }}' +WHERE +customConstraintsId = '{{ customConstraintsId }}' +AND organizationsId = '{{ organizationsId }}'; +``` + +## `DELETE` example + +Deletes the specified custom_constraint resource. + +```sql +DELETE FROM google.orgpolicy.custom_constraints +WHERE customConstraintsId = '{{ customConstraintsId }}' +AND organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/orgpolicy/index.md b/docs/google-docs/providers/google/orgpolicy/index.md index 1bd5a682e0..3232633df5 100644 --- a/docs/google-docs/providers/google/orgpolicy/index.md +++ b/docs/google-docs/providers/google/orgpolicy/index.md @@ -9,42 +9,31 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -The Organization Policy API allows users to configure governance rules on their Google Cloud resources across the resource hierarchy. - +The orgpolicy service documentation. + :::info Service Summary
total resources: 4
-total selectable resources: 4
-total methods: 33
::: -## Overview -
- - - - - -
Namegoogle.orgpolicy
TypeService
TitleOrganization Policy API
DescriptionThe Organization Policy API allows users to configure governance rules on their Google Cloud resources across the resource hierarchy.
Idorgpolicy:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/orgpolicy/policies/index.md b/docs/google-docs/providers/google/orgpolicy/policies/index.md index f6596ed8dc..4e0bdf34a9 100644 --- a/docs/google-docs/providers/google/orgpolicy/policies/index.md +++ b/docs/google-docs/providers/google/orgpolicy/policies/index.md @@ -1,3 +1,4 @@ + --- title: policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - policies - orgpolicy - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an policy resource or lists policies in a region ## Overview @@ -30,11 +32,12 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Immutable. The resource name of the policy. Must be one of the following forms, where `constraint_name` is the name of the constraint which this policy configures: * `projects/{project_number}/policies/{constraint_name}` * `folders/{folder_id}/policies/{constraint_name}` * `organizations/{organization_id}/policies/{constraint_name}` For example, `projects/123/policies/compute.disableSerialPortAccess`. Note: `projects/{project_id}/policies/{constraint_name}` is also an acceptable name for API requests, but responses will return the name using the equivalent project number. | +| | `string` | Immutable. The resource name of the policy. Must be one of the following forms, where `constraint_name` is the name of the constraint which this policy configures: * `projects/{project_number}/policies/{constraint_name}` * `folders/{folder_id}/policies/{constraint_name}` * `organizations/{organization_id}/policies/{constraint_name}` For example, `projects/123/policies/compute.disableSerialPortAccess`. Note: `projects/{project_id}/policies/{constraint_name}` is also an acceptable name for API requests, but responses will return the name using the equivalent project number. | | | `object` | Similar to PolicySpec but with an extra 'launch' field for launch reference. The PolicySpec here is specific for dry-run/darklaunch. | | | `object` | Defines a Google Cloud policy specification which is used to specify constraints for configurations of Google Cloud resources. | | | `string` | Optional. An opaque tag indicating the current state of the policy, used for concurrency control. This 'etag' is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. | | | `object` | Defines a Google Cloud policy specification which is used to specify constraints for configurations of Google Cloud resources. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -53,6 +56,99 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `UPDATE` | | Updates a policy. Returns a `google.rpc.Status` with `google.rpc.Code.NOT_FOUND` if the constraint or the policy do not exist. Returns a `google.rpc.Status` with `google.rpc.Code.ABORTED` if the etag supplied in the request does not match the persisted etag of the policy Note: the supplied policy will perform a full overwrite of all fields. | | | `UPDATE` | | Updates a policy. Returns a `google.rpc.Status` with `google.rpc.Code.NOT_FOUND` if the constraint or the policy do not exist. Returns a `google.rpc.Status` with `google.rpc.Code.ABORTED` if the etag supplied in the request does not match the persisted etag of the policy Note: the supplied policy will perform a full overwrite of all fields. | | | `UPDATE` | | Updates a policy. Returns a `google.rpc.Status` with `google.rpc.Code.NOT_FOUND` if the constraint or the policy do not exist. Returns a `google.rpc.Status` with `google.rpc.Code.ABORTED` if the etag supplied in the request does not match the persisted etag of the policy Note: the supplied policy will perform a full overwrite of all fields. | -| | `EXEC` | | Retrieves all of the policies that exist on a particular resource. | -| | `EXEC` | | Retrieves all of the policies that exist on a particular resource. | -| | `EXEC` | | Retrieves all of the policies that exist on a particular resource. | + +## `SELECT` examples + +Retrieves all of the policies that exist on a particular resource. + +```sql +SELECT +name, +alternate, +dryRunSpec, +etag, +spec +FROM google.orgpolicy.policies +WHERE foldersId = '{{ foldersId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new policies resource. + + + + +```sql +/*+ create */ +INSERT INTO google.orgpolicy.policies ( +foldersId, +dryRunSpec, +etag, +name, +spec, +alternate +) +SELECT +'{{ foldersId }}', +'{{ dryRunSpec }}', +'{{ etag }}', +'{{ name }}', +'{{ spec }}', +'{{ alternate }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: dryRunSpec + value: '{{ dryRunSpec }}' + - name: etag + value: '{{ etag }}' + - name: name + value: '{{ name }}' + - name: spec + value: '{{ spec }}' + - name: alternate + value: '{{ alternate }}' + +``` + + + +## `UPDATE` example + +Updates a policy only if the necessary resources are available. + +```sql +UPDATE google.orgpolicy.policies +SET +dryRunSpec = '{{ dryRunSpec }}', +etag = '{{ etag }}', +name = '{{ name }}', +spec = '{{ spec }}', +alternate = '{{ alternate }}' +WHERE +foldersId = '{{ foldersId }}' +AND policiesId = '{{ policiesId }}'; +``` + +## `DELETE` example + +Deletes the specified policy resource. + +```sql +DELETE FROM google.orgpolicy.policies +WHERE foldersId = '{{ foldersId }}' +AND policiesId = '{{ policiesId }}'; +``` diff --git a/docs/google-docs/providers/google/orgpolicy/policies_effective_policy/index.md b/docs/google-docs/providers/google/orgpolicy/policies_effective_policy/index.md index 63db59a829..8cbc924b80 100644 --- a/docs/google-docs/providers/google/orgpolicy/policies_effective_policy/index.md +++ b/docs/google-docs/providers/google/orgpolicy/policies_effective_policy/index.md @@ -1,3 +1,4 @@ + --- title: policies_effective_policy hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - policies_effective_policy - orgpolicy - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an policies_effective_policy resource or lists policies_effective_policy in a region ## Overview
@@ -30,14 +32,31 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Immutable. The resource name of the policy. Must be one of the following forms, where `constraint_name` is the name of the constraint which this policy configures: * `projects/{project_number}/policies/{constraint_name}` * `folders/{folder_id}/policies/{constraint_name}` * `organizations/{organization_id}/policies/{constraint_name}` For example, `projects/123/policies/compute.disableSerialPortAccess`. Note: `projects/{project_id}/policies/{constraint_name}` is also an acceptable name for API requests, but responses will return the name using the equivalent project number. | +| | `string` | Immutable. The resource name of the policy. Must be one of the following forms, where `constraint_name` is the name of the constraint which this policy configures: * `projects/{project_number}/policies/{constraint_name}` * `folders/{folder_id}/policies/{constraint_name}` * `organizations/{organization_id}/policies/{constraint_name}` For example, `projects/123/policies/compute.disableSerialPortAccess`. Note: `projects/{project_id}/policies/{constraint_name}` is also an acceptable name for API requests, but responses will return the name using the equivalent project number. | | | `object` | Similar to PolicySpec but with an extra 'launch' field for launch reference. The PolicySpec here is specific for dry-run/darklaunch. | | | `object` | Defines a Google Cloud policy specification which is used to specify constraints for configurations of Google Cloud resources. | | | `string` | Optional. An opaque tag indicating the current state of the policy, used for concurrency control. This 'etag' is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. | | | `object` | Defines a Google Cloud policy specification which is used to specify constraints for configurations of Google Cloud resources. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `SELECT` | | -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets the effective policy on a resource. This is the result of merging policies in the resource hierarchy and evaluating conditions. The returned policy will not have an `etag` or `condition` set because it is an evaluated policy across multiple resources. Subtrees of Resource Manager resource hierarchy with 'under:' prefix will not be expanded. | +| | `SELECT` | | Gets the effective policy on a resource. This is the result of merging policies in the resource hierarchy and evaluating conditions. The returned policy will not have an `etag` or `condition` set because it is an evaluated policy across multiple resources. Subtrees of Resource Manager resource hierarchy with 'under:' prefix will not be expanded. | +| | `SELECT` | | Gets the effective policy on a resource. This is the result of merging policies in the resource hierarchy and evaluating conditions. The returned policy will not have an `etag` or `condition` set because it is an evaluated policy across multiple resources. Subtrees of Resource Manager resource hierarchy with 'under:' prefix will not be expanded. | + +## `SELECT` examples + +Gets the effective policy on a resource. This is the result of merging policies in the resource hierarchy and evaluating conditions. The returned policy will not have an `etag` or `condition` set because it is an evaluated policy across multiple resources. Subtrees of Resource Manager resource hierarchy with 'under:' prefix will not be expanded. + +```sql +SELECT +name, +alternate, +dryRunSpec, +etag, +spec +FROM google.orgpolicy.policies_effective_policy +WHERE foldersId = '{{ foldersId }}' +AND policiesId = '{{ policiesId }}'; +``` diff --git a/docs/google-docs/providers/google/osconfig/global_project_feature_settings/index.md b/docs/google-docs/providers/google/osconfig/global_project_feature_settings/index.md index a796df79d5..ed79dca370 100644 --- a/docs/google-docs/providers/google/osconfig/global_project_feature_settings/index.md +++ b/docs/google-docs/providers/google/osconfig/global_project_feature_settings/index.md @@ -1,3 +1,4 @@ + --- title: global_project_feature_settings hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - global_project_feature_settings - osconfig - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an global_project_feature_setting resource or lists global_project_feature_settings in a region ## Overview
@@ -32,8 +34,34 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Required. Immutable. Name specifies the URL for the ProjectFeatureSettings resource: projects/project_id/locations/global/projectFeatureSettings. | | | `string` | Set PatchAndConfigFeatureSet for the project. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | GetProjectFeatureSettings returns the VM Manager feature settings for a project. | -| | `EXEC` | | UpdateProjectFeatureSettings sets the VM Manager features for a project. | +| | `UPDATE` | | UpdateProjectFeatureSettings sets the VM Manager features for a project. | + +## `SELECT` examples + +GetProjectFeatureSettings returns the VM Manager feature settings for a project. + +```sql +SELECT +name, +patchAndConfigFeatureSet +FROM google.osconfig.global_project_feature_settings +WHERE projectsId = '{{ projectsId }}'; +``` + +## `UPDATE` example + +Updates a global_project_feature_setting only if the necessary resources are available. + +```sql +UPDATE google.osconfig.global_project_feature_settings +SET +name = '{{ name }}', +patchAndConfigFeatureSet = '{{ patchAndConfigFeatureSet }}' +WHERE +projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/osconfig/index.md b/docs/google-docs/providers/google/osconfig/index.md index 5dbce024c5..426aa638bd 100644 --- a/docs/google-docs/providers/google/osconfig/index.md +++ b/docs/google-docs/providers/google/osconfig/index.md @@ -9,34 +9,23 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -OS management tools that can be used for patch management, patch compliance, and configuration management on VM instances. - +The osconfig service documentation. + :::info Service Summary
total resources: 13
-total selectable resources: 12
-total methods: 36
::: -## Overview -
- - - - - -
Namegoogle.osconfig
TypeService
TitleOS Config API
DescriptionOS management tools that can be used for patch management, patch compliance, and configuration management on VM instances.
Idosconfig:v24.06.00236
- ## Resources
@@ -46,7 +35,7 @@ OS management tools that can be used for patch management, patch compliance, and inventory
operations
os_policy_assignments
-os_policy_assignments_revisions
+os_policy_assignments_revisions
patch_deployments
@@ -54,6 +43,6 @@ OS management tools that can be used for patch management, patch compliance, and report
reports
vulnerability_report
-vulnerability_reports
-
+vulnerability_reports
+ \ No newline at end of file diff --git a/docs/google-docs/providers/google/osconfig/instance_details/index.md b/docs/google-docs/providers/google/osconfig/instance_details/index.md index d681a465a0..6064788b81 100644 --- a/docs/google-docs/providers/google/osconfig/instance_details/index.md +++ b/docs/google-docs/providers/google/osconfig/instance_details/index.md @@ -1,3 +1,4 @@ + --- title: instance_details hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - instance_details - osconfig - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an instance_detail resource or lists instance_details in a region ## Overview @@ -35,8 +37,24 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | If the patch fails, this field provides the reason. | | | `string` | The unique identifier for the instance. This identifier is defined by the server. | | | `string` | Current state of instance patch. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Get a list of instance details for a given patch job. | + +## `SELECT` examples + +Get a list of instance details for a given patch job. + +```sql +SELECT +name, +attemptCount, +failureReason, +instanceSystemId, +state +FROM google.osconfig.instance_details +WHERE patchJobsId = '{{ patchJobsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/osconfig/inventories/index.md b/docs/google-docs/providers/google/osconfig/inventories/index.md index 0c7ffb422b..76241ecf84 100644 --- a/docs/google-docs/providers/google/osconfig/inventories/index.md +++ b/docs/google-docs/providers/google/osconfig/inventories/index.md @@ -1,3 +1,4 @@ + --- title: inventories hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - inventories - osconfig - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an inventory resource or lists inventories in a region ## Overview
@@ -30,12 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. The `Inventory` API resource name. Format: `projects/{project_number}/locations/{location}/instances/{instance_id}/inventory` | +| | `string` | Output only. The `Inventory` API resource name. Format: `projects/{project_number}/locations/{location}/instances/{instance_id}/inventory` | | | `object` | Inventory items related to the VM keyed by an opaque unique identifier for each inventory item. The identifier is unique to each distinct and addressable inventory item and will change, when there is a new package version. | | | `object` | Operating system information for the VM. | | | `string` | Output only. Timestamp of the last reported inventory for the VM. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | List inventory data for all VM instances in the specified zone. | + +## `SELECT` examples + +List inventory data for all VM instances in the specified zone. + +```sql +SELECT +name, +items, +osInfo, +updateTime +FROM google.osconfig.inventories +WHERE instancesId = '{{ instancesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/osconfig/inventory/index.md b/docs/google-docs/providers/google/osconfig/inventory/index.md index 98ada41374..36f58fc534 100644 --- a/docs/google-docs/providers/google/osconfig/inventory/index.md +++ b/docs/google-docs/providers/google/osconfig/inventory/index.md @@ -1,3 +1,4 @@ + --- title: inventory hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - inventory - osconfig - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an inventory resource or lists inventory in a region ## Overview
@@ -27,7 +29,24 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
Id
+## Fields +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Get inventory data for the specified VM instance. If the VM has no associated inventory, the message `NOT_FOUND` is returned. | + +## `SELECT` examples + +Get inventory data for the specified VM instance. If the VM has no associated inventory, the message `NOT_FOUND` is returned. + +```sql +SELECT + +FROM google.osconfig.inventory +WHERE instancesId = '{{ instancesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/osconfig/operations/index.md b/docs/google-docs/providers/google/osconfig/operations/index.md index 768669b804..69de2b16c9 100644 --- a/docs/google-docs/providers/google/osconfig/operations/index.md +++ b/docs/google-docs/providers/google/osconfig/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - osconfig - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview @@ -30,13 +32,32 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | + +## `SELECT` examples + +Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.osconfig.operations +WHERE locationsId = '{{ locationsId }}' +AND operationsId = '{{ operationsId }}' +AND osPolicyAssignmentsId = '{{ osPolicyAssignmentsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/osconfig/os_policy_assignments/index.md b/docs/google-docs/providers/google/osconfig/os_policy_assignments/index.md index e2a72fffe8..6eeaaa001c 100644 --- a/docs/google-docs/providers/google/osconfig/os_policy_assignments/index.md +++ b/docs/google-docs/providers/google/osconfig/os_policy_assignments/index.md @@ -1,3 +1,4 @@ + --- title: os_policy_assignments hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - os_policy_assignments - osconfig - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an os_policy_assignment resource or lists os_policy_assignments in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Resource name. Format: `projects/{project_number}/locations/{location}/osPolicyAssignments/{os_policy_assignment_id}` This field is ignored when you create an OS policy assignment. | +| | `string` | Resource name. Format: `projects/{project_number}/locations/{location}/osPolicyAssignments/{os_policy_assignment_id}` This field is ignored when you create an OS policy assignment. | | | `string` | OS policy assignment description. Length of the description is limited to 1024 characters. | | | `boolean` | Output only. Indicates that this revision has been successfully rolled out in this zone and new VMs will be assigned OS policies from this revision. For a given OS policy assignment, there is only one revision with a value of `true` for this field. | | | `boolean` | Output only. Indicates that this revision deletes the OS policy assignment. | @@ -43,6 +45,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Message to configure the rollout at the zonal level for the OS policy assignment. | | | `string` | Output only. OS policy assignment rollout state | | | `string` | Output only. Server generated unique id for the OS policy assignment resource. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -51,4 +54,152 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Create an OS policy assignment. This method also creates the first revision of the OS policy assignment. This method returns a long running operation (LRO) that contains the rollout details. The rollout can be cancelled by cancelling the LRO. For more information, see [Method: projects.locations.osPolicyAssignments.operations.cancel](https://cloud.google.com/compute/docs/osconfig/rest/v1/projects.locations.osPolicyAssignments.operations/cancel). | | | `DELETE` | | Delete the OS policy assignment. This method creates a new revision of the OS policy assignment. This method returns a long running operation (LRO) that contains the rollout details. The rollout can be cancelled by cancelling the LRO. If the LRO completes and is not cancelled, all revisions associated with the OS policy assignment are deleted. For more information, see [Method: projects.locations.osPolicyAssignments.operations.cancel](https://cloud.google.com/compute/docs/osconfig/rest/v1/projects.locations.osPolicyAssignments.operations/cancel). | | | `UPDATE` | | Update an existing OS policy assignment. This method creates a new revision of the OS policy assignment. This method returns a long running operation (LRO) that contains the rollout details. The rollout can be cancelled by cancelling the LRO. For more information, see [Method: projects.locations.osPolicyAssignments.operations.cancel](https://cloud.google.com/compute/docs/osconfig/rest/v1/projects.locations.osPolicyAssignments.operations/cancel). | -| | `EXEC` | | List the OS policy assignments under the parent resource. For each OS policy assignment, the latest revision is returned. | + +## `SELECT` examples + +List the OS policy assignments under the parent resource. For each OS policy assignment, the latest revision is returned. + +```sql +SELECT +name, +description, +baseline, +deleted, +etag, +instanceFilter, +osPolicies, +reconciling, +revisionCreateTime, +revisionId, +rollout, +rolloutState, +uid +FROM google.osconfig.os_policy_assignments +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new os_policy_assignments resource. + + + + +```sql +/*+ create */ +INSERT INTO google.osconfig.os_policy_assignments ( +locationsId, +projectsId, +name, +description, +osPolicies, +instanceFilter, +rollout, +revisionId, +revisionCreateTime, +etag, +rolloutState, +baseline, +deleted, +reconciling, +uid +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ description }}', +'{{ osPolicies }}', +'{{ instanceFilter }}', +'{{ rollout }}', +'{{ revisionId }}', +'{{ revisionCreateTime }}', +'{{ etag }}', +'{{ rolloutState }}', +true|false, +true|false, +true|false, +'{{ uid }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: osPolicies + value: '{{ osPolicies }}' + - name: instanceFilter + value: '{{ instanceFilter }}' + - name: rollout + value: '{{ rollout }}' + - name: revisionId + value: '{{ revisionId }}' + - name: revisionCreateTime + value: '{{ revisionCreateTime }}' + - name: etag + value: '{{ etag }}' + - name: rolloutState + value: '{{ rolloutState }}' + - name: baseline + value: '{{ baseline }}' + - name: deleted + value: '{{ deleted }}' + - name: reconciling + value: '{{ reconciling }}' + - name: uid + value: '{{ uid }}' + +``` + + + +## `UPDATE` example + +Updates a os_policy_assignment only if the necessary resources are available. + +```sql +UPDATE google.osconfig.os_policy_assignments +SET +name = '{{ name }}', +description = '{{ description }}', +osPolicies = '{{ osPolicies }}', +instanceFilter = '{{ instanceFilter }}', +rollout = '{{ rollout }}', +revisionId = '{{ revisionId }}', +revisionCreateTime = '{{ revisionCreateTime }}', +etag = '{{ etag }}', +rolloutState = '{{ rolloutState }}', +baseline = true|false, +deleted = true|false, +reconciling = true|false, +uid = '{{ uid }}' +WHERE +locationsId = '{{ locationsId }}' +AND osPolicyAssignmentsId = '{{ osPolicyAssignmentsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified os_policy_assignment resource. + +```sql +DELETE FROM google.osconfig.os_policy_assignments +WHERE locationsId = '{{ locationsId }}' +AND osPolicyAssignmentsId = '{{ osPolicyAssignmentsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/osconfig/os_policy_assignments_revisions/index.md b/docs/google-docs/providers/google/osconfig/os_policy_assignments_revisions/index.md index 7c54e1b55c..d14ce2674c 100644 --- a/docs/google-docs/providers/google/osconfig/os_policy_assignments_revisions/index.md +++ b/docs/google-docs/providers/google/osconfig/os_policy_assignments_revisions/index.md @@ -1,3 +1,4 @@ + --- title: os_policy_assignments_revisions hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - os_policy_assignments_revisions - osconfig - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an os_policy_assignments_revision resource or lists os_policy_assignments_revisions in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Resource name. Format: `projects/{project_number}/locations/{location}/osPolicyAssignments/{os_policy_assignment_id}` This field is ignored when you create an OS policy assignment. | +| | `string` | Resource name. Format: `projects/{project_number}/locations/{location}/osPolicyAssignments/{os_policy_assignment_id}` This field is ignored when you create an OS policy assignment. | | | `string` | OS policy assignment description. Length of the description is limited to 1024 characters. | | | `boolean` | Output only. Indicates that this revision has been successfully rolled out in this zone and new VMs will be assigned OS policies from this revision. For a given OS policy assignment, there is only one revision with a value of `true` for this field. | | | `boolean` | Output only. Indicates that this revision deletes the OS policy assignment. | @@ -43,8 +45,33 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Message to configure the rollout at the zonal level for the OS policy assignment. | | | `string` | Output only. OS policy assignment rollout state | | | `string` | Output only. Server generated unique id for the OS policy assignment resource. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | List the OS policy assignment revisions for a given OS policy assignment. | + +## `SELECT` examples + +List the OS policy assignment revisions for a given OS policy assignment. + +```sql +SELECT +name, +description, +baseline, +deleted, +etag, +instanceFilter, +osPolicies, +reconciling, +revisionCreateTime, +revisionId, +rollout, +rolloutState, +uid +FROM google.osconfig.os_policy_assignments_revisions +WHERE locationsId = '{{ locationsId }}' +AND osPolicyAssignmentsId = '{{ osPolicyAssignmentsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/osconfig/patch_deployments/index.md b/docs/google-docs/providers/google/osconfig/patch_deployments/index.md index 981008b70d..f0adc99f14 100644 --- a/docs/google-docs/providers/google/osconfig/patch_deployments/index.md +++ b/docs/google-docs/providers/google/osconfig/patch_deployments/index.md @@ -1,3 +1,4 @@ + --- title: patch_deployments hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - patch_deployments - osconfig - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an patch_deployment resource or lists patch_deployments in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Unique name for the patch deployment resource in a project. The patch deployment name is in the form: `projects/{project_id}/patchDeployments/{patch_deployment_id}`. This field is ignored when you create a new patch deployment. | +| | `string` | Unique name for the patch deployment resource in a project. The patch deployment name is in the form: `projects/{project_id}/patchDeployments/{patch_deployment_id}`. This field is ignored when you create a new patch deployment. | | | `string` | Optional. Description of the patch deployment. Length of the description is limited to 1024 characters. | | | `string` | Output only. Time the patch deployment was created. Timestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. | | | `string` | Optional. Duration of the patch. After the duration ends, the patch times out. | @@ -42,6 +44,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Patch rollout configuration specifications. Contains details on the concurrency control when applying patch(es) to all targeted VMs. | | | `string` | Output only. Current state of the patch deployment. | | | `string` | Output only. Time the patch deployment was last updated. Timestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -50,6 +53,143 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Create an OS Config patch deployment. | | | `DELETE` | | Delete an OS Config patch deployment. | | | `UPDATE` | | Update an OS Config patch deployment. | -| | `EXEC` | | Get a page of OS Config patch deployments. | | | `EXEC` | | Change state of patch deployment to "PAUSED". Patch deployment in paused state doesn't generate patch jobs. | | | `EXEC` | | Change state of patch deployment back to "ACTIVE". Patch deployment in active state continues to generate patch jobs. | + +## `SELECT` examples + +Get a page of OS Config patch deployments. + +```sql +SELECT +name, +description, +createTime, +duration, +instanceFilter, +lastExecuteTime, +oneTimeSchedule, +patchConfig, +recurringSchedule, +rollout, +state, +updateTime +FROM google.osconfig.patch_deployments +WHERE projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new patch_deployments resource. + + + + +```sql +/*+ create */ +INSERT INTO google.osconfig.patch_deployments ( +projectsId, +name, +description, +instanceFilter, +patchConfig, +duration, +oneTimeSchedule, +recurringSchedule, +createTime, +updateTime, +lastExecuteTime, +rollout, +state +) +SELECT +'{{ projectsId }}', +'{{ name }}', +'{{ description }}', +'{{ instanceFilter }}', +'{{ patchConfig }}', +'{{ duration }}', +'{{ oneTimeSchedule }}', +'{{ recurringSchedule }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ lastExecuteTime }}', +'{{ rollout }}', +'{{ state }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: instanceFilter + value: '{{ instanceFilter }}' + - name: patchConfig + value: '{{ patchConfig }}' + - name: duration + value: '{{ duration }}' + - name: oneTimeSchedule + value: '{{ oneTimeSchedule }}' + - name: recurringSchedule + value: '{{ recurringSchedule }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: lastExecuteTime + value: '{{ lastExecuteTime }}' + - name: rollout + value: '{{ rollout }}' + - name: state + value: '{{ state }}' + +``` + + + +## `UPDATE` example + +Updates a patch_deployment only if the necessary resources are available. + +```sql +UPDATE google.osconfig.patch_deployments +SET +name = '{{ name }}', +description = '{{ description }}', +instanceFilter = '{{ instanceFilter }}', +patchConfig = '{{ patchConfig }}', +duration = '{{ duration }}', +oneTimeSchedule = '{{ oneTimeSchedule }}', +recurringSchedule = '{{ recurringSchedule }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +lastExecuteTime = '{{ lastExecuteTime }}', +rollout = '{{ rollout }}', +state = '{{ state }}' +WHERE +patchDeploymentsId = '{{ patchDeploymentsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified patch_deployment resource. + +```sql +DELETE FROM google.osconfig.patch_deployments +WHERE patchDeploymentsId = '{{ patchDeploymentsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/osconfig/patch_jobs/index.md b/docs/google-docs/providers/google/osconfig/patch_jobs/index.md index c157f48d32..c772dfde95 100644 --- a/docs/google-docs/providers/google/osconfig/patch_jobs/index.md +++ b/docs/google-docs/providers/google/osconfig/patch_jobs/index.md @@ -1,3 +1,4 @@ + --- title: patch_jobs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - patch_jobs - osconfig - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an patch_job resource or lists patch_jobs in a region ## Overview
@@ -45,11 +47,36 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Patch rollout configuration specifications. Contains details on the concurrency control when applying patch(es) to all targeted VMs. | | | `string` | The current state of the PatchJob. | | | `string` | Last time this patch job was updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Get the patch job. This can be used to track the progress of an ongoing patch job or review the details of completed jobs. | | | `SELECT` | | Get a list of patch jobs. | -| | `EXEC` | | Get a list of patch jobs. | | | `EXEC` | | Cancel a patch job. The patch job must be active. Canceled patch jobs cannot be restarted. | | | `EXEC` | | Patch VM instances by creating and running a patch job. | + +## `SELECT` examples + +Get a list of patch jobs. + +```sql +SELECT +name, +description, +createTime, +displayName, +dryRun, +duration, +errorMessage, +instanceDetailsSummary, +instanceFilter, +patchConfig, +patchDeployment, +percentComplete, +rollout, +state, +updateTime +FROM google.osconfig.patch_jobs +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/osconfig/report/index.md b/docs/google-docs/providers/google/osconfig/report/index.md index 757dc4969b..1b43fb8bf3 100644 --- a/docs/google-docs/providers/google/osconfig/report/index.md +++ b/docs/google-docs/providers/google/osconfig/report/index.md @@ -1,3 +1,4 @@ + --- title: report hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - report - osconfig - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an report resource or lists report in a region ## Overview
@@ -30,13 +32,33 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The `OSPolicyAssignmentReport` API resource name. Format: `projects/{project_number}/locations/{location}/instances/{instance_id}/osPolicyAssignments/{os_policy_assignment_id}/report` | +| | `string` | The `OSPolicyAssignmentReport` API resource name. Format: `projects/{project_number}/locations/{location}/instances/{instance_id}/osPolicyAssignments/{os_policy_assignment_id}/report` | | | `string` | The Compute Engine VM instance name. | | | `string` | Unique identifier of the last attempted run to apply the OS policies associated with this assignment on the VM. This ID is logged by the OS Config agent while applying the OS policies associated with this assignment on the VM. NOTE: If the service is unable to successfully connect to the agent for this run, then this id will not be available in the agent logs. | -| | `string` | Reference to the `OSPolicyAssignment` API resource that the `OSPolicy` belongs to. Format: `projects/{project_number}/locations/{location}/osPolicyAssignments/{os_policy_assignment_id@revision_id}` | +| | `string` | Reference to the `OSPolicyAssignment` API resource that the `OSPolicy` belongs to. Format: `projects/{project_number}/locations/{location}/osPolicyAssignments/{os_policy_assignment_id@revision_id}` | | | `array` | Compliance data for each `OSPolicy` that is applied to the VM. | | | `string` | Timestamp for when the report was last generated. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Get the OS policy assignment report for the specified Compute Engine VM instance. | + +## `SELECT` examples + +Get the OS policy assignment report for the specified Compute Engine VM instance. + +```sql +SELECT +name, +instance, +lastRunId, +osPolicyAssignment, +osPolicyCompliances, +updateTime +FROM google.osconfig.report +WHERE instancesId = '{{ instancesId }}' +AND locationsId = '{{ locationsId }}' +AND osPolicyAssignmentsId = '{{ osPolicyAssignmentsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/osconfig/reports/index.md b/docs/google-docs/providers/google/osconfig/reports/index.md index 4f0b6c692c..1cdb5820c9 100644 --- a/docs/google-docs/providers/google/osconfig/reports/index.md +++ b/docs/google-docs/providers/google/osconfig/reports/index.md @@ -1,3 +1,4 @@ + --- title: reports hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - reports - osconfig - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an report resource or lists reports in a region ## Overview
@@ -30,14 +32,33 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The `OSPolicyAssignmentReport` API resource name. Format: `projects/{project_number}/locations/{location}/instances/{instance_id}/osPolicyAssignments/{os_policy_assignment_id}/report` | +| | `string` | The `OSPolicyAssignmentReport` API resource name. Format: `projects/{project_number}/locations/{location}/instances/{instance_id}/osPolicyAssignments/{os_policy_assignment_id}/report` | | | `string` | The Compute Engine VM instance name. | | | `string` | Unique identifier of the last attempted run to apply the OS policies associated with this assignment on the VM. This ID is logged by the OS Config agent while applying the OS policies associated with this assignment on the VM. NOTE: If the service is unable to successfully connect to the agent for this run, then this id will not be available in the agent logs. | -| | `string` | Reference to the `OSPolicyAssignment` API resource that the `OSPolicy` belongs to. Format: `projects/{project_number}/locations/{location}/osPolicyAssignments/{os_policy_assignment_id@revision_id}` | +| | `string` | Reference to the `OSPolicyAssignment` API resource that the `OSPolicy` belongs to. Format: `projects/{project_number}/locations/{location}/osPolicyAssignments/{os_policy_assignment_id@revision_id}` | | | `array` | Compliance data for each `OSPolicy` that is applied to the VM. | | | `string` | Timestamp for when the report was last generated. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | List OS policy assignment reports for all Compute Engine VM instances in the specified zone. | + +## `SELECT` examples + +List OS policy assignment reports for all Compute Engine VM instances in the specified zone. + +```sql +SELECT +name, +instance, +lastRunId, +osPolicyAssignment, +osPolicyCompliances, +updateTime +FROM google.osconfig.reports +WHERE instancesId = '{{ instancesId }}' +AND locationsId = '{{ locationsId }}' +AND osPolicyAssignmentsId = '{{ osPolicyAssignmentsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/osconfig/vulnerability_report/index.md b/docs/google-docs/providers/google/osconfig/vulnerability_report/index.md index c488ef4860..d2b2fc73db 100644 --- a/docs/google-docs/providers/google/osconfig/vulnerability_report/index.md +++ b/docs/google-docs/providers/google/osconfig/vulnerability_report/index.md @@ -1,3 +1,4 @@ + --- title: vulnerability_report hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - vulnerability_report - osconfig - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an vulnerability_report resource or lists vulnerability_report in a region ## Overview
@@ -30,10 +32,26 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. The `vulnerabilityReport` API resource name. Format: `projects/{project_number}/locations/{location}/instances/{instance_id}/vulnerabilityReport` | +| | `string` | Output only. The `vulnerabilityReport` API resource name. Format: `projects/{project_number}/locations/{location}/instances/{instance_id}/vulnerabilityReport` | | | `string` | Output only. The timestamp for when the last vulnerability report was generated for the VM. | | | `array` | Output only. List of vulnerabilities affecting the VM. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets the vulnerability report for the specified VM instance. Only VMs with inventory data have vulnerability reports associated with them. | + +## `SELECT` examples + +Gets the vulnerability report for the specified VM instance. Only VMs with inventory data have vulnerability reports associated with them. + +```sql +SELECT +name, +updateTime, +vulnerabilities +FROM google.osconfig.vulnerability_report +WHERE instancesId = '{{ instancesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/osconfig/vulnerability_reports/index.md b/docs/google-docs/providers/google/osconfig/vulnerability_reports/index.md index f0cf423b3e..d299191ffc 100644 --- a/docs/google-docs/providers/google/osconfig/vulnerability_reports/index.md +++ b/docs/google-docs/providers/google/osconfig/vulnerability_reports/index.md @@ -1,3 +1,4 @@ + --- title: vulnerability_reports hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - vulnerability_reports - osconfig - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an vulnerability_report resource or lists vulnerability_reports in a region ## Overview
@@ -30,11 +32,26 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. The `vulnerabilityReport` API resource name. Format: `projects/{project_number}/locations/{location}/instances/{instance_id}/vulnerabilityReport` | +| | `string` | Output only. The `vulnerabilityReport` API resource name. Format: `projects/{project_number}/locations/{location}/instances/{instance_id}/vulnerabilityReport` | | | `string` | Output only. The timestamp for when the last vulnerability report was generated for the VM. | | | `array` | Output only. List of vulnerabilities affecting the VM. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | List vulnerability reports for all VM instances in the specified zone. | + +## `SELECT` examples + +List vulnerability reports for all VM instances in the specified zone. + +```sql +SELECT +name, +updateTime, +vulnerabilities +FROM google.osconfig.vulnerability_reports +WHERE instancesId = '{{ instancesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/oslogin/index.md b/docs/google-docs/providers/google/oslogin/index.md index 2f99319a52..997f116855 100644 --- a/docs/google-docs/providers/google/oslogin/index.md +++ b/docs/google-docs/providers/google/oslogin/index.md @@ -9,42 +9,31 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -You can use OS Login to manage access to your VM instances using IAM roles. - +The oslogin service documentation. + :::info Service Summary
total resources: 4
-total selectable resources: 2
-total methods: 7
::: -## Overview -
- - - - - -
Namegoogle.oslogin
TypeService
TitleCloud OS Login API
DescriptionYou can use OS Login to manage access to your VM instances using IAM roles.
Idoslogin:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/oslogin/projects/index.md b/docs/google-docs/providers/google/oslogin/projects/index.md index 7b2d5b45c8..eeea593bbb 100644 --- a/docs/google-docs/providers/google/oslogin/projects/index.md +++ b/docs/google-docs/providers/google/oslogin/projects/index.md @@ -1,3 +1,4 @@ + --- title: projects hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - projects - oslogin - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an project resource or lists projects in a region ## Overview @@ -28,8 +30,20 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `DELETE` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `DELETE` | | Deletes a POSIX account. | + +## `DELETE` example + +Deletes the specified project resource. + +```sql +DELETE FROM google.oslogin.projects +WHERE projectsId = '{{ projectsId }}' +AND usersId = '{{ usersId }}'; +``` diff --git a/docs/google-docs/providers/google/oslogin/ssh_public_keys/index.md b/docs/google-docs/providers/google/oslogin/ssh_public_keys/index.md index 70c395ed81..594a980ef1 100644 --- a/docs/google-docs/providers/google/oslogin/ssh_public_keys/index.md +++ b/docs/google-docs/providers/google/oslogin/ssh_public_keys/index.md @@ -1,3 +1,4 @@ + --- title: ssh_public_keys hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - ssh_public_keys - oslogin - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an ssh_public_key resource or lists ssh_public_keys in a region ## Overview @@ -34,6 +36,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | An expiration time in microseconds since epoch. | | | `string` | Output only. The SHA-256 fingerprint of the SSH public key. | | | `string` | Public key text in SSH format, defined by RFC4253 section 6.6. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -41,3 +44,94 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Create an SSH public key | | | `DELETE` | | Deletes an SSH public key. | | | `UPDATE` | | Updates an SSH public key and returns the profile information. This method supports patch semantics. | + +## `SELECT` examples + +Retrieves an SSH public key. + +```sql +SELECT +name, +expirationTimeUsec, +fingerprint, +key +FROM google.oslogin.ssh_public_keys +WHERE sshPublicKeysId = '{{ sshPublicKeysId }}' +AND usersId = '{{ usersId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new ssh_public_keys resource. + + + + +```sql +/*+ create */ +INSERT INTO google.oslogin.ssh_public_keys ( +usersId, +key, +expirationTimeUsec, +fingerprint, +name +) +SELECT +'{{ usersId }}', +'{{ key }}', +'{{ expirationTimeUsec }}', +'{{ fingerprint }}', +'{{ name }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: key + value: '{{ key }}' + - name: expirationTimeUsec + value: '{{ expirationTimeUsec }}' + - name: fingerprint + value: '{{ fingerprint }}' + - name: name + value: '{{ name }}' + +``` + + + +## `UPDATE` example + +Updates a ssh_public_key only if the necessary resources are available. + +```sql +UPDATE google.oslogin.ssh_public_keys +SET +key = '{{ key }}', +expirationTimeUsec = '{{ expirationTimeUsec }}', +fingerprint = '{{ fingerprint }}', +name = '{{ name }}' +WHERE +sshPublicKeysId = '{{ sshPublicKeysId }}' +AND usersId = '{{ usersId }}'; +``` + +## `DELETE` example + +Deletes the specified ssh_public_key resource. + +```sql +DELETE FROM google.oslogin.ssh_public_keys +WHERE sshPublicKeysId = '{{ sshPublicKeysId }}' +AND usersId = '{{ usersId }}'; +``` diff --git a/docs/google-docs/providers/google/oslogin/users/index.md b/docs/google-docs/providers/google/oslogin/users/index.md index ce96e5575c..a62141beed 100644 --- a/docs/google-docs/providers/google/oslogin/users/index.md +++ b/docs/google-docs/providers/google/oslogin/users/index.md @@ -1,3 +1,4 @@ + --- title: users hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - users - oslogin - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an user resource or lists users in a region ## Overview
@@ -28,8 +30,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Adds an SSH public key and returns the profile information. Default POSIX account information is set when no username and UID exist as part of the login profile. | diff --git a/docs/google-docs/providers/google/oslogin/users_login_profile/index.md b/docs/google-docs/providers/google/oslogin/users_login_profile/index.md index aa481bebac..94155177ec 100644 --- a/docs/google-docs/providers/google/oslogin/users_login_profile/index.md +++ b/docs/google-docs/providers/google/oslogin/users_login_profile/index.md @@ -1,3 +1,4 @@ + --- title: users_login_profile hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - users_login_profile - oslogin - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an users_login_profile resource or lists users_login_profile in a region ## Overview @@ -33,7 +35,21 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Required. A unique user ID. | | | `array` | The list of POSIX accounts associated with the user. | | | `object` | A map from SSH public key fingerprint to the associated key object. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Retrieves the profile information used for logging in to a virtual machine on Google Compute Engine. | + +## `SELECT` examples + +Retrieves the profile information used for logging in to a virtual machine on Google Compute Engine. + +```sql +SELECT +name, +posixAccounts, +sshPublicKeys +FROM google.oslogin.users_login_profile +WHERE usersId = '{{ usersId }}'; +``` diff --git a/docs/google-docs/providers/google/places/index.md b/docs/google-docs/providers/google/places/index.md index e49ebe8710..e8ac48eefe 100644 --- a/docs/google-docs/providers/google/places/index.md +++ b/docs/google-docs/providers/google/places/index.md @@ -9,40 +9,29 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- - - +The places service documentation. + :::info Service Summary
total resources: 2
-total selectable resources: 2
-total methods: 5
::: -## Overview -
- - - - - -
Namegoogle.places
TypeService
TitlePlaces API (New)
Description
Idplaces:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/places/photos_media/index.md b/docs/google-docs/providers/google/places/photos_media/index.md index ef1a7f49b8..df66ee9283 100644 --- a/docs/google-docs/providers/google/places/photos_media/index.md +++ b/docs/google-docs/providers/google/places/photos_media/index.md @@ -1,3 +1,4 @@ + --- title: photos_media hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - photos_media - places - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an photos_media resource or lists photos_media in a region ## Overview @@ -30,9 +32,23 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The resource name of a photo media in the format: `places/{place_id}/photos/{photo_reference}/media`. | +| | `string` | The resource name of a photo media in the format: `places/{place_id}/photos/{photo_reference}/media`. | | | `string` | A short-lived uri that can be used to render the photo. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Get a photo media with a photo reference string. | + +## `SELECT` examples + +Get a photo media with a photo reference string. + +```sql +SELECT +name, +photoUri +FROM google.places.photos_media +WHERE photosId = '{{ photosId }}' +AND placesId = '{{ placesId }}'; +``` diff --git a/docs/google-docs/providers/google/places/places/index.md b/docs/google-docs/providers/google/places/places/index.md index 3c23a1b98d..b8f1b41d43 100644 --- a/docs/google-docs/providers/google/places/places/index.md +++ b/docs/google-docs/providers/google/places/places/index.md @@ -1,3 +1,4 @@ + --- title: places hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - places - places - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an place resource or lists places in a region ## Overview
@@ -31,7 +33,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | Name | Datatype | Description | |:-----|:---------|:------------| | | `string` | The unique identifier of a place. | -| | `string` | This Place's resource name, in `places/{place_id}` format. Can be used to look up the Place. | +| | `string` | This Place's resource name, in `places/{place_id}` format. Can be used to look up the Place. | | | `object` | Information about the accessibility options a place offers. | | | `array` | Repeated components for each locality level. Note the following facts about the address_components[] array: - The array of address components may contain more components than the formatted_address. - The array does not necessarily include all the political entities that contain an address, apart from those included in the formatted_address. To retrieve all the political entities that contain a specific address, you should use reverse geocoding, passing the latitude/longitude of the address as a parameter to the request. - The format of the response is not guaranteed to remain the same between requests. In particular, the number of address_components varies based on the address requested and can change over time for the same address. A component can change position in the array. The type of the component can change. A particular component may be missing in a later response. | | | `string` | The place's address in adr microformat: http://microformats.org/wiki/adr. | @@ -91,12 +93,86 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `array` | A set of type tags for this result. For example, "political" and "locality". For the complete list of possible values, see Table A and Table B at https://developers.google.com/maps/documentation/places/web-service/place-types | | | `integer` | The total number of reviews (with or without text) for this place. | | | `integer` | Number of minutes this place's timezone is currently offset from UTC. This is expressed in minutes to support timezones that are offset by fractions of an hour, e.g. X hours and 15 minutes. | -| | `object` | A latitude-longitude viewport, represented as two diagonally opposite `low` and `high` points. A viewport is considered a closed region, i.e. it includes its boundary. The latitude bounds must range between -90 to 90 degrees inclusive, and the longitude bounds must range between -180 to 180 degrees inclusive. Various cases include: - If `low` = `high`, the viewport consists of that single point. - If `low.longitude` > `high.longitude`, the longitude range is inverted (the viewport crosses the 180 degree longitude line). - If `low.longitude` = -180 degrees and `high.longitude` = 180 degrees, the viewport includes all longitudes. - If `low.longitude` = 180 degrees and `high.longitude` = -180 degrees, the longitude range is empty. - If `low.latitude` > `high.latitude`, the latitude range is empty. Both `low` and `high` must be populated, and the represented box cannot be empty (as specified by the definitions above). An empty viewport will result in an error. For example, this viewport fully encloses New York City: { "low": { "latitude": 40.477398, "longitude": -74.259087 }, "high": { "latitude": 40.91618, "longitude": -73.70018 } } | +| | `object` | A latitude-longitude viewport, represented as two diagonally opposite `low` and `high` points. A viewport is considered a closed region, i.e. it includes its boundary. The latitude bounds must range between -90 to 90 degrees inclusive, and the longitude bounds must range between -180 to 180 degrees inclusive. Various cases include: - If `low` = `high`, the viewport consists of that single point. - If `low.longitude` > `high.longitude`, the longitude range is inverted (the viewport crosses the 180 degree longitude line). - If `low.longitude` = -180 degrees and `high.longitude` = 180 degrees, the viewport includes all longitudes. - If `low.longitude` = 180 degrees and `high.longitude` = -180 degrees, the longitude range is empty. - If `low.latitude` > `high.latitude`, the latitude range is empty. Both `low` and `high` must be populated, and the represented box cannot be empty (as specified by the definitions above). An empty viewport will result in an error. For example, this viewport fully encloses New York City: { "low": { "latitude": 40.477398, "longitude": -74.259087 }, "high": { "latitude": 40.91618, "longitude": -73.70018 } } | | | `string` | The authoritative website for this place, e.g. a business' homepage. Note that for places that are part of a chain (e.g. an IKEA store), this will usually be the website for the individual store, not the overall chain. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| -| | `SELECT` | | Get the details of a place based on its resource name, which is a string in the `places/{place_id}` format. | -| | `EXEC` | | Returns predictions for the given input. | -| | `EXEC` | | Search for places near locations. | -| | `EXEC` | | Text query based place search. | +| | `SELECT` | | Get the details of a place based on its resource name, which is a string in the `places/{place_id}` format. | +| | `EXEC` | | Returns predictions for the given input. | +| | `EXEC` | | Search for places near locations. | +| | `EXEC` | | Text query based place search. | + +## `SELECT` examples + +Get the details of a place based on its resource name, which is a string in the `places/{place_id}` format. + +```sql +SELECT +id, +name, +accessibilityOptions, +addressComponents, +adrFormatAddress, +allowsDogs, +areaSummary, +attributions, +businessStatus, +curbsidePickup, +currentOpeningHours, +currentSecondaryOpeningHours, +delivery, +dineIn, +displayName, +editorialSummary, +evChargeOptions, +formattedAddress, +fuelOptions, +generativeSummary, +goodForChildren, +goodForGroups, +goodForWatchingSports, +googleMapsUri, +iconBackgroundColor, +iconMaskBaseUri, +internationalPhoneNumber, +liveMusic, +location, +menuForChildren, +nationalPhoneNumber, +outdoorSeating, +parkingOptions, +paymentOptions, +photos, +plusCode, +priceLevel, +primaryType, +primaryTypeDisplayName, +rating, +regularOpeningHours, +regularSecondaryOpeningHours, +reservable, +restroom, +reviews, +servesBeer, +servesBreakfast, +servesBrunch, +servesCocktails, +servesCoffee, +servesDessert, +servesDinner, +servesLunch, +servesVegetarianFood, +servesWine, +shortFormattedAddress, +subDestinations, +takeout, +types, +userRatingCount, +utcOffsetMinutes, +viewport, +websiteUri +FROM google.places.places +WHERE placesId = '{{ placesId }}'; +``` diff --git a/docs/google-docs/providers/google/policyanalyzer/activities/index.md b/docs/google-docs/providers/google/policyanalyzer/activities/index.md index cd9b4a829b..53f880f81d 100644 --- a/docs/google-docs/providers/google/policyanalyzer/activities/index.md +++ b/docs/google-docs/providers/google/policyanalyzer/activities/index.md @@ -1,3 +1,4 @@ + --- title: activities hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - activities - policyanalyzer - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an activity resource or lists activities in a region ## Overview
@@ -28,8 +30,26 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `array` | The set of activities that match the filter included in the request. | +| | `string` | If there might be more results than those appearing in this response, then `nextPageToken` is included. To get the next set of results, call this method again using the value of `nextPageToken` as `pageToken`. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Queries policy activities on Google Cloud resources. | + +## `SELECT` examples + +Queries policy activities on Google Cloud resources. + +```sql +SELECT +activities, +nextPageToken +FROM google.policyanalyzer.activities +WHERE activityTypesId = '{{ activityTypesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/policyanalyzer/index.md b/docs/google-docs/providers/google/policyanalyzer/index.md index 1a848981e0..1b79a3dbe0 100644 --- a/docs/google-docs/providers/google/policyanalyzer/index.md +++ b/docs/google-docs/providers/google/policyanalyzer/index.md @@ -9,39 +9,29 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- - - +The policyanalyzer service documentation. + :::info Service Summary
total resources: 1
-total selectable resources: 0
-total methods: 1
::: -## Overview - - - - - - -
Namegoogle.policyanalyzer
TypeService
TitlePolicy Analyzer API
Description
Idpolicyanalyzer:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/policysimulator/index.md b/docs/google-docs/providers/google/policysimulator/index.md index cdaa17eac1..79b631b7db 100644 --- a/docs/google-docs/providers/google/policysimulator/index.md +++ b/docs/google-docs/providers/google/policysimulator/index.md @@ -9,43 +9,30 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- - Policy Simulator is a collection of endpoints for creating, running, and viewing a Replay. A `Replay` is a type of simulation that lets you see how your members' access to resources might change if you changed your IAM policy. During a `Replay`, Policy Simulator re-evaluates, or replays, past access attempts under both the current policy and your proposed policy, and compares those results to determine how your members' access might change under the proposed policy. - +The policysimulator service documentation. + :::info Service Summary
-total resources: 5
-total selectable resources: 5
-total methods: 33
+total resources: 3
::: -## Overview - - - - - - -
Namegoogle.policysimulator
TypeService
TitlePolicy Simulator API
Description Policy Simulator is a collection of endpoints for creating, running, and viewing a Replay. A `Replay` is a type of simulation that lets you see how your members' access to resources might change if you changed your IAM policy. During a `Replay`, Policy Simulator re-evaluates, or replays, past access attempts under both the current policy and your proposed policy, and compares those results to determine how your members' access might change under the proposed policy.
Idpolicysimulator:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/policysimulator/operations/index.md b/docs/google-docs/providers/google/policysimulator/operations/index.md index af2fb7051d..39187b7ce5 100644 --- a/docs/google-docs/providers/google/policysimulator/operations/index.md +++ b/docs/google-docs/providers/google/policysimulator/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - policysimulator - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview @@ -30,11 +32,12 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -42,14 +45,25 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | -| | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | +| | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.policysimulator.operations +WHERE = '{{ }}'; +``` diff --git a/docs/google-docs/providers/google/policysimulator/org_policy_violations/index.md b/docs/google-docs/providers/google/policysimulator/org_policy_violations/index.md deleted file mode 100644 index 76e0c50bd9..0000000000 --- a/docs/google-docs/providers/google/policysimulator/org_policy_violations/index.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -title: org_policy_violations -hide_title: false -hide_table_of_contents: false -keywords: - - org_policy_violations - - policysimulator - - google - - stackql - - infrastructure-as-code - - configuration-as-data - - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL -custom_edit_url: null -image: /img/providers/google/stackql-google-provider-featured-image.png ---- - -import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; - - - - -## Overview -
- - - -
Nameorg_policy_violations
TypeResource
Id
- -## Fields -| Name | Datatype | Description | -|:-----|:---------|:------------| -| | `string` | The name of the `OrgPolicyViolation`. Example: organizations/my-example-org/locations/global/orgPolicyViolationsPreviews/506a5f7f/orgPolicyViolations/38ce` | -| | `object` | A custom constraint defined by customers which can *only* be applied to the given resource types and organization. By creating a custom constraint, customers can apply policies of this custom constraint. *Creating a custom constraint itself does NOT apply any policy enforcement*. | -| | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | -| | `object` | ResourceContext provides the context we know about a resource. It is similar in concept to google.cloud.asset.v1.Resource, but focuses on the information specifically used by Simulator. | -## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | diff --git a/docs/google-docs/providers/google/policysimulator/org_policy_violations_previews/index.md b/docs/google-docs/providers/google/policysimulator/org_policy_violations_previews/index.md deleted file mode 100644 index c605637307..0000000000 --- a/docs/google-docs/providers/google/policysimulator/org_policy_violations_previews/index.md +++ /dev/null @@ -1,46 +0,0 @@ ---- -title: org_policy_violations_previews -hide_title: false -hide_table_of_contents: false -keywords: - - org_policy_violations_previews - - policysimulator - - google - - stackql - - infrastructure-as-code - - configuration-as-data - - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL -custom_edit_url: null -image: /img/providers/google/stackql-google-provider-featured-image.png ---- - -import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; - - - - -## Overview - - - - -
Nameorg_policy_violations_previews
TypeResource
Id
- -## Fields -| Name | Datatype | Description | -|:-----|:---------|:------------| -| | `string` | Output only. The resource name of the `OrgPolicyViolationsPreview`. It has the following format: `organizations/{organization}/locations/{location}/orgPolicyViolationsPreviews/{orgPolicyViolationsPreview}` Example: `organizations/my-example-org/locations/global/orgPolicyViolationsPreviews/506a5f7f` | -| | `string` | Output only. Time when this `OrgPolicyViolationsPreview` was created. | -| | `array` | Output only. The names of the constraints against which all `OrgPolicyViolations` were evaluated. If `OrgPolicyOverlay` only contains `PolicyOverlay` then it contains the name of the configured custom constraint, applicable to the specified policies. Otherwise it contains the name of the constraint specified in `CustomConstraintOverlay`. Format: `organizations/{organization_id}/customConstraints/{custom_constraint_id}` Example: `organizations/123/customConstraints/custom.createOnlyE2TypeVms` | -| | `object` | The proposed changes to OrgPolicy. | -| | `object` | A summary of the state of all resources scanned for compliance with the changed OrgPolicy. | -| | `string` | Output only. The state of the `OrgPolicyViolationsPreview`. | -| | `integer` | Output only. The number of OrgPolicyViolations in this `OrgPolicyViolationsPreview`. This count may differ from `resource_summary.noncompliant_count` because each OrgPolicyViolation is specific to a resource **and** constraint. If there are multiple constraints being evaluated (i.e. multiple policies in the overlay), a single resource may violate multiple constraints. | -## Methods -| Name | Accessible by | Required Params | Description | -|:-----|:--------------|:----------------|:------------| -| | `SELECT` | | GetOrgPolicyViolationsPreview gets the specified OrgPolicyViolationsPreview. Each OrgPolicyViolationsPreview is available for at least 7 days. | -| | `SELECT` | | ListOrgPolicyViolationsPreviews lists each OrgPolicyViolationsPreview in an organization. Each OrgPolicyViolationsPreview is available for at least 7 days. | -| | `INSERT` | | CreateOrgPolicyViolationsPreview creates an OrgPolicyViolationsPreview for the proposed changes in the provided OrgPolicyViolationsPreview.OrgPolicyOverlay. The changes to OrgPolicy are specified by this `OrgPolicyOverlay`. The resources to scan are inferred from these specified changes. | -| | `EXEC` | | ListOrgPolicyViolationsPreviews lists each OrgPolicyViolationsPreview in an organization. Each OrgPolicyViolationsPreview is available for at least 7 days. | diff --git a/docs/google-docs/providers/google/policysimulator/replays/index.md b/docs/google-docs/providers/google/policysimulator/replays/index.md index 6efabd2ab1..cbfce2d46b 100644 --- a/docs/google-docs/providers/google/policysimulator/replays/index.md +++ b/docs/google-docs/providers/google/policysimulator/replays/index.md @@ -1,3 +1,4 @@ + --- title: replays hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - replays - policysimulator - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an replay resource or lists replays in a region ## Overview @@ -30,10 +32,11 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. The resource name of the `Replay`, which has the following format: `{projects\|folders\|organizations}/{resource-id}/locations/global/replays/{replay-id}`, where `{resource-id}` is the ID of the project, folder, or organization that owns the Replay. Example: `projects/my-example-project/locations/global/replays/506a5f7f-38ce-4d7d-8e03-479ce1833c36` | +| | `string` | Output only. The resource name of the `Replay`, which has the following format: `{projects|folders|organizations}/{resource-id}/locations/global/replays/{replay-id}`, where `{resource-id}` is the ID of the project, folder, or organization that owns the Replay. Example: `projects/my-example-project/locations/global/replays/506a5f7f-38ce-4d7d-8e03-479ce1833c36` | | | `object` | The configuration used for a Replay. | | | `object` | Summary statistics about the replayed log entries. | | | `string` | Output only. The current state of the `Replay`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -43,3 +46,71 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates and starts a Replay using the given ReplayConfig. | | | `INSERT` | | Creates and starts a Replay using the given ReplayConfig. | | | `INSERT` | | Creates and starts a Replay using the given ReplayConfig. | + +## `SELECT` examples + +Gets the specified Replay. Each `Replay` is available for at least 7 days. + +```sql +SELECT +name, +config, +resultsSummary, +state +FROM google.policysimulator.replays +WHERE foldersId = '{{ foldersId }}' +AND locationsId = '{{ locationsId }}' +AND replaysId = '{{ replaysId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new replays resource. + + + + +```sql +/*+ create */ +INSERT INTO google.policysimulator.replays ( +foldersId, +locationsId, +name, +config, +state, +resultsSummary +) +SELECT +'{{ foldersId }}', +'{{ locationsId }}', +'{{ name }}', +'{{ config }}', +'{{ state }}', +'{{ resultsSummary }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: config + value: '{{ config }}' + - name: state + value: '{{ state }}' + - name: resultsSummary + value: '{{ resultsSummary }}' + +``` + + diff --git a/docs/google-docs/providers/google/policysimulator/results/index.md b/docs/google-docs/providers/google/policysimulator/results/index.md index 06e2154b78..04b2aabbc8 100644 --- a/docs/google-docs/providers/google/policysimulator/results/index.md +++ b/docs/google-docs/providers/google/policysimulator/results/index.md @@ -1,3 +1,4 @@ + --- title: results hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - results - policysimulator - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an result resource or lists results in a region ## Overview
@@ -30,18 +32,34 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The resource name of the `ReplayResult`, in the following format: `{projects\|folders\|organizations}/{resource-id}/locations/global/replays/{replay-id}/results/{replay-result-id}`, where `{resource-id}` is the ID of the project, folder, or organization that owns the Replay. Example: `projects/my-example-project/locations/global/replays/506a5f7f-38ce-4d7d-8e03-479ce1833c36/results/1234` | +| | `string` | The resource name of the `ReplayResult`, in the following format: `{projects|folders|organizations}/{resource-id}/locations/global/replays/{replay-id}/results/{replay-result-id}`, where `{resource-id}` is the ID of the project, folder, or organization that owns the Replay. Example: `projects/my-example-project/locations/global/replays/506a5f7f-38ce-4d7d-8e03-479ce1833c36/results/1234` | | | `object` | Information about the principal, resource, and permission to check. | | | `object` | The difference between the results of evaluating an access tuple under the current (baseline) policies and under the proposed (simulated) policies. This difference explains how a principal's access could change if the proposed policies were applied. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp | | | `string` | The Replay that the access tuple was included in. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `SELECT` | | -| | `SELECT` | | -| | `EXEC` | | -| | `EXEC` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists the results of running a Replay. | +| | `SELECT` | | Lists the results of running a Replay. | +| | `SELECT` | | Lists the results of running a Replay. | + +## `SELECT` examples + +Lists the results of running a Replay. + +```sql +SELECT +name, +accessTuple, +diff, +error, +lastSeenDate, +parent +FROM google.policysimulator.results +WHERE foldersId = '{{ foldersId }}' +AND locationsId = '{{ locationsId }}' +AND replaysId = '{{ replaysId }}'; +``` diff --git a/docs/google-docs/providers/google/policytroubleshooter/iam/index.md b/docs/google-docs/providers/google/policytroubleshooter/iam/index.md index 997f115cb2..d5af2d6e48 100644 --- a/docs/google-docs/providers/google/policytroubleshooter/iam/index.md +++ b/docs/google-docs/providers/google/policytroubleshooter/iam/index.md @@ -1,3 +1,4 @@ + --- title: iam hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - iam - policytroubleshooter - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an iam resource or lists iam in a region ## Overview
@@ -28,8 +30,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Checks whether a principal has a specific permission for a specific resource, and explains why the principal does or does not have that permission. | diff --git a/docs/google-docs/providers/google/policytroubleshooter/index.md b/docs/google-docs/providers/google/policytroubleshooter/index.md index 50a85bd8b4..2c0021dd95 100644 --- a/docs/google-docs/providers/google/policytroubleshooter/index.md +++ b/docs/google-docs/providers/google/policytroubleshooter/index.md @@ -9,39 +9,29 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- - - +The policytroubleshooter service documentation. + :::info Service Summary
total resources: 1
-total selectable resources: 0
-total methods: 1
::: -## Overview - - - - - - -
Namegoogle.policytroubleshooter
TypeService
TitlePolicy Troubleshooter API
Description
Idpolicytroubleshooter:v24.06.00236
- ## Resources
-iam
+iam
+
-
+ \ No newline at end of file diff --git a/docs/google-docs/providers/google/pollen/forecast/index.md b/docs/google-docs/providers/google/pollen/forecast/index.md new file mode 100644 index 0000000000..9b7f779586 --- /dev/null +++ b/docs/google-docs/providers/google/pollen/forecast/index.md @@ -0,0 +1,39 @@ + +--- +title: forecast +hide_title: false +hide_table_of_contents: false +keywords: + - forecast + - pollen + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an forecast resource or lists forecast in a region + +## Overview + + + + +
Nameforecast
TypeResource
Id
+ +## Fields +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Returns up to 5 days of daily pollen information in more than 65 countries, up to 1km resolution. | diff --git a/docs/google-docs/providers/google/pollen/heatmap_tiles/index.md b/docs/google-docs/providers/google/pollen/heatmap_tiles/index.md new file mode 100644 index 0000000000..22b4ff0028 --- /dev/null +++ b/docs/google-docs/providers/google/pollen/heatmap_tiles/index.md @@ -0,0 +1,39 @@ + +--- +title: heatmap_tiles +hide_title: false +hide_table_of_contents: false +keywords: + - heatmap_tiles + - pollen + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an heatmap_tile resource or lists heatmap_tiles in a region + +## Overview + + + + +
Nameheatmap_tiles
TypeResource
Id
+ +## Fields +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Returns a byte array containing the data of the tile PNG image. | diff --git a/docs/google-docs/providers/google/pollen/index.md b/docs/google-docs/providers/google/pollen/index.md new file mode 100644 index 0000000000..fb95606207 --- /dev/null +++ b/docs/google-docs/providers/google/pollen/index.md @@ -0,0 +1,37 @@ +--- +title: pollen +hide_title: false +hide_table_of_contents: false +keywords: + - pollen + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage google resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +The pollen service documentation. + +:::info Service Summary + +
+
+total resources: 2
+
+
+ +::: + +## Resources +
+ + +
\ No newline at end of file diff --git a/docs/google-docs/providers/google/privateca/ca_pools/index.md b/docs/google-docs/providers/google/privateca/ca_pools/index.md index 73e4075146..f5107337b4 100644 --- a/docs/google-docs/providers/google/privateca/ca_pools/index.md +++ b/docs/google-docs/providers/google/privateca/ca_pools/index.md @@ -1,3 +1,4 @@ + --- title: ca_pools hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - ca_pools - privateca - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an ca_pool resource or lists ca_pools in a region ## Overview @@ -35,6 +37,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Optional. Labels with user-defined metadata. | | | `object` | Options relating to the publication of each CertificateAuthority's CA certificate and CRLs and their inclusion as extensions in issued Certificates. The options set here apply to certificates issued by any CertificateAuthority in the CaPool. | | | `string` | Required. Immutable. The Tier of this CaPool. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -43,4 +46,104 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Create a CaPool. | | | `DELETE` | | Delete a CaPool. | | | `UPDATE` | | Update a CaPool. | -| | `EXEC` | | Lists CaPools. | + +## `SELECT` examples + +Lists CaPools. + +```sql +SELECT +name, +issuancePolicy, +labels, +publishingOptions, +tier +FROM google.privateca.ca_pools +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new ca_pools resource. + + + + +```sql +/*+ create */ +INSERT INTO google.privateca.ca_pools ( +locationsId, +projectsId, +name, +tier, +issuancePolicy, +publishingOptions, +labels +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ tier }}', +'{{ issuancePolicy }}', +'{{ publishingOptions }}', +'{{ labels }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: tier + value: '{{ tier }}' + - name: issuancePolicy + value: '{{ issuancePolicy }}' + - name: publishingOptions + value: '{{ publishingOptions }}' + - name: labels + value: '{{ labels }}' + +``` + + + +## `UPDATE` example + +Updates a ca_pool only if the necessary resources are available. + +```sql +UPDATE google.privateca.ca_pools +SET +name = '{{ name }}', +tier = '{{ tier }}', +issuancePolicy = '{{ issuancePolicy }}', +publishingOptions = '{{ publishingOptions }}', +labels = '{{ labels }}' +WHERE +caPoolsId = '{{ caPoolsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified ca_pool resource. + +```sql +DELETE FROM google.privateca.ca_pools +WHERE caPoolsId = '{{ caPoolsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/privateca/ca_pools_ca_certs/index.md b/docs/google-docs/providers/google/privateca/ca_pools_ca_certs/index.md index 4f03420427..966ebc4271 100644 --- a/docs/google-docs/providers/google/privateca/ca_pools_ca_certs/index.md +++ b/docs/google-docs/providers/google/privateca/ca_pools_ca_certs/index.md @@ -1,3 +1,4 @@ + --- title: ca_pools_ca_certs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - ca_pools_ca_certs - privateca - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an ca_pools_ca_cert resource or lists ca_pools_ca_certs in a region ## Overview
@@ -28,8 +30,24 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `array` | The PEM encoded CA certificate chains of all certificate authorities in this CaPool in the ENABLED, DISABLED, or STAGED states. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | FetchCaCerts returns the current trust anchor for the CaPool. This will include CA certificate chains for all certificate authorities in the ENABLED, DISABLED, or STAGED states. | + +## `SELECT` examples + +FetchCaCerts returns the current trust anchor for the CaPool. This will include CA certificate chains for all certificate authorities in the ENABLED, DISABLED, or STAGED states. + +```sql +SELECT +caCerts +FROM google.privateca.ca_pools_ca_certs +WHERE caPoolsId = '{{ caPoolsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/privateca/ca_pools_iam_policies/index.md b/docs/google-docs/providers/google/privateca/ca_pools_iam_policies/index.md index 3334ec4e7e..48fc0ee589 100644 --- a/docs/google-docs/providers/google/privateca/ca_pools_iam_policies/index.md +++ b/docs/google-docs/providers/google/privateca/ca_pools_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: ca_pools_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - ca_pools_iam_policies - privateca - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an ca_pools_iam_policy resource or lists ca_pools_iam_policies in a region ## Overview @@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.privateca.ca_pools_iam_policies +WHERE caPoolsId = '{{ caPoolsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/privateca/certificate_authorities/index.md b/docs/google-docs/providers/google/privateca/certificate_authorities/index.md index d7321d53a3..8aaad9433a 100644 --- a/docs/google-docs/providers/google/privateca/certificate_authorities/index.md +++ b/docs/google-docs/providers/google/privateca/certificate_authorities/index.md @@ -1,3 +1,4 @@ + --- title: certificate_authorities hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - certificate_authorities - privateca - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an certificate_authority resource or lists certificate_authorities in a region ## Overview
@@ -30,36 +32,190 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. The resource name for this CertificateAuthority in the format `projects/*/locations/*/caPools/*/certificateAuthorities/*`. | -| | `object` | URLs where a CertificateAuthority will publish content. | -| | `array` | Output only. A structured description of this CertificateAuthority's CA certificate and its issuers. Ordered as self-to-root. | -| | `object` | A CertificateConfig describes an X.509 certificate or CSR that is to be created, as an alternative to using ASN.1. | -| | `string` | Output only. The time at which this CertificateAuthority was created. | -| | `string` | Output only. The time at which this CertificateAuthority was soft deleted, if it is in the DELETED state. | -| | `string` | Output only. The time at which this CertificateAuthority will be permanently purged, if it is in the DELETED state. | -| | `string` | Immutable. The name of a Cloud Storage bucket where this CertificateAuthority will publish content, such as the CA certificate and CRLs. This must be a bucket name, without any prefixes (such as `gs://`) or suffixes (such as `.googleapis.com`). For example, to use a bucket named `my-bucket`, you would simply specify `my-bucket`. If not specified, a managed bucket will be created. | -| | `object` | A Cloud KMS key configuration that a CertificateAuthority will use. | -| | `object` | Optional. Labels with user-defined metadata. | -| | `string` | Required. Immutable. The desired lifetime of the CA certificate. Used to create the "not_before_time" and "not_after_time" fields inside an X.509 certificate. | -| | `array` | Output only. This CertificateAuthority's certificate chain, including the current CertificateAuthority's certificate. Ordered such that the root issuer is the final element (consistent with RFC 5246). For a self-signed CA, this will only list the current CertificateAuthority's certificate. | -| | `boolean` | Output only. Reserved for future use. | -| | `boolean` | Output only. Reserved for future use. | -| | `string` | Output only. The State for this CertificateAuthority. | -| | `object` | Describes a subordinate CA's issuers. This is either a resource name to a known issuing CertificateAuthority, or a PEM issuer certificate chain. | -| | `string` | Output only. The CaPool.Tier of the CaPool that includes this CertificateAuthority. | -| | `string` | Required. Immutable. The Type of this CertificateAuthority. | -| | `string` | Output only. The time at which this CertificateAuthority was last updated. | +| | `string` | Output only. The PEM-encoded signed certificate signing request (CSR). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Fetch a certificate signing request (CSR) from a CertificateAuthority that is in state AWAITING_USER_ACTIVATION and is of type SUBORDINATE. The CSR must then be signed by the desired parent Certificate Authority, which could be another CertificateAuthority resource, or could be an on-prem certificate authority. See also ActivateCertificateAuthority. | | | `SELECT` | | Returns a CertificateAuthority. | | | `SELECT` | | Lists CertificateAuthorities. | | | `INSERT` | | Create a new CertificateAuthority in a given Project and Location. | | | `DELETE` | | Delete a CertificateAuthority. | | | `UPDATE` | | Update a CertificateAuthority. | -| | `EXEC` | | Lists CertificateAuthorities. | | | `EXEC` | | Activate a CertificateAuthority that is in state AWAITING_USER_ACTIVATION and is of type SUBORDINATE. After the parent Certificate Authority signs a certificate signing request from FetchCertificateAuthorityCsr, this method can complete the activation process. | | | `EXEC` | | Disable a CertificateAuthority. | | | `EXEC` | | Enable a CertificateAuthority. | -| | `EXEC` | | Fetch a certificate signing request (CSR) from a CertificateAuthority that is in state AWAITING_USER_ACTIVATION and is of type SUBORDINATE. The CSR must then be signed by the desired parent Certificate Authority, which could be another CertificateAuthority resource, or could be an on-prem certificate authority. See also ActivateCertificateAuthority. | | | `EXEC` | | Undelete a CertificateAuthority that has been deleted. | + +## `SELECT` examples + +Lists CertificateAuthorities. + +```sql +SELECT +pemCsr +FROM google.privateca.certificate_authorities +WHERE caPoolsId = '{{ caPoolsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new certificate_authorities resource. + + + + +```sql +/*+ create */ +INSERT INTO google.privateca.certificate_authorities ( +caPoolsId, +locationsId, +projectsId, +name, +type, +config, +lifetime, +keySpec, +subordinateConfig, +tier, +state, +pemCaCertificates, +caCertificateDescriptions, +gcsBucket, +accessUrls, +createTime, +updateTime, +deleteTime, +expireTime, +labels, +satisfiesPzs, +satisfiesPzi +) +SELECT +'{{ caPoolsId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ type }}', +'{{ config }}', +'{{ lifetime }}', +'{{ keySpec }}', +'{{ subordinateConfig }}', +'{{ tier }}', +'{{ state }}', +'{{ pemCaCertificates }}', +'{{ caCertificateDescriptions }}', +'{{ gcsBucket }}', +'{{ accessUrls }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ deleteTime }}', +'{{ expireTime }}', +'{{ labels }}', +true|false, +true|false +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: type + value: '{{ type }}' + - name: config + value: '{{ config }}' + - name: lifetime + value: '{{ lifetime }}' + - name: keySpec + value: '{{ keySpec }}' + - name: subordinateConfig + value: '{{ subordinateConfig }}' + - name: tier + value: '{{ tier }}' + - name: state + value: '{{ state }}' + - name: pemCaCertificates + value: '{{ pemCaCertificates }}' + - name: caCertificateDescriptions + value: '{{ caCertificateDescriptions }}' + - name: gcsBucket + value: '{{ gcsBucket }}' + - name: accessUrls + value: '{{ accessUrls }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: deleteTime + value: '{{ deleteTime }}' + - name: expireTime + value: '{{ expireTime }}' + - name: labels + value: '{{ labels }}' + - name: satisfiesPzs + value: '{{ satisfiesPzs }}' + - name: satisfiesPzi + value: '{{ satisfiesPzi }}' + +``` + + + +## `UPDATE` example + +Updates a certificate_authority only if the necessary resources are available. + +```sql +UPDATE google.privateca.certificate_authorities +SET +name = '{{ name }}', +type = '{{ type }}', +config = '{{ config }}', +lifetime = '{{ lifetime }}', +keySpec = '{{ keySpec }}', +subordinateConfig = '{{ subordinateConfig }}', +tier = '{{ tier }}', +state = '{{ state }}', +pemCaCertificates = '{{ pemCaCertificates }}', +caCertificateDescriptions = '{{ caCertificateDescriptions }}', +gcsBucket = '{{ gcsBucket }}', +accessUrls = '{{ accessUrls }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +deleteTime = '{{ deleteTime }}', +expireTime = '{{ expireTime }}', +labels = '{{ labels }}', +satisfiesPzs = true|false, +satisfiesPzi = true|false +WHERE +caPoolsId = '{{ caPoolsId }}' +AND certificateAuthoritiesId = '{{ certificateAuthoritiesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified certificate_authority resource. + +```sql +DELETE FROM google.privateca.certificate_authorities +WHERE caPoolsId = '{{ caPoolsId }}' +AND certificateAuthoritiesId = '{{ certificateAuthoritiesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/privateca/certificate_revocation_lists/index.md b/docs/google-docs/providers/google/privateca/certificate_revocation_lists/index.md index f0011c5727..70ec794dda 100644 --- a/docs/google-docs/providers/google/privateca/certificate_revocation_lists/index.md +++ b/docs/google-docs/providers/google/privateca/certificate_revocation_lists/index.md @@ -1,3 +1,4 @@ + --- title: certificate_revocation_lists hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - certificate_revocation_lists - privateca - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an certificate_revocation_list resource or lists certificate_revocation_lists in a region ## Overview
@@ -40,10 +42,58 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The CRL sequence number that appears in pem_crl. | | | `string` | Output only. The State for this CertificateRevocationList. | | | `string` | Output only. The time at which this CertificateRevocationList was updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Returns a CertificateRevocationList. | | | `SELECT` | | Lists CertificateRevocationLists. | | | `UPDATE` | | Update a CertificateRevocationList. | -| | `EXEC` | | Lists CertificateRevocationLists. | + +## `SELECT` examples + +Lists CertificateRevocationLists. + +```sql +SELECT +name, +accessUrl, +createTime, +labels, +pemCrl, +revisionId, +revokedCertificates, +sequenceNumber, +state, +updateTime +FROM google.privateca.certificate_revocation_lists +WHERE caPoolsId = '{{ caPoolsId }}' +AND certificateAuthoritiesId = '{{ certificateAuthoritiesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `UPDATE` example + +Updates a certificate_revocation_list only if the necessary resources are available. + +```sql +UPDATE google.privateca.certificate_revocation_lists +SET +name = '{{ name }}', +sequenceNumber = '{{ sequenceNumber }}', +revokedCertificates = '{{ revokedCertificates }}', +pemCrl = '{{ pemCrl }}', +accessUrl = '{{ accessUrl }}', +state = '{{ state }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +revisionId = '{{ revisionId }}', +labels = '{{ labels }}' +WHERE +caPoolsId = '{{ caPoolsId }}' +AND certificateAuthoritiesId = '{{ certificateAuthoritiesId }}' +AND certificateRevocationListsId = '{{ certificateRevocationListsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/privateca/certificate_revocation_lists_iam_policies/index.md b/docs/google-docs/providers/google/privateca/certificate_revocation_lists_iam_policies/index.md index 4bee5ae7ea..fd8702541f 100644 --- a/docs/google-docs/providers/google/privateca/certificate_revocation_lists_iam_policies/index.md +++ b/docs/google-docs/providers/google/privateca/certificate_revocation_lists_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: certificate_revocation_lists_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - certificate_revocation_lists_iam_policies - privateca - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an certificate_revocation_lists_iam_policy resource or lists certificate_revocation_lists_iam_policies in a region ## Overview
@@ -30,13 +32,30 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.privateca.certificate_revocation_lists_iam_policies +WHERE caPoolsId = '{{ caPoolsId }}' +AND certificateAuthoritiesId = '{{ certificateAuthoritiesId }}' +AND certificateRevocationListsId = '{{ certificateRevocationListsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/privateca/certificate_templates/index.md b/docs/google-docs/providers/google/privateca/certificate_templates/index.md index e73e6d4825..ee0b1623ff 100644 --- a/docs/google-docs/providers/google/privateca/certificate_templates/index.md +++ b/docs/google-docs/providers/google/privateca/certificate_templates/index.md @@ -1,3 +1,4 @@ + --- title: certificate_templates hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - certificate_templates - privateca - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an certificate_template resource or lists certificate_templates in a region ## Overview
@@ -39,6 +41,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Describes a set of X.509 extensions that may be part of some certificate issuance controls. | | | `object` | An X509Parameters is used to describe certain fields of an X.509 certificate, such as the key usage fields, fields specific to CA certificates, certificate policy extensions and custom extensions. | | | `string` | Output only. The time at which this CertificateTemplate was updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -47,4 +50,128 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Create a new CertificateTemplate in a given Project and Location. | | | `DELETE` | | DeleteCertificateTemplate deletes a CertificateTemplate. | | | `UPDATE` | | Update a CertificateTemplate. | -| | `EXEC` | | Lists CertificateTemplates. | + +## `SELECT` examples + +Lists CertificateTemplates. + +```sql +SELECT +name, +description, +createTime, +identityConstraints, +labels, +maximumLifetime, +passthroughExtensions, +predefinedValues, +updateTime +FROM google.privateca.certificate_templates +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new certificate_templates resource. + + + + +```sql +/*+ create */ +INSERT INTO google.privateca.certificate_templates ( +locationsId, +projectsId, +name, +maximumLifetime, +predefinedValues, +identityConstraints, +passthroughExtensions, +description, +createTime, +updateTime, +labels +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ maximumLifetime }}', +'{{ predefinedValues }}', +'{{ identityConstraints }}', +'{{ passthroughExtensions }}', +'{{ description }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ labels }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: maximumLifetime + value: '{{ maximumLifetime }}' + - name: predefinedValues + value: '{{ predefinedValues }}' + - name: identityConstraints + value: '{{ identityConstraints }}' + - name: passthroughExtensions + value: '{{ passthroughExtensions }}' + - name: description + value: '{{ description }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: labels + value: '{{ labels }}' + +``` + + + +## `UPDATE` example + +Updates a certificate_template only if the necessary resources are available. + +```sql +UPDATE google.privateca.certificate_templates +SET +name = '{{ name }}', +maximumLifetime = '{{ maximumLifetime }}', +predefinedValues = '{{ predefinedValues }}', +identityConstraints = '{{ identityConstraints }}', +passthroughExtensions = '{{ passthroughExtensions }}', +description = '{{ description }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +labels = '{{ labels }}' +WHERE +certificateTemplatesId = '{{ certificateTemplatesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified certificate_template resource. + +```sql +DELETE FROM google.privateca.certificate_templates +WHERE certificateTemplatesId = '{{ certificateTemplatesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/privateca/certificate_templates_iam_policies/index.md b/docs/google-docs/providers/google/privateca/certificate_templates_iam_policies/index.md index 4dbba07d77..abf0c9573e 100644 --- a/docs/google-docs/providers/google/privateca/certificate_templates_iam_policies/index.md +++ b/docs/google-docs/providers/google/privateca/certificate_templates_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: certificate_templates_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - certificate_templates_iam_policies - privateca - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an certificate_templates_iam_policy resource or lists certificate_templates_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.privateca.certificate_templates_iam_policies +WHERE certificateTemplatesId = '{{ certificateTemplatesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/privateca/certificates/index.md b/docs/google-docs/providers/google/privateca/certificates/index.md index dd2d8e4ccc..f950b046b4 100644 --- a/docs/google-docs/providers/google/privateca/certificates/index.md +++ b/docs/google-docs/providers/google/privateca/certificates/index.md @@ -1,3 +1,4 @@ + --- title: certificates hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - certificates - privateca - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an certificate resource or lists certificates in a region ## Overview
@@ -44,6 +46,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Describes fields that are relavent to the revocation of a Certificate. | | | `string` | Immutable. Specifies how the Certificate's identity fields are to be decided. If this is omitted, the `DEFAULT` subject mode will be used. | | | `string` | Output only. The time at which this Certificate was updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -51,5 +54,152 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists Certificates. | | | `INSERT` | | Create a new Certificate in a given Project, Location from a particular CaPool. | | | `UPDATE` | | Update a Certificate. Currently, the only field you can update is the labels field. | -| | `EXEC` | | Lists Certificates. | | | `EXEC` | | Revoke a Certificate. | + +## `SELECT` examples + +Lists Certificates. + +```sql +SELECT +name, +certificateDescription, +certificateTemplate, +config, +createTime, +issuerCertificateAuthority, +labels, +lifetime, +pemCertificate, +pemCertificateChain, +pemCsr, +revocationDetails, +subjectMode, +updateTime +FROM google.privateca.certificates +WHERE caPoolsId = '{{ caPoolsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new certificates resource. + + + + +```sql +/*+ create */ +INSERT INTO google.privateca.certificates ( +caPoolsId, +locationsId, +projectsId, +name, +pemCsr, +config, +issuerCertificateAuthority, +lifetime, +certificateTemplate, +subjectMode, +revocationDetails, +pemCertificate, +certificateDescription, +pemCertificateChain, +createTime, +updateTime, +labels +) +SELECT +'{{ caPoolsId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ pemCsr }}', +'{{ config }}', +'{{ issuerCertificateAuthority }}', +'{{ lifetime }}', +'{{ certificateTemplate }}', +'{{ subjectMode }}', +'{{ revocationDetails }}', +'{{ pemCertificate }}', +'{{ certificateDescription }}', +'{{ pemCertificateChain }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ labels }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: pemCsr + value: '{{ pemCsr }}' + - name: config + value: '{{ config }}' + - name: issuerCertificateAuthority + value: '{{ issuerCertificateAuthority }}' + - name: lifetime + value: '{{ lifetime }}' + - name: certificateTemplate + value: '{{ certificateTemplate }}' + - name: subjectMode + value: '{{ subjectMode }}' + - name: revocationDetails + value: '{{ revocationDetails }}' + - name: pemCertificate + value: '{{ pemCertificate }}' + - name: certificateDescription + value: '{{ certificateDescription }}' + - name: pemCertificateChain + value: '{{ pemCertificateChain }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: labels + value: '{{ labels }}' + +``` + + + +## `UPDATE` example + +Updates a certificate only if the necessary resources are available. + +```sql +UPDATE google.privateca.certificates +SET +name = '{{ name }}', +pemCsr = '{{ pemCsr }}', +config = '{{ config }}', +issuerCertificateAuthority = '{{ issuerCertificateAuthority }}', +lifetime = '{{ lifetime }}', +certificateTemplate = '{{ certificateTemplate }}', +subjectMode = '{{ subjectMode }}', +revocationDetails = '{{ revocationDetails }}', +pemCertificate = '{{ pemCertificate }}', +certificateDescription = '{{ certificateDescription }}', +pemCertificateChain = '{{ pemCertificateChain }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +labels = '{{ labels }}' +WHERE +caPoolsId = '{{ caPoolsId }}' +AND certificatesId = '{{ certificatesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/privateca/index.md b/docs/google-docs/providers/google/privateca/index.md index e6aa930b3e..fc79f6bb1a 100644 --- a/docs/google-docs/providers/google/privateca/index.md +++ b/docs/google-docs/providers/google/privateca/index.md @@ -9,34 +9,23 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -The Certificate Authority Service API is a highly-available, scalable service that enables you to simplify and automate the management of private certificate authorities (CAs) while staying in control of your private keys. - +The privateca service documentation. + :::info Service Summary
total resources: 11
-total selectable resources: 10
-total methods: 54
::: -## Overview -
- - - - - -
Namegoogle.privateca
TypeService
TitleCertificate Authority API
DescriptionThe Certificate Authority Service API is a highly-available, scalable service that enables you to simplify and automate the management of private certificate authorities (CAs) while staying in control of your private keys.
Idprivateca:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/privateca/locations/index.md b/docs/google-docs/providers/google/privateca/locations/index.md index c1e35bf26a..4492d66ab6 100644 --- a/docs/google-docs/providers/google/privateca/locations/index.md +++ b/docs/google-docs/providers/google/privateca/locations/index.md @@ -1,3 +1,4 @@ + --- title: locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - locations - privateca - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an location resource or lists locations in a region ## Overview @@ -32,12 +34,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` | | | `string` | The friendly name for this location, typically a nearby city name. For example, "Tokyo". | -| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | +| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | | | `string` | The canonical id for this location. For example: `"us-east1"`. | | | `object` | Service-specific metadata. For example the available capacity at the given location. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about a location. | | | `SELECT` | | Lists information about the supported locations for this service. | -| | `EXEC` | | Lists information about the supported locations for this service. | + +## `SELECT` examples + +Lists information about the supported locations for this service. + +```sql +SELECT +name, +displayName, +labels, +locationId, +metadata +FROM google.privateca.locations +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/privateca/operations/index.md b/docs/google-docs/providers/google/privateca/operations/index.md index c762160c71..8fb49e3013 100644 --- a/docs/google-docs/providers/google/privateca/operations/index.md +++ b/docs/google-docs/providers/google/privateca/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - privateca - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview
@@ -30,16 +32,43 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.privateca.operations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified operation resource. + +```sql +DELETE FROM google.privateca.operations +WHERE locationsId = '{{ locationsId }}' +AND operationsId = '{{ operationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/prod_tt_sasportal/customer_node/index.md b/docs/google-docs/providers/google/prod_tt_sasportal/customer_node/index.md index bab143f903..eea016c483 100644 --- a/docs/google-docs/providers/google/prod_tt_sasportal/customer_node/index.md +++ b/docs/google-docs/providers/google/prod_tt_sasportal/customer_node/index.md @@ -1,3 +1,4 @@ + --- title: customer_node hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - customer_node - prod_tt_sasportal - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an customer_node resource or lists customer_node in a region ## Overview
@@ -33,7 +35,22 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Resource name. | | | `string` | The node's display name. | | | `array` | User ids used by the devices belonging to this node. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Returns a requested node. | + +## `SELECT` examples + +Returns a requested node. + +```sql +SELECT +name, +displayName, +sasUserIds +FROM google.prod_tt_sasportal.customer_node +WHERE customersId = '{{ customersId }}' +AND nodesId = '{{ nodesId }}'; +``` diff --git a/docs/google-docs/providers/google/prod_tt_sasportal/customer_nodes/index.md b/docs/google-docs/providers/google/prod_tt_sasportal/customer_nodes/index.md index e3de425df2..30b64059a7 100644 --- a/docs/google-docs/providers/google/prod_tt_sasportal/customer_nodes/index.md +++ b/docs/google-docs/providers/google/prod_tt_sasportal/customer_nodes/index.md @@ -1,3 +1,4 @@ + --- title: customer_nodes hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - customer_nodes - prod_tt_sasportal - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an customer_node resource or lists customer_nodes in a region ## Overview
@@ -33,6 +35,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Resource name. | | | `string` | The node's display name. | | | `array` | User ids used by the devices belonging to this node. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -41,5 +44,72 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new node. | | | `INSERT` | | Creates a new node. | | | `DELETE` | | Deletes a node. | -| | `EXEC` | | Lists nodes. | -| | `EXEC` | | Lists nodes. | + +## `SELECT` examples + +Lists nodes. + +```sql +SELECT +name, +displayName, +sasUserIds +FROM google.prod_tt_sasportal.customer_nodes +WHERE customersId = '{{ customersId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new customer_nodes resource. + + + + +```sql +/*+ create */ +INSERT INTO google.prod_tt_sasportal.customer_nodes ( +customersId, +name, +sasUserIds, +displayName +) +SELECT +'{{ customersId }}', +'{{ name }}', +'{{ sasUserIds }}', +'{{ displayName }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: sasUserIds + value: '{{ sasUserIds }}' + - name: displayName + value: '{{ displayName }}' + +``` + + + +## `DELETE` example + +Deletes the specified customer_node resource. + +```sql +DELETE FROM google.prod_tt_sasportal.customer_nodes +WHERE customersId = '{{ customersId }}' +AND nodesId = '{{ nodesId }}'; +``` diff --git a/docs/google-docs/providers/google/prod_tt_sasportal/customers/index.md b/docs/google-docs/providers/google/prod_tt_sasportal/customers/index.md index cb396ffbf5..405ab19471 100644 --- a/docs/google-docs/providers/google/prod_tt_sasportal/customers/index.md +++ b/docs/google-docs/providers/google/prod_tt_sasportal/customers/index.md @@ -1,3 +1,4 @@ + --- title: customers hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - customers - prod_tt_sasportal - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an customer resource or lists customers in a region ## Overview
@@ -33,13 +35,40 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Resource name of the customer. | | | `string` | Required. Name of the organization that the customer entity represents. | | | `array` | User IDs used by the devices belonging to this customer. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Returns a requested customer. | -| | `SELECT` | | Returns a list of requested customers. | +| | `SELECT` | | Returns a list of requested customers. | | | `UPDATE` | | Updates an existing customer. | -| | `EXEC` | | Returns a list of requested customers. | -| | `EXEC` | | Migrates a SAS organization to the cloud. This will create GCP projects for each deployment and associate them. The SAS Organization is linked to the gcp project that called the command. go/sas-legacy-customer-migration | -| | `EXEC` | | Creates a new SAS deployment through the GCP workflow. Creates a SAS organization if an organization match is not found. | -| | `EXEC` | | Setups the a GCP Project to receive SAS Analytics messages via GCP Pub/Sub with a subscription to BigQuery. All the Pub/Sub topics and BigQuery tables are created automatically as part of this service. | +| | `EXEC` | | Migrates a SAS organization to the cloud. This will create GCP projects for each deployment and associate them. The SAS Organization is linked to the gcp project that called the command. go/sas-legacy-customer-migration | +| | `EXEC` | | Creates a new SAS deployment through the GCP workflow. Creates a SAS organization if an organization match is not found. | +| | `EXEC` | | Setups the a GCP Project to receive SAS Analytics messages via GCP Pub/Sub with a subscription to BigQuery. All the Pub/Sub topics and BigQuery tables are created automatically as part of this service. | + +## `SELECT` examples + +Returns a list of requested customers. + +```sql +SELECT +name, +displayName, +sasUserIds +FROM google.prod_tt_sasportal.customers +WHERE = '{{ }}'; +``` + +## `UPDATE` example + +Updates a customer only if the necessary resources are available. + +```sql +UPDATE google.prod_tt_sasportal.customers +SET +name = '{{ name }}', +sasUserIds = '{{ sasUserIds }}', +displayName = '{{ displayName }}' +WHERE +customersId = '{{ customersId }}'; +``` diff --git a/docs/google-docs/providers/google/prod_tt_sasportal/customers_gcp_project_deployments/index.md b/docs/google-docs/providers/google/prod_tt_sasportal/customers_gcp_project_deployments/index.md index 913e0a8445..51be203742 100644 --- a/docs/google-docs/providers/google/prod_tt_sasportal/customers_gcp_project_deployments/index.md +++ b/docs/google-docs/providers/google/prod_tt_sasportal/customers_gcp_project_deployments/index.md @@ -1,3 +1,4 @@ + --- title: customers_gcp_project_deployments hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - customers_gcp_project_deployments - prod_tt_sasportal - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an customers_gcp_project_deployment resource or lists customers_gcp_project_deployments in a region ## Overview
@@ -28,7 +30,22 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `array` | Optional. Deployments associated with the GCP project | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Returns a list of SAS deployments associated with current GCP project. Includes whether SAS analytics has been enabled or not. | + +## `SELECT` examples + +Returns a list of SAS deployments associated with current GCP project. Includes whether SAS analytics has been enabled or not. + +```sql +SELECT +deployments +FROM google.prod_tt_sasportal.customers_gcp_project_deployments +WHERE = '{{ }}'; +``` diff --git a/docs/google-docs/providers/google/prod_tt_sasportal/customers_legacy_organizations/index.md b/docs/google-docs/providers/google/prod_tt_sasportal/customers_legacy_organizations/index.md index 155197746b..68f5b344a9 100644 --- a/docs/google-docs/providers/google/prod_tt_sasportal/customers_legacy_organizations/index.md +++ b/docs/google-docs/providers/google/prod_tt_sasportal/customers_legacy_organizations/index.md @@ -1,3 +1,4 @@ + --- title: customers_legacy_organizations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - customers_legacy_organizations - prod_tt_sasportal - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an customers_legacy_organization resource or lists customers_legacy_organizations in a region ## Overview @@ -28,7 +30,22 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `array` | Optional. Legacy SAS organizations. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Returns a list of legacy organizations. | + +## `SELECT` examples + +Returns a list of legacy organizations. + +```sql +SELECT +organizations +FROM google.prod_tt_sasportal.customers_legacy_organizations +WHERE = '{{ }}'; +``` diff --git a/docs/google-docs/providers/google/prod_tt_sasportal/deployments/index.md b/docs/google-docs/providers/google/prod_tt_sasportal/deployments/index.md index 839f70509d..86214d5252 100644 --- a/docs/google-docs/providers/google/prod_tt_sasportal/deployments/index.md +++ b/docs/google-docs/providers/google/prod_tt_sasportal/deployments/index.md @@ -1,3 +1,4 @@ + --- title: deployments hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - deployments - prod_tt_sasportal - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an deployment resource or lists deployments in a region ## Overview @@ -34,6 +36,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The deployment's display name. | | | `array` | Output only. The FCC Registration Numbers (FRNs) copied from its direct parent. | | | `array` | User ID used by the devices belonging to this deployment. Each deployment should be associated with one unique user ID. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -51,9 +54,95 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `DELETE` | | Deletes a deployment. | | | `UPDATE` | | Updates an existing deployment. | | | `UPDATE` | | Updates an existing deployment. | -| | `EXEC` | | Lists deployments. | -| | `EXEC` | | Lists deployments. | -| | `EXEC` | | Lists deployments. | -| | `EXEC` | | Lists deployments. | | | `EXEC` | | Moves a deployment under another node or customer. | | | `EXEC` | | Moves a deployment under another node or customer. | + +## `SELECT` examples + +Lists deployments. + +```sql +SELECT +name, +displayName, +frns, +sasUserIds +FROM google.prod_tt_sasportal.deployments +WHERE nodesId = '{{ nodesId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new deployments resource. + + + + +```sql +/*+ create */ +INSERT INTO google.prod_tt_sasportal.deployments ( +customersId, +sasUserIds, +displayName, +frns, +name +) +SELECT +'{{ customersId }}', +'{{ sasUserIds }}', +'{{ displayName }}', +'{{ frns }}', +'{{ name }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: sasUserIds + value: '{{ sasUserIds }}' + - name: displayName + value: '{{ displayName }}' + - name: frns + value: '{{ frns }}' + - name: name + value: '{{ name }}' + +``` + + + +## `UPDATE` example + +Updates a deployment only if the necessary resources are available. + +```sql +UPDATE google.prod_tt_sasportal.deployments +SET +sasUserIds = '{{ sasUserIds }}', +displayName = '{{ displayName }}', +frns = '{{ frns }}', +name = '{{ name }}' +WHERE +deploymentsId = '{{ deploymentsId }}' +AND nodesId = '{{ nodesId }}'; +``` + +## `DELETE` example + +Deletes the specified deployment resource. + +```sql +DELETE FROM google.prod_tt_sasportal.deployments +WHERE deploymentsId = '{{ deploymentsId }}' +AND nodesId = '{{ nodesId }}'; +``` diff --git a/docs/google-docs/providers/google/prod_tt_sasportal/devices/index.md b/docs/google-docs/providers/google/prod_tt_sasportal/devices/index.md index f7f2ec5bba..ed1b79e050 100644 --- a/docs/google-docs/providers/google/prod_tt_sasportal/devices/index.md +++ b/docs/google-docs/providers/google/prod_tt_sasportal/devices/index.md @@ -1,3 +1,4 @@ + --- title: devices hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - devices - prod_tt_sasportal - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an device resource or lists devices in a region ## Overview
@@ -41,6 +43,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Information about the device configuration. | | | `string` | A serial number assigned to the device by the device manufacturer. | | | `string` | Output only. Device state. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -65,15 +68,141 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `UPDATE` | | Updates a device. | | | `UPDATE` | | Updates a device. | | | `UPDATE` | | Updates a device. | -| | `EXEC` | | Lists devices under a node or customer. | -| | `EXEC` | | Lists devices under a node or customer. | -| | `EXEC` | | Lists devices under a node or customer. | -| | `EXEC` | | Lists devices under a node or customer. | -| | `EXEC` | | Lists devices under a node or customer. | -| | `EXEC` | | Lists devices under a node or customer. | | | `EXEC` | | Moves a device under another node or customer. | | | `EXEC` | | Signs a device. | | | `EXEC` | | Moves a device under another node or customer. | | | `EXEC` | | Signs a device. | | | `EXEC` | | Moves a device under another node or customer. | | | `EXEC` | | Signs a device. | + +## `SELECT` examples + +Lists devices under a node or customer. + +```sql +SELECT +name, +activeConfig, +currentChannels, +deviceMetadata, +displayName, +fccId, +grantRangeAllowlists, +grants, +preloadedConfig, +serialNumber, +state +FROM google.prod_tt_sasportal.devices +WHERE nodesId = '{{ nodesId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new devices resource. + + + + +```sql +/*+ create */ +INSERT INTO google.prod_tt_sasportal.devices ( +nodesId, +displayName, +currentChannels, +activeConfig, +deviceMetadata, +preloadedConfig, +state, +name, +fccId, +grants, +serialNumber, +grantRangeAllowlists +) +SELECT +'{{ nodesId }}', +'{{ displayName }}', +'{{ currentChannels }}', +'{{ activeConfig }}', +'{{ deviceMetadata }}', +'{{ preloadedConfig }}', +'{{ state }}', +'{{ name }}', +'{{ fccId }}', +'{{ grants }}', +'{{ serialNumber }}', +'{{ grantRangeAllowlists }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: displayName + value: '{{ displayName }}' + - name: currentChannels + value: '{{ currentChannels }}' + - name: activeConfig + value: '{{ activeConfig }}' + - name: deviceMetadata + value: '{{ deviceMetadata }}' + - name: preloadedConfig + value: '{{ preloadedConfig }}' + - name: state + value: '{{ state }}' + - name: name + value: '{{ name }}' + - name: fccId + value: '{{ fccId }}' + - name: grants + value: '{{ grants }}' + - name: serialNumber + value: '{{ serialNumber }}' + - name: grantRangeAllowlists + value: '{{ grantRangeAllowlists }}' + +``` + + + +## `UPDATE` example + +Updates a device only if the necessary resources are available. + +```sql +UPDATE google.prod_tt_sasportal.devices +SET +displayName = '{{ displayName }}', +currentChannels = '{{ currentChannels }}', +activeConfig = '{{ activeConfig }}', +deviceMetadata = '{{ deviceMetadata }}', +preloadedConfig = '{{ preloadedConfig }}', +state = '{{ state }}', +name = '{{ name }}', +fccId = '{{ fccId }}', +grants = '{{ grants }}', +serialNumber = '{{ serialNumber }}', +grantRangeAllowlists = '{{ grantRangeAllowlists }}' +WHERE +devicesId = '{{ devicesId }}' +AND nodesId = '{{ nodesId }}'; +``` + +## `DELETE` example + +Deletes the specified device resource. + +```sql +DELETE FROM google.prod_tt_sasportal.devices +WHERE devicesId = '{{ devicesId }}' +AND nodesId = '{{ nodesId }}'; +``` diff --git a/docs/google-docs/providers/google/prod_tt_sasportal/devices_signed/index.md b/docs/google-docs/providers/google/prod_tt_sasportal/devices_signed/index.md index 66a51c928a..b3e3eb8a17 100644 --- a/docs/google-docs/providers/google/prod_tt_sasportal/devices_signed/index.md +++ b/docs/google-docs/providers/google/prod_tt_sasportal/devices_signed/index.md @@ -1,3 +1,4 @@ + --- title: devices_signed hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - devices_signed - prod_tt_sasportal - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an devices_signed resource or lists devices_signed in a region ## Overview
@@ -28,7 +30,9 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -38,6 +42,62 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a signed device under a node or customer. | | | `INSERT` | | Creates a signed device under a node or customer. | | | `INSERT` | | Creates a signed device under a node or customer. | -| | `EXEC` | | Updates a signed device. | -| | `EXEC` | | Updates a signed device. | -| | `EXEC` | | Updates a signed device. | +| | `UPDATE` | | Updates a signed device. | +| | `UPDATE` | | Updates a signed device. | +| | `UPDATE` | | Updates a signed device. | + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new devices_signed resource. + + + + +```sql +/*+ create */ +INSERT INTO google.prod_tt_sasportal.devices_signed ( +nodesId, +encodedDevice, +installerId +) +SELECT +'{{ nodesId }}', +'{{ encodedDevice }}', +'{{ installerId }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: encodedDevice + value: '{{ encodedDevice }}' + - name: installerId + value: '{{ installerId }}' + +``` + + + +## `UPDATE` example + +Updates a devices_signed only if the necessary resources are available. + +```sql +UPDATE google.prod_tt_sasportal.devices_signed +SET +encodedDevice = '{{ encodedDevice }}', +installerId = '{{ installerId }}' +WHERE +devicesId = '{{ devicesId }}' +AND nodesId = '{{ nodesId }}'; +``` diff --git a/docs/google-docs/providers/google/prod_tt_sasportal/index.md b/docs/google-docs/providers/google/prod_tt_sasportal/index.md index 7d26f5fc8f..7d81a82664 100644 --- a/docs/google-docs/providers/google/prod_tt_sasportal/index.md +++ b/docs/google-docs/providers/google/prod_tt_sasportal/index.md @@ -9,34 +9,23 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- - - +The prod_tt_sasportal service documentation. + :::info Service Summary
total resources: 12
-total selectable resources: 9
-total methods: 97
::: -## Overview - - - - - - -
Namegoogle.prod_tt_sasportal
TypeService
TitleSAS Portal API (Testing)
Description
Idprod_tt_sasportal:v24.06.00236
- ## Resources
@@ -45,7 +34,7 @@ image: /img/providers/google/stackql-google-provider-featured-image.png customers
customers_gcp_project_deployments
customers_legacy_organizations
-deployments
+deployments
devices
@@ -53,6 +42,6 @@ image: /img/providers/google/stackql-google-provider-featured-image.png installer
node
nodes
-policies
-
+policies
+ \ No newline at end of file diff --git a/docs/google-docs/providers/google/prod_tt_sasportal/installer/index.md b/docs/google-docs/providers/google/prod_tt_sasportal/installer/index.md index daea623c18..972374fec8 100644 --- a/docs/google-docs/providers/google/prod_tt_sasportal/installer/index.md +++ b/docs/google-docs/providers/google/prod_tt_sasportal/installer/index.md @@ -1,3 +1,4 @@ + --- title: installer hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - installer - prod_tt_sasportal - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an installer resource or lists installer in a region ## Overview @@ -28,9 +30,11 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| -| | `EXEC` | | Generates a secret to be used with the ValidateInstaller. | -| | `EXEC` | | Validates the identity of a Certified Professional Installer (CPI). | +| | `EXEC` | | Generates a secret to be used with the ValidateInstaller. | +| | `EXEC` | | Validates the identity of a Certified Professional Installer (CPI). | diff --git a/docs/google-docs/providers/google/prod_tt_sasportal/node/index.md b/docs/google-docs/providers/google/prod_tt_sasportal/node/index.md index dcae3b4eec..5731e16f62 100644 --- a/docs/google-docs/providers/google/prod_tt_sasportal/node/index.md +++ b/docs/google-docs/providers/google/prod_tt_sasportal/node/index.md @@ -1,3 +1,4 @@ + --- title: node hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - node - prod_tt_sasportal - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an node resource or lists node in a region ## Overview @@ -33,8 +35,22 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Resource name. | | | `string` | The node's display name. | | | `array` | User ids used by the devices belonging to this node. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Returns a requested node. | +| | `SELECT` | | Returns a requested node. | + +## `SELECT` examples + +Returns a requested node. + +```sql +SELECT +name, +displayName, +sasUserIds +FROM google.prod_tt_sasportal.node +WHERE nodesId = '{{ nodesId }}'; +``` diff --git a/docs/google-docs/providers/google/prod_tt_sasportal/nodes/index.md b/docs/google-docs/providers/google/prod_tt_sasportal/nodes/index.md index 953ccbc1ea..44ea164eec 100644 --- a/docs/google-docs/providers/google/prod_tt_sasportal/nodes/index.md +++ b/docs/google-docs/providers/google/prod_tt_sasportal/nodes/index.md @@ -1,3 +1,4 @@ + --- title: nodes hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - nodes - prod_tt_sasportal - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an node resource or lists nodes in a region ## Overview
@@ -33,6 +35,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Resource name. | | | `string` | The node's display name. | | | `array` | User ids used by the devices belonging to this node. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -43,7 +46,89 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `DELETE` | | Deletes a node. | | | `UPDATE` | | Updates an existing node. | | | `UPDATE` | | Updates an existing node. | -| | `EXEC` | | Lists nodes. | -| | `EXEC` | | Lists nodes. | | | `EXEC` | | Moves a node under another node or customer. | | | `EXEC` | | Moves a node under another node or customer. | + +## `SELECT` examples + +Lists nodes. + +```sql +SELECT +name, +displayName, +sasUserIds +FROM google.prod_tt_sasportal.nodes +WHERE nodesId = '{{ nodesId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new nodes resource. + + + + +```sql +/*+ create */ +INSERT INTO google.prod_tt_sasportal.nodes ( +nodesId, +name, +sasUserIds, +displayName +) +SELECT +'{{ nodesId }}', +'{{ name }}', +'{{ sasUserIds }}', +'{{ displayName }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: sasUserIds + value: '{{ sasUserIds }}' + - name: displayName + value: '{{ displayName }}' + +``` + + + +## `UPDATE` example + +Updates a node only if the necessary resources are available. + +```sql +UPDATE google.prod_tt_sasportal.nodes +SET +name = '{{ name }}', +sasUserIds = '{{ sasUserIds }}', +displayName = '{{ displayName }}' +WHERE +nodesId = '{{ nodesId }}' +AND nodesId1 = '{{ nodesId1 }}'; +``` + +## `DELETE` example + +Deletes the specified node resource. + +```sql +DELETE FROM google.prod_tt_sasportal.nodes +WHERE nodesId = '{{ nodesId }}' +AND nodesId1 = '{{ nodesId1 }}'; +``` diff --git a/docs/google-docs/providers/google/prod_tt_sasportal/policies/index.md b/docs/google-docs/providers/google/prod_tt_sasportal/policies/index.md index 22fbddd1a5..3b95eb9cb4 100644 --- a/docs/google-docs/providers/google/prod_tt_sasportal/policies/index.md +++ b/docs/google-docs/providers/google/prod_tt_sasportal/policies/index.md @@ -1,3 +1,4 @@ + --- title: policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - policies - prod_tt_sasportal - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an policy resource or lists policies in a region ## Overview
@@ -28,10 +30,26 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `array` | List of assignments | +| | `string` | The etag is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the etag in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An etag is returned in the response to GetPolicy, and systems are expected to put that etag in the request to SetPolicy to ensure that their change will be applied to the same version of the policy. If no etag is provided in the call to GetPolicy, then the existing policy is overwritten blindly. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. | -| | `EXEC` | | Returns permissions that a caller has on the specified resource. | +| | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | +| | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. | +| | `EXEC` | | Returns permissions that a caller has on the specified resource. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +assignments, +etag +FROM google.prod_tt_sasportal.policies +WHERE = '{{ }}'; +``` diff --git a/docs/google-docs/providers/google/publicca/external_account_keys/index.md b/docs/google-docs/providers/google/publicca/external_account_keys/index.md index 6996cc834b..473a248525 100644 --- a/docs/google-docs/providers/google/publicca/external_account_keys/index.md +++ b/docs/google-docs/providers/google/publicca/external_account_keys/index.md @@ -1,3 +1,4 @@ + --- title: external_account_keys hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - external_account_keys - publicca - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an external_account_key resource or lists external_account_keys in a region ## Overview @@ -28,8 +30,58 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `INSERT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `INSERT` | | Creates a new ExternalAccountKey bound to the project. | + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new external_account_keys resource. + + + + +```sql +/*+ create */ +INSERT INTO google.publicca.external_account_keys ( +locationsId, +projectsId, +name, +keyId, +b64MacKey +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ keyId }}', +'{{ b64MacKey }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: keyId + value: '{{ keyId }}' + - name: b64MacKey + value: '{{ b64MacKey }}' + +``` + + diff --git a/docs/google-docs/providers/google/publicca/index.md b/docs/google-docs/providers/google/publicca/index.md index 24b06eb60d..d2b847dd19 100644 --- a/docs/google-docs/providers/google/publicca/index.md +++ b/docs/google-docs/providers/google/publicca/index.md @@ -9,39 +9,29 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -The Public Certificate Authority API may be used to create and manage ACME external account binding keys associated with Google Trust Services' publicly trusted certificate authority. - +The publicca service documentation. + :::info Service Summary
total resources: 1
-total selectable resources: 0
-total methods: 1
::: -## Overview - - - - - - -
Namegoogle.publicca
TypeService
TitlePublic Certificate Authority API
DescriptionThe Public Certificate Authority API may be used to create and manage ACME external account binding keys associated with Google Trust Services' publicly trusted certificate authority.
Idpublicca:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/pubsub/index.md b/docs/google-docs/providers/google/pubsub/index.md index 5ea316bf5c..b991321d8b 100644 --- a/docs/google-docs/providers/google/pubsub/index.md +++ b/docs/google-docs/providers/google/pubsub/index.md @@ -9,34 +9,23 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Provides reliable, many-to-many, asynchronous messaging between applications. - +The pubsub service documentation. + :::info Service Summary
total resources: 10
-total selectable resources: 9
-total methods: 57
::: -## Overview - - - - - - -
Namegoogle.pubsub
TypeService
TitleCloud Pub/Sub API
DescriptionProvides reliable, many-to-many, asynchronous messaging between applications.
Idpubsub:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/pubsub/schemas/index.md b/docs/google-docs/providers/google/pubsub/schemas/index.md index 618194d95c..17f5ae79b4 100644 --- a/docs/google-docs/providers/google/pubsub/schemas/index.md +++ b/docs/google-docs/providers/google/pubsub/schemas/index.md @@ -1,3 +1,4 @@ + --- title: schemas hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - schemas - pubsub - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an schema resource or lists schemas in a region ## Overview @@ -30,11 +32,12 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Required. Name of the schema. Format is `projects/{project}/schemas/{schema}`. | +| | `string` | Required. Name of the schema. Format is `projects/{project}/schemas/{schema}`. | | | `string` | The definition of the schema. This should contain a string representing the full definition of the schema that is a valid schema definition of the type specified in `type`. | | | `string` | Output only. The timestamp that the revision was created. | | | `string` | Output only. Immutable. The revision ID of the schema. | | | `string` | The type of the schema definition. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -42,8 +45,86 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists schemas in a project. | | | `INSERT` | | Creates a schema. | | | `DELETE` | | Deletes a schema. | -| | `EXEC` | | Lists schemas in a project. | | | `EXEC` | | Commits a new schema revision to an existing schema. | | | `EXEC` | | Creates a new schema revision that is a copy of the provided revision_id. | | | `EXEC` | | Validates a schema. | | | `EXEC` | | Validates a message against a schema. | + +## `SELECT` examples + +Lists schemas in a project. + +```sql +SELECT +name, +definition, +revisionCreateTime, +revisionId, +type +FROM google.pubsub.schemas +WHERE projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new schemas resource. + + + + +```sql +/*+ create */ +INSERT INTO google.pubsub.schemas ( +projectsId, +name, +type, +definition, +revisionId, +revisionCreateTime +) +SELECT +'{{ projectsId }}', +'{{ name }}', +'{{ type }}', +'{{ definition }}', +'{{ revisionId }}', +'{{ revisionCreateTime }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: type + value: '{{ type }}' + - name: definition + value: '{{ definition }}' + - name: revisionId + value: '{{ revisionId }}' + - name: revisionCreateTime + value: '{{ revisionCreateTime }}' + +``` + + + +## `DELETE` example + +Deletes the specified schema resource. + +```sql +DELETE FROM google.pubsub.schemas +WHERE projectsId = '{{ projectsId }}' +AND schemasId = '{{ schemasId }}'; +``` diff --git a/docs/google-docs/providers/google/pubsub/schemas_iam_policies/index.md b/docs/google-docs/providers/google/pubsub/schemas_iam_policies/index.md index bc77b457c3..a7e795aff3 100644 --- a/docs/google-docs/providers/google/pubsub/schemas_iam_policies/index.md +++ b/docs/google-docs/providers/google/pubsub/schemas_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: schemas_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - schemas_iam_policies - pubsub - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an schemas_iam_policy resource or lists schemas_iam_policies in a region ## Overview
@@ -30,13 +32,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.pubsub.schemas_iam_policies +WHERE projectsId = '{{ projectsId }}' +AND schemasId = '{{ schemasId }}'; +``` diff --git a/docs/google-docs/providers/google/pubsub/schemas_revision/index.md b/docs/google-docs/providers/google/pubsub/schemas_revision/index.md index ea200ff7e0..7ccf953ab6 100644 --- a/docs/google-docs/providers/google/pubsub/schemas_revision/index.md +++ b/docs/google-docs/providers/google/pubsub/schemas_revision/index.md @@ -1,3 +1,4 @@ + --- title: schemas_revision hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - schemas_revision - pubsub - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an schemas_revision resource or lists schemas_revision in a region ## Overview
@@ -28,8 +30,20 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `DELETE` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `DELETE` | | Deletes a specific schema revision. | + +## `DELETE` example + +Deletes the specified schemas_revision resource. + +```sql +DELETE FROM google.pubsub.schemas_revision +WHERE projectsId = '{{ projectsId }}' +AND schemasId = '{{ schemasId }}'; +``` diff --git a/docs/google-docs/providers/google/pubsub/schemas_revisions/index.md b/docs/google-docs/providers/google/pubsub/schemas_revisions/index.md index ca027297c7..2e586924c1 100644 --- a/docs/google-docs/providers/google/pubsub/schemas_revisions/index.md +++ b/docs/google-docs/providers/google/pubsub/schemas_revisions/index.md @@ -1,3 +1,4 @@ + --- title: schemas_revisions hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - schemas_revisions - pubsub - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an schemas_revision resource or lists schemas_revisions in a region ## Overview @@ -30,13 +32,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Required. Name of the schema. Format is `projects/{project}/schemas/{schema}`. | +| | `string` | Required. Name of the schema. Format is `projects/{project}/schemas/{schema}`. | | | `string` | The definition of the schema. This should contain a string representing the full definition of the schema that is a valid schema definition of the type specified in `type`. | | | `string` | Output only. The timestamp that the revision was created. | | | `string` | Output only. Immutable. The revision ID of the schema. | | | `string` | The type of the schema definition. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists all schema revisions for the named schema. | + +## `SELECT` examples + +Lists all schema revisions for the named schema. + +```sql +SELECT +name, +definition, +revisionCreateTime, +revisionId, +type +FROM google.pubsub.schemas_revisions +WHERE projectsId = '{{ projectsId }}' +AND schemasId = '{{ schemasId }}'; +``` diff --git a/docs/google-docs/providers/google/pubsub/snapshots/index.md b/docs/google-docs/providers/google/pubsub/snapshots/index.md index af6d4ce704..c32fca57c2 100644 --- a/docs/google-docs/providers/google/pubsub/snapshots/index.md +++ b/docs/google-docs/providers/google/pubsub/snapshots/index.md @@ -1,3 +1,4 @@ + --- title: snapshots hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - snapshots - pubsub - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an snapshot resource or lists snapshots in a region ## Overview
@@ -28,6 +30,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -36,6 +42,39 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists the names of the snapshots on this topic. Snapshots are used in [Seek](https://cloud.google.com/pubsub/docs/replay-overview) operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot. | | | `DELETE` | | Removes an existing snapshot. Snapshots are used in [Seek] (https://cloud.google.com/pubsub/docs/replay-overview) operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot. When the snapshot is deleted, all messages retained in the snapshot are immediately dropped. After a snapshot is deleted, a new one may be created with the same name, but the new one has no association with the old snapshot or its subscription, unless the same subscription is specified. | | | `UPDATE` | | Updates an existing snapshot by updating the fields specified in the update mask. Snapshots are used in [Seek](https://cloud.google.com/pubsub/docs/replay-overview) operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot. | -| | `EXEC` | | Lists the existing snapshots. Snapshots are used in [Seek]( https://cloud.google.com/pubsub/docs/replay-overview) operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot. | -| | `EXEC` | | Lists the names of the snapshots on this topic. Snapshots are used in [Seek](https://cloud.google.com/pubsub/docs/replay-overview) operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot. | | | `EXEC` | | Creates a snapshot from the requested subscription. Snapshots are used in [Seek](https://cloud.google.com/pubsub/docs/replay-overview) operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot. If the snapshot already exists, returns `ALREADY_EXISTS`. If the requested subscription doesn't exist, returns `NOT_FOUND`. If the backlog in the subscription is too old -- and the resulting snapshot would expire in less than 1 hour -- then `FAILED_PRECONDITION` is returned. See also the `Snapshot.expire_time` field. If the name is not provided in the request, the server will assign a random name for this snapshot on the same project as the subscription, conforming to the [resource name format] (https://cloud.google.com/pubsub/docs/pubsub-basics#resource_names). The generated name is populated in the returned Snapshot object. Note that for REST API requests, you must specify a name in the request. | + +## `SELECT` examples + +Lists the existing snapshots. Snapshots are used in [Seek]( https://cloud.google.com/pubsub/docs/replay-overview) operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot. + +```sql +SELECT +column_anon +FROM google.pubsub.snapshots +WHERE projectsId = '{{ projectsId }}'; +``` + +## `UPDATE` example + +Updates a snapshot only if the necessary resources are available. + +```sql +UPDATE google.pubsub.snapshots +SET +snapshot = '{{ snapshot }}', +updateMask = '{{ updateMask }}' +WHERE +projectsId = '{{ projectsId }}' +AND snapshotsId = '{{ snapshotsId }}'; +``` + +## `DELETE` example + +Deletes the specified snapshot resource. + +```sql +DELETE FROM google.pubsub.snapshots +WHERE projectsId = '{{ projectsId }}' +AND snapshotsId = '{{ snapshotsId }}'; +``` diff --git a/docs/google-docs/providers/google/pubsub/snapshots_iam_policies/index.md b/docs/google-docs/providers/google/pubsub/snapshots_iam_policies/index.md index ee5fe5e899..16299227b8 100644 --- a/docs/google-docs/providers/google/pubsub/snapshots_iam_policies/index.md +++ b/docs/google-docs/providers/google/pubsub/snapshots_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: snapshots_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - snapshots_iam_policies - pubsub - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an snapshots_iam_policy resource or lists snapshots_iam_policies in a region ## Overview @@ -30,13 +32,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.pubsub.snapshots_iam_policies +WHERE projectsId = '{{ projectsId }}' +AND snapshotsId = '{{ snapshotsId }}'; +``` diff --git a/docs/google-docs/providers/google/pubsub/subscriptions/index.md b/docs/google-docs/providers/google/pubsub/subscriptions/index.md index 43ac24f393..9c6e09a159 100644 --- a/docs/google-docs/providers/google/pubsub/subscriptions/index.md +++ b/docs/google-docs/providers/google/pubsub/subscriptions/index.md @@ -1,3 +1,4 @@ + --- title: subscriptions hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - subscriptions - pubsub - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an subscription resource or lists subscriptions in a region ## Overview
@@ -28,6 +30,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -36,8 +42,6 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists the names of the attached subscriptions on this topic. | | | `DELETE` | | Deletes an existing subscription. All messages retained in the subscription are immediately dropped. Calls to `Pull` after deletion will return `NOT_FOUND`. After a subscription is deleted, a new one may be created with the same name, but the new one has no association with the old subscription or its topic unless the same topic is specified. | | | `UPDATE` | | Updates an existing subscription by updating the fields specified in the update mask. Note that certain properties of a subscription, such as its topic, are not modifiable. | -| | `EXEC` | | Lists matching subscriptions. | -| | `EXEC` | | Lists the names of the attached subscriptions on this topic. | | | `EXEC` | | Acknowledges the messages associated with the `ack_ids` in the `AcknowledgeRequest`. The Pub/Sub system can remove the relevant messages from the subscription. Acknowledging a message whose ack deadline has expired may succeed, but such a message may be redelivered later. Acknowledging a message more than once will not result in an error. | | | `EXEC` | | Creates a subscription to a given topic. See the [resource name rules] (https://cloud.google.com/pubsub/docs/pubsub-basics#resource_names). If the subscription already exists, returns `ALREADY_EXISTS`. If the corresponding topic doesn't exist, returns `NOT_FOUND`. If the name is not provided in the request, the server will assign a random name for this subscription on the same project as the topic, conforming to the [resource name format] (https://cloud.google.com/pubsub/docs/pubsub-basics#resource_names). The generated name is populated in the returned Subscription object. Note that for REST API requests, you must specify a name in the request. | | | `EXEC` | | Detaches a subscription from this topic. All messages retained in the subscription are dropped. Subsequent `Pull` and `StreamingPull` requests will return FAILED_PRECONDITION. If the subscription is a push subscription, pushes to the endpoint will stop. | @@ -45,3 +49,38 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `EXEC` | | Modifies the `PushConfig` for a specified subscription. This may be used to change a push subscription to a pull one (signified by an empty `PushConfig`) or vice versa, or change the endpoint URL and other attributes of a push subscription. Messages will accumulate for delivery continuously through the call regardless of changes to the `PushConfig`. | | | `EXEC` | | Pulls messages from the server. | | | `EXEC` | | Seeks an existing subscription to a point in time or to a given snapshot, whichever is provided in the request. Snapshots are used in [Seek] (https://cloud.google.com/pubsub/docs/replay-overview) operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot. Note that both the subscription and the snapshot must be on the same topic. | + +## `SELECT` examples + +Lists matching subscriptions. + +```sql +SELECT +column_anon +FROM google.pubsub.subscriptions +WHERE projectsId = '{{ projectsId }}'; +``` + +## `UPDATE` example + +Updates a subscription only if the necessary resources are available. + +```sql +UPDATE google.pubsub.subscriptions +SET +subscription = '{{ subscription }}', +updateMask = '{{ updateMask }}' +WHERE +projectsId = '{{ projectsId }}' +AND subscriptionsId = '{{ subscriptionsId }}'; +``` + +## `DELETE` example + +Deletes the specified subscription resource. + +```sql +DELETE FROM google.pubsub.subscriptions +WHERE projectsId = '{{ projectsId }}' +AND subscriptionsId = '{{ subscriptionsId }}'; +``` diff --git a/docs/google-docs/providers/google/pubsub/subscriptions_iam_policies/index.md b/docs/google-docs/providers/google/pubsub/subscriptions_iam_policies/index.md index 81a94e155a..8f51704e65 100644 --- a/docs/google-docs/providers/google/pubsub/subscriptions_iam_policies/index.md +++ b/docs/google-docs/providers/google/pubsub/subscriptions_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: subscriptions_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - subscriptions_iam_policies - pubsub - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an subscriptions_iam_policy resource or lists subscriptions_iam_policies in a region ## Overview @@ -30,13 +32,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.pubsub.subscriptions_iam_policies +WHERE projectsId = '{{ projectsId }}' +AND subscriptionsId = '{{ subscriptionsId }}'; +``` diff --git a/docs/google-docs/providers/google/pubsub/topics/index.md b/docs/google-docs/providers/google/pubsub/topics/index.md index bcc7254b21..67940da314 100644 --- a/docs/google-docs/providers/google/pubsub/topics/index.md +++ b/docs/google-docs/providers/google/pubsub/topics/index.md @@ -1,3 +1,4 @@ + --- title: topics hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - topics - pubsub - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an topic resource or lists topics in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Required. The name of the topic. It must have the format `"projects/{project}/topics/{topic}"`. `{topic}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `"goog"`. | +| | `string` | Required. The name of the topic. It must have the format `"projects/{project}/topics/{topic}"`. `{topic}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `"goog"`. | | | `object` | Settings for an ingestion data source on a topic. | | | `string` | Optional. The resource name of the Cloud KMS CryptoKey to be used to protect access to messages published on this topic. The expected format is `projects/*/locations/*/keyRings/*/cryptoKeys/*`. | | | `object` | Optional. See [Creating and managing labels] (https://cloud.google.com/pubsub/docs/labels). | @@ -39,6 +41,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `boolean` | Optional. Reserved for future use. This field is set only in responses from the server; it is ignored if it is set in any requests. | | | `object` | Settings for validating messages published against a schema. | | | `string` | Output only. An output-only field indicating the state of the topic. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -46,6 +49,48 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists matching topics. | | | `DELETE` | | Deletes the topic with the given name. Returns `NOT_FOUND` if the topic does not exist. After a topic is deleted, a new topic may be created with the same name; this is an entirely new topic with none of the old configuration or subscriptions. Existing subscriptions to this topic are not deleted, but their `topic` field is set to `_deleted-topic_`. | | | `UPDATE` | | Updates an existing topic by updating the fields specified in the update mask. Note that certain properties of a topic are not modifiable. | -| | `EXEC` | | Lists matching topics. | | | `EXEC` | | Creates the given topic with the given name. See the [resource name rules] (https://cloud.google.com/pubsub/docs/pubsub-basics#resource_names). | | | `EXEC` | | Adds one or more messages to the topic. Returns `NOT_FOUND` if the topic does not exist. | + +## `SELECT` examples + +Lists matching topics. + +```sql +SELECT +name, +ingestionDataSourceSettings, +kmsKeyName, +labels, +messageRetentionDuration, +messageStoragePolicy, +satisfiesPzs, +schemaSettings, +state +FROM google.pubsub.topics +WHERE projectsId = '{{ projectsId }}'; +``` + +## `UPDATE` example + +Updates a topic only if the necessary resources are available. + +```sql +UPDATE google.pubsub.topics +SET +topic = '{{ topic }}', +updateMask = '{{ updateMask }}' +WHERE +projectsId = '{{ projectsId }}' +AND topicsId = '{{ topicsId }}'; +``` + +## `DELETE` example + +Deletes the specified topic resource. + +```sql +DELETE FROM google.pubsub.topics +WHERE projectsId = '{{ projectsId }}' +AND topicsId = '{{ topicsId }}'; +``` diff --git a/docs/google-docs/providers/google/pubsub/topics_iam_policies/index.md b/docs/google-docs/providers/google/pubsub/topics_iam_policies/index.md index 90fb1bc285..0a4c7077c6 100644 --- a/docs/google-docs/providers/google/pubsub/topics_iam_policies/index.md +++ b/docs/google-docs/providers/google/pubsub/topics_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: topics_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - topics_iam_policies - pubsub - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an topics_iam_policy resource or lists topics_iam_policies in a region ## Overview
@@ -30,13 +32,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.pubsub.topics_iam_policies +WHERE projectsId = '{{ projectsId }}' +AND topicsId = '{{ topicsId }}'; +``` diff --git a/docs/google-docs/providers/google/pubsublite/cursors/index.md b/docs/google-docs/providers/google/pubsublite/cursors/index.md index cd27785c5d..650e8eb176 100644 --- a/docs/google-docs/providers/google/pubsublite/cursors/index.md +++ b/docs/google-docs/providers/google/pubsublite/cursors/index.md @@ -1,3 +1,4 @@ + --- title: cursors hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - cursors - pubsublite - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an cursor resource or lists cursors in a region ## Overview
@@ -32,8 +34,22 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `object` | A cursor that describes the position of a message within a topic partition. | | | `string` | The partition this is for. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Returns all committed cursor information for a subscription. | + +## `SELECT` examples + +Returns all committed cursor information for a subscription. + +```sql +SELECT +cursor, +partition +FROM google.pubsublite.cursors +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND subscriptionsId = '{{ subscriptionsId }}'; +``` diff --git a/docs/google-docs/providers/google/pubsublite/index.md b/docs/google-docs/providers/google/pubsublite/index.md index aa316841f6..cca82874a0 100644 --- a/docs/google-docs/providers/google/pubsublite/index.md +++ b/docs/google-docs/providers/google/pubsublite/index.md @@ -9,44 +9,33 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- - - +The pubsublite service documentation. + :::info Service Summary
total resources: 6
-total selectable resources: 6
-total methods: 35
::: -## Overview -
- - - - - -
Namegoogle.pubsublite
TypeService
TitlePub/Sub Lite API
Description
Idpubsublite:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/pubsublite/operations/index.md b/docs/google-docs/providers/google/pubsublite/operations/index.md index 2674aeb066..d3ffe2f9cc 100644 --- a/docs/google-docs/providers/google/pubsublite/operations/index.md +++ b/docs/google-docs/providers/google/pubsublite/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - pubsublite - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview @@ -30,16 +32,43 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.pubsublite.operations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified operation resource. + +```sql +DELETE FROM google.pubsublite.operations +WHERE locationsId = '{{ locationsId }}' +AND operationsId = '{{ operationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/pubsublite/reservations/index.md b/docs/google-docs/providers/google/pubsublite/reservations/index.md index 5d22a12ea1..e395c4e604 100644 --- a/docs/google-docs/providers/google/pubsublite/reservations/index.md +++ b/docs/google-docs/providers/google/pubsublite/reservations/index.md @@ -1,3 +1,4 @@ + --- title: reservations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - reservations - pubsublite - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an reservation resource or lists reservations in a region ## Overview
@@ -30,8 +32,9 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The name of the reservation. Structured like: projects/{project_number}/locations/{location}/reservations/{reservation_id} | +| | `string` | The name of the reservation. Structured like: projects/{project_number}/locations/{location}/reservations/{reservation_id} | | | `string` | The reserved throughput capacity. Every unit of throughput capacity is equivalent to 1 MiB/s of published messages or 2 MiB/s of subscribed messages. Any topics which are declared as using capacity from a Reservation will consume resources from this reservation instead of being charged individually. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -40,4 +43,86 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new reservation. | | | `DELETE` | | Deletes the specified reservation. | | | `UPDATE` | | Updates properties of the specified reservation. | -| | `EXEC` | | Returns the list of reservations for the given project. | + +## `SELECT` examples + +Returns the list of reservations for the given project. + +```sql +SELECT +name, +throughputCapacity +FROM google.pubsublite.reservations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new reservations resource. + + + + +```sql +/*+ create */ +INSERT INTO google.pubsublite.reservations ( +locationsId, +projectsId, +name, +throughputCapacity +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ throughputCapacity }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: throughputCapacity + value: '{{ throughputCapacity }}' + +``` + + + +## `UPDATE` example + +Updates a reservation only if the necessary resources are available. + +```sql +UPDATE google.pubsublite.reservations +SET +name = '{{ name }}', +throughputCapacity = '{{ throughputCapacity }}' +WHERE +locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND reservationsId = '{{ reservationsId }}'; +``` + +## `DELETE` example + +Deletes the specified reservation resource. + +```sql +DELETE FROM google.pubsublite.reservations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND reservationsId = '{{ reservationsId }}'; +``` diff --git a/docs/google-docs/providers/google/pubsublite/subscriptions/index.md b/docs/google-docs/providers/google/pubsublite/subscriptions/index.md index 78b2ca0184..dc50cd2c47 100644 --- a/docs/google-docs/providers/google/pubsublite/subscriptions/index.md +++ b/docs/google-docs/providers/google/pubsublite/subscriptions/index.md @@ -1,3 +1,4 @@ + --- title: subscriptions hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - subscriptions - pubsublite - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an subscription resource or lists subscriptions in a region ## Overview
@@ -28,6 +30,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -37,7 +43,97 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new subscription. | | | `DELETE` | | Deletes the specified subscription. | | | `UPDATE` | | Updates properties of the specified subscription. | -| | `EXEC` | | Returns the list of subscriptions for the given project. | -| | `EXEC` | | Lists the subscriptions attached to the specified topic. | | | `EXEC` | | Performs an out-of-band seek for a subscription to a specified target, which may be timestamps or named positions within the message backlog. Seek translates these targets to cursors for each partition and orchestrates subscribers to start consuming messages from these seek cursors. If an operation is returned, the seek has been registered and subscribers will eventually receive messages from the seek cursors (i.e. eventual consistency), as long as they are using a minimum supported client library version and not a system that tracks cursors independently of Pub/Sub Lite (e.g. Apache Beam, Dataflow, Spark). The seek operation will fail for unsupported clients. If clients would like to know when subscribers react to the seek (or not), they can poll the operation. The seek operation will succeed and complete once subscribers are ready to receive messages from the seek cursors for all partitions of the topic. This means that the seek operation will not complete until all subscribers come online. If the previous seek operation has not yet completed, it will be aborted and the new invocation of seek will supersede it. | | | `EXEC` | | Updates the committed cursor. | + +## `SELECT` examples + +Returns the list of subscriptions for the given project. + +```sql +SELECT +column_anon +FROM google.pubsublite.subscriptions +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new subscriptions resource. + + + + +```sql +/*+ create */ +INSERT INTO google.pubsublite.subscriptions ( +locationsId, +projectsId, +name, +topic, +deliveryConfig, +exportConfig +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ topic }}', +'{{ deliveryConfig }}', +'{{ exportConfig }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: topic + value: '{{ topic }}' + - name: deliveryConfig + value: '{{ deliveryConfig }}' + - name: exportConfig + value: '{{ exportConfig }}' + +``` + + + +## `UPDATE` example + +Updates a subscription only if the necessary resources are available. + +```sql +UPDATE google.pubsublite.subscriptions +SET +name = '{{ name }}', +topic = '{{ topic }}', +deliveryConfig = '{{ deliveryConfig }}', +exportConfig = '{{ exportConfig }}' +WHERE +locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND subscriptionsId = '{{ subscriptionsId }}'; +``` + +## `DELETE` example + +Deletes the specified subscription resource. + +```sql +DELETE FROM google.pubsublite.subscriptions +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND subscriptionsId = '{{ subscriptionsId }}'; +``` diff --git a/docs/google-docs/providers/google/pubsublite/topics/index.md b/docs/google-docs/providers/google/pubsublite/topics/index.md index 61e9a5ec9a..80a09d0ca6 100644 --- a/docs/google-docs/providers/google/pubsublite/topics/index.md +++ b/docs/google-docs/providers/google/pubsublite/topics/index.md @@ -1,3 +1,4 @@ + --- title: topics hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - topics - pubsublite - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an topic resource or lists topics in a region ## Overview @@ -30,10 +32,11 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The name of the topic. Structured like: projects/{project_number}/locations/{location}/topics/{topic_id} | +| | `string` | The name of the topic. Structured like: projects/{project_number}/locations/{location}/topics/{topic_id} | | | `object` | The settings for a topic's partitions. | | | `object` | The settings for this topic's Reservation usage. | | | `object` | The settings for a topic's message retention. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -43,8 +46,101 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new topic. | | | `DELETE` | | Deletes the specified topic. | | | `UPDATE` | | Updates properties of the specified topic. | -| | `EXEC` | | Lists the topics attached to the specified reservation. | -| | `EXEC` | | Returns the list of topics for the given project. | | | `EXEC` | | Compute the head cursor for the partition. The head cursor's offset is guaranteed to be less than or equal to all messages which have not yet been acknowledged as published, and greater than the offset of any message whose publish has already been acknowledged. It is zero if there have never been messages in the partition. | | | `EXEC` | | Compute statistics about a range of messages in a given topic and partition. | | | `EXEC` | | Compute the corresponding cursor for a publish or event time in a topic partition. | + +## `SELECT` examples + +Returns the list of topics for the given project. + +```sql +SELECT +name, +partitionConfig, +reservationConfig, +retentionConfig +FROM google.pubsublite.topics +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new topics resource. + + + + +```sql +/*+ create */ +INSERT INTO google.pubsublite.topics ( +locationsId, +projectsId, +name, +partitionConfig, +retentionConfig, +reservationConfig +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ partitionConfig }}', +'{{ retentionConfig }}', +'{{ reservationConfig }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: partitionConfig + value: '{{ partitionConfig }}' + - name: retentionConfig + value: '{{ retentionConfig }}' + - name: reservationConfig + value: '{{ reservationConfig }}' + +``` + + + +## `UPDATE` example + +Updates a topic only if the necessary resources are available. + +```sql +UPDATE google.pubsublite.topics +SET +name = '{{ name }}', +partitionConfig = '{{ partitionConfig }}', +retentionConfig = '{{ retentionConfig }}', +reservationConfig = '{{ reservationConfig }}' +WHERE +locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND topicsId = '{{ topicsId }}'; +``` + +## `DELETE` example + +Deletes the specified topic resource. + +```sql +DELETE FROM google.pubsublite.topics +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND topicsId = '{{ topicsId }}'; +``` diff --git a/docs/google-docs/providers/google/pubsublite/topics_partitions/index.md b/docs/google-docs/providers/google/pubsublite/topics_partitions/index.md index 56f5d04965..3bd6dfd7a5 100644 --- a/docs/google-docs/providers/google/pubsublite/topics_partitions/index.md +++ b/docs/google-docs/providers/google/pubsublite/topics_partitions/index.md @@ -1,3 +1,4 @@ + --- title: topics_partitions hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - topics_partitions - pubsublite - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an topics_partition resource or lists topics_partitions in a region ## Overview
@@ -28,7 +30,24 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | The number of partitions in the topic. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Returns the partition information for the requested topic. | + +## `SELECT` examples + +Returns the partition information for the requested topic. + +```sql +SELECT +partitionCount +FROM google.pubsublite.topics_partitions +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND topicsId = '{{ topicsId }}'; +``` diff --git a/docs/google-docs/providers/google/rapidmigrationassessment/annotations/index.md b/docs/google-docs/providers/google/rapidmigrationassessment/annotations/index.md index b695d41d91..0f8d15b93b 100644 --- a/docs/google-docs/providers/google/rapidmigrationassessment/annotations/index.md +++ b/docs/google-docs/providers/google/rapidmigrationassessment/annotations/index.md @@ -1,3 +1,4 @@ + --- title: annotations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - annotations - rapidmigrationassessment - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an annotation resource or lists annotations in a region ## Overview @@ -35,8 +37,82 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Labels as key value pairs. | | | `string` | Type of an annotation. | | | `string` | Output only. Update time stamp. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets details of a single Annotation. | | | `INSERT` | | Creates an Annotation | + +## `SELECT` examples + +Gets details of a single Annotation. + +```sql +SELECT +name, +createTime, +labels, +type, +updateTime +FROM google.rapidmigrationassessment.annotations +WHERE annotationsId = '{{ annotationsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new annotations resource. + + + + +```sql +/*+ create */ +INSERT INTO google.rapidmigrationassessment.annotations ( +locationsId, +projectsId, +name, +createTime, +updateTime, +labels, +type +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ labels }}', +'{{ type }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: labels + value: '{{ labels }}' + - name: type + value: '{{ type }}' + +``` + + diff --git a/docs/google-docs/providers/google/rapidmigrationassessment/collectors/index.md b/docs/google-docs/providers/google/rapidmigrationassessment/collectors/index.md index 4202b465a5..151296e3f6 100644 --- a/docs/google-docs/providers/google/rapidmigrationassessment/collectors/index.md +++ b/docs/google-docs/providers/google/rapidmigrationassessment/collectors/index.md @@ -1,3 +1,4 @@ + --- title: collectors hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - collectors - rapidmigrationassessment - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an collector resource or lists collectors in a region ## Overview
@@ -45,6 +47,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. State of the Collector. | | | `string` | Output only. Update time stamp. | | | `object` | Message describing a MC Source of type VSphere Scan. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -53,7 +56,167 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Create a Collector to manage the on-prem appliance which collects information about Customer assets. | | | `DELETE` | | Deletes a single Collector - changes state of collector to "Deleting". Background jobs does final deletion thorugh producer api. | | | `UPDATE` | | Updates the parameters of a single Collector. | -| | `EXEC` | | Lists Collectors in a given project and location. | | | `EXEC` | | Pauses the given collector. | | | `EXEC` | | Registers the given collector. | | | `EXEC` | | Resumes the given collector. | + +## `SELECT` examples + +Lists Collectors in a given project and location. + +```sql +SELECT +name, +description, +bucket, +clientVersion, +collectionDays, +createTime, +displayName, +eulaUri, +expectedAssetCount, +guestOsScan, +labels, +serviceAccount, +state, +updateTime, +vsphereScan +FROM google.rapidmigrationassessment.collectors +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new collectors resource. + + + + +```sql +/*+ create */ +INSERT INTO google.rapidmigrationassessment.collectors ( +locationsId, +projectsId, +name, +createTime, +updateTime, +labels, +displayName, +description, +serviceAccount, +bucket, +expectedAssetCount, +state, +clientVersion, +guestOsScan, +vsphereScan, +collectionDays, +eulaUri +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ labels }}', +'{{ displayName }}', +'{{ description }}', +'{{ serviceAccount }}', +'{{ bucket }}', +'{{ expectedAssetCount }}', +'{{ state }}', +'{{ clientVersion }}', +'{{ guestOsScan }}', +'{{ vsphereScan }}', +'{{ collectionDays }}', +'{{ eulaUri }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: labels + value: '{{ labels }}' + - name: displayName + value: '{{ displayName }}' + - name: description + value: '{{ description }}' + - name: serviceAccount + value: '{{ serviceAccount }}' + - name: bucket + value: '{{ bucket }}' + - name: expectedAssetCount + value: '{{ expectedAssetCount }}' + - name: state + value: '{{ state }}' + - name: clientVersion + value: '{{ clientVersion }}' + - name: guestOsScan + value: '{{ guestOsScan }}' + - name: vsphereScan + value: '{{ vsphereScan }}' + - name: collectionDays + value: '{{ collectionDays }}' + - name: eulaUri + value: '{{ eulaUri }}' + +``` + + + +## `UPDATE` example + +Updates a collector only if the necessary resources are available. + +```sql +UPDATE google.rapidmigrationassessment.collectors +SET +name = '{{ name }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +labels = '{{ labels }}', +displayName = '{{ displayName }}', +description = '{{ description }}', +serviceAccount = '{{ serviceAccount }}', +bucket = '{{ bucket }}', +expectedAssetCount = '{{ expectedAssetCount }}', +state = '{{ state }}', +clientVersion = '{{ clientVersion }}', +guestOsScan = '{{ guestOsScan }}', +vsphereScan = '{{ vsphereScan }}', +collectionDays = '{{ collectionDays }}', +eulaUri = '{{ eulaUri }}' +WHERE +collectorsId = '{{ collectorsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified collector resource. + +```sql +DELETE FROM google.rapidmigrationassessment.collectors +WHERE collectorsId = '{{ collectorsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/rapidmigrationassessment/index.md b/docs/google-docs/providers/google/rapidmigrationassessment/index.md index 87e44a5fe8..ce1071f549 100644 --- a/docs/google-docs/providers/google/rapidmigrationassessment/index.md +++ b/docs/google-docs/providers/google/rapidmigrationassessment/index.md @@ -9,42 +9,31 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -The Rapid Migration Assessment service is our first-party migration assessment and planning tool. - +The rapidmigrationassessment service documentation. + :::info Service Summary
total resources: 4
-total selectable resources: 4
-total methods: 19
::: -## Overview -
- - - - - -
Namegoogle.rapidmigrationassessment
TypeService
TitleRapid Migration Assessment API
DescriptionThe Rapid Migration Assessment service is our first-party migration assessment and planning tool.
Idrapidmigrationassessment:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/rapidmigrationassessment/locations/index.md b/docs/google-docs/providers/google/rapidmigrationassessment/locations/index.md index a27e01cef7..3aa88ca75f 100644 --- a/docs/google-docs/providers/google/rapidmigrationassessment/locations/index.md +++ b/docs/google-docs/providers/google/rapidmigrationassessment/locations/index.md @@ -1,3 +1,4 @@ + --- title: locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - locations - rapidmigrationassessment - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an location resource or lists locations in a region ## Overview @@ -32,12 +34,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` | | | `string` | The friendly name for this location, typically a nearby city name. For example, "Tokyo". | -| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | +| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | | | `string` | The canonical id for this location. For example: `"us-east1"`. | | | `object` | Service-specific metadata. For example the available capacity at the given location. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about a location. | | | `SELECT` | | Lists information about the supported locations for this service. | -| | `EXEC` | | Lists information about the supported locations for this service. | + +## `SELECT` examples + +Lists information about the supported locations for this service. + +```sql +SELECT +name, +displayName, +labels, +locationId, +metadata +FROM google.rapidmigrationassessment.locations +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/rapidmigrationassessment/operations/index.md b/docs/google-docs/providers/google/rapidmigrationassessment/operations/index.md index 7c5cbba56d..9f00803530 100644 --- a/docs/google-docs/providers/google/rapidmigrationassessment/operations/index.md +++ b/docs/google-docs/providers/google/rapidmigrationassessment/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - rapidmigrationassessment - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview
@@ -30,16 +32,43 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.rapidmigrationassessment.operations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified operation resource. + +```sql +DELETE FROM google.rapidmigrationassessment.operations +WHERE locationsId = '{{ locationsId }}' +AND operationsId = '{{ operationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/recaptchaenterprise/assessments/index.md b/docs/google-docs/providers/google/recaptchaenterprise/assessments/index.md index dde3f87580..3bff6c3541 100644 --- a/docs/google-docs/providers/google/recaptchaenterprise/assessments/index.md +++ b/docs/google-docs/providers/google/recaptchaenterprise/assessments/index.md @@ -1,3 +1,4 @@ + --- title: assessments hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - assessments - recaptchaenterprise - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an assessment resource or lists assessments in a region ## Overview
@@ -28,9 +30,93 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `INSERT` | | Creates an Assessment of the likelihood an event is legitimate. | | | `EXEC` | | Annotates a previously created Assessment to provide additional information on whether the event turned out to be authentic or fraudulent. | + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new assessments resource. + + + + +```sql +/*+ create */ +INSERT INTO google.recaptchaenterprise.assessments ( +projectsId, +accountVerification, +event, +fraudSignals, +fraudPreventionAssessment, +assessmentEnvironment, +privatePasswordLeakVerification, +accountDefenderAssessment, +firewallPolicyAssessment, +tokenProperties, +phoneFraudAssessment, +riskAnalysis, +name +) +SELECT +'{{ projectsId }}', +'{{ accountVerification }}', +'{{ event }}', +'{{ fraudSignals }}', +'{{ fraudPreventionAssessment }}', +'{{ assessmentEnvironment }}', +'{{ privatePasswordLeakVerification }}', +'{{ accountDefenderAssessment }}', +'{{ firewallPolicyAssessment }}', +'{{ tokenProperties }}', +'{{ phoneFraudAssessment }}', +'{{ riskAnalysis }}', +'{{ name }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: accountVerification + value: '{{ accountVerification }}' + - name: event + value: '{{ event }}' + - name: fraudSignals + value: '{{ fraudSignals }}' + - name: fraudPreventionAssessment + value: '{{ fraudPreventionAssessment }}' + - name: assessmentEnvironment + value: '{{ assessmentEnvironment }}' + - name: privatePasswordLeakVerification + value: '{{ privatePasswordLeakVerification }}' + - name: accountDefenderAssessment + value: '{{ accountDefenderAssessment }}' + - name: firewallPolicyAssessment + value: '{{ firewallPolicyAssessment }}' + - name: tokenProperties + value: '{{ tokenProperties }}' + - name: phoneFraudAssessment + value: '{{ phoneFraudAssessment }}' + - name: riskAnalysis + value: '{{ riskAnalysis }}' + - name: name + value: '{{ name }}' + +``` + + diff --git a/docs/google-docs/providers/google/recaptchaenterprise/firewallpolicies/index.md b/docs/google-docs/providers/google/recaptchaenterprise/firewallpolicies/index.md index 0f15044503..c3194a4f29 100644 --- a/docs/google-docs/providers/google/recaptchaenterprise/firewallpolicies/index.md +++ b/docs/google-docs/providers/google/recaptchaenterprise/firewallpolicies/index.md @@ -1,3 +1,4 @@ + --- title: firewallpolicies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - firewallpolicies - recaptchaenterprise - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an firewallpolicy resource or lists firewallpolicies in a region ## Overview @@ -30,11 +32,12 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Identifier. The resource name for the FirewallPolicy in the format `projects/{project}/firewallpolicies/{firewallpolicy}`. | +| | `string` | Identifier. The resource name for the FirewallPolicy in the format `projects/{project}/firewallpolicies/{firewallpolicy}`. | | | `string` | Optional. A description of what this policy aims to achieve, for convenience purposes. The description can at most include 256 UTF-8 characters. | | | `array` | Optional. The actions that the caller should take regarding user access. There should be at most one terminal action. A terminal action is any action that forces a response, such as `AllowAction`, `BlockAction` or `SubstituteAction`. Zero or more non-terminal actions such as `SetHeader` might be specified. A single policy can contain up to 16 actions. | | | `string` | Optional. A CEL (Common Expression Language) conditional expression that specifies if this policy applies to an incoming user request. If this condition evaluates to true and the requested path matched the path pattern, the associated actions should be executed by the caller. The condition string is checked for CEL syntax correctness on creation. For more information, see the [CEL spec](https://github.com/google/cel-spec) and its [language definition](https://github.com/google/cel-spec/blob/master/doc/langdef.md). A condition has a max length of 500 characters. | | | `string` | Optional. The path for which this policy applies, specified as a glob pattern. For more information on glob, see the [manual page](https://man7.org/linux/man-pages/man7/glob.7.html). A path has a max length of 200 characters. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -43,5 +46,100 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new FirewallPolicy, specifying conditions at which reCAPTCHA Enterprise actions can be executed. A project may have a maximum of 1000 policies. | | | `DELETE` | | Deletes the specified firewall policy. | | | `UPDATE` | | Updates the specified firewall policy. | -| | `EXEC` | | Returns the list of all firewall policies that belong to a project. | | | `EXEC` | | Reorders all firewall policies. | + +## `SELECT` examples + +Returns the list of all firewall policies that belong to a project. + +```sql +SELECT +name, +description, +actions, +condition, +path +FROM google.recaptchaenterprise.firewallpolicies +WHERE projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new firewallpolicies resource. + + + + +```sql +/*+ create */ +INSERT INTO google.recaptchaenterprise.firewallpolicies ( +projectsId, +name, +condition, +description, +actions, +path +) +SELECT +'{{ projectsId }}', +'{{ name }}', +'{{ condition }}', +'{{ description }}', +'{{ actions }}', +'{{ path }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: condition + value: '{{ condition }}' + - name: description + value: '{{ description }}' + - name: actions + value: '{{ actions }}' + - name: path + value: '{{ path }}' + +``` + + + +## `UPDATE` example + +Updates a firewallpolicy only if the necessary resources are available. + +```sql +UPDATE google.recaptchaenterprise.firewallpolicies +SET +name = '{{ name }}', +condition = '{{ condition }}', +description = '{{ description }}', +actions = '{{ actions }}', +path = '{{ path }}' +WHERE +firewallpoliciesId = '{{ firewallpoliciesId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified firewallpolicy resource. + +```sql +DELETE FROM google.recaptchaenterprise.firewallpolicies +WHERE firewallpoliciesId = '{{ firewallpoliciesId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/recaptchaenterprise/index.md b/docs/google-docs/providers/google/recaptchaenterprise/index.md index 1243f9e743..b6eb4c4bdf 100644 --- a/docs/google-docs/providers/google/recaptchaenterprise/index.md +++ b/docs/google-docs/providers/google/recaptchaenterprise/index.md @@ -9,46 +9,37 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Help protect your website from fraudulent activity, spam, and abuse without creating friction. - +The recaptchaenterprise service documentation. + :::info Service Summary
-total resources: 8
-total selectable resources: 5
-total methods: 23
+total resources: 10
::: -## Overview -
- - - - - -
Namegoogle.recaptchaenterprise
TypeService
TitlereCAPTCHA Enterprise API
DescriptionHelp protect your website from fraudulent activity, spam, and abuse without creating friction.
Idrecaptchaenterprise:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/recaptchaenterprise/keys/index.md b/docs/google-docs/providers/google/recaptchaenterprise/keys/index.md index 9109966dbf..128dc5b381 100644 --- a/docs/google-docs/providers/google/recaptchaenterprise/keys/index.md +++ b/docs/google-docs/providers/google/recaptchaenterprise/keys/index.md @@ -1,3 +1,4 @@ + --- title: keys hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - keys - recaptchaenterprise - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an key resource or lists keys in a region ## Overview @@ -30,15 +32,17 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Identifier. The resource name for the Key in the format `projects/{project}/keys/{key}`. | +| | `string` | Identifier. The resource name for the Key in the format `projects/{project}/keys/{key}`. | | | `object` | Settings specific to keys that can be used by Android apps. | | | `string` | Output only. The timestamp corresponding to the creation of this key. | | | `string` | Required. Human-readable display name of this key. Modifiable by user. | +| | `object` | Settings specific to keys that can be used for reCAPTCHA Express. | | | `object` | Settings specific to keys that can be used by iOS apps. | -| | `object` | Optional. See [Creating and managing labels] (https://cloud.google.com/recaptcha-enterprise/docs/labels). | +| | `object` | Optional. See [Creating and managing labels] (https://cloud.google.com/recaptcha/docs/labels). | | | `object` | Options for user acceptance testing. | | | `object` | Settings specific to keys that can be used for WAF (Web Application Firewall). | | | `object` | Settings specific to keys that can be used by websites. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -47,5 +51,130 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new reCAPTCHA Enterprise key. | | | `DELETE` | | Deletes the specified key. | | | `UPDATE` | | Updates the specified key. | -| | `EXEC` | | Returns the list of all keys that belong to a project. | | | `EXEC` | | Migrates an existing key from reCAPTCHA to reCAPTCHA Enterprise. Once a key is migrated, it can be used from either product. SiteVerify requests are billed as CreateAssessment calls. You must be authenticated as one of the current owners of the reCAPTCHA Key, and your user must have the reCAPTCHA Enterprise Admin IAM role in the destination project. | + +## `SELECT` examples + +Returns the list of all keys that belong to a project. + +```sql +SELECT +name, +androidSettings, +createTime, +displayName, +expressSettings, +iosSettings, +labels, +testingOptions, +wafSettings, +webSettings +FROM google.recaptchaenterprise.keys +WHERE projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new keys resource. + + + + +```sql +/*+ create */ +INSERT INTO google.recaptchaenterprise.keys ( +projectsId, +displayName, +name, +webSettings, +wafSettings, +testingOptions, +labels, +androidSettings, +expressSettings, +iosSettings, +createTime +) +SELECT +'{{ projectsId }}', +'{{ displayName }}', +'{{ name }}', +'{{ webSettings }}', +'{{ wafSettings }}', +'{{ testingOptions }}', +'{{ labels }}', +'{{ androidSettings }}', +'{{ expressSettings }}', +'{{ iosSettings }}', +'{{ createTime }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: displayName + value: '{{ displayName }}' + - name: name + value: '{{ name }}' + - name: webSettings + value: '{{ webSettings }}' + - name: wafSettings + value: '{{ wafSettings }}' + - name: testingOptions + value: '{{ testingOptions }}' + - name: labels + value: '{{ labels }}' + - name: androidSettings + value: '{{ androidSettings }}' + - name: expressSettings + value: '{{ expressSettings }}' + - name: iosSettings + value: '{{ iosSettings }}' + - name: createTime + value: '{{ createTime }}' + +``` + + + +## `UPDATE` example + +Updates a key only if the necessary resources are available. + +```sql +UPDATE google.recaptchaenterprise.keys +SET +displayName = '{{ displayName }}', +name = '{{ name }}', +webSettings = '{{ webSettings }}', +wafSettings = '{{ wafSettings }}', +testingOptions = '{{ testingOptions }}', +labels = '{{ labels }}', +androidSettings = '{{ androidSettings }}', +expressSettings = '{{ expressSettings }}', +iosSettings = '{{ iosSettings }}', +createTime = '{{ createTime }}' +WHERE +keysId = '{{ keysId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified key resource. + +```sql +DELETE FROM google.recaptchaenterprise.keys +WHERE keysId = '{{ keysId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/recaptchaenterprise/keys_ip_override/index.md b/docs/google-docs/providers/google/recaptchaenterprise/keys_ip_override/index.md new file mode 100644 index 0000000000..99a337aab4 --- /dev/null +++ b/docs/google-docs/providers/google/recaptchaenterprise/keys_ip_override/index.md @@ -0,0 +1,90 @@ + +--- +title: keys_ip_override +hide_title: false +hide_table_of_contents: false +keywords: + - keys_ip_override + - recaptchaenterprise + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an keys_ip_override resource or lists keys_ip_override in a region + +## Overview +
+ + + +
Namekeys_ip_override
TypeResource
Id
+ +## Fields +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `INSERT` | | Adds an IP override to a key. The following restrictions hold: * The maximum number of IP overrides per key is 100. * For any conflict (such as IP already exists or IP part of an existing IP range), an error is returned. | +| | `DELETE` | | Removes an IP override from a key. The following restrictions hold: * If the IP isn't found in an existing IP override, a `NOT_FOUND` error is returned. * If the IP is found in an existing IP override, but the override type does not match, a `NOT_FOUND` error is returned. | + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new keys_ip_override resource. + + + + +```sql +/*+ create */ +INSERT INTO google.recaptchaenterprise.keys_ip_override ( +keysId, +projectsId, +ipOverrideData +) +SELECT +'{{ keysId }}', +'{{ projectsId }}', +'{{ ipOverrideData }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: ipOverrideData + value: '{{ ipOverrideData }}' + +``` + + + +## `DELETE` example + +Deletes the specified keys_ip_override resource. + +```sql +DELETE FROM google.recaptchaenterprise.keys_ip_override +WHERE keysId = '{{ keysId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/recaptchaenterprise/keys_ip_overrides/index.md b/docs/google-docs/providers/google/recaptchaenterprise/keys_ip_overrides/index.md new file mode 100644 index 0000000000..bf60d263b8 --- /dev/null +++ b/docs/google-docs/providers/google/recaptchaenterprise/keys_ip_overrides/index.md @@ -0,0 +1,54 @@ + +--- +title: keys_ip_overrides +hide_title: false +hide_table_of_contents: false +keywords: + - keys_ip_overrides + - recaptchaenterprise + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an keys_ip_override resource or lists keys_ip_overrides in a region + +## Overview + + + + +
Namekeys_ip_overrides
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | Required. The IP address to override (can be IPv4, IPv6 or CIDR). The IP override must be a valid IPv4 or IPv6 address, or a CIDR range. The IP override must be a public IP address. Example of IPv4: 168.192.5.6 Example of IPv6: 2001:0000:130F:0000:0000:09C0:876A:130B Example of IPv4 with CIDR: 168.192.5.0/24 Example of IPv6 with CIDR: 2001:0DB8:1234::/48 | +| | `string` | Required. Describes the type of IP override. | + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists all IP overrides for a key. | + +## `SELECT` examples + +Lists all IP overrides for a key. + +```sql +SELECT +ip, +overrideType +FROM google.recaptchaenterprise.keys_ip_overrides +WHERE keysId = '{{ keysId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/recaptchaenterprise/keys_legacy_secret_key/index.md b/docs/google-docs/providers/google/recaptchaenterprise/keys_legacy_secret_key/index.md index 99d0efe225..da34d842b5 100644 --- a/docs/google-docs/providers/google/recaptchaenterprise/keys_legacy_secret_key/index.md +++ b/docs/google-docs/providers/google/recaptchaenterprise/keys_legacy_secret_key/index.md @@ -1,3 +1,4 @@ + --- title: keys_legacy_secret_key hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - keys_legacy_secret_key - recaptchaenterprise - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an keys_legacy_secret_key resource or lists keys_legacy_secret_key in a region ## Overview @@ -28,8 +30,23 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | The secret key (also known as shared secret) authorizes communication between your application backend and the reCAPTCHA Enterprise server to create an assessment. The secret key needs to be kept safe for security purposes. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Returns the secret key related to the specified public key. You must use the legacy secret key only in a 3rd party integration with legacy reCAPTCHA. | + +## `SELECT` examples + +Returns the secret key related to the specified public key. You must use the legacy secret key only in a 3rd party integration with legacy reCAPTCHA. + +```sql +SELECT +legacySecretKey +FROM google.recaptchaenterprise.keys_legacy_secret_key +WHERE keysId = '{{ keysId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/recaptchaenterprise/keys_metrics/index.md b/docs/google-docs/providers/google/recaptchaenterprise/keys_metrics/index.md index 0b39c8028f..a55c3b06b2 100644 --- a/docs/google-docs/providers/google/recaptchaenterprise/keys_metrics/index.md +++ b/docs/google-docs/providers/google/recaptchaenterprise/keys_metrics/index.md @@ -1,3 +1,4 @@ + --- title: keys_metrics hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - keys_metrics - recaptchaenterprise - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an keys_metric resource or lists keys_metrics in a region ## Overview @@ -30,11 +32,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. Identifier. The name of the metrics, in the format `projects/{project}/keys/{key}/metrics`. | -| | `array` | Metrics will be continuous and in order by dates, and in the granularity of day. Only challenge-based keys (CHECKBOX, INVISIBLE), will have challenge-based data. | -| | `array` | Metrics will be continuous and in order by dates, and in the granularity of day. All Key types should have score-based data. | +| | `string` | Output only. Identifier. The name of the metrics, in the format `projects/{project}/keys/{key}/metrics`. | +| | `array` | Metrics are continuous and in order by dates, and in the granularity of day. Only challenge-based keys (CHECKBOX, INVISIBLE) have challenge-based data. | +| | `array` | Metrics are continuous and in order by dates, and in the granularity of day. All Key types should have score-based data. | | | `string` | Inclusive start time aligned to a day (UTC). | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Get some aggregated metrics for a Key. This data can be used to build dashboards. | + +## `SELECT` examples + +Get some aggregated metrics for a Key. This data can be used to build dashboards. + +```sql +SELECT +name, +challengeMetrics, +scoreMetrics, +startTime +FROM google.recaptchaenterprise.keys_metrics +WHERE keysId = '{{ keysId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/recaptchaenterprise/memberships/index.md b/docs/google-docs/providers/google/recaptchaenterprise/memberships/index.md index ab89d25d1d..92a4698f62 100644 --- a/docs/google-docs/providers/google/recaptchaenterprise/memberships/index.md +++ b/docs/google-docs/providers/google/recaptchaenterprise/memberships/index.md @@ -1,3 +1,4 @@ + --- title: memberships hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - memberships - recaptchaenterprise - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an membership resource or lists memberships in a region ## Overview
@@ -30,11 +32,25 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Required. Identifier. The resource name for this membership in the format `projects/{project}/relatedaccountgroups/{relatedaccountgroup}/memberships/{membership}`. | +| | `string` | Required. Identifier. The resource name for this membership in the format `projects/{project}/relatedaccountgroups/{relatedaccountgroup}/memberships/{membership}`. | | | `string` | The unique stable account identifier of the member. The identifier corresponds to an `account_id` provided in a previous `CreateAssessment` or `AnnotateAssessment` call. | | | `string` | Deprecated: use `account_id` instead. The unique stable hashed account identifier of the member. The identifier corresponds to a `hashed_account_id` provided in a previous `CreateAssessment` or `AnnotateAssessment` call. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Get memberships in a group of related accounts. | + +## `SELECT` examples + +Get memberships in a group of related accounts. + +```sql +SELECT +name, +accountId, +hashedAccountId +FROM google.recaptchaenterprise.memberships +WHERE projectsId = '{{ projectsId }}' +AND relatedaccountgroupsId = '{{ relatedaccountgroupsId }}'; +``` diff --git a/docs/google-docs/providers/google/recaptchaenterprise/relatedaccountgroupmemberships/index.md b/docs/google-docs/providers/google/recaptchaenterprise/relatedaccountgroupmemberships/index.md index b0e83bd752..d8784151d1 100644 --- a/docs/google-docs/providers/google/recaptchaenterprise/relatedaccountgroupmemberships/index.md +++ b/docs/google-docs/providers/google/recaptchaenterprise/relatedaccountgroupmemberships/index.md @@ -1,3 +1,4 @@ + --- title: relatedaccountgroupmemberships hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - relatedaccountgroupmemberships - recaptchaenterprise - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an relatedaccountgroupmembership resource or lists relatedaccountgroupmemberships in a region ## Overview
@@ -28,8 +30,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Search group memberships related to a given account. | diff --git a/docs/google-docs/providers/google/recaptchaenterprise/relatedaccountgroups/index.md b/docs/google-docs/providers/google/recaptchaenterprise/relatedaccountgroups/index.md index 352ef25dd3..48a5aa3532 100644 --- a/docs/google-docs/providers/google/recaptchaenterprise/relatedaccountgroups/index.md +++ b/docs/google-docs/providers/google/recaptchaenterprise/relatedaccountgroups/index.md @@ -1,3 +1,4 @@ + --- title: relatedaccountgroups hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - relatedaccountgroups - recaptchaenterprise - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an relatedaccountgroup resource or lists relatedaccountgroups in a region ## Overview @@ -28,8 +30,22 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | Required. Identifier. The resource name for the related account group in the format `projects/{project}/relatedaccountgroups/{related_account_group}`. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | List groups of related accounts. | + +## `SELECT` examples + +List groups of related accounts. + +```sql +SELECT +name +FROM google.recaptchaenterprise.relatedaccountgroups +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/recommendationengine/catalog_items/index.md b/docs/google-docs/providers/google/recommendationengine/catalog_items/index.md index fa22cce19a..7e29b6fb3b 100644 --- a/docs/google-docs/providers/google/recommendationengine/catalog_items/index.md +++ b/docs/google-docs/providers/google/recommendationengine/catalog_items/index.md @@ -1,3 +1,4 @@ + --- title: catalog_items hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - catalog_items - recommendationengine - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an catalog_item resource or lists catalog_items in a region ## Overview @@ -32,13 +34,14 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Required. Catalog item identifier. UTF-8 encoded string with a length limit of 128 bytes. This id must be unique among all catalog items within the same catalog. It should also be used when logging user events in order for the user events to be joined with the Catalog. | | | `string` | Optional. Catalog item description. UTF-8 encoded string with a length limit of 5 KiB. | -| | `array` | Required. Catalog item categories. This field is repeated for supporting one catalog item belonging to several parallel category hierarchies. For example, if a shoes product belongs to both ["Shoes & Accessories" -> "Shoes"] and ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be represented as: "categoryHierarchies": [ { "categories": ["Shoes & Accessories", "Shoes"]}, { "categories": ["Sports & Fitness", "Athletic Clothing", "Shoes"] } ] | +| | `array` | Required. Catalog item categories. This field is repeated for supporting one catalog item belonging to several parallel category hierarchies. For example, if a shoes product belongs to both ["Shoes & Accessories" -> "Shoes"] and ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be represented as: "categoryHierarchies": [ { "categories": ["Shoes & Accessories", "Shoes"]}, { "categories": ["Sports & Fitness", "Athletic Clothing", "Shoes"] } ] | | | `object` | FeatureMap represents extra features that customers want to include in the recommendation model for catalogs/user events as categorical/numerical features. | | | `string` | Optional. Variant group identifier for prediction results. UTF-8 encoded string with a length limit of 128 bytes. This field must be enabled before it can be used. [Learn more](/recommendations-ai/docs/catalog#item-group-id). | | | `string` | Optional. Deprecated. The model automatically detects the text language. Your catalog can include text in different languages, but duplicating catalog items to provide text in multiple languages can result in degraded model performance. | | | `object` | ProductCatalogItem captures item metadata specific to retail products. | | | `array` | Optional. Filtering tags associated with the catalog item. Each tag should be a UTF-8 encoded string with a length limit of 1 KiB. This tag can be used for filtering recommendation results by passing the tag as part of the predict request filter. | | | `string` | Required. Catalog item title. UTF-8 encoded string with a length limit of 1 KiB. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -47,5 +50,134 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a catalog item. | | | `DELETE` | | Deletes a catalog item. | | | `UPDATE` | | Updates a catalog item. Partial updating is supported. Non-existing items will be created. | -| | `EXEC` | | Gets a list of catalog items. | | | `EXEC` | | Bulk import of multiple catalog items. Request processing may be synchronous. No partial updating supported. Non-existing items will be created. Operation.response is of type ImportResponse. Note that it is possible for a subset of the items to be successfully updated. | + +## `SELECT` examples + +Gets a list of catalog items. + +```sql +SELECT +id, +description, +categoryHierarchies, +itemAttributes, +itemGroupId, +languageCode, +productMetadata, +tags, +title +FROM google.recommendationengine.catalog_items +WHERE catalogsId = '{{ catalogsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new catalog_items resource. + + + + +```sql +/*+ create */ +INSERT INTO google.recommendationengine.catalog_items ( +catalogsId, +locationsId, +projectsId, +id, +categoryHierarchies, +title, +description, +itemAttributes, +languageCode, +tags, +itemGroupId, +productMetadata +) +SELECT +'{{ catalogsId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ id }}', +'{{ categoryHierarchies }}', +'{{ title }}', +'{{ description }}', +'{{ itemAttributes }}', +'{{ languageCode }}', +'{{ tags }}', +'{{ itemGroupId }}', +'{{ productMetadata }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: id + value: '{{ id }}' + - name: categoryHierarchies + value: '{{ categoryHierarchies }}' + - name: title + value: '{{ title }}' + - name: description + value: '{{ description }}' + - name: itemAttributes + value: '{{ itemAttributes }}' + - name: languageCode + value: '{{ languageCode }}' + - name: tags + value: '{{ tags }}' + - name: itemGroupId + value: '{{ itemGroupId }}' + - name: productMetadata + value: '{{ productMetadata }}' + +``` + + + +## `UPDATE` example + +Updates a catalog_item only if the necessary resources are available. + +```sql +UPDATE google.recommendationengine.catalog_items +SET +id = '{{ id }}', +categoryHierarchies = '{{ categoryHierarchies }}', +title = '{{ title }}', +description = '{{ description }}', +itemAttributes = '{{ itemAttributes }}', +languageCode = '{{ languageCode }}', +tags = '{{ tags }}', +itemGroupId = '{{ itemGroupId }}', +productMetadata = '{{ productMetadata }}' +WHERE +catalogItemsId = '{{ catalogItemsId }}' +AND catalogsId = '{{ catalogsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified catalog_item resource. + +```sql +DELETE FROM google.recommendationengine.catalog_items +WHERE catalogItemsId = '{{ catalogItemsId }}' +AND catalogsId = '{{ catalogsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/recommendationengine/catalogs/index.md b/docs/google-docs/providers/google/recommendationengine/catalogs/index.md index 9bc78a8a31..cd2c14c541 100644 --- a/docs/google-docs/providers/google/recommendationengine/catalogs/index.md +++ b/docs/google-docs/providers/google/recommendationengine/catalogs/index.md @@ -1,3 +1,4 @@ + --- title: catalogs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - catalogs - recommendationengine - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an catalog resource or lists catalogs in a region ## Overview
@@ -34,9 +36,41 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Configures the catalog level that users send events to, and the level at which predictions are made. | | | `string` | Required. The ID of the default event store. | | | `string` | Required. The catalog display name. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Lists all the catalog configurations associated with the project. | | | `UPDATE` | | Updates the catalog configuration. | -| | `EXEC` | | Lists all the catalog configurations associated with the project. | + +## `SELECT` examples + +Lists all the catalog configurations associated with the project. + +```sql +SELECT +name, +catalogItemLevelConfig, +defaultEventStoreId, +displayName +FROM google.recommendationengine.catalogs +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `UPDATE` example + +Updates a catalog only if the necessary resources are available. + +```sql +UPDATE google.recommendationengine.catalogs +SET +name = '{{ name }}', +displayName = '{{ displayName }}', +defaultEventStoreId = '{{ defaultEventStoreId }}', +catalogItemLevelConfig = '{{ catalogItemLevelConfig }}' +WHERE +catalogsId = '{{ catalogsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/recommendationengine/index.md b/docs/google-docs/providers/google/recommendationengine/index.md index db8fc085ee..ba8ad77917 100644 --- a/docs/google-docs/providers/google/recommendationengine/index.md +++ b/docs/google-docs/providers/google/recommendationengine/index.md @@ -9,44 +9,33 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Note that we now highly recommend new customers to use Retail API, which incorporates the GA version of the Recommendations AI funtionalities. To enable Retail API, please visit https://console.cloud.google.com/apis/library/retail.googleapis.com. The Recommendations AI service enables customers to build end-to-end personalized recommendation systems without requiring a high level of expertise in machine learning, recommendation system, or Google Cloud. - +The recommendationengine service documentation. + :::info Service Summary
total resources: 6
-total selectable resources: 5
-total methods: 28
::: -## Overview -
- - - - - -
Namegoogle.recommendationengine
TypeService
TitleRecommendations AI (Beta)
DescriptionNote that we now highly recommend new customers to use Retail API, which incorporates the GA version of the Recommendations AI funtionalities. To enable Retail API, please visit https://console.cloud.google.com/apis/library/retail.googleapis.com. The Recommendations AI service enables customers to build end-to-end personalized recommendation systems without requiring a high level of expertise in machine learning, recommendation system, or Google Cloud.
Idrecommendationengine:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/recommendationengine/operations/index.md b/docs/google-docs/providers/google/recommendationengine/operations/index.md index 280813a63d..4930559544 100644 --- a/docs/google-docs/providers/google/recommendationengine/operations/index.md +++ b/docs/google-docs/providers/google/recommendationengine/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - recommendationengine - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview @@ -30,11 +32,12 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -42,5 +45,20 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.recommendationengine.operations +WHERE catalogsId = '{{ catalogsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/recommendationengine/placements/index.md b/docs/google-docs/providers/google/recommendationengine/placements/index.md index b8c326a534..6c059d9699 100644 --- a/docs/google-docs/providers/google/recommendationengine/placements/index.md +++ b/docs/google-docs/providers/google/recommendationengine/placements/index.md @@ -1,3 +1,4 @@ + --- title: placements hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - placements - recommendationengine - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an placement resource or lists placements in a region ## Overview
@@ -28,8 +30,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Makes a recommendation prediction. If using API Key based authentication, the API Key must be registered using the PredictionApiKeyRegistry service. [Learn more](https://cloud.google.com/recommendations-ai/docs/setting-up#register-key). | diff --git a/docs/google-docs/providers/google/recommendationengine/prediction_api_key_registrations/index.md b/docs/google-docs/providers/google/recommendationengine/prediction_api_key_registrations/index.md index 58007c0520..4c5cc9e154 100644 --- a/docs/google-docs/providers/google/recommendationengine/prediction_api_key_registrations/index.md +++ b/docs/google-docs/providers/google/recommendationengine/prediction_api_key_registrations/index.md @@ -1,3 +1,4 @@ + --- title: prediction_api_key_registrations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - prediction_api_key_registrations - recommendationengine - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an prediction_api_key_registration resource or lists prediction_api_key_registrations in a region ## Overview @@ -28,10 +30,84 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | The API key. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | List the registered apiKeys for use with predict method. | | | `INSERT` | | Register an API key for use with predict method. | | | `DELETE` | | Unregister an apiKey from using for predict method. | -| | `EXEC` | | List the registered apiKeys for use with predict method. | + +## `SELECT` examples + +List the registered apiKeys for use with predict method. + +```sql +SELECT +apiKey +FROM google.recommendationengine.prediction_api_key_registrations +WHERE catalogsId = '{{ catalogsId }}' +AND eventStoresId = '{{ eventStoresId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new prediction_api_key_registrations resource. + + + + +```sql +/*+ create */ +INSERT INTO google.recommendationengine.prediction_api_key_registrations ( +catalogsId, +eventStoresId, +locationsId, +projectsId, +predictionApiKeyRegistration +) +SELECT +'{{ catalogsId }}', +'{{ eventStoresId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ predictionApiKeyRegistration }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: predictionApiKeyRegistration + value: '{{ predictionApiKeyRegistration }}' + +``` + + + +## `DELETE` example + +Deletes the specified prediction_api_key_registration resource. + +```sql +DELETE FROM google.recommendationengine.prediction_api_key_registrations +WHERE catalogsId = '{{ catalogsId }}' +AND eventStoresId = '{{ eventStoresId }}' +AND locationsId = '{{ locationsId }}' +AND predictionApiKeyRegistrationsId = '{{ predictionApiKeyRegistrationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/recommendationengine/user_events/index.md b/docs/google-docs/providers/google/recommendationengine/user_events/index.md index 1add8cae6f..b2ccda523e 100644 --- a/docs/google-docs/providers/google/recommendationengine/user_events/index.md +++ b/docs/google-docs/providers/google/recommendationengine/user_events/index.md @@ -1,3 +1,4 @@ + --- title: user_events hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - user_events - recommendationengine - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an user_event resource or lists user_events in a region ## Overview @@ -36,13 +38,32 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Required. User event type. Allowed values are: * `add-to-cart` Products being added to cart. * `add-to-list` Items being added to a list (shopping list, favorites etc). * `category-page-view` Special pages such as sale or promotion pages viewed. * `checkout-start` User starting a checkout process. * `detail-page-view` Products detail page viewed. * `home-page-view` Homepage viewed. * `page-visit` Generic page visits not included in the event types above. * `purchase-complete` User finishing a purchase. * `refund` Purchased items being refunded or returned. * `remove-from-cart` Products being removed from cart. * `remove-from-list` Items being removed from a list. * `search` Product search. * `shopping-cart-page-view` User viewing a shopping cart. * `impression` List of items displayed. Used by Google Tag Manager. | | | `object` | ProductEventDetail captures user event information specific to retail products. | | | `object` | Information of end users. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets a list of user events within a time range, with potential filtering. The method does not list unjoined user events. Unjoined user event definition: when a user event is ingested from Recommendations AI User Event APIs, the catalog item included in the user event is connected with the current catalog. If a catalog item of the ingested event is not in the current catalog, it could lead to degraded model quality. This is called an unjoined event. | -| | `EXEC` | | Gets a list of user events within a time range, with potential filtering. The method does not list unjoined user events. Unjoined user event definition: when a user event is ingested from Recommendations AI User Event APIs, the catalog item included in the user event is connected with the current catalog. If a catalog item of the ingested event is not in the current catalog, it could lead to degraded model quality. This is called an unjoined event. | | | `EXEC` | | Writes a single user event from the browser. This uses a GET request to due to browser restriction of POST-ing to a 3rd party domain. This method is used only by the Recommendations AI JavaScript pixel. Users should not call this method directly. | | | `EXEC` | | Bulk import of User events. Request processing might be synchronous. Events that already exist are skipped. Use this method for backfilling historical user events. Operation.response is of type ImportResponse. Note that it is possible for a subset of the items to be successfully inserted. Operation.metadata is of type ImportMetadata. | | | `EXEC` | | Deletes permanently all user events specified by the filter provided. Depending on the number of events specified by the filter, this operation could take hours or days to complete. To test a filter, use the list command first. | | | `EXEC` | | Triggers a user event rejoin operation with latest catalog data. Events will not be annotated with detailed catalog information if catalog item is missing at the time the user event is ingested, and these events are stored as unjoined events with a limited usage on training and serving. This API can be used to trigger a 'join' operation on specified events with latest version of catalog items. It can also be used to correct events joined with wrong catalog items. | | | `EXEC` | | Writes a single user event. | + +## `SELECT` examples + +Gets a list of user events within a time range, with potential filtering. The method does not list unjoined user events. Unjoined user event definition: when a user event is ingested from Recommendations AI User Event APIs, the catalog item included in the user event is connected with the current catalog. If a catalog item of the ingested event is not in the current catalog, it could lead to degraded model quality. This is called an unjoined event. + +```sql +SELECT +eventDetail, +eventSource, +eventTime, +eventType, +productEventDetail, +userInfo +FROM google.recommendationengine.user_events +WHERE catalogsId = '{{ catalogsId }}' +AND eventStoresId = '{{ eventStoresId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/recommender/index.md b/docs/google-docs/providers/google/recommender/index.md index 2150d13c91..7f90135291 100644 --- a/docs/google-docs/providers/google/recommender/index.md +++ b/docs/google-docs/providers/google/recommender/index.md @@ -9,42 +9,31 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- - - +The recommender service documentation. + :::info Service Summary
total resources: 4
-total selectable resources: 4
-total methods: 56
::: -## Overview -
- - - - - -
Namegoogle.recommender
TypeService
TitleRecommender API
Description
Idrecommender:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/recommender/insight_types_config/index.md b/docs/google-docs/providers/google/recommender/insight_types_config/index.md index a68b007bb1..ac59e0f02c 100644 --- a/docs/google-docs/providers/google/recommender/insight_types_config/index.md +++ b/docs/google-docs/providers/google/recommender/insight_types_config/index.md @@ -1,3 +1,4 @@ + --- title: insight_types_config hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - insight_types_config - recommender - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an insight_types_config resource or lists insight_types_config in a region ## Overview @@ -37,12 +39,52 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | A configuration to customize the generation of insights. Eg, customizing the lookback period considered when generating a insight. | | | `string` | Output only. Immutable. The revision ID of the config. A new revision is committed whenever the config is changed in any way. The format is an 8-character hexadecimal string. | | | `string` | Last time when the config was updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the requested InsightTypeConfig. There is only one instance of the config for each InsightType. | | | `SELECT` | | Gets the requested InsightTypeConfig. There is only one instance of the config for each InsightType. | | | `SELECT` | | Gets the requested InsightTypeConfig. There is only one instance of the config for each InsightType. | -| | `EXEC` | | Updates an InsightTypeConfig change. This will create a new revision of the config. | -| | `EXEC` | | Updates an InsightTypeConfig change. This will create a new revision of the config. | -| | `EXEC` | | Updates an InsightTypeConfig change. This will create a new revision of the config. | +| | `UPDATE` | | Updates an InsightTypeConfig change. This will create a new revision of the config. | +| | `UPDATE` | | Updates an InsightTypeConfig change. This will create a new revision of the config. | +| | `UPDATE` | | Updates an InsightTypeConfig change. This will create a new revision of the config. | + +## `SELECT` examples + +Gets the requested InsightTypeConfig. There is only one instance of the config for each InsightType. + +```sql +SELECT +name, +annotations, +displayName, +etag, +insightTypeGenerationConfig, +revisionId, +updateTime +FROM google.recommender.insight_types_config +WHERE insightTypesId = '{{ insightTypesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `UPDATE` example + +Updates a insight_types_config only if the necessary resources are available. + +```sql +UPDATE google.recommender.insight_types_config +SET +name = '{{ name }}', +updateTime = '{{ updateTime }}', +annotations = '{{ annotations }}', +etag = '{{ etag }}', +displayName = '{{ displayName }}', +revisionId = '{{ revisionId }}', +insightTypeGenerationConfig = '{{ insightTypeGenerationConfig }}' +WHERE +insightTypesId = '{{ insightTypesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/recommender/insights/index.md b/docs/google-docs/providers/google/recommender/insights/index.md index ba33343dc5..133033cf0e 100644 --- a/docs/google-docs/providers/google/recommender/insights/index.md +++ b/docs/google-docs/providers/google/recommender/insights/index.md @@ -1,3 +1,4 @@ + --- title: insights hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - insights - recommender - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an insight resource or lists insights in a region ## Overview
@@ -42,6 +44,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Insight's severity. | | | `object` | Information related to insight state. | | | `array` | Fully qualified resource names that this insight is targeting. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -53,11 +56,31 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists insights for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified insight type. | | | `SELECT` | | Gets the requested insight. Requires the recommender.*.get IAM permission for the specified insight type. | | | `SELECT` | | Lists insights for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified insight type. | -| | `EXEC` | | Lists insights for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified insight type. | -| | `EXEC` | | Lists insights for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified insight type. | -| | `EXEC` | | Lists insights for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified insight type. | -| | `EXEC` | | Lists insights for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified insight type. | | | `EXEC` | | Marks the Insight State as Accepted. Users can use this method to indicate to the Recommender API that they have applied some action based on the insight. This stops the insight content from being updated. MarkInsightAccepted can be applied to insights in ACTIVE state. Requires the recommender.*.update IAM permission for the specified insight. | | | `EXEC` | | Marks the Insight State as Accepted. Users can use this method to indicate to the Recommender API that they have applied some action based on the insight. This stops the insight content from being updated. MarkInsightAccepted can be applied to insights in ACTIVE state. Requires the recommender.*.update IAM permission for the specified insight. | | | `EXEC` | | Marks the Insight State as Accepted. Users can use this method to indicate to the Recommender API that they have applied some action based on the insight. This stops the insight content from being updated. MarkInsightAccepted can be applied to insights in ACTIVE state. Requires the recommender.*.update IAM permission for the specified insight. | | | `EXEC` | | Marks the Insight State as Accepted. Users can use this method to indicate to the Recommender API that they have applied some action based on the insight. This stops the insight content from being updated. MarkInsightAccepted can be applied to insights in ACTIVE state. Requires the recommender.*.update IAM permission for the specified insight. | + +## `SELECT` examples + +Lists insights for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified insight type. + +```sql +SELECT +name, +description, +associatedRecommendations, +category, +content, +etag, +insightSubtype, +lastRefreshTime, +observationPeriod, +severity, +stateInfo, +targetResources +FROM google.recommender.insights +WHERE foldersId = '{{ foldersId }}' +AND insightTypesId = '{{ insightTypesId }}' +AND locationsId = '{{ locationsId }}'; +``` diff --git a/docs/google-docs/providers/google/recommender/recommendations/index.md b/docs/google-docs/providers/google/recommender/recommendations/index.md index 64e741b36b..544a9fde78 100644 --- a/docs/google-docs/providers/google/recommender/recommendations/index.md +++ b/docs/google-docs/providers/google/recommender/recommendations/index.md @@ -1,3 +1,4 @@ + --- title: recommendations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - recommendations - recommender - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an recommendation resource or lists recommendations in a region ## Overview
@@ -43,6 +45,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Information for state. Contains state and metadata. | | | `array` | Fully qualified resource names that this recommendation is targeting. | | | `string` | Corresponds to a mutually exclusive group ID within a recommender. A non-empty ID indicates that the recommendation belongs to a mutually exclusive group. This means that only one recommendation within the group is suggested to be applied. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -54,10 +57,6 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists recommendations for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified recommender. | | | `SELECT` | | Gets the requested recommendation. Requires the recommender.*.get IAM permission for the specified recommender. | | | `SELECT` | | Lists recommendations for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified recommender. | -| | `EXEC` | | Lists recommendations for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified recommender. | -| | `EXEC` | | Lists recommendations for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified recommender. | -| | `EXEC` | | Lists recommendations for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified recommender. | -| | `EXEC` | | Lists recommendations for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified recommender. | | | `EXEC` | | Marks the Recommendation State as Claimed. Users can use this method to indicate to the Recommender API that they are starting to apply the recommendation themselves. This stops the recommendation content from being updated. Associated insights are frozen and placed in the ACCEPTED state. MarkRecommendationClaimed can be applied to recommendations in CLAIMED, SUCCEEDED, FAILED, or ACTIVE state. Requires the recommender.*.update IAM permission for the specified recommender. | | | `EXEC` | | Mark the Recommendation State as Dismissed. Users can use this method to indicate to the Recommender API that an ACTIVE recommendation has to be marked back as DISMISSED. MarkRecommendationDismissed can be applied to recommendations in ACTIVE state. Requires the recommender.*.update IAM permission for the specified recommender. | | | `EXEC` | | Marks the Recommendation State as Failed. Users can use this method to indicate to the Recommender API that they have applied the recommendation themselves, and the operation failed. This stops the recommendation content from being updated. Associated insights are frozen and placed in the ACCEPTED state. MarkRecommendationFailed can be applied to recommendations in ACTIVE, CLAIMED, SUCCEEDED, or FAILED state. Requires the recommender.*.update IAM permission for the specified recommender. | @@ -74,3 +73,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `EXEC` | | Mark the Recommendation State as Dismissed. Users can use this method to indicate to the Recommender API that an ACTIVE recommendation has to be marked back as DISMISSED. MarkRecommendationDismissed can be applied to recommendations in ACTIVE state. Requires the recommender.*.update IAM permission for the specified recommender. | | | `EXEC` | | Marks the Recommendation State as Failed. Users can use this method to indicate to the Recommender API that they have applied the recommendation themselves, and the operation failed. This stops the recommendation content from being updated. Associated insights are frozen and placed in the ACCEPTED state. MarkRecommendationFailed can be applied to recommendations in ACTIVE, CLAIMED, SUCCEEDED, or FAILED state. Requires the recommender.*.update IAM permission for the specified recommender. | | | `EXEC` | | Marks the Recommendation State as Succeeded. Users can use this method to indicate to the Recommender API that they have applied the recommendation themselves, and the operation was successful. This stops the recommendation content from being updated. Associated insights are frozen and placed in the ACCEPTED state. MarkRecommendationSucceeded can be applied to recommendations in ACTIVE, CLAIMED, SUCCEEDED, or FAILED state. Requires the recommender.*.update IAM permission for the specified recommender. | + +## `SELECT` examples + +Lists recommendations for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified recommender. + +```sql +SELECT +name, +description, +additionalImpact, +associatedInsights, +content, +etag, +lastRefreshTime, +primaryImpact, +priority, +recommenderSubtype, +stateInfo, +targetResources, +xorGroupId +FROM google.recommender.recommendations +WHERE foldersId = '{{ foldersId }}' +AND locationsId = '{{ locationsId }}' +AND recommendersId = '{{ recommendersId }}'; +``` diff --git a/docs/google-docs/providers/google/recommender/recommenders_config/index.md b/docs/google-docs/providers/google/recommender/recommenders_config/index.md index 7076a1a74d..cdf6a8e813 100644 --- a/docs/google-docs/providers/google/recommender/recommenders_config/index.md +++ b/docs/google-docs/providers/google/recommender/recommenders_config/index.md @@ -1,3 +1,4 @@ + --- title: recommenders_config hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - recommenders_config - recommender - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an recommenders_config resource or lists recommenders_config in a region ## Overview
@@ -37,12 +39,52 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | A Configuration to customize the generation of recommendations. Eg, customizing the lookback period considered when generating a recommendation. | | | `string` | Output only. Immutable. The revision ID of the config. A new revision is committed whenever the config is changed in any way. The format is an 8-character hexadecimal string. | | | `string` | Last time when the config was updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the requested Recommender Config. There is only one instance of the config for each Recommender. | | | `SELECT` | | Gets the requested Recommender Config. There is only one instance of the config for each Recommender. | | | `SELECT` | | Gets the requested Recommender Config. There is only one instance of the config for each Recommender. | -| | `EXEC` | | Updates a Recommender Config. This will create a new revision of the config. | -| | `EXEC` | | Updates a Recommender Config. This will create a new revision of the config. | -| | `EXEC` | | Updates a Recommender Config. This will create a new revision of the config. | +| | `UPDATE` | | Updates a Recommender Config. This will create a new revision of the config. | +| | `UPDATE` | | Updates a Recommender Config. This will create a new revision of the config. | +| | `UPDATE` | | Updates a Recommender Config. This will create a new revision of the config. | + +## `SELECT` examples + +Gets the requested Recommender Config. There is only one instance of the config for each Recommender. + +```sql +SELECT +name, +annotations, +displayName, +etag, +recommenderGenerationConfig, +revisionId, +updateTime +FROM google.recommender.recommenders_config +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND recommendersId = '{{ recommendersId }}'; +``` + +## `UPDATE` example + +Updates a recommenders_config only if the necessary resources are available. + +```sql +UPDATE google.recommender.recommenders_config +SET +revisionId = '{{ revisionId }}', +name = '{{ name }}', +annotations = '{{ annotations }}', +recommenderGenerationConfig = '{{ recommenderGenerationConfig }}', +updateTime = '{{ updateTime }}', +displayName = '{{ displayName }}', +etag = '{{ etag }}' +WHERE +locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND recommendersId = '{{ recommendersId }}'; +``` diff --git a/docs/google-docs/providers/google/redis/clusters/index.md b/docs/google-docs/providers/google/redis/clusters/index.md index 0fbb35e5d2..2aa7380ac0 100644 --- a/docs/google-docs/providers/google/redis/clusters/index.md +++ b/docs/google-docs/providers/google/redis/clusters/index.md @@ -1,3 +1,4 @@ + --- title: clusters hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - clusters - redis - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an cluster resource or lists clusters in a region ## Overview
@@ -30,11 +32,14 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Required. Unique name of the resource in this scope including project and location using the form: `projects/{project_id}/locations/{location_id}/clusters/{cluster_id}` | +| | `string` | Required. Identifier. Unique name of the resource in this scope including project and location using the form: `projects/{project_id}/locations/{location_id}/clusters/{cluster_id}` | | | `string` | Optional. The authorization mode of the Redis cluster. If not provided, auth feature is disabled for the cluster. | | | `string` | Output only. The timestamp associated with the cluster creation request. | +| | `object` | Cross cluster replication config. | | | `boolean` | Optional. The delete operation will fail when the value is set to true. | | | `array` | Output only. Endpoints created on each given network, for Redis clients to connect to the cluster. Currently only one discovery endpoint is supported. | +| | `object` | Maintenance policy per cluster. | +| | `object` | Upcoming maitenance schedule. | | | `string` | Optional. The type of a redis node in the cluster. NodeType determines the underlying machine-type of a redis node. | | | `object` | Configuration of the persistence functionality. | | | `number` | Output only. Precise value of redis memory size in GB for the entire cluster. | @@ -42,18 +47,223 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `array` | Output only. PSC connections for discovery of the cluster topology and accessing the cluster. | | | `object` | Optional. Key/Value pairs of customer overrides for mutable Redis Configs | | | `integer` | Optional. The number of replica nodes per shard. | -| | `integer` | Required. Number of shards for the Redis cluster. | +| | `integer` | Optional. Number of shards for the Redis cluster. | | | `integer` | Output only. Redis memory size in GB for the entire cluster rounded up to the next integer. | | | `string` | Output only. The current state of this cluster. Can be CREATING, READY, UPDATING, DELETING and SUSPENDED | | | `object` | Represents additional information about the state of the cluster. | | | `string` | Optional. The in-transit encryption for the Redis cluster. If not provided, encryption is disabled for the cluster. | | | `string` | Output only. System assigned, unique identifier for the cluster. | +| | `object` | Zone distribution config for allocation of cluster resources. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the details of a specific Redis cluster. | -| | `SELECT` | | Lists all Redis clusters owned by a project in either the specified location (region) or all locations. The location should have the following format: * `projects/{project_id}/locations/{location_id}` If `location_id` is specified as `-` (wildcard), then all regions available to the project are queried, and the results are aggregated. | +| | `SELECT` | | Lists all Redis clusters owned by a project in either the specified location (region) or all locations. The location should have the following format: * `projects/{project_id}/locations/{location_id}` If `location_id` is specified as `-` (wildcard), then all regions available to the project are queried, and the results are aggregated. | | | `INSERT` | | Creates a Redis cluster based on the specified properties. The creation is executed asynchronously and callers may check the returned operation to track its progress. Once the operation is completed the Redis cluster will be fully functional. The completed longrunning.Operation will contain the new cluster object in the response field. The returned operation is automatically deleted after a few hours, so there is no need to call DeleteOperation. | | | `DELETE` | | Deletes a specific Redis cluster. Cluster stops serving and data is deleted. | | | `UPDATE` | | Updates the metadata and configuration of a specific Redis cluster. Completed longrunning.Operation will contain the new cluster object in the response field. The returned operation is automatically deleted after a few hours, so there is no need to call DeleteOperation. | -| | `EXEC` | | Lists all Redis clusters owned by a project in either the specified location (region) or all locations. The location should have the following format: * `projects/{project_id}/locations/{location_id}` If `location_id` is specified as `-` (wildcard), then all regions available to the project are queried, and the results are aggregated. | +| | `EXEC` | | Reschedules upcoming maintenance event. | + +## `SELECT` examples + +Lists all Redis clusters owned by a project in either the specified location (region) or all locations. The location should have the following format: * `projects/{project_id}/locations/{location_id}` If `location_id` is specified as `-` (wildcard), then all regions available to the project are queried, and the results are aggregated. + +```sql +SELECT +name, +authorizationMode, +createTime, +crossClusterReplicationConfig, +deletionProtectionEnabled, +discoveryEndpoints, +maintenancePolicy, +maintenanceSchedule, +nodeType, +persistenceConfig, +preciseSizeGb, +pscConfigs, +pscConnections, +redisConfigs, +replicaCount, +shardCount, +sizeGb, +state, +stateInfo, +transitEncryptionMode, +uid, +zoneDistributionConfig +FROM google.redis.clusters +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new clusters resource. + + + + +```sql +/*+ create */ +INSERT INTO google.redis.clusters ( +locationsId, +projectsId, +name, +createTime, +state, +uid, +replicaCount, +authorizationMode, +transitEncryptionMode, +sizeGb, +shardCount, +pscConfigs, +discoveryEndpoints, +pscConnections, +stateInfo, +nodeType, +persistenceConfig, +redisConfigs, +preciseSizeGb, +zoneDistributionConfig, +crossClusterReplicationConfig, +deletionProtectionEnabled, +maintenancePolicy, +maintenanceSchedule +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ createTime }}', +'{{ state }}', +'{{ uid }}', +'{{ replicaCount }}', +'{{ authorizationMode }}', +'{{ transitEncryptionMode }}', +'{{ sizeGb }}', +'{{ shardCount }}', +'{{ pscConfigs }}', +'{{ discoveryEndpoints }}', +'{{ pscConnections }}', +'{{ stateInfo }}', +'{{ nodeType }}', +'{{ persistenceConfig }}', +'{{ redisConfigs }}', +number, +'{{ zoneDistributionConfig }}', +'{{ crossClusterReplicationConfig }}', +true|false, +'{{ maintenancePolicy }}', +'{{ maintenanceSchedule }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: state + value: '{{ state }}' + - name: uid + value: '{{ uid }}' + - name: replicaCount + value: '{{ replicaCount }}' + - name: authorizationMode + value: '{{ authorizationMode }}' + - name: transitEncryptionMode + value: '{{ transitEncryptionMode }}' + - name: sizeGb + value: '{{ sizeGb }}' + - name: shardCount + value: '{{ shardCount }}' + - name: pscConfigs + value: '{{ pscConfigs }}' + - name: discoveryEndpoints + value: '{{ discoveryEndpoints }}' + - name: pscConnections + value: '{{ pscConnections }}' + - name: stateInfo + value: '{{ stateInfo }}' + - name: nodeType + value: '{{ nodeType }}' + - name: persistenceConfig + value: '{{ persistenceConfig }}' + - name: redisConfigs + value: '{{ redisConfigs }}' + - name: preciseSizeGb + value: '{{ preciseSizeGb }}' + - name: zoneDistributionConfig + value: '{{ zoneDistributionConfig }}' + - name: crossClusterReplicationConfig + value: '{{ crossClusterReplicationConfig }}' + - name: deletionProtectionEnabled + value: '{{ deletionProtectionEnabled }}' + - name: maintenancePolicy + value: '{{ maintenancePolicy }}' + - name: maintenanceSchedule + value: '{{ maintenanceSchedule }}' + +``` + + + +## `UPDATE` example + +Updates a cluster only if the necessary resources are available. + +```sql +UPDATE google.redis.clusters +SET +name = '{{ name }}', +createTime = '{{ createTime }}', +state = '{{ state }}', +uid = '{{ uid }}', +replicaCount = '{{ replicaCount }}', +authorizationMode = '{{ authorizationMode }}', +transitEncryptionMode = '{{ transitEncryptionMode }}', +sizeGb = '{{ sizeGb }}', +shardCount = '{{ shardCount }}', +pscConfigs = '{{ pscConfigs }}', +discoveryEndpoints = '{{ discoveryEndpoints }}', +pscConnections = '{{ pscConnections }}', +stateInfo = '{{ stateInfo }}', +nodeType = '{{ nodeType }}', +persistenceConfig = '{{ persistenceConfig }}', +redisConfigs = '{{ redisConfigs }}', +preciseSizeGb = number, +zoneDistributionConfig = '{{ zoneDistributionConfig }}', +crossClusterReplicationConfig = '{{ crossClusterReplicationConfig }}', +deletionProtectionEnabled = true|false, +maintenancePolicy = '{{ maintenancePolicy }}', +maintenanceSchedule = '{{ maintenanceSchedule }}' +WHERE +clustersId = '{{ clustersId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified cluster resource. + +```sql +DELETE FROM google.redis.clusters +WHERE clustersId = '{{ clustersId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/redis/clusters_certificate_authority/index.md b/docs/google-docs/providers/google/redis/clusters_certificate_authority/index.md index d160e12d1a..e7effe1fe4 100644 --- a/docs/google-docs/providers/google/redis/clusters_certificate_authority/index.md +++ b/docs/google-docs/providers/google/redis/clusters_certificate_authority/index.md @@ -1,3 +1,4 @@ + --- title: clusters_certificate_authority hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - clusters_certificate_authority - redis - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an clusters_certificate_authority resource or lists clusters_certificate_authority in a region ## Overview
@@ -30,9 +32,24 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Identifier. Unique name of the resource in this scope including project, location and cluster using the form: `projects/{project}/locations/{location}/clusters/{cluster}/certificateAuthority` | +| | `string` | Identifier. Unique name of the resource in this scope including project, location and cluster using the form: `projects/{project}/locations/{location}/clusters/{cluster}/certificateAuthority` | | | `object` | | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets the details of certificate authority information for Redis cluster. | + +## `SELECT` examples + +Gets the details of certificate authority information for Redis cluster. + +```sql +SELECT +name, +managedServerCa +FROM google.redis.clusters_certificate_authority +WHERE clustersId = '{{ clustersId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/redis/index.md b/docs/google-docs/providers/google/redis/index.md index 2309f3cc94..c801a52083 100644 --- a/docs/google-docs/providers/google/redis/index.md +++ b/docs/google-docs/providers/google/redis/index.md @@ -9,44 +9,33 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Creates and manages Redis instances on the Google Cloud Platform. - +The redis service documentation. + :::info Service Summary
total resources: 6
-total selectable resources: 6
-total methods: 27
::: -## Overview -
- - - - - -
Namegoogle.redis
TypeService
TitleGoogle Cloud Memorystore for Redis API
DescriptionCreates and manages Redis instances on the Google Cloud Platform.
Idredis:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/redis/instances/index.md b/docs/google-docs/providers/google/redis/instances/index.md index 7f22afe229..ff9a722d99 100644 --- a/docs/google-docs/providers/google/redis/instances/index.md +++ b/docs/google-docs/providers/google/redis/instances/index.md @@ -1,3 +1,4 @@ + --- title: instances hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - instances - redis - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an instance resource or lists instances in a region ## Overview @@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Required. Unique name of the resource in this scope including project and location using the form: `projects/{project_id}/locations/{location_id}/instances/{instance_id}` Note: Redis instances are managed and addressed at regional level so location_id here refers to a GCP region; however, users may choose which specific zone (or collection of zones for cross-zone instances) an instance should be provisioned in. Refer to location_id and alternative_location_id fields for more details. | +| | `string` | Required. Unique name of the resource in this scope including project and location using the form: `projects/{project_id}/locations/{location_id}/instances/{instance_id}` Note: Redis instances are managed and addressed at regional level so location_id here refers to a GCP region; however, users may choose which specific zone (or collection of zones for cross-zone instances) an instance should be provisioned in. Refer to location_id and alternative_location_id fields for more details. | | | `string` | Optional. If specified, at least one node will be provisioned in this zone in addition to the zone specified in location_id. Only applicable to standard tier. If provided, it must be a different zone from the one provided in [location_id]. Additional nodes beyond the first 2 will be placed in zones selected by the service. | | | `boolean` | Optional. Indicates whether OSS Redis AUTH is enabled for the instance. If set to "true" AUTH is enabled on the instance. Default value is "false" meaning AUTH is disabled. | | | `string` | Optional. The full name of the Google Compute Engine [network](https://cloud.google.com/vpc/docs/vpc) to which the instance is connected. If left unspecified, the `default` network will be used. | @@ -67,17 +69,310 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `array` | Optional. reasons that causes instance in "SUSPENDED" state. | | | `string` | Required. The service tier of the instance. | | | `string` | Optional. The TLS mode of the Redis instance. If not provided, TLS is disabled for the instance. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the details of a specific Redis instance. | -| | `SELECT` | | Lists all Redis instances owned by a project in either the specified location (region) or all locations. The location should have the following format: * `projects/{project_id}/locations/{location_id}` If `location_id` is specified as `-` (wildcard), then all regions available to the project are queried, and the results are aggregated. | +| | `SELECT` | | Lists all Redis instances owned by a project in either the specified location (region) or all locations. The location should have the following format: * `projects/{project_id}/locations/{location_id}` If `location_id` is specified as `-` (wildcard), then all regions available to the project are queried, and the results are aggregated. | | | `INSERT` | | Creates a Redis instance based on the specified tier and memory size. By default, the instance is accessible from the project's [default network](https://cloud.google.com/vpc/docs/vpc). The creation is executed asynchronously and callers may check the returned operation to track its progress. Once the operation is completed the Redis instance will be fully functional. Completed longrunning.Operation will contain the new instance object in the response field. The returned operation is automatically deleted after a few hours, so there is no need to call DeleteOperation. | | | `DELETE` | | Deletes a specific Redis instance. Instance stops serving and data is deleted. | | | `UPDATE` | | Updates the metadata and configuration of a specific Redis instance. Completed longrunning.Operation will contain the new instance object in the response field. The returned operation is automatically deleted after a few hours, so there is no need to call DeleteOperation. | -| | `EXEC` | | Lists all Redis instances owned by a project in either the specified location (region) or all locations. The location should have the following format: * `projects/{project_id}/locations/{location_id}` If `location_id` is specified as `-` (wildcard), then all regions available to the project are queried, and the results are aggregated. | | | `EXEC` | | Export Redis instance data into a Redis RDB format file in Cloud Storage. Redis will continue serving during this operation. The returned operation is automatically deleted after a few hours, so there is no need to call DeleteOperation. | | | `EXEC` | | Initiates a failover of the primary node to current replica node for a specific STANDARD tier Cloud Memorystore for Redis instance. | | | `EXEC` | | Import a Redis RDB snapshot file from Cloud Storage into a Redis instance. Redis may stop serving during this operation. Instance state will be IMPORTING for entire operation. When complete, the instance will contain only data from the imported file. The returned operation is automatically deleted after a few hours, so there is no need to call DeleteOperation. | | | `EXEC` | | Reschedule maintenance for a given instance in a given project and location. | | | `EXEC` | | Upgrades Redis instance to the newer Redis version specified in the request. | + +## `SELECT` examples + +Lists all Redis instances owned by a project in either the specified location (region) or all locations. The location should have the following format: * `projects/{project_id}/locations/{location_id}` If `location_id` is specified as `-` (wildcard), then all regions available to the project are queried, and the results are aggregated. + +```sql +SELECT +name, +alternativeLocationId, +authEnabled, +authorizedNetwork, +availableMaintenanceVersions, +connectMode, +createTime, +currentLocationId, +customerManagedKey, +displayName, +host, +labels, +locationId, +maintenancePolicy, +maintenanceSchedule, +maintenanceVersion, +memorySizeGb, +nodes, +persistenceConfig, +persistenceIamIdentity, +port, +readEndpoint, +readEndpointPort, +readReplicasMode, +redisConfigs, +redisVersion, +replicaCount, +reservedIpRange, +satisfiesPzi, +satisfiesPzs, +secondaryIpRange, +serverCaCerts, +state, +statusMessage, +suspensionReasons, +tier, +transitEncryptionMode +FROM google.redis.instances +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new instances resource. + + + + +```sql +/*+ create */ +INSERT INTO google.redis.instances ( +locationsId, +projectsId, +name, +displayName, +labels, +locationId, +alternativeLocationId, +redisVersion, +reservedIpRange, +secondaryIpRange, +host, +port, +currentLocationId, +createTime, +state, +statusMessage, +redisConfigs, +tier, +memorySizeGb, +authorizedNetwork, +persistenceIamIdentity, +connectMode, +authEnabled, +serverCaCerts, +transitEncryptionMode, +maintenancePolicy, +maintenanceSchedule, +replicaCount, +nodes, +readEndpoint, +readEndpointPort, +readReplicasMode, +customerManagedKey, +persistenceConfig, +suspensionReasons, +maintenanceVersion, +availableMaintenanceVersions, +satisfiesPzs, +satisfiesPzi +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ displayName }}', +'{{ labels }}', +'{{ locationId }}', +'{{ alternativeLocationId }}', +'{{ redisVersion }}', +'{{ reservedIpRange }}', +'{{ secondaryIpRange }}', +'{{ host }}', +'{{ port }}', +'{{ currentLocationId }}', +'{{ createTime }}', +'{{ state }}', +'{{ statusMessage }}', +'{{ redisConfigs }}', +'{{ tier }}', +'{{ memorySizeGb }}', +'{{ authorizedNetwork }}', +'{{ persistenceIamIdentity }}', +'{{ connectMode }}', +true|false, +'{{ serverCaCerts }}', +'{{ transitEncryptionMode }}', +'{{ maintenancePolicy }}', +'{{ maintenanceSchedule }}', +'{{ replicaCount }}', +'{{ nodes }}', +'{{ readEndpoint }}', +'{{ readEndpointPort }}', +'{{ readReplicasMode }}', +'{{ customerManagedKey }}', +'{{ persistenceConfig }}', +'{{ suspensionReasons }}', +'{{ maintenanceVersion }}', +'{{ availableMaintenanceVersions }}', +true|false, +true|false +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: labels + value: '{{ labels }}' + - name: locationId + value: '{{ locationId }}' + - name: alternativeLocationId + value: '{{ alternativeLocationId }}' + - name: redisVersion + value: '{{ redisVersion }}' + - name: reservedIpRange + value: '{{ reservedIpRange }}' + - name: secondaryIpRange + value: '{{ secondaryIpRange }}' + - name: host + value: '{{ host }}' + - name: port + value: '{{ port }}' + - name: currentLocationId + value: '{{ currentLocationId }}' + - name: createTime + value: '{{ createTime }}' + - name: state + value: '{{ state }}' + - name: statusMessage + value: '{{ statusMessage }}' + - name: redisConfigs + value: '{{ redisConfigs }}' + - name: tier + value: '{{ tier }}' + - name: memorySizeGb + value: '{{ memorySizeGb }}' + - name: authorizedNetwork + value: '{{ authorizedNetwork }}' + - name: persistenceIamIdentity + value: '{{ persistenceIamIdentity }}' + - name: connectMode + value: '{{ connectMode }}' + - name: authEnabled + value: '{{ authEnabled }}' + - name: serverCaCerts + value: '{{ serverCaCerts }}' + - name: transitEncryptionMode + value: '{{ transitEncryptionMode }}' + - name: maintenancePolicy + value: '{{ maintenancePolicy }}' + - name: maintenanceSchedule + value: '{{ maintenanceSchedule }}' + - name: replicaCount + value: '{{ replicaCount }}' + - name: nodes + value: '{{ nodes }}' + - name: readEndpoint + value: '{{ readEndpoint }}' + - name: readEndpointPort + value: '{{ readEndpointPort }}' + - name: readReplicasMode + value: '{{ readReplicasMode }}' + - name: customerManagedKey + value: '{{ customerManagedKey }}' + - name: persistenceConfig + value: '{{ persistenceConfig }}' + - name: suspensionReasons + value: '{{ suspensionReasons }}' + - name: maintenanceVersion + value: '{{ maintenanceVersion }}' + - name: availableMaintenanceVersions + value: '{{ availableMaintenanceVersions }}' + - name: satisfiesPzs + value: '{{ satisfiesPzs }}' + - name: satisfiesPzi + value: '{{ satisfiesPzi }}' + +``` + + + +## `UPDATE` example + +Updates a instance only if the necessary resources are available. + +```sql +UPDATE google.redis.instances +SET +name = '{{ name }}', +displayName = '{{ displayName }}', +labels = '{{ labels }}', +locationId = '{{ locationId }}', +alternativeLocationId = '{{ alternativeLocationId }}', +redisVersion = '{{ redisVersion }}', +reservedIpRange = '{{ reservedIpRange }}', +secondaryIpRange = '{{ secondaryIpRange }}', +host = '{{ host }}', +port = '{{ port }}', +currentLocationId = '{{ currentLocationId }}', +createTime = '{{ createTime }}', +state = '{{ state }}', +statusMessage = '{{ statusMessage }}', +redisConfigs = '{{ redisConfigs }}', +tier = '{{ tier }}', +memorySizeGb = '{{ memorySizeGb }}', +authorizedNetwork = '{{ authorizedNetwork }}', +persistenceIamIdentity = '{{ persistenceIamIdentity }}', +connectMode = '{{ connectMode }}', +authEnabled = true|false, +serverCaCerts = '{{ serverCaCerts }}', +transitEncryptionMode = '{{ transitEncryptionMode }}', +maintenancePolicy = '{{ maintenancePolicy }}', +maintenanceSchedule = '{{ maintenanceSchedule }}', +replicaCount = '{{ replicaCount }}', +nodes = '{{ nodes }}', +readEndpoint = '{{ readEndpoint }}', +readEndpointPort = '{{ readEndpointPort }}', +readReplicasMode = '{{ readReplicasMode }}', +customerManagedKey = '{{ customerManagedKey }}', +persistenceConfig = '{{ persistenceConfig }}', +suspensionReasons = '{{ suspensionReasons }}', +maintenanceVersion = '{{ maintenanceVersion }}', +availableMaintenanceVersions = '{{ availableMaintenanceVersions }}', +satisfiesPzs = true|false, +satisfiesPzi = true|false +WHERE +instancesId = '{{ instancesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified instance resource. + +```sql +DELETE FROM google.redis.instances +WHERE instancesId = '{{ instancesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/redis/instances_auth_string/index.md b/docs/google-docs/providers/google/redis/instances_auth_string/index.md index aa623e4140..9dcf2b220f 100644 --- a/docs/google-docs/providers/google/redis/instances_auth_string/index.md +++ b/docs/google-docs/providers/google/redis/instances_auth_string/index.md @@ -1,3 +1,4 @@ + --- title: instances_auth_string hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - instances_auth_string - redis - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an instances_auth_string resource or lists instances_auth_string in a region ## Overview
@@ -28,7 +30,24 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | AUTH string set on the instance. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets the AUTH string for a Redis instance. If AUTH is not enabled for the instance the response will be empty. This information is not included in the details returned to GetInstance. | + +## `SELECT` examples + +Gets the AUTH string for a Redis instance. If AUTH is not enabled for the instance the response will be empty. This information is not included in the details returned to GetInstance. + +```sql +SELECT +authString +FROM google.redis.instances_auth_string +WHERE instancesId = '{{ instancesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/redis/locations/index.md b/docs/google-docs/providers/google/redis/locations/index.md index c08ffb87d1..d16871d9c7 100644 --- a/docs/google-docs/providers/google/redis/locations/index.md +++ b/docs/google-docs/providers/google/redis/locations/index.md @@ -1,3 +1,4 @@ + --- title: locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - locations - redis - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an location resource or lists locations in a region ## Overview @@ -32,12 +34,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Full resource name for the region. For example: "projects/example-project/locations/us-east1". | | | `string` | The friendly name for this location, typically a nearby city name. For example, "Tokyo". | -| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | +| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | | | `string` | Resource ID for the region. For example: "us-east1". | | | `object` | Output only. The set of available zones in the location. The map is keyed by the lowercase ID of each zone, as defined by Compute Engine. These keys can be specified in `location_id` or `alternative_location_id` fields when creating a Redis instance. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about a location. | | | `SELECT` | | Lists information about the supported locations for this service. | -| | `EXEC` | | Lists information about the supported locations for this service. | + +## `SELECT` examples + +Lists information about the supported locations for this service. + +```sql +SELECT +name, +displayName, +labels, +locationId, +metadata +FROM google.redis.locations +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/redis/operations/index.md b/docs/google-docs/providers/google/redis/operations/index.md index d4976786f0..a387ad4f09 100644 --- a/docs/google-docs/providers/google/redis/operations/index.md +++ b/docs/google-docs/providers/google/redis/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - redis - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview
@@ -30,16 +32,43 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | -| | `object` | { `createTime`: The time the operation was created. `endTime`: The time the operation finished running. `target`: Server-defined resource path for the target of the operation. `verb`: Name of the verb executed by the operation. `statusDetail`: Human-readable status of the operation, if any. `cancelRequested`: Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. `apiVersion`: API version used to start the operation. } | +| | `object` | { `createTime`: The time the operation was created. `endTime`: The time the operation finished running. `target`: Server-defined resource path for the target of the operation. `verb`: Name of the verb executed by the operation. `statusDetail`: Human-readable status of the operation, if any. `cancelRequested`: Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. `apiVersion`: API version used to start the operation. } | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.redis.operations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified operation resource. + +```sql +DELETE FROM google.redis.operations +WHERE locationsId = '{{ locationsId }}' +AND operationsId = '{{ operationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/resourcesettings/index.md b/docs/google-docs/providers/google/resourcesettings/index.md index 3a44f6b46a..0272417d7f 100644 --- a/docs/google-docs/providers/google/resourcesettings/index.md +++ b/docs/google-docs/providers/google/resourcesettings/index.md @@ -9,39 +9,29 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -The Resource Settings API allows users to control and modify the behavior of their GCP resources (e.g., VM, firewall, Project, etc.) across the Cloud Resource Hierarchy. - +The resourcesettings service documentation. + :::info Service Summary
total resources: 1
-total selectable resources: 1
-total methods: 12
::: -## Overview -
- - - - - -
Namegoogle.resourcesettings
TypeService
TitleResource Settings API
DescriptionThe Resource Settings API allows users to control and modify the behavior of their GCP resources (e.g., VM, firewall, Project, etc.) across the Cloud Resource Hierarchy.
Idresourcesettings:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/resourcesettings/settings/index.md b/docs/google-docs/providers/google/resourcesettings/settings/index.md index e8cd4f795b..e70d6ee31c 100644 --- a/docs/google-docs/providers/google/resourcesettings/settings/index.md +++ b/docs/google-docs/providers/google/resourcesettings/settings/index.md @@ -1,3 +1,4 @@ + --- title: settings hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - settings - resourcesettings - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an setting resource or lists settings in a region ## Overview @@ -30,11 +32,12 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The resource name of the setting. Must be in one of the following forms: * `projects/{project_number}/settings/{setting_name}` * `folders/{folder_id}/settings/{setting_name}` * `organizations/{organization_id}/settings/{setting_name}` For example, "/projects/123/settings/gcp-enableMyFeature" | +| | `string` | The resource name of the setting. Must be in one of the following forms: * `projects/{project_number}/settings/{setting_name}` * `folders/{folder_id}/settings/{setting_name}` * `organizations/{organization_id}/settings/{setting_name}` For example, "/projects/123/settings/gcp-enableMyFeature" | | | `object` | The data in a setting value. | | | `string` | A fingerprint used for optimistic concurrency. See UpdateSetting for more details. | | | `object` | The data in a setting value. | | | `object` | Metadata about a setting which is not editable by the end user. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -47,6 +50,35 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `UPDATE` | | Updates a specified setting. Returns a `google.rpc.Status` with `google.rpc.Code.NOT_FOUND` if the setting does not exist. Returns a `google.rpc.Status` with `google.rpc.Code.FAILED_PRECONDITION` if the setting is flagged as read only. Returns a `google.rpc.Status` with `google.rpc.Code.ABORTED` if the etag supplied in the request does not match the persisted etag of the setting value. On success, the response will contain only `name`, `local_value` and `etag`. The `metadata` and `effective_value` cannot be updated through this API. Note: the supplied setting will perform a full overwrite of the `local_value` field. | | | `UPDATE` | | Updates a specified setting. Returns a `google.rpc.Status` with `google.rpc.Code.NOT_FOUND` if the setting does not exist. Returns a `google.rpc.Status` with `google.rpc.Code.FAILED_PRECONDITION` if the setting is flagged as read only. Returns a `google.rpc.Status` with `google.rpc.Code.ABORTED` if the etag supplied in the request does not match the persisted etag of the setting value. On success, the response will contain only `name`, `local_value` and `etag`. The `metadata` and `effective_value` cannot be updated through this API. Note: the supplied setting will perform a full overwrite of the `local_value` field. | | | `UPDATE` | | Updates a specified setting. Returns a `google.rpc.Status` with `google.rpc.Code.NOT_FOUND` if the setting does not exist. Returns a `google.rpc.Status` with `google.rpc.Code.FAILED_PRECONDITION` if the setting is flagged as read only. Returns a `google.rpc.Status` with `google.rpc.Code.ABORTED` if the etag supplied in the request does not match the persisted etag of the setting value. On success, the response will contain only `name`, `local_value` and `etag`. The `metadata` and `effective_value` cannot be updated through this API. Note: the supplied setting will perform a full overwrite of the `local_value` field. | -| | `EXEC` | | Lists all the settings that are available on the Cloud resource `parent`. | -| | `EXEC` | | Lists all the settings that are available on the Cloud resource `parent`. | -| | `EXEC` | | Lists all the settings that are available on the Cloud resource `parent`. | + +## `SELECT` examples + +Lists all the settings that are available on the Cloud resource `parent`. + +```sql +SELECT +name, +effectiveValue, +etag, +localValue, +metadata +FROM google.resourcesettings.settings +WHERE foldersId = '{{ foldersId }}'; +``` + +## `UPDATE` example + +Updates a setting only if the necessary resources are available. + +```sql +UPDATE google.resourcesettings.settings +SET +effectiveValue = '{{ effectiveValue }}', +localValue = '{{ localValue }}', +etag = '{{ etag }}', +name = '{{ name }}', +metadata = '{{ metadata }}' +WHERE +foldersId = '{{ foldersId }}' +AND settingsId = '{{ settingsId }}'; +``` diff --git a/docs/google-docs/providers/google/retail/attributes_config/index.md b/docs/google-docs/providers/google/retail/attributes_config/index.md index ff74144aaf..dbb8069293 100644 --- a/docs/google-docs/providers/google/retail/attributes_config/index.md +++ b/docs/google-docs/providers/google/retail/attributes_config/index.md @@ -1,3 +1,4 @@ + --- title: attributes_config hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - attributes_config - retail - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an attributes_config resource or lists attributes_config in a region ## Overview
@@ -28,8 +30,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Replaces the specified CatalogAttribute in the AttributesConfig by updating the catalog attribute with the same CatalogAttribute.key. If the CatalogAttribute to replace does not exist, a NOT_FOUND error is returned. | diff --git a/docs/google-docs/providers/google/retail/attributes_config_catalog_attribute/index.md b/docs/google-docs/providers/google/retail/attributes_config_catalog_attribute/index.md index e3c3e77b00..37ce163694 100644 --- a/docs/google-docs/providers/google/retail/attributes_config_catalog_attribute/index.md +++ b/docs/google-docs/providers/google/retail/attributes_config_catalog_attribute/index.md @@ -1,3 +1,4 @@ + --- title: attributes_config_catalog_attribute hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - attributes_config_catalog_attribute - retail - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an attributes_config_catalog_attribute resource or lists attributes_config_catalog_attribute in a region ## Overview @@ -28,9 +30,64 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| -| | `EXEC` | | Adds the specified CatalogAttribute to the AttributesConfig. If the CatalogAttribute to add already exists, an ALREADY_EXISTS error is returned. | -| | `EXEC` | | Removes the specified CatalogAttribute from the AttributesConfig. If the CatalogAttribute to remove does not exist, a NOT_FOUND error is returned. | +| | `INSERT` | | Adds the specified CatalogAttribute to the AttributesConfig. If the CatalogAttribute to add already exists, an ALREADY_EXISTS error is returned. | +| | `DELETE` | | Removes the specified CatalogAttribute from the AttributesConfig. If the CatalogAttribute to remove does not exist, a NOT_FOUND error is returned. | + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new attributes_config_catalog_attribute resource. + + + + +```sql +/*+ create */ +INSERT INTO google.retail.attributes_config_catalog_attribute ( +catalogsId, +locationsId, +projectsId, +catalogAttribute +) +SELECT +'{{ catalogsId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ catalogAttribute }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: catalogAttribute + value: '{{ catalogAttribute }}' + +``` + + + +## `DELETE` example + +Deletes the specified attributes_config_catalog_attribute resource. + +```sql +DELETE FROM google.retail.attributes_config_catalog_attribute +WHERE catalogsId = '{{ catalogsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/retail/catalogs/index.md b/docs/google-docs/providers/google/retail/catalogs/index.md index 145c932c43..f4a48512a7 100644 --- a/docs/google-docs/providers/google/retail/catalogs/index.md +++ b/docs/google-docs/providers/google/retail/catalogs/index.md @@ -1,3 +1,4 @@ + --- title: catalogs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - catalogs - retail - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an catalog resource or lists catalogs in a region ## Overview @@ -33,12 +35,42 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Required. Immutable. The fully qualified resource name of the catalog. | | | `string` | Required. Immutable. The catalog display name. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. | | | `object` | Configures what level the product should be uploaded with regards to how users will be send events and how predictions will be made. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Lists all the Catalogs associated with the project. | | | `UPDATE` | | Updates the Catalogs. | -| | `EXEC` | | Lists all the Catalogs associated with the project. | | | `EXEC` | | Completes the specified prefix with keyword suggestions. This feature is only available for users who have Retail Search enabled. Enable Retail Search on Cloud Console before using this feature. | | | `EXEC` | | Exports analytics metrics. `Operation.response` is of type `ExportAnalyticsMetricsResponse`. `Operation.metadata` is of type `ExportMetadata`. | -| | `EXEC` | | Set a specified branch id as default branch. API methods such as SearchService.Search, ProductService.GetProduct, ProductService.ListProducts will treat requests using "default_branch" to the actual branch id set as default. For example, if `projects/*/locations/*/catalogs/*/branches/1` is set as default, setting SearchRequest.branch to `projects/*/locations/*/catalogs/*/branches/default_branch` is equivalent to setting SearchRequest.branch to `projects/*/locations/*/catalogs/*/branches/1`. Using multiple branches can be useful when developers would like to have a staging branch to test and verify for future usage. When it becomes ready, developers switch on the staging branch using this API while keeping using `projects/*/locations/*/catalogs/*/branches/default_branch` as SearchRequest.branch to route the traffic to this staging branch. CAUTION: If you have live predict/search traffic, switching the default branch could potentially cause outages if the ID space of the new branch is very different from the old one. More specifically: * PredictionService will only return product IDs from branch {newBranch}. * SearchService will only return product IDs from branch {newBranch} (if branch is not explicitly set). * UserEventService will only join events with products from branch {newBranch}. | +| | `EXEC` | | Set a specified branch id as default branch. API methods such as SearchService.Search, ProductService.GetProduct, ProductService.ListProducts will treat requests using "default_branch" to the actual branch id set as default. For example, if `projects/*/locations/*/catalogs/*/branches/1` is set as default, setting SearchRequest.branch to `projects/*/locations/*/catalogs/*/branches/default_branch` is equivalent to setting SearchRequest.branch to `projects/*/locations/*/catalogs/*/branches/1`. Using multiple branches can be useful when developers would like to have a staging branch to test and verify for future usage. When it becomes ready, developers switch on the staging branch using this API while keeping using `projects/*/locations/*/catalogs/*/branches/default_branch` as SearchRequest.branch to route the traffic to this staging branch. CAUTION: If you have live predict/search traffic, switching the default branch could potentially cause outages if the ID space of the new branch is very different from the old one. More specifically: * PredictionService will only return product IDs from branch {newBranch}. * SearchService will only return product IDs from branch {newBranch} (if branch is not explicitly set). * UserEventService will only join events with products from branch {newBranch}. | + +## `SELECT` examples + +Lists all the Catalogs associated with the project. + +```sql +SELECT +name, +displayName, +productLevelConfig +FROM google.retail.catalogs +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `UPDATE` example + +Updates a catalog only if the necessary resources are available. + +```sql +UPDATE google.retail.catalogs +SET +name = '{{ name }}', +displayName = '{{ displayName }}', +productLevelConfig = '{{ productLevelConfig }}' +WHERE +catalogsId = '{{ catalogsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/retail/catalogs_attributes_config/index.md b/docs/google-docs/providers/google/retail/catalogs_attributes_config/index.md index 8f936a4c94..71e9adfb2b 100644 --- a/docs/google-docs/providers/google/retail/catalogs_attributes_config/index.md +++ b/docs/google-docs/providers/google/retail/catalogs_attributes_config/index.md @@ -1,3 +1,4 @@ + --- title: catalogs_attributes_config hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - catalogs_attributes_config - retail - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an catalogs_attributes_config resource or lists catalogs_attributes_config in a region ## Overview
@@ -33,8 +35,40 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Required. Immutable. The fully qualified resource name of the attribute config. Format: `projects/*/locations/*/catalogs/*/attributesConfig` | | | `string` | Output only. The AttributeConfigLevel used for this catalog. | | | `object` | Enable attribute(s) config at catalog level. For example, indexable, dynamic_facetable, or searchable for each attribute. The key is catalog attribute's name. For example: `color`, `brands`, `attributes.custom_attribute`, such as `attributes.xyz`. The maximum number of catalog attributes allowed in a request is 1000. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets an AttributesConfig. | -| | `EXEC` | | Updates the AttributesConfig. The catalog attributes in the request will be updated in the catalog, or inserted if they do not exist. Existing catalog attributes not included in the request will remain unchanged. Attributes that are assigned to products, but do not exist at the catalog level, are always included in the response. The product attribute is assigned default values for missing catalog attribute fields, e.g., searchable and dynamic facetable options. | +| | `UPDATE` | | Updates the AttributesConfig. The catalog attributes in the request will be updated in the catalog, or inserted if they do not exist. Existing catalog attributes not included in the request will remain unchanged. Attributes that are assigned to products, but do not exist at the catalog level, are always included in the response. The product attribute is assigned default values for missing catalog attribute fields, e.g., searchable and dynamic facetable options. | + +## `SELECT` examples + +Gets an AttributesConfig. + +```sql +SELECT +name, +attributeConfigLevel, +catalogAttributes +FROM google.retail.catalogs_attributes_config +WHERE catalogsId = '{{ catalogsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `UPDATE` example + +Updates a catalogs_attributes_config only if the necessary resources are available. + +```sql +UPDATE google.retail.catalogs_attributes_config +SET +name = '{{ name }}', +catalogAttributes = '{{ catalogAttributes }}', +attributeConfigLevel = '{{ attributeConfigLevel }}' +WHERE +catalogsId = '{{ catalogsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/retail/catalogs_completion_config/index.md b/docs/google-docs/providers/google/retail/catalogs_completion_config/index.md index 8b669e0d37..f5673e5cd7 100644 --- a/docs/google-docs/providers/google/retail/catalogs_completion_config/index.md +++ b/docs/google-docs/providers/google/retail/catalogs_completion_config/index.md @@ -1,3 +1,4 @@ + --- title: catalogs_completion_config hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - catalogs_completion_config - retail - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an catalogs_completion_config resource or lists catalogs_completion_config in a region ## Overview
@@ -41,8 +43,56 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `integer` | The maximum number of autocomplete suggestions returned per term. Default value is 20. If left unset or set to 0, then will fallback to default value. Value range is 1 to 20. | | | `integer` | The minimum number of characters needed to be typed in order to get suggestions. Default value is 2. If left unset or set to 0, then will fallback to default value. Value range is 1 to 20. | | | `object` | The input config source for completion data. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets a CompletionConfig. | -| | `EXEC` | | Updates the CompletionConfigs. | +| | `UPDATE` | | Updates the CompletionConfigs. | + +## `SELECT` examples + +Gets a CompletionConfig. + +```sql +SELECT +name, +allowlistInputConfig, +autoLearning, +denylistInputConfig, +lastAllowlistImportOperation, +lastDenylistImportOperation, +lastSuggestionsImportOperation, +matchingOrder, +maxSuggestions, +minPrefixLength, +suggestionsInputConfig +FROM google.retail.catalogs_completion_config +WHERE catalogsId = '{{ catalogsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `UPDATE` example + +Updates a catalogs_completion_config only if the necessary resources are available. + +```sql +UPDATE google.retail.catalogs_completion_config +SET +name = '{{ name }}', +matchingOrder = '{{ matchingOrder }}', +maxSuggestions = '{{ maxSuggestions }}', +minPrefixLength = '{{ minPrefixLength }}', +autoLearning = true|false, +suggestionsInputConfig = '{{ suggestionsInputConfig }}', +lastSuggestionsImportOperation = '{{ lastSuggestionsImportOperation }}', +denylistInputConfig = '{{ denylistInputConfig }}', +lastDenylistImportOperation = '{{ lastDenylistImportOperation }}', +allowlistInputConfig = '{{ allowlistInputConfig }}', +lastAllowlistImportOperation = '{{ lastAllowlistImportOperation }}' +WHERE +catalogsId = '{{ catalogsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/retail/catalogs_default_branch/index.md b/docs/google-docs/providers/google/retail/catalogs_default_branch/index.md index fbe31d7383..23a9580ff4 100644 --- a/docs/google-docs/providers/google/retail/catalogs_default_branch/index.md +++ b/docs/google-docs/providers/google/retail/catalogs_default_branch/index.md @@ -1,3 +1,4 @@ + --- title: catalogs_default_branch hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - catalogs_default_branch - retail - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an catalogs_default_branch resource or lists catalogs_default_branch in a region ## Overview
@@ -33,7 +35,23 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Full resource name of the branch id currently set as default branch. | | | `string` | This corresponds to SetDefaultBranchRequest.note field, when this branch was set as default. | | | `string` | The time when this branch is set to default. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Get which branch is currently default branch set by CatalogService.SetDefaultBranch method under a specified parent catalog. | + +## `SELECT` examples + +Get which branch is currently default branch set by CatalogService.SetDefaultBranch method under a specified parent catalog. + +```sql +SELECT +branch, +note, +setTime +FROM google.retail.catalogs_default_branch +WHERE catalogsId = '{{ catalogsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/retail/completion_data/index.md b/docs/google-docs/providers/google/retail/completion_data/index.md index 7baf2d3c94..9fafe1ae13 100644 --- a/docs/google-docs/providers/google/retail/completion_data/index.md +++ b/docs/google-docs/providers/google/retail/completion_data/index.md @@ -1,3 +1,4 @@ + --- title: completion_data hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - completion_data - retail - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an completion_datum resource or lists completion_data in a region ## Overview
@@ -28,8 +30,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Bulk import of processed completion dataset. Request processing is asynchronous. Partial updating is not supported. The operation is successfully finished only after the imported suggestions are indexed successfully and ready for serving. The process takes hours. This feature is only available for users who have Retail Search enabled. Enable Retail Search on Cloud Console before using this feature. | diff --git a/docs/google-docs/providers/google/retail/controls/index.md b/docs/google-docs/providers/google/retail/controls/index.md index 5dcdba3d25..38c3bcdd11 100644 --- a/docs/google-docs/providers/google/retail/controls/index.md +++ b/docs/google-docs/providers/google/retail/controls/index.md @@ -1,3 +1,4 @@ + --- title: controls hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - controls - retail - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an control resource or lists controls in a region ## Overview @@ -36,6 +38,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | A rule is a condition-action pair * A condition defines when a rule is to be triggered. * An action specifies what occurs on that trigger. Currently rules only work for controls with SOLUTION_TYPE_SEARCH. | | | `array` | Specifies the use case for the control. Affects what condition fields can be set. Only settable by search controls. Will default to SEARCH_SOLUTION_USE_CASE_SEARCH if not specified. Currently only allow one search_solution_use_case per control. | | | `array` | Required. Immutable. The solution types that the control is used for. Currently we support setting only one type of solution at creation time. Only `SOLUTION_TYPE_SEARCH` value is supported at the moment. If no solution type is provided at creation time, will default to SOLUTION_TYPE_SEARCH. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -44,4 +47,115 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a Control. If the Control to create already exists, an ALREADY_EXISTS error is returned. | | | `DELETE` | | Deletes a Control. If the Control to delete does not exist, a NOT_FOUND error is returned. | | | `UPDATE` | | Updates a Control. Control cannot be set to a different oneof field, if so an INVALID_ARGUMENT is returned. If the Control to update does not exist, a NOT_FOUND error is returned. | -| | `EXEC` | | Lists all Controls by their parent Catalog. | + +## `SELECT` examples + +Lists all Controls by their parent Catalog. + +```sql +SELECT +name, +associatedServingConfigIds, +displayName, +rule, +searchSolutionUseCase, +solutionTypes +FROM google.retail.controls +WHERE catalogsId = '{{ catalogsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new controls resource. + + + + +```sql +/*+ create */ +INSERT INTO google.retail.controls ( +catalogsId, +locationsId, +projectsId, +rule, +name, +displayName, +associatedServingConfigIds, +solutionTypes, +searchSolutionUseCase +) +SELECT +'{{ catalogsId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ rule }}', +'{{ name }}', +'{{ displayName }}', +'{{ associatedServingConfigIds }}', +'{{ solutionTypes }}', +'{{ searchSolutionUseCase }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: rule + value: '{{ rule }}' + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: associatedServingConfigIds + value: '{{ associatedServingConfigIds }}' + - name: solutionTypes + value: '{{ solutionTypes }}' + - name: searchSolutionUseCase + value: '{{ searchSolutionUseCase }}' + +``` + + + +## `UPDATE` example + +Updates a control only if the necessary resources are available. + +```sql +UPDATE google.retail.controls +SET +rule = '{{ rule }}', +name = '{{ name }}', +displayName = '{{ displayName }}', +associatedServingConfigIds = '{{ associatedServingConfigIds }}', +solutionTypes = '{{ solutionTypes }}', +searchSolutionUseCase = '{{ searchSolutionUseCase }}' +WHERE +catalogsId = '{{ catalogsId }}' +AND controlsId = '{{ controlsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified control resource. + +```sql +DELETE FROM google.retail.controls +WHERE catalogsId = '{{ catalogsId }}' +AND controlsId = '{{ controlsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/retail/index.md b/docs/google-docs/providers/google/retail/index.md index 81ef82f923..a4b34246e8 100644 --- a/docs/google-docs/providers/google/retail/index.md +++ b/docs/google-docs/providers/google/retail/index.md @@ -9,34 +9,23 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Vertex AI Search for Retail API is made up of Retail Search, Browse and Recommendations. These discovery AI solutions help you implement personalized search, browse and recommendations, based on machine learning models, across your websites and mobile applications. - +The retail service documentation. + :::info Service Summary
total resources: 17
-total selectable resources: 9
-total methods: 70
::: -## Overview -
- - - - - -
Namegoogle.retail
TypeService
TitleVertex AI Search for Retail API
DescriptionVertex AI Search for Retail API is made up of Retail Search, Browse and Recommendations. These discovery AI solutions help you implement personalized search, browse and recommendations, based on machine learning models, across your websites and mobile applications.
Idretail:v24.06.00236
- ## Resources
@@ -48,7 +37,7 @@ Vertex AI Search for Retail API is made up of Retail Search, Browse and Recommen catalogs_default_branch
completion_data
controls
-models
+models
operations
@@ -58,6 +47,6 @@ Vertex AI Search for Retail API is made up of Retail Search, Browse and Recommen products_local_inventories
serving_configs
serving_configs_control
-user_events
-
+user_events
+ \ No newline at end of file diff --git a/docs/google-docs/providers/google/retail/models/index.md b/docs/google-docs/providers/google/retail/models/index.md index 8f8058d7ec..a2bc6e57d7 100644 --- a/docs/google-docs/providers/google/retail/models/index.md +++ b/docs/google-docs/providers/google/retail/models/index.md @@ -1,3 +1,4 @@ + --- title: models hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - models - retail - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an model resource or lists models in a region ## Overview @@ -30,14 +32,14 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Required. The fully qualified resource name of the model. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id}` catalog_id has char limit of 50. recommendation_model_id has char limit of 40. | +| | `string` | Required. The fully qualified resource name of the model. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id}` catalog_id has char limit of 50. recommendation_model_id has char limit of 40. | | | `string` | Output only. Timestamp the Recommendation Model was created at. | | | `string` | Output only. The state of data requirements for this model: `DATA_OK` and `DATA_ERROR`. Recommendation model cannot be trained if the data is in `DATA_ERROR` state. Recommendation model can have `DATA_ERROR` state even if serving state is `ACTIVE`: models were trained successfully before, but cannot be refreshed because model no longer has sufficient data for training. | | | `string` | Required. The display name of the model. Should be human readable, used to display Recommendation Models in the Retail Cloud Console Dashboard. UTF-8 encoded string with limit of 1024 characters. | | | `string` | Optional. If `RECOMMENDATIONS_FILTERING_ENABLED`, recommendation filtering by attributes is enabled for the model. | | | `string` | Output only. The timestamp when the latest successful tune finished. | | | `object` | Additional model features config. | -| | `string` | Optional. The optimization objective e.g. `cvr`. Currently supported values: `ctr`, `cvr`, `revenue-per-order`. If not specified, we choose default based on model type. Default depends on type of recommendation: `recommended-for-you` => `ctr` `others-you-may-like` => `ctr` `frequently-bought-together` => `revenue_per_order` This field together with optimization_objective describe model metadata to use to control model training and serving. See https://cloud.google.com/retail/docs/models for more details on what the model metadata control and which combination of parameters are valid. For invalid combinations of parameters (e.g. type = `frequently-bought-together` and optimization_objective = `ctr`), you receive an error 400 if you try to create/update a recommendation with this set of knobs. | +| | `string` | Optional. The optimization objective e.g. `cvr`. Currently supported values: `ctr`, `cvr`, `revenue-per-order`. If not specified, we choose default based on model type. Default depends on type of recommendation: `recommended-for-you` => `ctr` `others-you-may-like` => `ctr` `frequently-bought-together` => `revenue_per_order` This field together with optimization_objective describe model metadata to use to control model training and serving. See https://cloud.google.com/retail/docs/models for more details on what the model metadata control and which combination of parameters are valid. For invalid combinations of parameters (e.g. type = `frequently-bought-together` and optimization_objective = `ctr`), you receive an error 400 if you try to create/update a recommendation with this set of knobs. | | | `string` | Optional. The state of periodic tuning. The period we use is 3 months - to do a one-off tune earlier use the `TuneModel` method. Default value is `PERIODIC_TUNING_ENABLED`. | | | `array` | Output only. The list of valid serving configs associated with the PageOptimizationConfig. | | | `string` | Output only. The serving state of the model: `ACTIVE`, `NOT_ACTIVE`. | @@ -45,6 +47,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The tune operation associated with the model. Can be used to determine if there is an ongoing tune for this recommendation. Empty field implies no tune is goig on. | | | `string` | Required. The type of model e.g. `home-page`. Currently supported values: `recommended-for-you`, `others-you-may-like`, `frequently-bought-together`, `page-optimization`, `similar-items`, `buy-it-again`, `on-sale-items`, and `recently-viewed`(readonly value). This field together with optimization_objective describe model metadata to use to control model training and serving. See https://cloud.google.com/retail/docs/models for more details on what the model metadata control and which combination of parameters are valid. For invalid combinations of parameters (e.g. type = `frequently-bought-together` and optimization_objective = `ctr`), you receive an error 400 if you try to create/update a recommendation with this set of knobs. | | | `string` | Output only. Timestamp the Recommendation Model was last updated. E.g. if a Recommendation Model was paused - this would be the time the pause was initiated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -53,7 +56,172 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new model. | | | `DELETE` | | Deletes an existing model. | | | `UPDATE` | | Update of model metadata. Only fields that currently can be updated are: `filtering_option` and `periodic_tuning_state`. If other values are provided, this API method ignores them. | -| | `EXEC` | | Lists all the models linked to this event store. | | | `EXEC` | | Pauses the training of an existing model. | | | `EXEC` | | Resumes the training of an existing model. | | | `EXEC` | | Tunes an existing model. | + +## `SELECT` examples + +Lists all the models linked to this event store. + +```sql +SELECT +name, +createTime, +dataState, +displayName, +filteringOption, +lastTuneTime, +modelFeaturesConfig, +optimizationObjective, +periodicTuningState, +servingConfigLists, +servingState, +trainingState, +tuningOperation, +type, +updateTime +FROM google.retail.models +WHERE catalogsId = '{{ catalogsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new models resource. + + + + +```sql +/*+ create */ +INSERT INTO google.retail.models ( +catalogsId, +locationsId, +projectsId, +name, +displayName, +trainingState, +servingState, +createTime, +updateTime, +type, +optimizationObjective, +periodicTuningState, +lastTuneTime, +tuningOperation, +dataState, +filteringOption, +servingConfigLists, +modelFeaturesConfig +) +SELECT +'{{ catalogsId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ displayName }}', +'{{ trainingState }}', +'{{ servingState }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ type }}', +'{{ optimizationObjective }}', +'{{ periodicTuningState }}', +'{{ lastTuneTime }}', +'{{ tuningOperation }}', +'{{ dataState }}', +'{{ filteringOption }}', +'{{ servingConfigLists }}', +'{{ modelFeaturesConfig }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: trainingState + value: '{{ trainingState }}' + - name: servingState + value: '{{ servingState }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: type + value: '{{ type }}' + - name: optimizationObjective + value: '{{ optimizationObjective }}' + - name: periodicTuningState + value: '{{ periodicTuningState }}' + - name: lastTuneTime + value: '{{ lastTuneTime }}' + - name: tuningOperation + value: '{{ tuningOperation }}' + - name: dataState + value: '{{ dataState }}' + - name: filteringOption + value: '{{ filteringOption }}' + - name: servingConfigLists + value: '{{ servingConfigLists }}' + - name: modelFeaturesConfig + value: '{{ modelFeaturesConfig }}' + +``` + + + +## `UPDATE` example + +Updates a model only if the necessary resources are available. + +```sql +UPDATE google.retail.models +SET +name = '{{ name }}', +displayName = '{{ displayName }}', +trainingState = '{{ trainingState }}', +servingState = '{{ servingState }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +type = '{{ type }}', +optimizationObjective = '{{ optimizationObjective }}', +periodicTuningState = '{{ periodicTuningState }}', +lastTuneTime = '{{ lastTuneTime }}', +tuningOperation = '{{ tuningOperation }}', +dataState = '{{ dataState }}', +filteringOption = '{{ filteringOption }}', +servingConfigLists = '{{ servingConfigLists }}', +modelFeaturesConfig = '{{ modelFeaturesConfig }}' +WHERE +catalogsId = '{{ catalogsId }}' +AND locationsId = '{{ locationsId }}' +AND modelsId = '{{ modelsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified model resource. + +```sql +DELETE FROM google.retail.models +WHERE catalogsId = '{{ catalogsId }}' +AND locationsId = '{{ locationsId }}' +AND modelsId = '{{ modelsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/retail/operations/index.md b/docs/google-docs/providers/google/retail/operations/index.md index cd644b8f2e..558362736f 100644 --- a/docs/google-docs/providers/google/retail/operations/index.md +++ b/docs/google-docs/providers/google/retail/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - retail - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview
@@ -30,11 +32,12 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -45,6 +48,18 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.retail.operations +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/retail/placements/index.md b/docs/google-docs/providers/google/retail/placements/index.md index ea4af7ffd9..e44a684c2f 100644 --- a/docs/google-docs/providers/google/retail/placements/index.md +++ b/docs/google-docs/providers/google/retail/placements/index.md @@ -1,3 +1,4 @@ + --- title: placements hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - placements - retail - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an placement resource or lists placements in a region ## Overview
@@ -28,7 +30,9 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| diff --git a/docs/google-docs/providers/google/retail/products/index.md b/docs/google-docs/providers/google/retail/products/index.md index 6e50bb7978..2a4f79ce6a 100644 --- a/docs/google-docs/providers/google/retail/products/index.md +++ b/docs/google-docs/providers/google/retail/products/index.md @@ -1,3 +1,4 @@ + --- title: products hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - products - retail - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an product resource or lists products in a region ## Overview @@ -33,13 +35,13 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Immutable. Product identifier, which is the final component of name. For example, this field is "id_1", if name is `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/id_1`. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property [id](https://support.google.com/merchants/answer/6324405). Schema.org property [Product.sku](https://schema.org/sku). | | | `string` | Immutable. Full resource name of the product, such as `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/product_id`. | | | `string` | Product description. This field must be a UTF-8 encoded string with a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property [description](https://support.google.com/merchants/answer/6324468). Schema.org property [Product.description](https://schema.org/description). | -| | `object` | Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. | +| | `object` | Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. | | | `object` | An intended audience of the Product for whom it's sold. | -| | `string` | The online availability of the Product. Default to Availability.IN_STOCK. Corresponding properties: Google Merchant Center property [availability](https://support.google.com/merchants/answer/6324448). Schema.org property [Offer.availability](https://schema.org/availability). | +| | `string` | The online availability of the Product. Default to Availability.IN_STOCK. For primary products with variants set the availability of the primary as Availability.OUT_OF_STOCK and set the true availability at the variant level. This way the primary product will be considered "in stock" as long as it has at least one variant in stock. For primary products with no variants set the true availability at the primary level. Corresponding properties: Google Merchant Center property [availability](https://support.google.com/merchants/answer/6324448). Schema.org property [Offer.availability](https://schema.org/availability). | | | `integer` | The available quantity of the item. | | | `string` | The timestamp when this Product becomes available for SearchService.Search. Note that this is only applicable to Type.PRIMARY and Type.COLLECTION, and ignored for Type.VARIANT. | | | `array` | The brands of the product. A maximum of 30 brands are allowed unless overridden through the Google Cloud console. Each brand must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property [brand](https://support.google.com/merchants/answer/6324351). Schema.org property [Product.brand](https://schema.org/brand). | -| | `array` | Product categories. This field is repeated for supporting one product belonging to several parallel categories. Strongly recommended using the full path for better search / recommendation quality. To represent full path of category, use '>' sign to separate different hierarchies. If '>' is part of the category name, replace it with other character(s). For example, if a shoes product belongs to both ["Shoes & Accessories" -> "Shoes"] and ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be represented as: "categories": [ "Shoes & Accessories > Shoes", "Sports & Fitness > Athletic Clothing > Shoes" ] Must be set for Type.PRIMARY Product otherwise an INVALID_ARGUMENT error is returned. At most 250 values are allowed per Product unless overridden through the Google Cloud console. Empty values are not allowed. Each value must be a UTF-8 encoded string with a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property google_product_category. Schema.org property [Product.category] (https://schema.org/category). [mc_google_product_category]: https://support.google.com/merchants/answer/6324436 | +| | `array` | Product categories. This field is repeated for supporting one product belonging to several parallel categories. Strongly recommended using the full path for better search / recommendation quality. To represent full path of category, use '>' sign to separate different hierarchies. If '>' is part of the category name, replace it with other character(s). For example, if a shoes product belongs to both ["Shoes & Accessories" -> "Shoes"] and ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be represented as: "categories": [ "Shoes & Accessories > Shoes", "Sports & Fitness > Athletic Clothing > Shoes" ] Must be set for Type.PRIMARY Product otherwise an INVALID_ARGUMENT error is returned. At most 250 values are allowed per Product unless overridden through the Google Cloud console. Empty values are not allowed. Each value must be a UTF-8 encoded string with a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property google_product_category. Schema.org property [Product.category] (https://schema.org/category). [mc_google_product_category]: https://support.google.com/merchants/answer/6324436 | | | `array` | The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise an INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. | | | `object` | The color information of a Product. | | | `array` | The condition of the product. Strongly encouraged to use the standard values: "new", "refurbished", "used". A maximum of 1 value is allowed per Product. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property [condition](https://support.google.com/merchants/answer/6324469). Schema.org property [Offer.itemCondition](https://schema.org/itemCondition). | @@ -64,6 +66,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Immutable. The type of the product. Default to Catalog.product_level_config.ingestion_product_type if unset. | | | `string` | Canonical URL directly linking to the product detail page. It is strongly recommended to provide a valid uri for the product, otherwise the service performance could be significantly degraded. This field must be a UTF-8 encoded string with a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property [link](https://support.google.com/merchants/answer/6324416). Schema.org property [Offer.url](https://schema.org/url). | | | `array` | Output only. Product variants grouped together on primary product which share similar product attributes. It's automatically grouped by primary_product_id for all the product variants. Only populated for Type.PRIMARY Products. Note: This field is OUTPUT_ONLY for ProductService.GetProduct. Do not set this field in API requests. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -72,7 +75,291 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a Product. | | | `DELETE` | | Deletes a Product. | | | `UPDATE` | | Updates a Product. | -| | `EXEC` | | Gets a list of Products. | | | `EXEC` | | Bulk import of multiple Products. Request processing may be synchronous. Non-existing items are created. Note that it is possible for a subset of the Products to be successfully updated. | | | `EXEC` | | Permanently deletes all selected Products under a branch. This process is asynchronous. If the request is valid, the removal will be enqueued and processed offline. Depending on the number of Products, this operation could take hours to complete. Before the operation completes, some Products may still be returned by ProductService.GetProduct or ProductService.ListProducts. Depending on the number of Products, this operation could take hours to complete. To get a sample of Products that would be deleted, set PurgeProductsRequest.force to false. | | | `EXEC` | | Updates inventory information for a Product while respecting the last update timestamps of each inventory field. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update is enqueued and processed downstream. As a consequence, when a response is returned, updates are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. When inventory is updated with ProductService.CreateProduct and ProductService.UpdateProduct, the specified inventory field value(s) overwrite any existing value(s) while ignoring the last update time for this field. Furthermore, the last update times for the specified inventory fields are overwritten by the times of the ProductService.CreateProduct or ProductService.UpdateProduct request. If no inventory fields are set in CreateProductRequest.product, then any pre-existing inventory information for this product is used. If no inventory fields are set in SetInventoryRequest.set_mask, then any existing inventory information is preserved. Pre-existing inventory information can only be updated with ProductService.SetInventory, ProductService.AddFulfillmentPlaces, and ProductService.RemoveFulfillmentPlaces. The returned Operations is obsolete after one day, and the GetOperation API returns `NOT_FOUND` afterwards. If conflicting updates are issued, the Operations associated with the stale updates are not marked as done until they are obsolete. | + +## `SELECT` examples + +Gets a list of Products. + +```sql +SELECT +id, +name, +description, +attributes, +audience, +availability, +availableQuantity, +availableTime, +brands, +categories, +collectionMemberIds, +colorInfo, +conditions, +expireTime, +fulfillmentInfo, +gtin, +images, +languageCode, +localInventories, +materials, +patterns, +priceInfo, +primaryProductId, +promotions, +publishTime, +rating, +retrievableFields, +sizes, +tags, +title, +ttl, +type, +uri, +variants +FROM google.retail.products +WHERE branchesId = '{{ branchesId }}' +AND catalogsId = '{{ catalogsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new products resource. + + + + +```sql +/*+ create */ +INSERT INTO google.retail.products ( +branchesId, +catalogsId, +locationsId, +projectsId, +expireTime, +ttl, +name, +id, +type, +primaryProductId, +collectionMemberIds, +gtin, +categories, +title, +brands, +description, +languageCode, +attributes, +tags, +priceInfo, +rating, +availableTime, +availability, +availableQuantity, +fulfillmentInfo, +uri, +images, +audience, +colorInfo, +sizes, +materials, +patterns, +conditions, +promotions, +publishTime, +retrievableFields, +variants, +localInventories +) +SELECT +'{{ branchesId }}', +'{{ catalogsId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ expireTime }}', +'{{ ttl }}', +'{{ name }}', +'{{ id }}', +'{{ type }}', +'{{ primaryProductId }}', +'{{ collectionMemberIds }}', +'{{ gtin }}', +'{{ categories }}', +'{{ title }}', +'{{ brands }}', +'{{ description }}', +'{{ languageCode }}', +'{{ attributes }}', +'{{ tags }}', +'{{ priceInfo }}', +'{{ rating }}', +'{{ availableTime }}', +'{{ availability }}', +'{{ availableQuantity }}', +'{{ fulfillmentInfo }}', +'{{ uri }}', +'{{ images }}', +'{{ audience }}', +'{{ colorInfo }}', +'{{ sizes }}', +'{{ materials }}', +'{{ patterns }}', +'{{ conditions }}', +'{{ promotions }}', +'{{ publishTime }}', +'{{ retrievableFields }}', +'{{ variants }}', +'{{ localInventories }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: expireTime + value: '{{ expireTime }}' + - name: ttl + value: '{{ ttl }}' + - name: name + value: '{{ name }}' + - name: id + value: '{{ id }}' + - name: type + value: '{{ type }}' + - name: primaryProductId + value: '{{ primaryProductId }}' + - name: collectionMemberIds + value: '{{ collectionMemberIds }}' + - name: gtin + value: '{{ gtin }}' + - name: categories + value: '{{ categories }}' + - name: title + value: '{{ title }}' + - name: brands + value: '{{ brands }}' + - name: description + value: '{{ description }}' + - name: languageCode + value: '{{ languageCode }}' + - name: attributes + value: '{{ attributes }}' + - name: tags + value: '{{ tags }}' + - name: priceInfo + value: '{{ priceInfo }}' + - name: rating + value: '{{ rating }}' + - name: availableTime + value: '{{ availableTime }}' + - name: availability + value: '{{ availability }}' + - name: availableQuantity + value: '{{ availableQuantity }}' + - name: fulfillmentInfo + value: '{{ fulfillmentInfo }}' + - name: uri + value: '{{ uri }}' + - name: images + value: '{{ images }}' + - name: audience + value: '{{ audience }}' + - name: colorInfo + value: '{{ colorInfo }}' + - name: sizes + value: '{{ sizes }}' + - name: materials + value: '{{ materials }}' + - name: patterns + value: '{{ patterns }}' + - name: conditions + value: '{{ conditions }}' + - name: promotions + value: '{{ promotions }}' + - name: publishTime + value: '{{ publishTime }}' + - name: retrievableFields + value: '{{ retrievableFields }}' + - name: variants + value: '{{ variants }}' + - name: localInventories + value: '{{ localInventories }}' + +``` + + + +## `UPDATE` example + +Updates a product only if the necessary resources are available. + +```sql +UPDATE google.retail.products +SET +expireTime = '{{ expireTime }}', +ttl = '{{ ttl }}', +name = '{{ name }}', +id = '{{ id }}', +type = '{{ type }}', +primaryProductId = '{{ primaryProductId }}', +collectionMemberIds = '{{ collectionMemberIds }}', +gtin = '{{ gtin }}', +categories = '{{ categories }}', +title = '{{ title }}', +brands = '{{ brands }}', +description = '{{ description }}', +languageCode = '{{ languageCode }}', +attributes = '{{ attributes }}', +tags = '{{ tags }}', +priceInfo = '{{ priceInfo }}', +rating = '{{ rating }}', +availableTime = '{{ availableTime }}', +availability = '{{ availability }}', +availableQuantity = '{{ availableQuantity }}', +fulfillmentInfo = '{{ fulfillmentInfo }}', +uri = '{{ uri }}', +images = '{{ images }}', +audience = '{{ audience }}', +colorInfo = '{{ colorInfo }}', +sizes = '{{ sizes }}', +materials = '{{ materials }}', +patterns = '{{ patterns }}', +conditions = '{{ conditions }}', +promotions = '{{ promotions }}', +publishTime = '{{ publishTime }}', +retrievableFields = '{{ retrievableFields }}', +variants = '{{ variants }}', +localInventories = '{{ localInventories }}' +WHERE +branchesId = '{{ branchesId }}' +AND catalogsId = '{{ catalogsId }}' +AND locationsId = '{{ locationsId }}' +AND productsId = '{{ productsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified product resource. + +```sql +DELETE FROM google.retail.products +WHERE branchesId = '{{ branchesId }}' +AND catalogsId = '{{ catalogsId }}' +AND locationsId = '{{ locationsId }}' +AND productsId = '{{ productsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/retail/products_fulfillment_places/index.md b/docs/google-docs/providers/google/retail/products_fulfillment_places/index.md index 87f49b5efe..c481a9b557 100644 --- a/docs/google-docs/providers/google/retail/products_fulfillment_places/index.md +++ b/docs/google-docs/providers/google/retail/products_fulfillment_places/index.md @@ -1,3 +1,4 @@ + --- title: products_fulfillment_places hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - products_fulfillment_places - retail - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an products_fulfillment_place resource or lists products_fulfillment_places in a region ## Overview
@@ -28,9 +30,82 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| -| | `EXEC` | | We recommend that you use the ProductService.AddLocalInventories method instead of the ProductService.AddFulfillmentPlaces method. ProductService.AddLocalInventories achieves the same results but provides more fine-grained control over ingesting local inventory data. Incrementally adds place IDs to Product.fulfillment_info.place_ids. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, the added place IDs are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete. | -| | `EXEC` | | We recommend that you use the ProductService.RemoveLocalInventories method instead of the ProductService.RemoveFulfillmentPlaces method. ProductService.RemoveLocalInventories achieves the same results but provides more fine-grained control over ingesting local inventory data. Incrementally removes place IDs from a Product.fulfillment_info.place_ids. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, the removed place IDs are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete. | +| | `INSERT` | | We recommend that you use the ProductService.AddLocalInventories method instead of the ProductService.AddFulfillmentPlaces method. ProductService.AddLocalInventories achieves the same results but provides more fine-grained control over ingesting local inventory data. Incrementally adds place IDs to Product.fulfillment_info.place_ids. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, the added place IDs are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete. | +| | `DELETE` | | We recommend that you use the ProductService.RemoveLocalInventories method instead of the ProductService.RemoveFulfillmentPlaces method. ProductService.RemoveLocalInventories achieves the same results but provides more fine-grained control over ingesting local inventory data. Incrementally removes place IDs from a Product.fulfillment_info.place_ids. This process is asynchronous and does not require the Product to exist before updating fulfillment information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, the removed place IDs are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete. | + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new products_fulfillment_places resource. + + + + +```sql +/*+ create */ +INSERT INTO google.retail.products_fulfillment_places ( +branchesId, +catalogsId, +locationsId, +productsId, +projectsId, +type, +placeIds, +addTime, +allowMissing +) +SELECT +'{{ branchesId }}', +'{{ catalogsId }}', +'{{ locationsId }}', +'{{ productsId }}', +'{{ projectsId }}', +'{{ type }}', +'{{ placeIds }}', +'{{ addTime }}', +true|false +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: type + value: '{{ type }}' + - name: placeIds + value: '{{ placeIds }}' + - name: addTime + value: '{{ addTime }}' + - name: allowMissing + value: '{{ allowMissing }}' + +``` + + + +## `DELETE` example + +Deletes the specified products_fulfillment_place resource. + +```sql +DELETE FROM google.retail.products_fulfillment_places +WHERE branchesId = '{{ branchesId }}' +AND catalogsId = '{{ catalogsId }}' +AND locationsId = '{{ locationsId }}' +AND productsId = '{{ productsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/retail/products_local_inventories/index.md b/docs/google-docs/providers/google/retail/products_local_inventories/index.md index 1114aeaa8f..9bc01f9632 100644 --- a/docs/google-docs/providers/google/retail/products_local_inventories/index.md +++ b/docs/google-docs/providers/google/retail/products_local_inventories/index.md @@ -1,3 +1,4 @@ + --- title: products_local_inventories hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - products_local_inventories - retail - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an products_local_inventory resource or lists products_local_inventories in a region ## Overview @@ -28,9 +30,82 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| -| | `EXEC` | | Updates local inventory information for a Product at a list of places, while respecting the last update timestamps of each inventory field. This process is asynchronous and does not require the Product to exist before updating inventory information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, updates are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. Local inventory information can only be modified using this method. ProductService.CreateProduct and ProductService.UpdateProduct has no effect on local inventories. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete. | -| | `EXEC` | | Remove local inventory information for a Product at a list of places at a removal timestamp. This process is asynchronous. If the request is valid, the removal will be enqueued and processed downstream. As a consequence, when a response is returned, removals are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. Local inventory information can only be removed using this method. ProductService.CreateProduct and ProductService.UpdateProduct has no effect on local inventories. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete. | +| | `INSERT` | | Updates local inventory information for a Product at a list of places, while respecting the last update timestamps of each inventory field. This process is asynchronous and does not require the Product to exist before updating inventory information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, updates are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. Local inventory information can only be modified using this method. ProductService.CreateProduct and ProductService.UpdateProduct has no effect on local inventories. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete. | +| | `DELETE` | | Remove local inventory information for a Product at a list of places at a removal timestamp. This process is asynchronous. If the request is valid, the removal will be enqueued and processed downstream. As a consequence, when a response is returned, removals are not immediately manifested in the Product queried by ProductService.GetProduct or ProductService.ListProducts. Local inventory information can only be removed using this method. ProductService.CreateProduct and ProductService.UpdateProduct has no effect on local inventories. The returned Operations will be obsolete after 1 day, and GetOperation API will return NOT_FOUND afterwards. If conflicting updates are issued, the Operations associated with the stale updates will not be marked as done until being obsolete. | + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new products_local_inventories resource. + + + + +```sql +/*+ create */ +INSERT INTO google.retail.products_local_inventories ( +branchesId, +catalogsId, +locationsId, +productsId, +projectsId, +localInventories, +addMask, +addTime, +allowMissing +) +SELECT +'{{ branchesId }}', +'{{ catalogsId }}', +'{{ locationsId }}', +'{{ productsId }}', +'{{ projectsId }}', +'{{ localInventories }}', +'{{ addMask }}', +'{{ addTime }}', +true|false +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: localInventories + value: '{{ localInventories }}' + - name: addMask + value: '{{ addMask }}' + - name: addTime + value: '{{ addTime }}' + - name: allowMissing + value: '{{ allowMissing }}' + +``` + + + +## `DELETE` example + +Deletes the specified products_local_inventory resource. + +```sql +DELETE FROM google.retail.products_local_inventories +WHERE branchesId = '{{ branchesId }}' +AND catalogsId = '{{ catalogsId }}' +AND locationsId = '{{ locationsId }}' +AND productsId = '{{ productsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/retail/serving_configs/index.md b/docs/google-docs/providers/google/retail/serving_configs/index.md index 0c7dab1624..da7b8de311 100644 --- a/docs/google-docs/providers/google/retail/serving_configs/index.md +++ b/docs/google-docs/providers/google/retail/serving_configs/index.md @@ -1,3 +1,4 @@ + --- title: serving_configs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - serving_configs - retail - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an serving_config resource or lists serving_configs in a region ## Overview @@ -50,6 +52,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `array` | Condition replacement specifications. - Applied according to the order in the list. - A previously replaced term can not be re-replaced. - Maximum number of specifications is 100. Can only be set if solution_types is SOLUTION_TYPE_SEARCH. | | | `array` | Required. Immutable. Specifies the solution types that a serving config can be associated with. Currently we support setting only one type of solution. | | | `array` | Condition synonyms specifications. If multiple syonyms conditions match, all matching synonyms control in the list will execute. Order of controls in the list will not matter. Maximum number of specifications is 100. Can only be set if solution_types is SOLUTION_TYPE_SEARCH. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -58,6 +61,201 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a ServingConfig. A maximum of 100 ServingConfigs are allowed in a Catalog, otherwise a FAILED_PRECONDITION error is returned. | | | `DELETE` | | Deletes a ServingConfig. Returns a NotFound error if the ServingConfig does not exist. | | | `UPDATE` | | Updates a ServingConfig. | -| | `EXEC` | | Lists all ServingConfigs linked to this catalog. | | | `EXEC` | | Makes a recommendation prediction. | | | `EXEC` | | Performs a search. This feature is only available for users who have Retail Search enabled. Enable Retail Search on Cloud Console before using this feature. | + +## `SELECT` examples + +Lists all ServingConfigs linked to this catalog. + +```sql +SELECT +name, +boostControlIds, +displayName, +diversityLevel, +diversityType, +doNotAssociateControlIds, +dynamicFacetSpec, +enableCategoryFilterLevel, +facetControlIds, +filterControlIds, +ignoreControlIds, +ignoreRecsDenylist, +modelId, +onewaySynonymsControlIds, +personalizationSpec, +priceRerankingLevel, +redirectControlIds, +replacementControlIds, +solutionTypes, +twowaySynonymsControlIds +FROM google.retail.serving_configs +WHERE catalogsId = '{{ catalogsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new serving_configs resource. + + + + +```sql +/*+ create */ +INSERT INTO google.retail.serving_configs ( +catalogsId, +locationsId, +projectsId, +name, +displayName, +modelId, +priceRerankingLevel, +facetControlIds, +dynamicFacetSpec, +boostControlIds, +filterControlIds, +redirectControlIds, +twowaySynonymsControlIds, +onewaySynonymsControlIds, +doNotAssociateControlIds, +replacementControlIds, +ignoreControlIds, +diversityLevel, +diversityType, +enableCategoryFilterLevel, +ignoreRecsDenylist, +personalizationSpec, +solutionTypes +) +SELECT +'{{ catalogsId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ displayName }}', +'{{ modelId }}', +'{{ priceRerankingLevel }}', +'{{ facetControlIds }}', +'{{ dynamicFacetSpec }}', +'{{ boostControlIds }}', +'{{ filterControlIds }}', +'{{ redirectControlIds }}', +'{{ twowaySynonymsControlIds }}', +'{{ onewaySynonymsControlIds }}', +'{{ doNotAssociateControlIds }}', +'{{ replacementControlIds }}', +'{{ ignoreControlIds }}', +'{{ diversityLevel }}', +'{{ diversityType }}', +'{{ enableCategoryFilterLevel }}', +true|false, +'{{ personalizationSpec }}', +'{{ solutionTypes }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: modelId + value: '{{ modelId }}' + - name: priceRerankingLevel + value: '{{ priceRerankingLevel }}' + - name: facetControlIds + value: '{{ facetControlIds }}' + - name: dynamicFacetSpec + value: '{{ dynamicFacetSpec }}' + - name: boostControlIds + value: '{{ boostControlIds }}' + - name: filterControlIds + value: '{{ filterControlIds }}' + - name: redirectControlIds + value: '{{ redirectControlIds }}' + - name: twowaySynonymsControlIds + value: '{{ twowaySynonymsControlIds }}' + - name: onewaySynonymsControlIds + value: '{{ onewaySynonymsControlIds }}' + - name: doNotAssociateControlIds + value: '{{ doNotAssociateControlIds }}' + - name: replacementControlIds + value: '{{ replacementControlIds }}' + - name: ignoreControlIds + value: '{{ ignoreControlIds }}' + - name: diversityLevel + value: '{{ diversityLevel }}' + - name: diversityType + value: '{{ diversityType }}' + - name: enableCategoryFilterLevel + value: '{{ enableCategoryFilterLevel }}' + - name: ignoreRecsDenylist + value: '{{ ignoreRecsDenylist }}' + - name: personalizationSpec + value: '{{ personalizationSpec }}' + - name: solutionTypes + value: '{{ solutionTypes }}' + +``` + + + +## `UPDATE` example + +Updates a serving_config only if the necessary resources are available. + +```sql +UPDATE google.retail.serving_configs +SET +name = '{{ name }}', +displayName = '{{ displayName }}', +modelId = '{{ modelId }}', +priceRerankingLevel = '{{ priceRerankingLevel }}', +facetControlIds = '{{ facetControlIds }}', +dynamicFacetSpec = '{{ dynamicFacetSpec }}', +boostControlIds = '{{ boostControlIds }}', +filterControlIds = '{{ filterControlIds }}', +redirectControlIds = '{{ redirectControlIds }}', +twowaySynonymsControlIds = '{{ twowaySynonymsControlIds }}', +onewaySynonymsControlIds = '{{ onewaySynonymsControlIds }}', +doNotAssociateControlIds = '{{ doNotAssociateControlIds }}', +replacementControlIds = '{{ replacementControlIds }}', +ignoreControlIds = '{{ ignoreControlIds }}', +diversityLevel = '{{ diversityLevel }}', +diversityType = '{{ diversityType }}', +enableCategoryFilterLevel = '{{ enableCategoryFilterLevel }}', +ignoreRecsDenylist = true|false, +personalizationSpec = '{{ personalizationSpec }}', +solutionTypes = '{{ solutionTypes }}' +WHERE +catalogsId = '{{ catalogsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND servingConfigsId = '{{ servingConfigsId }}'; +``` + +## `DELETE` example + +Deletes the specified serving_config resource. + +```sql +DELETE FROM google.retail.serving_configs +WHERE catalogsId = '{{ catalogsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND servingConfigsId = '{{ servingConfigsId }}'; +``` diff --git a/docs/google-docs/providers/google/retail/serving_configs_control/index.md b/docs/google-docs/providers/google/retail/serving_configs_control/index.md index 5c68fbe5f0..d7ac576034 100644 --- a/docs/google-docs/providers/google/retail/serving_configs_control/index.md +++ b/docs/google-docs/providers/google/retail/serving_configs_control/index.md @@ -1,3 +1,4 @@ + --- title: serving_configs_control hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - serving_configs_control - retail - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an serving_configs_control resource or lists serving_configs_control in a region ## Overview
@@ -28,9 +30,67 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| -| | `EXEC` | | Enables a Control on the specified ServingConfig. The control is added in the last position of the list of controls it belongs to (e.g. if it's a facet spec control it will be applied in the last position of servingConfig.facetSpecIds) Returns a ALREADY_EXISTS error if the control has already been applied. Returns a FAILED_PRECONDITION error if the addition could exceed maximum number of control allowed for that type of control. | -| | `EXEC` | | Disables a Control on the specified ServingConfig. The control is removed from the ServingConfig. Returns a NOT_FOUND error if the Control is not enabled for the ServingConfig. | +| | `INSERT` | | Enables a Control on the specified ServingConfig. The control is added in the last position of the list of controls it belongs to (e.g. if it's a facet spec control it will be applied in the last position of servingConfig.facetSpecIds) Returns a ALREADY_EXISTS error if the control has already been applied. Returns a FAILED_PRECONDITION error if the addition could exceed maximum number of control allowed for that type of control. | +| | `DELETE` | | Disables a Control on the specified ServingConfig. The control is removed from the ServingConfig. Returns a NOT_FOUND error if the Control is not enabled for the ServingConfig. | + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new serving_configs_control resource. + + + + +```sql +/*+ create */ +INSERT INTO google.retail.serving_configs_control ( +catalogsId, +locationsId, +projectsId, +servingConfigsId, +controlId +) +SELECT +'{{ catalogsId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ servingConfigsId }}', +'{{ controlId }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: controlId + value: '{{ controlId }}' + +``` + + + +## `DELETE` example + +Deletes the specified serving_configs_control resource. + +```sql +DELETE FROM google.retail.serving_configs_control +WHERE catalogsId = '{{ catalogsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND servingConfigsId = '{{ servingConfigsId }}'; +``` diff --git a/docs/google-docs/providers/google/retail/user_events/index.md b/docs/google-docs/providers/google/retail/user_events/index.md index c791f25864..1e76bca227 100644 --- a/docs/google-docs/providers/google/retail/user_events/index.md +++ b/docs/google-docs/providers/google/retail/user_events/index.md @@ -1,3 +1,4 @@ + --- title: user_events hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - user_events - retail - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an user_event resource or lists user_events in a region ## Overview @@ -28,7 +30,9 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| diff --git a/docs/google-docs/providers/google/run/builds/index.md b/docs/google-docs/providers/google/run/builds/index.md new file mode 100644 index 0000000000..cd7dc1cf62 --- /dev/null +++ b/docs/google-docs/providers/google/run/builds/index.md @@ -0,0 +1,39 @@ + +--- +title: builds +hide_title: false +hide_table_of_contents: false +keywords: + - builds + - run + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an build resource or lists builds in a region + +## Overview + + + + +
Namebuilds
TypeResource
Id
+ +## Fields +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Submits a build in a given project. | diff --git a/docs/google-docs/providers/google/run/executions/index.md b/docs/google-docs/providers/google/run/executions/index.md index 247bb0a75d..e9d88ec97b 100644 --- a/docs/google-docs/providers/google/run/executions/index.md +++ b/docs/google-docs/providers/google/run/executions/index.md @@ -1,3 +1,4 @@ + --- title: executions hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - executions - run - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an execution resource or lists executions in a region ## Overview @@ -46,7 +48,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The least stable launch stage needed to create this resource, as defined by [Google Cloud Platform Launch Stages](https://cloud.google.com/terms/launch-stages). Cloud Run supports `ALPHA`, `BETA`, and `GA`. Note that this value might not be what was used as input. For example, if ALPHA was provided as input in the parent resource, but only BETA and GA-level features are were, this field will be BETA. | | | `string` | Output only. URI where logs for this execution can be found in Cloud Console. | | | `string` | Output only. The generation of this Execution. See comments in `reconciling` for additional information on reconciliation process in Cloud Run. | -| | `integer` | Output only. Specifies the maximum desired number of tasks the execution should run at any given time. Must be <= task_count. The actual number of tasks running in steady state will be less than this number when ((.spec.task_count - .status.successful) < .spec.parallelism), i.e. when the work left to do is less than max parallelism. | +| | `integer` | Output only. Specifies the maximum desired number of tasks the execution should run at any given time. Must be <= task_count. The actual number of tasks running in steady state will be less than this number when ((.spec.task_count - .status.successful) < .spec.parallelism), i.e. when the work left to do is less than max parallelism. | | | `boolean` | Output only. Indicates whether the resource's reconciliation is still in progress. See comments in `Job.reconciling` for additional information on reconciliation process in Cloud Run. | | | `integer` | Output only. The number of tasks which have retried at least once. | | | `integer` | Output only. The number of actively running tasks. | @@ -57,12 +59,63 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | TaskTemplate describes the data a task should have when created from a template. | | | `string` | Output only. Server assigned unique identifier for the Execution. The value is a UUID4 string and guaranteed to remain unchanged until the resource is deleted. | | | `string` | Output only. The last-modified time. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about an Execution. | | | `SELECT` | | Lists Executions from a Job. Results are sorted by creation time, descending. | | | `DELETE` | | Deletes an Execution. | -| | `EXEC` | | Lists Executions from a Job. Results are sorted by creation time, descending. | | | `EXEC` | | Cancels an Execution. | | | `EXEC` | | Read the status of an image export operation. | + +## `SELECT` examples + +Lists Executions from a Job. Results are sorted by creation time, descending. + +```sql +SELECT +name, +annotations, +cancelledCount, +completionTime, +conditions, +createTime, +deleteTime, +etag, +expireTime, +failedCount, +generation, +job, +labels, +launchStage, +logUri, +observedGeneration, +parallelism, +reconciling, +retriedCount, +runningCount, +satisfiesPzs, +startTime, +succeededCount, +taskCount, +template, +uid, +updateTime +FROM google.run.executions +WHERE jobsId = '{{ jobsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified execution resource. + +```sql +DELETE FROM google.run.executions +WHERE executionsId = '{{ executionsId }}' +AND jobsId = '{{ jobsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/run/index.md b/docs/google-docs/providers/google/run/index.md index ea5b350960..eaf98eec57 100644 --- a/docs/google-docs/providers/google/run/index.md +++ b/docs/google-docs/providers/google/run/index.md @@ -9,47 +9,37 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Deploy and manage user provided container images that scale automatically based on incoming requests. The Cloud Run Admin API v1 follows the Knative Serving API specification, while v2 is aligned with Google Cloud AIP-based API standards, as described in https://google.aip.dev/. - +The run service documentation. + :::info Service Summary
-total resources: 9
-total selectable resources: 8
-total methods: 43
+total resources: 10
::: -## Overview -
- - - - - -
Namegoogle.run
TypeService
TitleCloud Run Admin API
DescriptionDeploy and manage user provided container images that scale automatically based on incoming requests. The Cloud Run Admin API v1 follows the Knative Serving API specification, while v2 is aligned with Google Cloud AIP-based API standards, as described in https://google.aip.dev/.
Idrun:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/run/jobs/index.md b/docs/google-docs/providers/google/run/jobs/index.md index 237ed4d49a..541c8137bc 100644 --- a/docs/google-docs/providers/google/run/jobs/index.md +++ b/docs/google-docs/providers/google/run/jobs/index.md @@ -1,3 +1,4 @@ + --- title: jobs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - jobs - run - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an job resource or lists jobs in a region ## Overview @@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The fully qualified name of this Job. Format: projects/{project}/locations/{location}/jobs/{job} | +| | `string` | The fully qualified name of this Job. Format: projects/{project}/locations/{location}/jobs/{job} | | | `object` | Unstructured key value map that may be set by external tools to store and arbitrary metadata. They are not queryable and should be preserved when modifying objects. Cloud Run API v2 does not support annotations with `run.googleapis.com`, `cloud.googleapis.com`, `serving.knative.dev`, or `autoscaling.knative.dev` namespaces, and they will be rejected on new resources. All system annotations in v1 now have a corresponding field in v2 Job. This field follows Kubernetes annotations' namespacing, limits, and rules. | | | `object` | Settings for Binary Authorization feature. | | | `string` | Arbitrary identifier for the API client. | @@ -38,7 +40,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `array` | Output only. The Conditions of all other associated sub-resources. They contain additional diagnostics information in case the Job does not reach its desired state. See comments in `reconciling` for additional information on reconciliation process in Cloud Run. | | | `string` | Output only. The creation time. | | | `string` | Output only. Email address of the authenticated creator. | -| | `string` | Output only. The deletion time. | +| | `string` | Output only. The deletion time. It is only populated as a response to a Delete request. | | | `string` | Output only. A system-generated fingerprint for this version of the resource. May be used to detect modification conflict during updates. | | | `integer` | Output only. Number of executions created for this job. | | | `string` | Output only. For a deleted resource, the time after which it will be permamently deleted. | @@ -56,6 +58,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Defines a status condition for a resource. | | | `string` | Output only. Server assigned unique identifier for the Execution. The value is a UUID4 string and guaranteed to remain unchanged until the resource is deleted. | | | `string` | Output only. The last-modified time. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -64,5 +67,231 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a Job. | | | `DELETE` | | Deletes a Job. | | | `UPDATE` | | Updates a Job. | -| | `EXEC` | | Lists Jobs. Results are sorted by creation time, descending. | | | `EXEC` | | Triggers creation of a new Execution of this Job. | + +## `SELECT` examples + +Lists Jobs. Results are sorted by creation time, descending. + +```sql +SELECT +name, +annotations, +binaryAuthorization, +client, +clientVersion, +conditions, +createTime, +creator, +deleteTime, +etag, +executionCount, +expireTime, +generation, +labels, +lastModifier, +latestCreatedExecution, +launchStage, +observedGeneration, +reconciling, +runExecutionToken, +satisfiesPzs, +startExecutionToken, +template, +terminalCondition, +uid, +updateTime +FROM google.run.jobs +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new jobs resource. + + + + +```sql +/*+ create */ +INSERT INTO google.run.jobs ( +locationsId, +projectsId, +name, +uid, +generation, +labels, +annotations, +createTime, +updateTime, +deleteTime, +expireTime, +creator, +lastModifier, +client, +clientVersion, +launchStage, +binaryAuthorization, +template, +observedGeneration, +terminalCondition, +conditions, +executionCount, +latestCreatedExecution, +reconciling, +satisfiesPzs, +startExecutionToken, +runExecutionToken, +etag +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ uid }}', +'{{ generation }}', +'{{ labels }}', +'{{ annotations }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ deleteTime }}', +'{{ expireTime }}', +'{{ creator }}', +'{{ lastModifier }}', +'{{ client }}', +'{{ clientVersion }}', +'{{ launchStage }}', +'{{ binaryAuthorization }}', +'{{ template }}', +'{{ observedGeneration }}', +'{{ terminalCondition }}', +'{{ conditions }}', +'{{ executionCount }}', +'{{ latestCreatedExecution }}', +true|false, +true|false, +'{{ startExecutionToken }}', +'{{ runExecutionToken }}', +'{{ etag }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: uid + value: '{{ uid }}' + - name: generation + value: '{{ generation }}' + - name: labels + value: '{{ labels }}' + - name: annotations + value: '{{ annotations }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: deleteTime + value: '{{ deleteTime }}' + - name: expireTime + value: '{{ expireTime }}' + - name: creator + value: '{{ creator }}' + - name: lastModifier + value: '{{ lastModifier }}' + - name: client + value: '{{ client }}' + - name: clientVersion + value: '{{ clientVersion }}' + - name: launchStage + value: '{{ launchStage }}' + - name: binaryAuthorization + value: '{{ binaryAuthorization }}' + - name: template + value: '{{ template }}' + - name: observedGeneration + value: '{{ observedGeneration }}' + - name: terminalCondition + value: '{{ terminalCondition }}' + - name: conditions + value: '{{ conditions }}' + - name: executionCount + value: '{{ executionCount }}' + - name: latestCreatedExecution + value: '{{ latestCreatedExecution }}' + - name: reconciling + value: '{{ reconciling }}' + - name: satisfiesPzs + value: '{{ satisfiesPzs }}' + - name: startExecutionToken + value: '{{ startExecutionToken }}' + - name: runExecutionToken + value: '{{ runExecutionToken }}' + - name: etag + value: '{{ etag }}' + +``` + + + +## `UPDATE` example + +Updates a job only if the necessary resources are available. + +```sql +UPDATE google.run.jobs +SET +name = '{{ name }}', +uid = '{{ uid }}', +generation = '{{ generation }}', +labels = '{{ labels }}', +annotations = '{{ annotations }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +deleteTime = '{{ deleteTime }}', +expireTime = '{{ expireTime }}', +creator = '{{ creator }}', +lastModifier = '{{ lastModifier }}', +client = '{{ client }}', +clientVersion = '{{ clientVersion }}', +launchStage = '{{ launchStage }}', +binaryAuthorization = '{{ binaryAuthorization }}', +template = '{{ template }}', +observedGeneration = '{{ observedGeneration }}', +terminalCondition = '{{ terminalCondition }}', +conditions = '{{ conditions }}', +executionCount = '{{ executionCount }}', +latestCreatedExecution = '{{ latestCreatedExecution }}', +reconciling = true|false, +satisfiesPzs = true|false, +startExecutionToken = '{{ startExecutionToken }}', +runExecutionToken = '{{ runExecutionToken }}', +etag = '{{ etag }}' +WHERE +jobsId = '{{ jobsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified job resource. + +```sql +DELETE FROM google.run.jobs +WHERE jobsId = '{{ jobsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/run/jobs_iam_policies/index.md b/docs/google-docs/providers/google/run/jobs_iam_policies/index.md index 9f8b5c7adf..999595fe52 100644 --- a/docs/google-docs/providers/google/run/jobs_iam_policies/index.md +++ b/docs/google-docs/providers/google/run/jobs_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: jobs_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - jobs_iam_policies - run - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an jobs_iam_policy resource or lists jobs_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the IAM Access Control policy currently in effect for the given Job. This result does not include any inherited policies. | -| | `EXEC` | | Gets the IAM Access Control policy currently in effect for the given Job. This result does not include any inherited policies. | | | `EXEC` | | Sets the IAM Access control policy for the specified Job. Overwrites any existing policy. | | | `EXEC` | | Returns permissions that a caller has on the specified Project. There are no permissions required for making this API call. | + +## `SELECT` examples + +Gets the IAM Access Control policy currently in effect for the given Job. This result does not include any inherited policies. + +```sql +SELECT +condition, +members, +role +FROM google.run.jobs_iam_policies +WHERE jobsId = '{{ jobsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/run/locations/index.md b/docs/google-docs/providers/google/run/locations/index.md index 1d284c8fde..e4b54e42cd 100644 --- a/docs/google-docs/providers/google/run/locations/index.md +++ b/docs/google-docs/providers/google/run/locations/index.md @@ -1,3 +1,4 @@ + --- title: locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - locations - run - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an location resource or lists locations in a region ## Overview
@@ -28,10 +30,13 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `EXEC` | | Export image for a given resource. | | | `EXEC` | | Export image metadata for a given resource. | | | `EXEC` | | Export generated customer metadata for a given resource. | +| | `EXEC` | | Export generated customer metadata for a given project. | diff --git a/docs/google-docs/providers/google/run/operations/index.md b/docs/google-docs/providers/google/run/operations/index.md index c3b940ca04..d3d3621ad0 100644 --- a/docs/google-docs/providers/google/run/operations/index.md +++ b/docs/google-docs/providers/google/run/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - run - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview @@ -30,16 +32,43 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `EXEC` | | Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.run.operations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified operation resource. + +```sql +DELETE FROM google.run.operations +WHERE locationsId = '{{ locationsId }}' +AND operationsId = '{{ operationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/run/revisions/index.md b/docs/google-docs/providers/google/run/revisions/index.md index a7d5281a76..0b67e6ad76 100644 --- a/docs/google-docs/providers/google/run/revisions/index.md +++ b/docs/google-docs/providers/google/run/revisions/index.md @@ -1,3 +1,4 @@ + --- title: revisions hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - revisions - run - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an revision resource or lists revisions in a region ## Overview
@@ -55,17 +57,74 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Effective settings for the current revision | | | `string` | Output only. The name of the parent service. | | | `string` | Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. | +| | `object` | Settings for Cloud Service Mesh. For more information see https://cloud.google.com/service-mesh/docs/overview. | | | `boolean` | Enable session affinity. | | | `string` | Max allowed time for an instance to respond to a request. | | | `string` | Output only. Server assigned unique identifier for the Revision. The value is a UUID4 string and guaranteed to remain unchanged until the resource is deleted. | | | `string` | Output only. The last-modified time. | | | `array` | A list of Volumes to make available to containers. | | | `object` | VPC Access settings. For more information on sending traffic to a VPC network, visit https://cloud.google.com/run/docs/configuring/connecting-vpc. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about a Revision. | | | `SELECT` | | Lists Revisions from a given Service, or from a given location. Results are sorted by creation time, descending. | | | `DELETE` | | Deletes a Revision. | -| | `EXEC` | | Lists Revisions from a given Service, or from a given location. Results are sorted by creation time, descending. | | | `EXEC` | | Read the status of an image export operation. | + +## `SELECT` examples + +Lists Revisions from a given Service, or from a given location. Results are sorted by creation time, descending. + +```sql +SELECT +name, +annotations, +conditions, +containers, +createTime, +deleteTime, +encryptionKey, +encryptionKeyRevocationAction, +encryptionKeyShutdownDuration, +etag, +executionEnvironment, +expireTime, +generation, +labels, +launchStage, +logUri, +maxInstanceRequestConcurrency, +nodeSelector, +observedGeneration, +reconciling, +satisfiesPzs, +scaling, +scalingStatus, +service, +serviceAccount, +serviceMesh, +sessionAffinity, +timeout, +uid, +updateTime, +volumes, +vpcAccess +FROM google.run.revisions +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND servicesId = '{{ servicesId }}'; +``` + +## `DELETE` example + +Deletes the specified revision resource. + +```sql +DELETE FROM google.run.revisions +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND revisionsId = '{{ revisionsId }}' +AND servicesId = '{{ servicesId }}'; +``` diff --git a/docs/google-docs/providers/google/run/services/index.md b/docs/google-docs/providers/google/run/services/index.md index f8c0ce7ad0..3abc249bc5 100644 --- a/docs/google-docs/providers/google/run/services/index.md +++ b/docs/google-docs/providers/google/run/services/index.md @@ -1,3 +1,4 @@ + --- title: services hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - services - run - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an service resource or lists services in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The fully qualified name of this Service. In CreateServiceRequest, this field is ignored, and instead composed from CreateServiceRequest.parent and CreateServiceRequest.service_id. Format: projects/{project}/locations/{location}/services/{service_id} | +| | `string` | The fully qualified name of this Service. In CreateServiceRequest, this field is ignored, and instead composed from CreateServiceRequest.parent and CreateServiceRequest.service_id. Format: projects/{project}/locations/{location}/services/{service_id} | | | `string` | User-provided description of the Service. This field currently has a 512-character limit. | | | `object` | Optional. Unstructured key value map that may be set by external tools to store and arbitrary metadata. They are not queryable and should be preserved when modifying objects. Cloud Run API v2 does not support annotations with `run.googleapis.com`, `cloud.googleapis.com`, `serving.knative.dev`, or `autoscaling.knative.dev` namespaces, and they will be rejected in new resources. All system annotations in v1 now have a corresponding field in v2 Service. This field follows Kubernetes annotations' namespacing, limits, and rules. | | | `object` | Settings for Binary Authorization feature. | @@ -41,7 +43,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Email address of the authenticated creator. | | | `array` | One or more custom audiences that you want this service to support. Specify each custom audience as the full URL in a string. The custom audiences are encoded in the token and used to authenticate requests. For more information, see https://cloud.google.com/run/docs/configuring/custom-audiences. | | | `boolean` | Optional. Disables public resolution of the default URI of this service. | -| | `string` | Output only. The deletion time. | +| | `string` | Output only. The deletion time. It is only populated as a response to a Delete request. | | | `string` | Output only. A system-generated fingerprint for this version of the resource. May be used to detect modification conflict during updates. | | | `string` | Output only. For a deleted resource, the time after which it will be permamently deleted. | | | `string` | Output only. A number that monotonically increases every time the user modifies the desired state. Please note that unlike v1, this is an int64 value. As with most Google APIs, its JSON representation will be a `string` instead of an `integer`. | @@ -62,6 +64,8 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Server assigned unique identifier for the trigger. The value is a UUID4 string and guaranteed to remain unchanged until the resource is deleted. | | | `string` | Output only. The last-modified time. | | | `string` | Output only. The main URI in which this Service is serving traffic. | +| | `array` | Output only. All URLs serving traffic for this Service. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -70,4 +74,272 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new Service in a given project and location. | | | `DELETE` | | Deletes a Service. This will cause the Service to stop serving traffic and will delete all revisions. | | | `UPDATE` | | Updates a Service. | -| | `EXEC` | | Lists Services. Results are sorted by creation time, descending. | + +## `SELECT` examples + +Lists Services. Results are sorted by creation time, descending. + +```sql +SELECT +name, +description, +annotations, +binaryAuthorization, +client, +clientVersion, +conditions, +createTime, +creator, +customAudiences, +defaultUriDisabled, +deleteTime, +etag, +expireTime, +generation, +ingress, +labels, +lastModifier, +latestCreatedRevision, +latestReadyRevision, +launchStage, +observedGeneration, +reconciling, +satisfiesPzs, +scaling, +template, +terminalCondition, +traffic, +trafficStatuses, +uid, +updateTime, +uri, +urls +FROM google.run.services +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new services resource. + + + + +```sql +/*+ create */ +INSERT INTO google.run.services ( +locationsId, +projectsId, +name, +description, +uid, +generation, +labels, +annotations, +createTime, +updateTime, +deleteTime, +expireTime, +creator, +lastModifier, +client, +clientVersion, +ingress, +launchStage, +binaryAuthorization, +template, +traffic, +scaling, +defaultUriDisabled, +urls, +customAudiences, +observedGeneration, +terminalCondition, +conditions, +latestReadyRevision, +latestCreatedRevision, +trafficStatuses, +uri, +satisfiesPzs, +reconciling, +etag +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ description }}', +'{{ uid }}', +'{{ generation }}', +'{{ labels }}', +'{{ annotations }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ deleteTime }}', +'{{ expireTime }}', +'{{ creator }}', +'{{ lastModifier }}', +'{{ client }}', +'{{ clientVersion }}', +'{{ ingress }}', +'{{ launchStage }}', +'{{ binaryAuthorization }}', +'{{ template }}', +'{{ traffic }}', +'{{ scaling }}', +true|false, +'{{ urls }}', +'{{ customAudiences }}', +'{{ observedGeneration }}', +'{{ terminalCondition }}', +'{{ conditions }}', +'{{ latestReadyRevision }}', +'{{ latestCreatedRevision }}', +'{{ trafficStatuses }}', +'{{ uri }}', +true|false, +true|false, +'{{ etag }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: uid + value: '{{ uid }}' + - name: generation + value: '{{ generation }}' + - name: labels + value: '{{ labels }}' + - name: annotations + value: '{{ annotations }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: deleteTime + value: '{{ deleteTime }}' + - name: expireTime + value: '{{ expireTime }}' + - name: creator + value: '{{ creator }}' + - name: lastModifier + value: '{{ lastModifier }}' + - name: client + value: '{{ client }}' + - name: clientVersion + value: '{{ clientVersion }}' + - name: ingress + value: '{{ ingress }}' + - name: launchStage + value: '{{ launchStage }}' + - name: binaryAuthorization + value: '{{ binaryAuthorization }}' + - name: template + value: '{{ template }}' + - name: traffic + value: '{{ traffic }}' + - name: scaling + value: '{{ scaling }}' + - name: defaultUriDisabled + value: '{{ defaultUriDisabled }}' + - name: urls + value: '{{ urls }}' + - name: customAudiences + value: '{{ customAudiences }}' + - name: observedGeneration + value: '{{ observedGeneration }}' + - name: terminalCondition + value: '{{ terminalCondition }}' + - name: conditions + value: '{{ conditions }}' + - name: latestReadyRevision + value: '{{ latestReadyRevision }}' + - name: latestCreatedRevision + value: '{{ latestCreatedRevision }}' + - name: trafficStatuses + value: '{{ trafficStatuses }}' + - name: uri + value: '{{ uri }}' + - name: satisfiesPzs + value: '{{ satisfiesPzs }}' + - name: reconciling + value: '{{ reconciling }}' + - name: etag + value: '{{ etag }}' + +``` + + + +## `UPDATE` example + +Updates a service only if the necessary resources are available. + +```sql +UPDATE google.run.services +SET +name = '{{ name }}', +description = '{{ description }}', +uid = '{{ uid }}', +generation = '{{ generation }}', +labels = '{{ labels }}', +annotations = '{{ annotations }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +deleteTime = '{{ deleteTime }}', +expireTime = '{{ expireTime }}', +creator = '{{ creator }}', +lastModifier = '{{ lastModifier }}', +client = '{{ client }}', +clientVersion = '{{ clientVersion }}', +ingress = '{{ ingress }}', +launchStage = '{{ launchStage }}', +binaryAuthorization = '{{ binaryAuthorization }}', +template = '{{ template }}', +traffic = '{{ traffic }}', +scaling = '{{ scaling }}', +defaultUriDisabled = true|false, +urls = '{{ urls }}', +customAudiences = '{{ customAudiences }}', +observedGeneration = '{{ observedGeneration }}', +terminalCondition = '{{ terminalCondition }}', +conditions = '{{ conditions }}', +latestReadyRevision = '{{ latestReadyRevision }}', +latestCreatedRevision = '{{ latestCreatedRevision }}', +trafficStatuses = '{{ trafficStatuses }}', +uri = '{{ uri }}', +satisfiesPzs = true|false, +reconciling = true|false, +etag = '{{ etag }}' +WHERE +locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND servicesId = '{{ servicesId }}'; +``` + +## `DELETE` example + +Deletes the specified service resource. + +```sql +DELETE FROM google.run.services +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND servicesId = '{{ servicesId }}'; +``` diff --git a/docs/google-docs/providers/google/run/services_iam_policies/index.md b/docs/google-docs/providers/google/run/services_iam_policies/index.md index 666c7a3d26..d5eadcb45b 100644 --- a/docs/google-docs/providers/google/run/services_iam_policies/index.md +++ b/docs/google-docs/providers/google/run/services_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: services_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - services_iam_policies - run - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an services_iam_policy resource or lists services_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the IAM Access Control policy currently in effect for the given Cloud Run Service. This result does not include any inherited policies. | -| | `EXEC` | | Gets the IAM Access Control policy currently in effect for the given Cloud Run Service. This result does not include any inherited policies. | | | `EXEC` | | Sets the IAM Access control policy for the specified Service. Overwrites any existing policy. | | | `EXEC` | | Returns permissions that a caller has on the specified Project. There are no permissions required for making this API call. | + +## `SELECT` examples + +Gets the IAM Access Control policy currently in effect for the given Cloud Run Service. This result does not include any inherited policies. + +```sql +SELECT +condition, +members, +role +FROM google.run.services_iam_policies +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND servicesId = '{{ servicesId }}'; +``` diff --git a/docs/google-docs/providers/google/run/tasks/index.md b/docs/google-docs/providers/google/run/tasks/index.md index c6c705cc75..cb985c3900 100644 --- a/docs/google-docs/providers/google/run/tasks/index.md +++ b/docs/google-docs/providers/google/run/tasks/index.md @@ -1,3 +1,4 @@ + --- title: tasks hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - tasks - run - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an task resource or lists tasks in a region ## Overview
@@ -61,9 +63,53 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The last-modified time. | | | `array` | A list of Volumes to make available to containers. | | | `object` | VPC Access settings. For more information on sending traffic to a VPC network, visit https://cloud.google.com/run/docs/configuring/connecting-vpc. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about a Task. | | | `SELECT` | | Lists Tasks from an Execution of a Job. | -| | `EXEC` | | Lists Tasks from an Execution of a Job. | + +## `SELECT` examples + +Lists Tasks from an Execution of a Job. + +```sql +SELECT +name, +annotations, +completionTime, +conditions, +containers, +createTime, +deleteTime, +encryptionKey, +etag, +execution, +executionEnvironment, +expireTime, +generation, +index, +job, +labels, +lastAttemptResult, +logUri, +maxRetries, +observedGeneration, +reconciling, +retried, +satisfiesPzs, +scheduledTime, +serviceAccount, +startTime, +timeout, +uid, +updateTime, +volumes, +vpcAccess +FROM google.run.tasks +WHERE executionsId = '{{ executionsId }}' +AND jobsId = '{{ jobsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/runtimeconfig/index.md b/docs/google-docs/providers/google/runtimeconfig/index.md index 8b1b3f1bd7..7dc42e997c 100644 --- a/docs/google-docs/providers/google/runtimeconfig/index.md +++ b/docs/google-docs/providers/google/runtimeconfig/index.md @@ -9,39 +9,29 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -The Runtime Configurator allows you to dynamically configure and expose variables through Google Cloud Platform. In addition, you can also set Watchers and Waiters that will watch for changes to your data and return based on certain conditions. - +The runtimeconfig service documentation. + :::info Service Summary
total resources: 1
-total selectable resources: 1
-total methods: 4
::: -## Overview -
- - - - - -
Namegoogle.runtimeconfig
TypeService
TitleCloud Runtime Configuration API
DescriptionThe Runtime Configurator allows you to dynamically configure and expose variables through Google Cloud Platform. In addition, you can also set Watchers and Waiters that will watch for changes to your data and return based on certain conditions.
Idruntimeconfig:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/runtimeconfig/operations/index.md b/docs/google-docs/providers/google/runtimeconfig/operations/index.md index 27cdb4e664..1a17d201de 100644 --- a/docs/google-docs/providers/google/runtimeconfig/operations/index.md +++ b/docs/google-docs/providers/google/runtimeconfig/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - runtimeconfig - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview @@ -30,15 +32,39 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| -| | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | +| | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.runtimeconfig.operations +WHERE = '{{ }}'; +``` + +## `DELETE` example + +Deletes the specified operation resource. + +```sql +DELETE FROM google.runtimeconfig.operations +WHERE operationsId = '{{ operationsId }}'; +``` diff --git a/docs/google-docs/providers/google/sasportal/customer_node/index.md b/docs/google-docs/providers/google/sasportal/customer_node/index.md index e3cdca5bea..2c2f444f5b 100644 --- a/docs/google-docs/providers/google/sasportal/customer_node/index.md +++ b/docs/google-docs/providers/google/sasportal/customer_node/index.md @@ -1,3 +1,4 @@ + --- title: customer_node hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - customer_node - sasportal - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an customer_node resource or lists customer_node in a region ## Overview
@@ -33,7 +35,22 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Resource name. | | | `string` | The node's display name. | | | `array` | User ids used by the devices belonging to this node. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Returns a requested node. | + +## `SELECT` examples + +Returns a requested node. + +```sql +SELECT +name, +displayName, +sasUserIds +FROM google.sasportal.customer_node +WHERE customersId = '{{ customersId }}' +AND nodesId = '{{ nodesId }}'; +``` diff --git a/docs/google-docs/providers/google/sasportal/customer_nodes/index.md b/docs/google-docs/providers/google/sasportal/customer_nodes/index.md index 46cecf0169..725f908ce5 100644 --- a/docs/google-docs/providers/google/sasportal/customer_nodes/index.md +++ b/docs/google-docs/providers/google/sasportal/customer_nodes/index.md @@ -1,3 +1,4 @@ + --- title: customer_nodes hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - customer_nodes - sasportal - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an customer_node resource or lists customer_nodes in a region ## Overview
@@ -33,6 +35,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Resource name. | | | `string` | The node's display name. | | | `array` | User ids used by the devices belonging to this node. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -41,5 +44,72 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new node. | | | `INSERT` | | Creates a new node. | | | `DELETE` | | Deletes a node. | -| | `EXEC` | | Lists nodes. | -| | `EXEC` | | Lists nodes. | + +## `SELECT` examples + +Lists nodes. + +```sql +SELECT +name, +displayName, +sasUserIds +FROM google.sasportal.customer_nodes +WHERE customersId = '{{ customersId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new customer_nodes resource. + + + + +```sql +/*+ create */ +INSERT INTO google.sasportal.customer_nodes ( +customersId, +sasUserIds, +name, +displayName +) +SELECT +'{{ customersId }}', +'{{ sasUserIds }}', +'{{ name }}', +'{{ displayName }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: sasUserIds + value: '{{ sasUserIds }}' + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + +``` + + + +## `DELETE` example + +Deletes the specified customer_node resource. + +```sql +DELETE FROM google.sasportal.customer_nodes +WHERE customersId = '{{ customersId }}' +AND nodesId = '{{ nodesId }}'; +``` diff --git a/docs/google-docs/providers/google/sasportal/customers/index.md b/docs/google-docs/providers/google/sasportal/customers/index.md index 231e2381d9..36c97cc348 100644 --- a/docs/google-docs/providers/google/sasportal/customers/index.md +++ b/docs/google-docs/providers/google/sasportal/customers/index.md @@ -1,3 +1,4 @@ + --- title: customers hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - customers - sasportal - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an customer resource or lists customers in a region ## Overview
@@ -33,13 +35,40 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Resource name of the customer. | | | `string` | Required. Name of the organization that the customer entity represents. | | | `array` | User IDs used by the devices belonging to this customer. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Returns a requested customer. | -| | `SELECT` | | Returns a list of requested customers. | +| | `SELECT` | | Returns a list of requested customers. | | | `UPDATE` | | Updates an existing customer. | -| | `EXEC` | | Returns a list of requested customers. | -| | `EXEC` | | Migrates a SAS organization to the cloud. This will create GCP projects for each deployment and associate them. The SAS Organization is linked to the gcp project that called the command. go/sas-legacy-customer-migration | -| | `EXEC` | | Creates a new SAS deployment through the GCP workflow. Creates a SAS organization if an organization match is not found. | -| | `EXEC` | | Setups the a GCP Project to receive SAS Analytics messages via GCP Pub/Sub with a subscription to BigQuery. All the Pub/Sub topics and BigQuery tables are created automatically as part of this service. | +| | `EXEC` | | Migrates a SAS organization to the cloud. This will create GCP projects for each deployment and associate them. The SAS Organization is linked to the gcp project that called the command. go/sas-legacy-customer-migration | +| | `EXEC` | | Creates a new SAS deployment through the GCP workflow. Creates a SAS organization if an organization match is not found. | +| | `EXEC` | | Setups the a GCP Project to receive SAS Analytics messages via GCP Pub/Sub with a subscription to BigQuery. All the Pub/Sub topics and BigQuery tables are created automatically as part of this service. | + +## `SELECT` examples + +Returns a list of requested customers. + +```sql +SELECT +name, +displayName, +sasUserIds +FROM google.sasportal.customers +WHERE = '{{ }}'; +``` + +## `UPDATE` example + +Updates a customer only if the necessary resources are available. + +```sql +UPDATE google.sasportal.customers +SET +displayName = '{{ displayName }}', +sasUserIds = '{{ sasUserIds }}', +name = '{{ name }}' +WHERE +customersId = '{{ customersId }}'; +``` diff --git a/docs/google-docs/providers/google/sasportal/customers_gcp_project_deployments/index.md b/docs/google-docs/providers/google/sasportal/customers_gcp_project_deployments/index.md index 872ea8de80..90e5dcd69f 100644 --- a/docs/google-docs/providers/google/sasportal/customers_gcp_project_deployments/index.md +++ b/docs/google-docs/providers/google/sasportal/customers_gcp_project_deployments/index.md @@ -1,3 +1,4 @@ + --- title: customers_gcp_project_deployments hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - customers_gcp_project_deployments - sasportal - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an customers_gcp_project_deployment resource or lists customers_gcp_project_deployments in a region ## Overview
@@ -28,7 +30,22 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `array` | Optional. Deployments associated with the GCP project | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Returns a list of SAS deployments associated with current GCP project. Includes whether SAS analytics has been enabled or not. | + +## `SELECT` examples + +Returns a list of SAS deployments associated with current GCP project. Includes whether SAS analytics has been enabled or not. + +```sql +SELECT +deployments +FROM google.sasportal.customers_gcp_project_deployments +WHERE = '{{ }}'; +``` diff --git a/docs/google-docs/providers/google/sasportal/customers_legacy_organizations/index.md b/docs/google-docs/providers/google/sasportal/customers_legacy_organizations/index.md index 62af38ac97..6e9c494a24 100644 --- a/docs/google-docs/providers/google/sasportal/customers_legacy_organizations/index.md +++ b/docs/google-docs/providers/google/sasportal/customers_legacy_organizations/index.md @@ -1,3 +1,4 @@ + --- title: customers_legacy_organizations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - customers_legacy_organizations - sasportal - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an customers_legacy_organization resource or lists customers_legacy_organizations in a region ## Overview @@ -28,7 +30,22 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `array` | Optional. Legacy SAS organizations. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Returns a list of legacy organizations. | + +## `SELECT` examples + +Returns a list of legacy organizations. + +```sql +SELECT +organizations +FROM google.sasportal.customers_legacy_organizations +WHERE = '{{ }}'; +``` diff --git a/docs/google-docs/providers/google/sasportal/deployments/index.md b/docs/google-docs/providers/google/sasportal/deployments/index.md index f4c9d6e610..71c787cfda 100644 --- a/docs/google-docs/providers/google/sasportal/deployments/index.md +++ b/docs/google-docs/providers/google/sasportal/deployments/index.md @@ -1,3 +1,4 @@ + --- title: deployments hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - deployments - sasportal - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an deployment resource or lists deployments in a region ## Overview @@ -34,6 +36,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The deployment's display name. | | | `array` | Output only. The FCC Registration Numbers (FRNs) copied from its direct parent. | | | `array` | User ID used by the devices belonging to this deployment. Each deployment should be associated with one unique user ID. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -51,9 +54,95 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `DELETE` | | Deletes a deployment. | | | `UPDATE` | | Updates an existing deployment. | | | `UPDATE` | | Updates an existing deployment. | -| | `EXEC` | | Lists deployments. | -| | `EXEC` | | Lists deployments. | -| | `EXEC` | | Lists deployments. | -| | `EXEC` | | Lists deployments. | | | `EXEC` | | Moves a deployment under another node or customer. | | | `EXEC` | | Moves a deployment under another node or customer. | + +## `SELECT` examples + +Lists deployments. + +```sql +SELECT +name, +displayName, +frns, +sasUserIds +FROM google.sasportal.deployments +WHERE nodesId = '{{ nodesId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new deployments resource. + + + + +```sql +/*+ create */ +INSERT INTO google.sasportal.deployments ( +customersId, +name, +sasUserIds, +displayName, +frns +) +SELECT +'{{ customersId }}', +'{{ name }}', +'{{ sasUserIds }}', +'{{ displayName }}', +'{{ frns }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: sasUserIds + value: '{{ sasUserIds }}' + - name: displayName + value: '{{ displayName }}' + - name: frns + value: '{{ frns }}' + +``` + + + +## `UPDATE` example + +Updates a deployment only if the necessary resources are available. + +```sql +UPDATE google.sasportal.deployments +SET +name = '{{ name }}', +sasUserIds = '{{ sasUserIds }}', +displayName = '{{ displayName }}', +frns = '{{ frns }}' +WHERE +deploymentsId = '{{ deploymentsId }}' +AND nodesId = '{{ nodesId }}'; +``` + +## `DELETE` example + +Deletes the specified deployment resource. + +```sql +DELETE FROM google.sasportal.deployments +WHERE deploymentsId = '{{ deploymentsId }}' +AND nodesId = '{{ nodesId }}'; +``` diff --git a/docs/google-docs/providers/google/sasportal/devices/index.md b/docs/google-docs/providers/google/sasportal/devices/index.md index 047af1c011..30d46a7cfd 100644 --- a/docs/google-docs/providers/google/sasportal/devices/index.md +++ b/docs/google-docs/providers/google/sasportal/devices/index.md @@ -1,3 +1,4 @@ + --- title: devices hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - devices - sasportal - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an device resource or lists devices in a region ## Overview
@@ -41,6 +43,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Information about the device configuration. | | | `string` | A serial number assigned to the device by the device manufacturer. | | | `string` | Output only. Device state. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -65,15 +68,141 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `UPDATE` | | Updates a device. | | | `UPDATE` | | Updates a device. | | | `UPDATE` | | Updates a device. | -| | `EXEC` | | Lists devices under a node or customer. | -| | `EXEC` | | Lists devices under a node or customer. | -| | `EXEC` | | Lists devices under a node or customer. | -| | `EXEC` | | Lists devices under a node or customer. | -| | `EXEC` | | Lists devices under a node or customer. | -| | `EXEC` | | Lists devices under a node or customer. | | | `EXEC` | | Moves a device under another node or customer. | | | `EXEC` | | Signs a device. | | | `EXEC` | | Moves a device under another node or customer. | | | `EXEC` | | Signs a device. | | | `EXEC` | | Moves a device under another node or customer. | | | `EXEC` | | Signs a device. | + +## `SELECT` examples + +Lists devices under a node or customer. + +```sql +SELECT +name, +activeConfig, +currentChannels, +deviceMetadata, +displayName, +fccId, +grantRangeAllowlists, +grants, +preloadedConfig, +serialNumber, +state +FROM google.sasportal.devices +WHERE nodesId = '{{ nodesId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new devices resource. + + + + +```sql +/*+ create */ +INSERT INTO google.sasportal.devices ( +nodesId, +displayName, +preloadedConfig, +serialNumber, +activeConfig, +grants, +grantRangeAllowlists, +deviceMetadata, +currentChannels, +fccId, +state, +name +) +SELECT +'{{ nodesId }}', +'{{ displayName }}', +'{{ preloadedConfig }}', +'{{ serialNumber }}', +'{{ activeConfig }}', +'{{ grants }}', +'{{ grantRangeAllowlists }}', +'{{ deviceMetadata }}', +'{{ currentChannels }}', +'{{ fccId }}', +'{{ state }}', +'{{ name }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: displayName + value: '{{ displayName }}' + - name: preloadedConfig + value: '{{ preloadedConfig }}' + - name: serialNumber + value: '{{ serialNumber }}' + - name: activeConfig + value: '{{ activeConfig }}' + - name: grants + value: '{{ grants }}' + - name: grantRangeAllowlists + value: '{{ grantRangeAllowlists }}' + - name: deviceMetadata + value: '{{ deviceMetadata }}' + - name: currentChannels + value: '{{ currentChannels }}' + - name: fccId + value: '{{ fccId }}' + - name: state + value: '{{ state }}' + - name: name + value: '{{ name }}' + +``` + + + +## `UPDATE` example + +Updates a device only if the necessary resources are available. + +```sql +UPDATE google.sasportal.devices +SET +displayName = '{{ displayName }}', +preloadedConfig = '{{ preloadedConfig }}', +serialNumber = '{{ serialNumber }}', +activeConfig = '{{ activeConfig }}', +grants = '{{ grants }}', +grantRangeAllowlists = '{{ grantRangeAllowlists }}', +deviceMetadata = '{{ deviceMetadata }}', +currentChannels = '{{ currentChannels }}', +fccId = '{{ fccId }}', +state = '{{ state }}', +name = '{{ name }}' +WHERE +devicesId = '{{ devicesId }}' +AND nodesId = '{{ nodesId }}'; +``` + +## `DELETE` example + +Deletes the specified device resource. + +```sql +DELETE FROM google.sasportal.devices +WHERE devicesId = '{{ devicesId }}' +AND nodesId = '{{ nodesId }}'; +``` diff --git a/docs/google-docs/providers/google/sasportal/devices_signed/index.md b/docs/google-docs/providers/google/sasportal/devices_signed/index.md index df53e8290f..22ae7c61ca 100644 --- a/docs/google-docs/providers/google/sasportal/devices_signed/index.md +++ b/docs/google-docs/providers/google/sasportal/devices_signed/index.md @@ -1,3 +1,4 @@ + --- title: devices_signed hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - devices_signed - sasportal - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an devices_signed resource or lists devices_signed in a region ## Overview
@@ -28,7 +30,9 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -38,6 +42,62 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a signed device under a node or customer. | | | `INSERT` | | Creates a signed device under a node or customer. | | | `INSERT` | | Creates a signed device under a node or customer. | -| | `EXEC` | | Updates a signed device. | -| | `EXEC` | | Updates a signed device. | -| | `EXEC` | | Updates a signed device. | +| | `UPDATE` | | Updates a signed device. | +| | `UPDATE` | | Updates a signed device. | +| | `UPDATE` | | Updates a signed device. | + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new devices_signed resource. + + + + +```sql +/*+ create */ +INSERT INTO google.sasportal.devices_signed ( +nodesId, +installerId, +encodedDevice +) +SELECT +'{{ nodesId }}', +'{{ installerId }}', +'{{ encodedDevice }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: installerId + value: '{{ installerId }}' + - name: encodedDevice + value: '{{ encodedDevice }}' + +``` + + + +## `UPDATE` example + +Updates a devices_signed only if the necessary resources are available. + +```sql +UPDATE google.sasportal.devices_signed +SET +encodedDevice = '{{ encodedDevice }}', +installerId = '{{ installerId }}' +WHERE +devicesId = '{{ devicesId }}' +AND nodesId = '{{ nodesId }}'; +``` diff --git a/docs/google-docs/providers/google/sasportal/index.md b/docs/google-docs/providers/google/sasportal/index.md index 740d02c7d5..bf75ad4752 100644 --- a/docs/google-docs/providers/google/sasportal/index.md +++ b/docs/google-docs/providers/google/sasportal/index.md @@ -9,34 +9,23 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- - - +The sasportal service documentation. + :::info Service Summary
total resources: 12
-total selectable resources: 9
-total methods: 97
::: -## Overview - - - - - - -
Namegoogle.sasportal
TypeService
TitleSAS Portal API
Description
Idsasportal:v24.06.00236
- ## Resources
@@ -45,7 +34,7 @@ image: /img/providers/google/stackql-google-provider-featured-image.png customers
customers_gcp_project_deployments
customers_legacy_organizations
-deployments
+deployments
devices
@@ -53,6 +42,6 @@ image: /img/providers/google/stackql-google-provider-featured-image.png installer
node
nodes
-policies
-
+policies
+ \ No newline at end of file diff --git a/docs/google-docs/providers/google/sasportal/installer/index.md b/docs/google-docs/providers/google/sasportal/installer/index.md index 016a0761a5..11b3ff7cfb 100644 --- a/docs/google-docs/providers/google/sasportal/installer/index.md +++ b/docs/google-docs/providers/google/sasportal/installer/index.md @@ -1,3 +1,4 @@ + --- title: installer hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - installer - sasportal - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an installer resource or lists installer in a region ## Overview @@ -28,9 +30,11 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| -| | `EXEC` | | Generates a secret to be used with the ValidateInstaller. | -| | `EXEC` | | Validates the identity of a Certified Professional Installer (CPI). | +| | `EXEC` | | Generates a secret to be used with the ValidateInstaller. | +| | `EXEC` | | Validates the identity of a Certified Professional Installer (CPI). | diff --git a/docs/google-docs/providers/google/sasportal/node/index.md b/docs/google-docs/providers/google/sasportal/node/index.md index a4b0a84d30..f8534a0b9c 100644 --- a/docs/google-docs/providers/google/sasportal/node/index.md +++ b/docs/google-docs/providers/google/sasportal/node/index.md @@ -1,3 +1,4 @@ + --- title: node hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - node - sasportal - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an node resource or lists node in a region ## Overview @@ -33,8 +35,22 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Resource name. | | | `string` | The node's display name. | | | `array` | User ids used by the devices belonging to this node. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Returns a requested node. | +| | `SELECT` | | Returns a requested node. | + +## `SELECT` examples + +Returns a requested node. + +```sql +SELECT +name, +displayName, +sasUserIds +FROM google.sasportal.node +WHERE nodesId = '{{ nodesId }}'; +``` diff --git a/docs/google-docs/providers/google/sasportal/nodes/index.md b/docs/google-docs/providers/google/sasportal/nodes/index.md index 9b14369212..23f34c36b5 100644 --- a/docs/google-docs/providers/google/sasportal/nodes/index.md +++ b/docs/google-docs/providers/google/sasportal/nodes/index.md @@ -1,3 +1,4 @@ + --- title: nodes hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - nodes - sasportal - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an node resource or lists nodes in a region ## Overview
@@ -33,6 +35,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Resource name. | | | `string` | The node's display name. | | | `array` | User ids used by the devices belonging to this node. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -43,7 +46,89 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `DELETE` | | Deletes a node. | | | `UPDATE` | | Updates an existing node. | | | `UPDATE` | | Updates an existing node. | -| | `EXEC` | | Lists nodes. | -| | `EXEC` | | Lists nodes. | | | `EXEC` | | Moves a node under another node or customer. | | | `EXEC` | | Moves a node under another node or customer. | + +## `SELECT` examples + +Lists nodes. + +```sql +SELECT +name, +displayName, +sasUserIds +FROM google.sasportal.nodes +WHERE nodesId = '{{ nodesId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new nodes resource. + + + + +```sql +/*+ create */ +INSERT INTO google.sasportal.nodes ( +nodesId, +sasUserIds, +name, +displayName +) +SELECT +'{{ nodesId }}', +'{{ sasUserIds }}', +'{{ name }}', +'{{ displayName }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: sasUserIds + value: '{{ sasUserIds }}' + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + +``` + + + +## `UPDATE` example + +Updates a node only if the necessary resources are available. + +```sql +UPDATE google.sasportal.nodes +SET +sasUserIds = '{{ sasUserIds }}', +name = '{{ name }}', +displayName = '{{ displayName }}' +WHERE +nodesId = '{{ nodesId }}' +AND nodesId1 = '{{ nodesId1 }}'; +``` + +## `DELETE` example + +Deletes the specified node resource. + +```sql +DELETE FROM google.sasportal.nodes +WHERE nodesId = '{{ nodesId }}' +AND nodesId1 = '{{ nodesId1 }}'; +``` diff --git a/docs/google-docs/providers/google/sasportal/policies/index.md b/docs/google-docs/providers/google/sasportal/policies/index.md index 74291ecb53..2a00e9af6f 100644 --- a/docs/google-docs/providers/google/sasportal/policies/index.md +++ b/docs/google-docs/providers/google/sasportal/policies/index.md @@ -1,3 +1,4 @@ + --- title: policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - policies - sasportal - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an policy resource or lists policies in a region ## Overview
@@ -28,10 +30,26 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `array` | List of assignments | +| | `string` | The etag is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the etag in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An etag is returned in the response to GetPolicy, and systems are expected to put that etag in the request to SetPolicy to ensure that their change will be applied to the same version of the policy. If no etag is provided in the call to GetPolicy, then the existing policy is overwritten blindly. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. | -| | `EXEC` | | Returns permissions that a caller has on the specified resource. | +| | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | +| | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. | +| | `EXEC` | | Returns permissions that a caller has on the specified resource. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +assignments, +etag +FROM google.sasportal.policies +WHERE = '{{ }}'; +``` diff --git a/docs/google-docs/providers/google/secretmanager/index.md b/docs/google-docs/providers/google/secretmanager/index.md index 3a983bce1b..c9d36ff67a 100644 --- a/docs/google-docs/providers/google/secretmanager/index.md +++ b/docs/google-docs/providers/google/secretmanager/index.md @@ -9,43 +9,32 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Stores sensitive data such as API keys, passwords, and certificates. Provides convenience while improving security. - +The secretmanager service documentation. + :::info Service Summary
total resources: 5
-total selectable resources: 4
-total methods: 21
::: -## Overview - - - - - - -
Namegoogle.secretmanager
TypeService
TitleSecret Manager API
DescriptionStores sensitive data such as API keys, passwords, and certificates. Provides convenience while improving security.
Idsecretmanager:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/secretmanager/locations/index.md b/docs/google-docs/providers/google/secretmanager/locations/index.md index 07a0ea10c7..39eafbaba5 100644 --- a/docs/google-docs/providers/google/secretmanager/locations/index.md +++ b/docs/google-docs/providers/google/secretmanager/locations/index.md @@ -1,3 +1,4 @@ + --- title: locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - locations - secretmanager - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an location resource or lists locations in a region ## Overview @@ -32,12 +34,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` | | | `string` | The friendly name for this location, typically a nearby city name. For example, "Tokyo". | -| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | +| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | | | `string` | The canonical id for this location. For example: `"us-east1"`. | | | `object` | Service-specific metadata. For example the available capacity at the given location. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about a location. | | | `SELECT` | | Lists information about the supported locations for this service. | -| | `EXEC` | | Lists information about the supported locations for this service. | + +## `SELECT` examples + +Lists information about the supported locations for this service. + +```sql +SELECT +name, +displayName, +labels, +locationId, +metadata +FROM google.secretmanager.locations +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/secretmanager/secrets/index.md b/docs/google-docs/providers/google/secretmanager/secrets/index.md index aca07fda20..30f9c3c94c 100644 --- a/docs/google-docs/providers/google/secretmanager/secrets/index.md +++ b/docs/google-docs/providers/google/secretmanager/secrets/index.md @@ -1,3 +1,4 @@ + --- title: secrets hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - secrets - secretmanager - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an secret resource or lists secrets in a region ## Overview
@@ -36,13 +38,14 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Configuration for encrypting secret payloads using customer-managed encryption keys (CMEK). | | | `string` | Optional. Etag of the currently stored Secret. | | | `string` | Optional. Timestamp in UTC when the Secret is scheduled to expire. This is always provided on output, regardless of what was sent on input. | -| | `object` | The labels assigned to this Secret. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: `\p{Ll}\p{Lo}{0,62}` Label values must be between 0 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: `[\p{Ll}\p{Lo}\p{N}_-]{0,63}` No more than 64 labels can be assigned to a given resource. | +| | `object` | The labels assigned to this Secret. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: `\p{Ll}\p{Lo}{0,62}` Label values must be between 0 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: `[\p{Ll}\p{Lo}\p{N}_-]{0,63}` No more than 64 labels can be assigned to a given resource. | | | `object` | A policy that defines the replication and encryption configuration of data. | | | `object` | The rotation time and period for a Secret. At next_rotation_time, Secret Manager will send a Pub/Sub notification to the topics configured on the Secret. Secret.topics must be set to configure rotation. | | | `array` | Optional. A list of up to 10 Pub/Sub topics to which messages are published when control plane operations are called on the secret or its versions. | | | `string` | Input only. The TTL for the Secret. | | | `object` | Optional. Mapping from version alias to version name. A version alias is a string with a maximum length of 63 characters and can contain uppercase and lowercase letters, numerals, and the hyphen (`-`) and underscore ('_') characters. An alias string must start with a letter and cannot be the string 'latest' or 'NEW'. No more than 50 aliases can be assigned to a given secret. Version-Alias pairs will be viewable via GetSecret and modifiable via UpdateSecret. Access by alias is only be supported on GetSecretVersion and AccessSecretVersion. | -| | `string` | Optional. Secret Version TTL after destruction request This is a part of the Delayed secret version destroy feature. For secret with TTL>0, version destruction doesn't happen immediately on calling destroy instead the version goes to a disabled state and destruction happens after the TTL expires. | +| | `string` | Optional. Secret Version TTL after destruction request This is a part of the Delayed secret version destroy feature. For secret with TTL>0, version destruction doesn't happen immediately on calling destroy instead the version goes to a disabled state and destruction happens after the TTL expires. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -51,4 +54,147 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new Secret containing no SecretVersions. | | | `DELETE` | | Deletes a Secret. | | | `UPDATE` | | Updates metadata of an existing Secret. | -| | `EXEC` | | Lists Secrets. | + +## `SELECT` examples + +Lists Secrets. + +```sql +SELECT +name, +annotations, +createTime, +customerManagedEncryption, +etag, +expireTime, +labels, +replication, +rotation, +topics, +ttl, +versionAliases, +versionDestroyTtl +FROM google.secretmanager.secrets +WHERE projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new secrets resource. + + + + +```sql +/*+ create */ +INSERT INTO google.secretmanager.secrets ( +projectsId, +name, +replication, +createTime, +labels, +topics, +expireTime, +ttl, +etag, +rotation, +versionAliases, +annotations, +versionDestroyTtl, +customerManagedEncryption +) +SELECT +'{{ projectsId }}', +'{{ name }}', +'{{ replication }}', +'{{ createTime }}', +'{{ labels }}', +'{{ topics }}', +'{{ expireTime }}', +'{{ ttl }}', +'{{ etag }}', +'{{ rotation }}', +'{{ versionAliases }}', +'{{ annotations }}', +'{{ versionDestroyTtl }}', +'{{ customerManagedEncryption }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: replication + value: '{{ replication }}' + - name: createTime + value: '{{ createTime }}' + - name: labels + value: '{{ labels }}' + - name: topics + value: '{{ topics }}' + - name: expireTime + value: '{{ expireTime }}' + - name: ttl + value: '{{ ttl }}' + - name: etag + value: '{{ etag }}' + - name: rotation + value: '{{ rotation }}' + - name: versionAliases + value: '{{ versionAliases }}' + - name: annotations + value: '{{ annotations }}' + - name: versionDestroyTtl + value: '{{ versionDestroyTtl }}' + - name: customerManagedEncryption + value: '{{ customerManagedEncryption }}' + +``` + + + +## `UPDATE` example + +Updates a secret only if the necessary resources are available. + +```sql +UPDATE google.secretmanager.secrets +SET +name = '{{ name }}', +replication = '{{ replication }}', +createTime = '{{ createTime }}', +labels = '{{ labels }}', +topics = '{{ topics }}', +expireTime = '{{ expireTime }}', +ttl = '{{ ttl }}', +etag = '{{ etag }}', +rotation = '{{ rotation }}', +versionAliases = '{{ versionAliases }}', +annotations = '{{ annotations }}', +versionDestroyTtl = '{{ versionDestroyTtl }}', +customerManagedEncryption = '{{ customerManagedEncryption }}' +WHERE +projectsId = '{{ projectsId }}' +AND secretsId = '{{ secretsId }}'; +``` + +## `DELETE` example + +Deletes the specified secret resource. + +```sql +DELETE FROM google.secretmanager.secrets +WHERE projectsId = '{{ projectsId }}' +AND secretsId = '{{ secretsId }}'; +``` diff --git a/docs/google-docs/providers/google/secretmanager/secrets_iam_policies/index.md b/docs/google-docs/providers/google/secretmanager/secrets_iam_policies/index.md index afdb2eb85c..d3197f41bd 100644 --- a/docs/google-docs/providers/google/secretmanager/secrets_iam_policies/index.md +++ b/docs/google-docs/providers/google/secretmanager/secrets_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: secrets_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - secrets_iam_policies - secretmanager - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an secrets_iam_policy resource or lists secrets_iam_policies in a region ## Overview
@@ -30,13 +32,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a secret. Returns empty policy if the secret exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a secret. Returns empty policy if the secret exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified secret. Replaces any existing policy. Permissions on SecretVersions are enforced according to the policy set on the associated Secret. | | | `EXEC` | | Returns permissions that a caller has for the specified secret. If the secret does not exist, this call returns an empty set of permissions, not a NOT_FOUND error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a secret. Returns empty policy if the secret exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.secretmanager.secrets_iam_policies +WHERE projectsId = '{{ projectsId }}' +AND secretsId = '{{ secretsId }}'; +``` diff --git a/docs/google-docs/providers/google/secretmanager/secrets_version/index.md b/docs/google-docs/providers/google/secretmanager/secrets_version/index.md index 86acda6b3d..cacb3f52ba 100644 --- a/docs/google-docs/providers/google/secretmanager/secrets_version/index.md +++ b/docs/google-docs/providers/google/secretmanager/secrets_version/index.md @@ -1,3 +1,4 @@ + --- title: secrets_version hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - secrets_version - secretmanager - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an secrets_version resource or lists secrets_version in a region ## Overview
@@ -28,8 +30,50 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `INSERT` | | Creates a new SecretVersion containing secret data and attaches it to an existing Secret. | + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new secrets_version resource. + + + + +```sql +/*+ create */ +INSERT INTO google.secretmanager.secrets_version ( +projectsId, +secretsId, +payload +) +SELECT +'{{ projectsId }}', +'{{ secretsId }}', +'{{ payload }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: payload + value: '{{ payload }}' + +``` + + diff --git a/docs/google-docs/providers/google/secretmanager/versions/index.md b/docs/google-docs/providers/google/secretmanager/versions/index.md index 00f881697e..98cf850e7a 100644 --- a/docs/google-docs/providers/google/secretmanager/versions/index.md +++ b/docs/google-docs/providers/google/secretmanager/versions/index.md @@ -1,3 +1,4 @@ + --- title: versions hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - versions - secretmanager - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an version resource or lists versions in a region ## Overview @@ -39,13 +41,44 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | The replication status of a SecretVersion. | | | `string` | Optional. Output only. Scheduled destroy time for secret version. This is a part of the Delayed secret version destroy feature. For a Secret with a valid version destroy TTL, when a secert version is destroyed, version is moved to disabled state and it is scheduled for destruction Version is destroyed only after the scheduled_destroy_time. | | | `string` | Output only. The current state of the SecretVersion. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets metadata for a SecretVersion. `projects/*/secrets/*/versions/latest` is an alias to the most recently created SecretVersion. | | | `SELECT` | | Lists SecretVersions. This call does not return secret data. | -| | `EXEC` | | Lists SecretVersions. This call does not return secret data. | +| | `DELETE` | | Destroys a SecretVersion. Sets the state of the SecretVersion to DESTROYED and irrevocably destroys the secret data. | | | `EXEC` | | Accesses a SecretVersion. This call returns the secret data. `projects/*/secrets/*/versions/latest` is an alias to the most recently created SecretVersion. | -| | `EXEC` | | Destroys a SecretVersion. Sets the state of the SecretVersion to DESTROYED and irrevocably destroys the secret data. | | | `EXEC` | | Disables a SecretVersion. Sets the state of the SecretVersion to DISABLED. | | | `EXEC` | | Enables a SecretVersion. Sets the state of the SecretVersion to ENABLED. | + +## `SELECT` examples + +Lists SecretVersions. This call does not return secret data. + +```sql +SELECT +name, +clientSpecifiedPayloadChecksum, +createTime, +customerManagedEncryption, +destroyTime, +etag, +replicationStatus, +scheduledDestroyTime, +state +FROM google.secretmanager.versions +WHERE projectsId = '{{ projectsId }}' +AND secretsId = '{{ secretsId }}'; +``` + +## `DELETE` example + +Deletes the specified version resource. + +```sql +DELETE FROM google.secretmanager.versions +WHERE projectsId = '{{ projectsId }}' +AND secretsId = '{{ secretsId }}' +AND versionsId = '{{ versionsId }}'; +``` diff --git a/docs/google-docs/providers/google/securitycenter/assets/index.md b/docs/google-docs/providers/google/securitycenter/assets/index.md index 3366f9440c..24ede7453c 100644 --- a/docs/google-docs/providers/google/securitycenter/assets/index.md +++ b/docs/google-docs/providers/google/securitycenter/assets/index.md @@ -1,3 +1,4 @@ + --- title: assets hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - assets - securitycenter - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an asset resource or lists assets in a region ## Overview
@@ -32,16 +34,26 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `object` | Security Command Center representation of a Google Cloud resource. The Asset is a Security Command Center resource that captures information about a single Google Cloud resource. All modifications to an Asset are only within the context of Security Command Center and don't affect the referenced Google Cloud resource. | | | `string` | State change of the asset between the points in time. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Lists an organization's assets. | | | `SELECT` | | Lists an organization's assets. | | | `SELECT` | | Lists an organization's assets. | -| | `EXEC` | | Lists an organization's assets. | -| | `EXEC` | | Lists an organization's assets. | -| | `EXEC` | | Lists an organization's assets. | | | `EXEC` | | Filters an organization's assets and groups them by their specified properties. | | | `EXEC` | | Filters an organization's assets and groups them by their specified properties. | | | `EXEC` | | Runs asset discovery. The discovery is tracked with a long-running operation. This API can only be called with limited frequency for an organization. If it is called too frequently the caller will receive a TOO_MANY_REQUESTS error. | | | `EXEC` | | Filters an organization's assets and groups them by their specified properties. | + +## `SELECT` examples + +Lists an organization's assets. + +```sql +SELECT +asset, +stateChange +FROM google.securitycenter.assets +WHERE foldersId = '{{ foldersId }}'; +``` diff --git a/docs/google-docs/providers/google/securitycenter/assets_security_marks/index.md b/docs/google-docs/providers/google/securitycenter/assets_security_marks/index.md index cc39705e02..0b411b06f2 100644 --- a/docs/google-docs/providers/google/securitycenter/assets_security_marks/index.md +++ b/docs/google-docs/providers/google/securitycenter/assets_security_marks/index.md @@ -1,3 +1,4 @@ + --- title: assets_security_marks hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - assets_security_marks - securitycenter - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an assets_security_mark resource or lists assets_security_marks in a region ## Overview
@@ -28,10 +30,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | -| | `EXEC` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `UPDATE` | | Updates security marks. | +| | `UPDATE` | | Updates security marks. | +| | `UPDATE` | | Updates security marks. | + +## `UPDATE` example + +Updates a assets_security_mark only if the necessary resources are available. + +```sql +UPDATE google.securitycenter.assets_security_marks +SET +name = '{{ name }}', +marks = '{{ marks }}', +canonicalName = '{{ canonicalName }}' +WHERE +assetsId = '{{ assetsId }}' +AND foldersId = '{{ foldersId }}'; +``` diff --git a/docs/google-docs/providers/google/securitycenter/attack_paths/index.md b/docs/google-docs/providers/google/securitycenter/attack_paths/index.md index 8365c3236a..c0f3bfd684 100644 --- a/docs/google-docs/providers/google/securitycenter/attack_paths/index.md +++ b/docs/google-docs/providers/google/securitycenter/attack_paths/index.md @@ -1,3 +1,4 @@ + --- title: attack_paths hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - attack_paths - securitycenter - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an attack_path resource or lists attack_paths in a region ## Overview @@ -33,12 +35,24 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The attack path name, for example, `organizations/12/simulation/34/valuedResources/56/attackPaths/78` | | | `array` | A list of the edges between nodes in this attack path. | | | `array` | A list of nodes that exist in this attack path. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `SELECT` | | -| | `SELECT` | | -| | `EXEC` | | -| | `EXEC` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists the attack paths for a set of simulation results or valued resources and filter. | +| | `SELECT` | | Lists the attack paths for a set of simulation results or valued resources and filter. | +| | `SELECT` | | Lists the attack paths for a set of simulation results or valued resources and filter. | + +## `SELECT` examples + +Lists the attack paths for a set of simulation results or valued resources and filter. + +```sql +SELECT +name, +edges, +pathNodes +FROM google.securitycenter.attack_paths +WHERE organizationsId = '{{ organizationsId }}' +AND simulationsId = '{{ simulationsId }}'; +``` diff --git a/docs/google-docs/providers/google/securitycenter/big_query_exports/index.md b/docs/google-docs/providers/google/securitycenter/big_query_exports/index.md index 6a8b23019a..d01b2f748d 100644 --- a/docs/google-docs/providers/google/securitycenter/big_query_exports/index.md +++ b/docs/google-docs/providers/google/securitycenter/big_query_exports/index.md @@ -1,3 +1,4 @@ + --- title: big_query_exports hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - big_query_exports - securitycenter - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an big_query_export resource or lists big_query_exports in a region ## Overview
@@ -30,14 +32,15 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The relative resource name of this export. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name. Example format: "organizations/{organization_id}/bigQueryExports/{export_id}" Example format: "folders/{folder_id}/bigQueryExports/{export_id}" Example format: "projects/{project_id}/bigQueryExports/{export_id}" This field is provided in responses, and is ignored when provided in create requests. | +| | `string` | The relative resource name of this export. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name. Example format: "organizations/{organization_id}/bigQueryExports/{export_id}" Example format: "folders/{folder_id}/bigQueryExports/{export_id}" Example format: "projects/{project_id}/bigQueryExports/{export_id}" This field is provided in responses, and is ignored when provided in create requests. | | | `string` | The description of the export (max of 1024 characters). | | | `string` | Output only. The time at which the BigQuery export was created. This field is set by the server and will be ignored if provided on export on creation. | | | `string` | The dataset to write findings' updates to. Its format is "projects/[project_id]/datasets/[bigquery_dataset_id]". BigQuery Dataset unique ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). | -| | `string` | Expression that defines the filter to apply across create/update events of findings. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. | +| | `string` | Expression that defines the filter to apply across create/update events of findings. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. | | | `string` | Output only. Email address of the user who last edited the BigQuery export. This field is set by the server and will be ignored if provided on export creation or update. | | | `string` | Output only. The service account that needs permission to create table and upload data to the BigQuery dataset. | | | `string` | Output only. The most recent time at which the BigQuery export was updated. This field is set by the server and will be ignored if provided on export creation or update. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -56,6 +59,117 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `UPDATE` | | Updates a BigQuery export. | | | `UPDATE` | | Updates a BigQuery export. | | | `UPDATE` | | Updates a BigQuery export. | -| | `EXEC` | | Lists BigQuery exports. Note that when requesting BigQuery exports at a given level all exports under that level are also returned e.g. if requesting BigQuery exports under a folder, then all BigQuery exports immediately under the folder plus the ones created under the projects within the folder are returned. | -| | `EXEC` | | Lists BigQuery exports. Note that when requesting BigQuery exports at a given level all exports under that level are also returned e.g. if requesting BigQuery exports under a folder, then all BigQuery exports immediately under the folder plus the ones created under the projects within the folder are returned. | -| | `EXEC` | | Lists BigQuery exports. Note that when requesting BigQuery exports at a given level all exports under that level are also returned e.g. if requesting BigQuery exports under a folder, then all BigQuery exports immediately under the folder plus the ones created under the projects within the folder are returned. | + +## `SELECT` examples + +Lists BigQuery exports. Note that when requesting BigQuery exports at a given level all exports under that level are also returned e.g. if requesting BigQuery exports under a folder, then all BigQuery exports immediately under the folder plus the ones created under the projects within the folder are returned. + +```sql +SELECT +name, +description, +createTime, +dataset, +filter, +mostRecentEditor, +principal, +updateTime +FROM google.securitycenter.big_query_exports +WHERE foldersId = '{{ foldersId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new big_query_exports resource. + + + + +```sql +/*+ create */ +INSERT INTO google.securitycenter.big_query_exports ( +foldersId, +name, +description, +filter, +dataset, +createTime, +updateTime, +mostRecentEditor, +principal +) +SELECT +'{{ foldersId }}', +'{{ name }}', +'{{ description }}', +'{{ filter }}', +'{{ dataset }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ mostRecentEditor }}', +'{{ principal }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: filter + value: '{{ filter }}' + - name: dataset + value: '{{ dataset }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: mostRecentEditor + value: '{{ mostRecentEditor }}' + - name: principal + value: '{{ principal }}' + +``` + + + +## `UPDATE` example + +Updates a big_query_export only if the necessary resources are available. + +```sql +UPDATE google.securitycenter.big_query_exports +SET +name = '{{ name }}', +description = '{{ description }}', +filter = '{{ filter }}', +dataset = '{{ dataset }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +mostRecentEditor = '{{ mostRecentEditor }}', +principal = '{{ principal }}' +WHERE +bigQueryExportsId = '{{ bigQueryExportsId }}' +AND foldersId = '{{ foldersId }}'; +``` + +## `DELETE` example + +Deletes the specified big_query_export resource. + +```sql +DELETE FROM google.securitycenter.big_query_exports +WHERE bigQueryExportsId = '{{ bigQueryExportsId }}' +AND foldersId = '{{ foldersId }}'; +``` diff --git a/docs/google-docs/providers/google/securitycenter/custom_modules/index.md b/docs/google-docs/providers/google/securitycenter/custom_modules/index.md index 90bece50a7..f8248a0f0a 100644 --- a/docs/google-docs/providers/google/securitycenter/custom_modules/index.md +++ b/docs/google-docs/providers/google/securitycenter/custom_modules/index.md @@ -1,3 +1,4 @@ + --- title: custom_modules hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - custom_modules - securitycenter - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an custom_module resource or lists custom_modules in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Immutable. The resource name of the Event Threat Detection custom module. Its format is: * "organizations/{organization}/eventThreatDetectionSettings/customModules/{module}". * "folders/{folder}/eventThreatDetectionSettings/customModules/{module}". * "projects/{project}/eventThreatDetectionSettings/customModules/{module}". | +| | `string` | Immutable. The resource name of the Event Threat Detection custom module. Its format is: * `organizations/{organization}/eventThreatDetectionSettings/customModules/{module}`. * `folders/{folder}/eventThreatDetectionSettings/customModules/{module}`. * `projects/{project}/eventThreatDetectionSettings/customModules/{module}`. | | | `string` | The description for the module. | | | `string` | Output only. The closest ancestor module that this module inherits the enablement state from. The format is the same as the EventThreatDetectionCustomModule resource name. | | | `object` | Config for the module. For the resident module, its config value is defined at this level. For the inherited module, its config value is inherited from the ancestor module. | @@ -39,6 +41,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The editor the module was last updated by. | | | `string` | Type for the module. e.g. CONFIGURABLE_BAD_IP. | | | `string` | Output only. The time the module was last updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -54,3 +57,44 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `EXEC` | | Simulates a given SecurityHealthAnalyticsCustomModule and Resource. | | | `EXEC` | | Simulates a given SecurityHealthAnalyticsCustomModule and Resource. | | | `EXEC` | | Simulates a given SecurityHealthAnalyticsCustomModule and Resource. | + +## `SELECT` examples + +Gets an Event Threat Detection custom module. + +```sql +SELECT +name, +description, +ancestorModule, +config, +displayName, +enablementState, +lastEditor, +type, +updateTime +FROM google.securitycenter.custom_modules +WHERE customModulesId = '{{ customModulesId }}' +AND foldersId = '{{ foldersId }}'; +``` + +## `UPDATE` example + +Updates a custom_module only if the necessary resources are available. + +```sql +UPDATE google.securitycenter.custom_modules +SET +name = '{{ name }}', +config = '{{ config }}', +ancestorModule = '{{ ancestorModule }}', +enablementState = '{{ enablementState }}', +type = '{{ type }}', +displayName = '{{ displayName }}', +description = '{{ description }}', +updateTime = '{{ updateTime }}', +lastEditor = '{{ lastEditor }}' +WHERE +customModulesId = '{{ customModulesId }}' +AND foldersId = '{{ foldersId }}'; +``` diff --git a/docs/google-docs/providers/google/securitycenter/custom_modules_descendant/index.md b/docs/google-docs/providers/google/securitycenter/custom_modules_descendant/index.md index bd7993f52c..aa2c6a048b 100644 --- a/docs/google-docs/providers/google/securitycenter/custom_modules_descendant/index.md +++ b/docs/google-docs/providers/google/securitycenter/custom_modules_descendant/index.md @@ -1,3 +1,4 @@ + --- title: custom_modules_descendant hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - custom_modules_descendant - securitycenter - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an custom_modules_descendant resource or lists custom_modules_descendant in a region ## Overview
@@ -30,13 +32,14 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Immutable. The resource name of the custom module. Its format is "organizations/{organization}/securityHealthAnalyticsSettings/customModules/{customModule}", or "folders/{folder}/securityHealthAnalyticsSettings/customModules/{customModule}", or "projects/{project}/securityHealthAnalyticsSettings/customModules/{customModule}" The id {customModule} is server-generated and is not user settable. It will be a numeric id containing 1-20 digits. | +| | `string` | Immutable. The resource name of the custom module. Its format is "organizations/{organization}/securityHealthAnalyticsSettings/customModules/{customModule}", or "folders/{folder}/securityHealthAnalyticsSettings/customModules/{customModule}", or "projects/{project}/securityHealthAnalyticsSettings/customModules/{customModule}" The id {customModule} is server-generated and is not user settable. It will be a numeric id containing 1-20 digits. | | | `string` | Output only. If empty, indicates that the custom module was created in the organization, folder, or project in which you are viewing the custom module. Otherwise, `ancestor_module` specifies the organization or folder from which the custom module is inherited. | | | `object` | Defines the properties in a custom module configuration for Security Health Analytics. Use the custom module configuration to create custom detectors that generate custom findings for resources that you specify. | | | `string` | The display name of the Security Health Analytics custom module. This display name becomes the finding category for all findings that are returned by this custom module. The display name must be between 1 and 128 characters, start with a lowercase letter, and contain alphanumeric characters or underscores only. | | | `string` | The enablement state of the custom module. | | | `string` | Output only. The editor that last updated the custom module. | | | `string` | Output only. The time at which the custom module was last updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -46,9 +49,20 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Returns a list of all resident SecurityHealthAnalyticsCustomModules under the given CRM parent and all of the parent’s CRM descendants. | | | `SELECT` | | Lists all resident Event Threat Detection custom modules under the given Resource Manager parent and its descendants. | | | `SELECT` | | Returns a list of all resident SecurityHealthAnalyticsCustomModules under the given CRM parent and all of the parent’s CRM descendants. | -| | `EXEC` | | Lists all resident Event Threat Detection custom modules under the given Resource Manager parent and its descendants. | -| | `EXEC` | | Returns a list of all resident SecurityHealthAnalyticsCustomModules under the given CRM parent and all of the parent’s CRM descendants. | -| | `EXEC` | | Lists all resident Event Threat Detection custom modules under the given Resource Manager parent and its descendants. | -| | `EXEC` | | Returns a list of all resident SecurityHealthAnalyticsCustomModules under the given CRM parent and all of the parent’s CRM descendants. | -| | `EXEC` | | Lists all resident Event Threat Detection custom modules under the given Resource Manager parent and its descendants. | -| | `EXEC` | | Returns a list of all resident SecurityHealthAnalyticsCustomModules under the given CRM parent and all of the parent’s CRM descendants. | + +## `SELECT` examples + +Lists all resident Event Threat Detection custom modules under the given Resource Manager parent and its descendants. + +```sql +SELECT +name, +ancestorModule, +customConfig, +displayName, +enablementState, +lastEditor, +updateTime +FROM google.securitycenter.custom_modules_descendant +WHERE foldersId = '{{ foldersId }}'; +``` diff --git a/docs/google-docs/providers/google/securitycenter/effective_custom_modules/index.md b/docs/google-docs/providers/google/securitycenter/effective_custom_modules/index.md index f70542cd17..13b8d80b85 100644 --- a/docs/google-docs/providers/google/securitycenter/effective_custom_modules/index.md +++ b/docs/google-docs/providers/google/securitycenter/effective_custom_modules/index.md @@ -1,3 +1,4 @@ + --- title: effective_custom_modules hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - effective_custom_modules - securitycenter - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an effective_custom_module resource or lists effective_custom_modules in a region ## Overview
@@ -30,10 +32,11 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. The resource name of the custom module. Its format is "organizations/{organization}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}", or "folders/{folder}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}", or "projects/{project}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}" | +| | `string` | Output only. The resource name of the custom module. Its format is "organizations/{organization}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}", or "folders/{folder}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}", or "projects/{project}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}" | | | `object` | Defines the properties in a custom module configuration for Security Health Analytics. Use the custom module configuration to create custom detectors that generate custom findings for resources that you specify. | | | `string` | Output only. The display name for the custom module. The name must be between 1 and 128 characters, start with a lowercase letter, and contain alphanumeric characters or underscores only. | | | `string` | Output only. The effective state of enablement for the module at the given level of the hierarchy. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -49,9 +52,17 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists all effective Event Threat Detection custom modules for the given parent. This includes resident modules defined at the scope of the parent along with modules inherited from its ancestors. | | | `SELECT` | | Retrieves an EffectiveSecurityHealthAnalyticsCustomModule. | | | `SELECT` | | Returns a list of all EffectiveSecurityHealthAnalyticsCustomModules for the given parent. This includes resident modules defined at the scope of the parent, and inherited modules, inherited from CRM ancestors. | -| | `EXEC` | | Lists all effective Event Threat Detection custom modules for the given parent. This includes resident modules defined at the scope of the parent along with modules inherited from its ancestors. | -| | `EXEC` | | Returns a list of all EffectiveSecurityHealthAnalyticsCustomModules for the given parent. This includes resident modules defined at the scope of the parent, and inherited modules, inherited from CRM ancestors. | -| | `EXEC` | | Lists all effective Event Threat Detection custom modules for the given parent. This includes resident modules defined at the scope of the parent along with modules inherited from its ancestors. | -| | `EXEC` | | Returns a list of all EffectiveSecurityHealthAnalyticsCustomModules for the given parent. This includes resident modules defined at the scope of the parent, and inherited modules, inherited from CRM ancestors. | -| | `EXEC` | | Lists all effective Event Threat Detection custom modules for the given parent. This includes resident modules defined at the scope of the parent along with modules inherited from its ancestors. | -| | `EXEC` | | Returns a list of all EffectiveSecurityHealthAnalyticsCustomModules for the given parent. This includes resident modules defined at the scope of the parent, and inherited modules, inherited from CRM ancestors. | + +## `SELECT` examples + +Lists all effective Event Threat Detection custom modules for the given parent. This includes resident modules defined at the scope of the parent along with modules inherited from its ancestors. + +```sql +SELECT +name, +customConfig, +displayName, +enablementState +FROM google.securitycenter.effective_custom_modules +WHERE foldersId = '{{ foldersId }}'; +``` diff --git a/docs/google-docs/providers/google/securitycenter/event_threat_detection_modules/index.md b/docs/google-docs/providers/google/securitycenter/event_threat_detection_modules/index.md index 42ccd17de5..9da53ff089 100644 --- a/docs/google-docs/providers/google/securitycenter/event_threat_detection_modules/index.md +++ b/docs/google-docs/providers/google/securitycenter/event_threat_detection_modules/index.md @@ -1,3 +1,4 @@ + --- title: event_threat_detection_modules hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - event_threat_detection_modules - securitycenter - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an event_threat_detection_module resource or lists event_threat_detection_modules in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Immutable. The resource name of the Event Threat Detection custom module. Its format is: * "organizations/{organization}/eventThreatDetectionSettings/customModules/{module}". * "folders/{folder}/eventThreatDetectionSettings/customModules/{module}". * "projects/{project}/eventThreatDetectionSettings/customModules/{module}". | +| | `string` | Immutable. The resource name of the Event Threat Detection custom module. Its format is: * `organizations/{organization}/eventThreatDetectionSettings/customModules/{module}`. * `folders/{folder}/eventThreatDetectionSettings/customModules/{module}`. * `projects/{project}/eventThreatDetectionSettings/customModules/{module}`. | | | `string` | The description for the module. | | | `string` | Output only. The closest ancestor module that this module inherits the enablement state from. The format is the same as the EventThreatDetectionCustomModule resource name. | | | `object` | Config for the module. For the resident module, its config value is defined at this level. For the inherited module, its config value is inherited from the ancestor module. | @@ -39,6 +41,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The editor the module was last updated by. | | | `string` | Type for the module. e.g. CONFIGURABLE_BAD_IP. | | | `string` | Output only. The time the module was last updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -51,6 +54,102 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `DELETE` | | Deletes the specified Event Threat Detection custom module and all of its descendants in the Resource Manager hierarchy. This method is only supported for resident custom modules. | | | `DELETE` | | Deletes the specified Event Threat Detection custom module and all of its descendants in the Resource Manager hierarchy. This method is only supported for resident custom modules. | | | `DELETE` | | Deletes the specified Event Threat Detection custom module and all of its descendants in the Resource Manager hierarchy. This method is only supported for resident custom modules. | -| | `EXEC` | | Lists all Event Threat Detection custom modules for the given Resource Manager parent. This includes resident modules defined at the scope of the parent along with modules inherited from ancestors. | -| | `EXEC` | | Lists all Event Threat Detection custom modules for the given Resource Manager parent. This includes resident modules defined at the scope of the parent along with modules inherited from ancestors. | -| | `EXEC` | | Lists all Event Threat Detection custom modules for the given Resource Manager parent. This includes resident modules defined at the scope of the parent along with modules inherited from ancestors. | + +## `SELECT` examples + +Lists all Event Threat Detection custom modules for the given Resource Manager parent. This includes resident modules defined at the scope of the parent along with modules inherited from ancestors. + +```sql +SELECT +name, +description, +ancestorModule, +config, +displayName, +enablementState, +lastEditor, +type, +updateTime +FROM google.securitycenter.event_threat_detection_modules +WHERE foldersId = '{{ foldersId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new event_threat_detection_modules resource. + + + + +```sql +/*+ create */ +INSERT INTO google.securitycenter.event_threat_detection_modules ( +foldersId, +name, +config, +ancestorModule, +enablementState, +type, +displayName, +description, +updateTime, +lastEditor +) +SELECT +'{{ foldersId }}', +'{{ name }}', +'{{ config }}', +'{{ ancestorModule }}', +'{{ enablementState }}', +'{{ type }}', +'{{ displayName }}', +'{{ description }}', +'{{ updateTime }}', +'{{ lastEditor }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: config + value: '{{ config }}' + - name: ancestorModule + value: '{{ ancestorModule }}' + - name: enablementState + value: '{{ enablementState }}' + - name: type + value: '{{ type }}' + - name: displayName + value: '{{ displayName }}' + - name: description + value: '{{ description }}' + - name: updateTime + value: '{{ updateTime }}' + - name: lastEditor + value: '{{ lastEditor }}' + +``` + + + +## `DELETE` example + +Deletes the specified event_threat_detection_module resource. + +```sql +DELETE FROM google.securitycenter.event_threat_detection_modules +WHERE customModulesId = '{{ customModulesId }}' +AND foldersId = '{{ foldersId }}'; +``` diff --git a/docs/google-docs/providers/google/securitycenter/event_threat_detection_settings/index.md b/docs/google-docs/providers/google/securitycenter/event_threat_detection_settings/index.md index 2b584f4072..f60050232d 100644 --- a/docs/google-docs/providers/google/securitycenter/event_threat_detection_settings/index.md +++ b/docs/google-docs/providers/google/securitycenter/event_threat_detection_settings/index.md @@ -1,3 +1,4 @@ + --- title: event_threat_detection_settings hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - event_threat_detection_settings - securitycenter - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an event_threat_detection_setting resource or lists event_threat_detection_settings in a region ## Overview
@@ -28,10 +30,12 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | -| | `EXEC` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Validates the given Event Threat Detection custom module. | +| | `EXEC` | | Validates the given Event Threat Detection custom module. | +| | `EXEC` | | Validates the given Event Threat Detection custom module. | diff --git a/docs/google-docs/providers/google/securitycenter/external_systems/index.md b/docs/google-docs/providers/google/securitycenter/external_systems/index.md index 7c62095afa..a3de451134 100644 --- a/docs/google-docs/providers/google/securitycenter/external_systems/index.md +++ b/docs/google-docs/providers/google/securitycenter/external_systems/index.md @@ -1,3 +1,4 @@ + --- title: external_systems hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - external_systems - securitycenter - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an external_system resource or lists external_systems in a region ## Overview @@ -28,10 +30,37 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `UPDATE` | | -| | `UPDATE` | | -| | `UPDATE` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `UPDATE` | | Updates external system. This is for a given finding. | +| | `UPDATE` | | Updates external system. This is for a given finding. | +| | `UPDATE` | | Updates external system. This is for a given finding. | + +## `UPDATE` example + +Updates a external_system only if the necessary resources are available. + +```sql +UPDATE google.securitycenter.external_systems +SET +name = '{{ name }}', +assignees = '{{ assignees }}', +externalUid = '{{ externalUid }}', +status = '{{ status }}', +externalSystemUpdateTime = '{{ externalSystemUpdateTime }}', +caseUri = '{{ caseUri }}', +casePriority = '{{ casePriority }}', +caseSla = '{{ caseSla }}', +caseCreateTime = '{{ caseCreateTime }}', +caseCloseTime = '{{ caseCloseTime }}', +ticketInfo = '{{ ticketInfo }}' +WHERE +externalSystemsId = '{{ externalSystemsId }}' +AND findingsId = '{{ findingsId }}' +AND foldersId = '{{ foldersId }}' +AND sourcesId = '{{ sourcesId }}'; +``` diff --git a/docs/google-docs/providers/google/securitycenter/findings/index.md b/docs/google-docs/providers/google/securitycenter/findings/index.md index e618014226..019f8cdce1 100644 --- a/docs/google-docs/providers/google/securitycenter/findings/index.md +++ b/docs/google-docs/providers/google/securitycenter/findings/index.md @@ -1,3 +1,4 @@ + --- title: findings hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - findings - securitycenter - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an finding resource or lists findings in a region ## Overview @@ -33,28 +35,349 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Security Command Center finding. A finding is a record of assessment data like security, risk, health, or privacy, that is ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, a cross-site scripting (XSS) vulnerability in an App Engine application is a finding. | | | `object` | Information related to the Google Cloud resource that is associated with this finding. | | | `string` | State change of the finding between the points in time. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| -| | `SELECT` | | Lists an organization or source's findings. To list across all sources provide a `-` as the source id. Example: /v1/organizations/{organization_id}/sources/-/findings | -| | `SELECT` | | Lists an organization or source's findings. To list across all sources provide a `-` as the source id. Example: /v1/organizations/{organization_id}/sources/-/findings | -| | `SELECT` | | Lists an organization or source's findings. To list across all sources provide a `-` as the source id. Example: /v1/organizations/{organization_id}/sources/-/findings | +| | `SELECT` | | Lists an organization or source's findings. To list across all sources provide a `-` as the source id. Example: /v1/organizations/{organization_id}/sources/-/findings | +| | `SELECT` | | Lists an organization or source's findings. To list across all sources provide a `-` as the source id. Example: /v1/organizations/{organization_id}/sources/-/findings | +| | `SELECT` | | Lists an organization or source's findings. To list across all sources provide a `-` as the source id. Example: /v1/organizations/{organization_id}/sources/-/findings | | | `INSERT` | | Creates a finding. The corresponding source must exist for finding creation to succeed. | | | `UPDATE` | | Creates or updates a finding. The corresponding source must exist for a finding creation to succeed. | | | `UPDATE` | | Creates or updates a finding. The corresponding source must exist for a finding creation to succeed. | | | `UPDATE` | | Creates or updates a finding. The corresponding source must exist for a finding creation to succeed. | -| | `EXEC` | | Lists an organization or source's findings. To list across all sources provide a `-` as the source id. Example: /v1/organizations/{organization_id}/sources/-/findings | -| | `EXEC` | | Lists an organization or source's findings. To list across all sources provide a `-` as the source id. Example: /v1/organizations/{organization_id}/sources/-/findings | -| | `EXEC` | | Lists an organization or source's findings. To list across all sources provide a `-` as the source id. Example: /v1/organizations/{organization_id}/sources/-/findings | | | `EXEC` | | Kicks off an LRO to bulk mute findings for a parent based on a filter. The parent can be either an organization, folder or project. The findings matched by the filter will be muted after the LRO is done. | -| | `EXEC` | | Filters an organization or source's findings and groups them by their specified properties. To group across all sources provide a `-` as the source id. Example: /v1/organizations/{organization_id}/sources/-/findings, /v1/folders/{folder_id}/sources/-/findings, /v1/projects/{project_id}/sources/-/findings | +| | `EXEC` | | Filters an organization or source's findings and groups them by their specified properties. To group across all sources provide a `-` as the source id. Example: /v1/organizations/{organization_id}/sources/-/findings, /v1/folders/{folder_id}/sources/-/findings, /v1/projects/{project_id}/sources/-/findings | | | `EXEC` | | Updates the mute state of a finding. | | | `EXEC` | | Updates the state of a finding. | | | `EXEC` | | Kicks off an LRO to bulk mute findings for a parent based on a filter. The parent can be either an organization, folder or project. The findings matched by the filter will be muted after the LRO is done. | -| | `EXEC` | | Filters an organization or source's findings and groups them by their specified properties. To group across all sources provide a `-` as the source id. Example: /v1/organizations/{organization_id}/sources/-/findings, /v1/folders/{folder_id}/sources/-/findings, /v1/projects/{project_id}/sources/-/findings | +| | `EXEC` | | Filters an organization or source's findings and groups them by their specified properties. To group across all sources provide a `-` as the source id. Example: /v1/organizations/{organization_id}/sources/-/findings, /v1/folders/{folder_id}/sources/-/findings, /v1/projects/{project_id}/sources/-/findings | | | `EXEC` | | Updates the mute state of a finding. | | | `EXEC` | | Updates the state of a finding. | | | `EXEC` | | Kicks off an LRO to bulk mute findings for a parent based on a filter. The parent can be either an organization, folder or project. The findings matched by the filter will be muted after the LRO is done. | -| | `EXEC` | | Filters an organization or source's findings and groups them by their specified properties. To group across all sources provide a `-` as the source id. Example: /v1/organizations/{organization_id}/sources/-/findings, /v1/folders/{folder_id}/sources/-/findings, /v1/projects/{project_id}/sources/-/findings | +| | `EXEC` | | Filters an organization or source's findings and groups them by their specified properties. To group across all sources provide a `-` as the source id. Example: /v1/organizations/{organization_id}/sources/-/findings, /v1/folders/{folder_id}/sources/-/findings, /v1/projects/{project_id}/sources/-/findings | | | `EXEC` | | Updates the mute state of a finding. | | | `EXEC` | | Updates the state of a finding. | + +## `SELECT` examples + +Lists an organization or source's findings. To list across all sources provide a `-` as the source id. Example: /v1/organizations/{organization_id}/sources/-/findings + +```sql +SELECT +finding, +resource, +stateChange +FROM google.securitycenter.findings +WHERE foldersId = '{{ foldersId }}' +AND sourcesId = '{{ sourcesId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new findings resource. + + + + +```sql +/*+ create */ +INSERT INTO google.securitycenter.findings ( +organizationsId, +sourcesId, +name, +parent, +resourceName, +state, +category, +externalUri, +sourceProperties, +securityMarks, +eventTime, +createTime, +severity, +canonicalName, +mute, +findingClass, +indicator, +vulnerability, +muteUpdateTime, +externalSystems, +mitreAttack, +access, +connections, +muteInitiator, +muteInfo, +processes, +contacts, +compliances, +parentDisplayName, +description, +exfiltration, +iamBindings, +nextSteps, +moduleName, +containers, +kubernetes, +database, +attackExposure, +files, +cloudDlpInspection, +cloudDlpDataProfile, +kernelRootkit, +orgPolicies, +application, +backupDisasterRecovery, +securityPosture, +logEntries, +loadBalancers, +cloudArmor, +notebook, +toxicCombination, +groupMemberships, +dataAccessEvents, +dataFlowEvents +) +SELECT +'{{ organizationsId }}', +'{{ sourcesId }}', +'{{ name }}', +'{{ parent }}', +'{{ resourceName }}', +'{{ state }}', +'{{ category }}', +'{{ externalUri }}', +'{{ sourceProperties }}', +'{{ securityMarks }}', +'{{ eventTime }}', +'{{ createTime }}', +'{{ severity }}', +'{{ canonicalName }}', +'{{ mute }}', +'{{ findingClass }}', +'{{ indicator }}', +'{{ vulnerability }}', +'{{ muteUpdateTime }}', +'{{ externalSystems }}', +'{{ mitreAttack }}', +'{{ access }}', +'{{ connections }}', +'{{ muteInitiator }}', +'{{ muteInfo }}', +'{{ processes }}', +'{{ contacts }}', +'{{ compliances }}', +'{{ parentDisplayName }}', +'{{ description }}', +'{{ exfiltration }}', +'{{ iamBindings }}', +'{{ nextSteps }}', +'{{ moduleName }}', +'{{ containers }}', +'{{ kubernetes }}', +'{{ database }}', +'{{ attackExposure }}', +'{{ files }}', +'{{ cloudDlpInspection }}', +'{{ cloudDlpDataProfile }}', +'{{ kernelRootkit }}', +'{{ orgPolicies }}', +'{{ application }}', +'{{ backupDisasterRecovery }}', +'{{ securityPosture }}', +'{{ logEntries }}', +'{{ loadBalancers }}', +'{{ cloudArmor }}', +'{{ notebook }}', +'{{ toxicCombination }}', +'{{ groupMemberships }}', +'{{ dataAccessEvents }}', +'{{ dataFlowEvents }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: parent + value: '{{ parent }}' + - name: resourceName + value: '{{ resourceName }}' + - name: state + value: '{{ state }}' + - name: category + value: '{{ category }}' + - name: externalUri + value: '{{ externalUri }}' + - name: sourceProperties + value: '{{ sourceProperties }}' + - name: securityMarks + value: '{{ securityMarks }}' + - name: eventTime + value: '{{ eventTime }}' + - name: createTime + value: '{{ createTime }}' + - name: severity + value: '{{ severity }}' + - name: canonicalName + value: '{{ canonicalName }}' + - name: mute + value: '{{ mute }}' + - name: findingClass + value: '{{ findingClass }}' + - name: indicator + value: '{{ indicator }}' + - name: vulnerability + value: '{{ vulnerability }}' + - name: muteUpdateTime + value: '{{ muteUpdateTime }}' + - name: externalSystems + value: '{{ externalSystems }}' + - name: mitreAttack + value: '{{ mitreAttack }}' + - name: access + value: '{{ access }}' + - name: connections + value: '{{ connections }}' + - name: muteInitiator + value: '{{ muteInitiator }}' + - name: muteInfo + value: '{{ muteInfo }}' + - name: processes + value: '{{ processes }}' + - name: contacts + value: '{{ contacts }}' + - name: compliances + value: '{{ compliances }}' + - name: parentDisplayName + value: '{{ parentDisplayName }}' + - name: description + value: '{{ description }}' + - name: exfiltration + value: '{{ exfiltration }}' + - name: iamBindings + value: '{{ iamBindings }}' + - name: nextSteps + value: '{{ nextSteps }}' + - name: moduleName + value: '{{ moduleName }}' + - name: containers + value: '{{ containers }}' + - name: kubernetes + value: '{{ kubernetes }}' + - name: database + value: '{{ database }}' + - name: attackExposure + value: '{{ attackExposure }}' + - name: files + value: '{{ files }}' + - name: cloudDlpInspection + value: '{{ cloudDlpInspection }}' + - name: cloudDlpDataProfile + value: '{{ cloudDlpDataProfile }}' + - name: kernelRootkit + value: '{{ kernelRootkit }}' + - name: orgPolicies + value: '{{ orgPolicies }}' + - name: application + value: '{{ application }}' + - name: backupDisasterRecovery + value: '{{ backupDisasterRecovery }}' + - name: securityPosture + value: '{{ securityPosture }}' + - name: logEntries + value: '{{ logEntries }}' + - name: loadBalancers + value: '{{ loadBalancers }}' + - name: cloudArmor + value: '{{ cloudArmor }}' + - name: notebook + value: '{{ notebook }}' + - name: toxicCombination + value: '{{ toxicCombination }}' + - name: groupMemberships + value: '{{ groupMemberships }}' + - name: dataAccessEvents + value: '{{ dataAccessEvents }}' + - name: dataFlowEvents + value: '{{ dataFlowEvents }}' + +``` + + + +## `UPDATE` example + +Updates a finding only if the necessary resources are available. + +```sql +UPDATE google.securitycenter.findings +SET +name = '{{ name }}', +parent = '{{ parent }}', +resourceName = '{{ resourceName }}', +state = '{{ state }}', +category = '{{ category }}', +externalUri = '{{ externalUri }}', +sourceProperties = '{{ sourceProperties }}', +securityMarks = '{{ securityMarks }}', +eventTime = '{{ eventTime }}', +createTime = '{{ createTime }}', +severity = '{{ severity }}', +canonicalName = '{{ canonicalName }}', +mute = '{{ mute }}', +findingClass = '{{ findingClass }}', +indicator = '{{ indicator }}', +vulnerability = '{{ vulnerability }}', +muteUpdateTime = '{{ muteUpdateTime }}', +externalSystems = '{{ externalSystems }}', +mitreAttack = '{{ mitreAttack }}', +access = '{{ access }}', +connections = '{{ connections }}', +muteInitiator = '{{ muteInitiator }}', +muteInfo = '{{ muteInfo }}', +processes = '{{ processes }}', +contacts = '{{ contacts }}', +compliances = '{{ compliances }}', +parentDisplayName = '{{ parentDisplayName }}', +description = '{{ description }}', +exfiltration = '{{ exfiltration }}', +iamBindings = '{{ iamBindings }}', +nextSteps = '{{ nextSteps }}', +moduleName = '{{ moduleName }}', +containers = '{{ containers }}', +kubernetes = '{{ kubernetes }}', +database = '{{ database }}', +attackExposure = '{{ attackExposure }}', +files = '{{ files }}', +cloudDlpInspection = '{{ cloudDlpInspection }}', +cloudDlpDataProfile = '{{ cloudDlpDataProfile }}', +kernelRootkit = '{{ kernelRootkit }}', +orgPolicies = '{{ orgPolicies }}', +application = '{{ application }}', +backupDisasterRecovery = '{{ backupDisasterRecovery }}', +securityPosture = '{{ securityPosture }}', +logEntries = '{{ logEntries }}', +loadBalancers = '{{ loadBalancers }}', +cloudArmor = '{{ cloudArmor }}', +notebook = '{{ notebook }}', +toxicCombination = '{{ toxicCombination }}', +groupMemberships = '{{ groupMemberships }}', +dataAccessEvents = '{{ dataAccessEvents }}', +dataFlowEvents = '{{ dataFlowEvents }}' +WHERE +findingsId = '{{ findingsId }}' +AND foldersId = '{{ foldersId }}' +AND sourcesId = '{{ sourcesId }}'; +``` diff --git a/docs/google-docs/providers/google/securitycenter/findings_security_marks/index.md b/docs/google-docs/providers/google/securitycenter/findings_security_marks/index.md index 4d9412cd48..4db28343f3 100644 --- a/docs/google-docs/providers/google/securitycenter/findings_security_marks/index.md +++ b/docs/google-docs/providers/google/securitycenter/findings_security_marks/index.md @@ -1,3 +1,4 @@ + --- title: findings_security_marks hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - findings_security_marks - securitycenter - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an findings_security_mark resource or lists findings_security_marks in a region ## Overview
@@ -28,10 +30,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | -| | `EXEC` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `UPDATE` | | Updates security marks. | +| | `UPDATE` | | Updates security marks. | +| | `UPDATE` | | Updates security marks. | + +## `UPDATE` example + +Updates a findings_security_mark only if the necessary resources are available. + +```sql +UPDATE google.securitycenter.findings_security_marks +SET +name = '{{ name }}', +marks = '{{ marks }}', +canonicalName = '{{ canonicalName }}' +WHERE +findingsId = '{{ findingsId }}' +AND foldersId = '{{ foldersId }}' +AND sourcesId = '{{ sourcesId }}'; +``` diff --git a/docs/google-docs/providers/google/securitycenter/index.md b/docs/google-docs/providers/google/securitycenter/index.md index 3d632cc7f9..031bacd5d2 100644 --- a/docs/google-docs/providers/google/securitycenter/index.md +++ b/docs/google-docs/providers/google/securitycenter/index.md @@ -9,34 +9,23 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Security Command Center API provides access to temporal views of assets and findings within an organization. - +The securitycenter service documentation. + :::info Service Summary
total resources: 22
-total selectable resources: 18
-total methods: 223
::: -## Overview - - - - - - -
Namegoogle.securitycenter
TypeService
TitleSecurity Command Center API
DescriptionSecurity Command Center API provides access to temporal views of assets and findings within an organization.
Idsecuritycenter:v24.06.00236
- ## Resources
@@ -50,7 +39,7 @@ Security Command Center API provides access to temporal views of assets and find event_threat_detection_modules
event_threat_detection_settings
external_systems
-findings
+findings
findings_security_marks
@@ -63,6 +52,6 @@ Security Command Center API provides access to temporal views of assets and find simulations
sources
sources_iam_policies
-valued_resources
-
+valued_resources
+ \ No newline at end of file diff --git a/docs/google-docs/providers/google/securitycenter/mute_configs/index.md b/docs/google-docs/providers/google/securitycenter/mute_configs/index.md index 20909e07b9..d66145f479 100644 --- a/docs/google-docs/providers/google/securitycenter/mute_configs/index.md +++ b/docs/google-docs/providers/google/securitycenter/mute_configs/index.md @@ -1,3 +1,4 @@ + --- title: mute_configs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - mute_configs - securitycenter - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an mute_config resource or lists mute_configs in a region ## Overview @@ -30,13 +32,16 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | This field will be ignored if provided on config creation. Format "organizations/{organization}/muteConfigs/{mute_config}" "folders/{folder}/muteConfigs/{mute_config}" "projects/{project}/muteConfigs/{mute_config}" "organizations/{organization}/locations/global/muteConfigs/{mute_config}" "folders/{folder}/locations/global/muteConfigs/{mute_config}" "projects/{project}/locations/global/muteConfigs/{mute_config}" | +| | `string` | This field will be ignored if provided on config creation. Format `organizations/{organization}/muteConfigs/{mute_config}` `folders/{folder}/muteConfigs/{mute_config}` `projects/{project}/muteConfigs/{mute_config}` `organizations/{organization}/locations/global/muteConfigs/{mute_config}` `folders/{folder}/locations/global/muteConfigs/{mute_config}` `projects/{project}/locations/global/muteConfigs/{mute_config}` | | | `string` | A description of the mute config. | | | `string` | Output only. The time at which the mute config was created. This field is set by the server and will be ignored if provided on config creation. | | | `string` | The human readable name to be displayed for the mute config. | +| | `string` | Optional. The expiry of the mute config. Only applicable for dynamic configs. If the expiry is set, when the config expires, it is removed from all findings. | | | `string` | Required. An expression that defines the filter to apply across create/update events of findings. While creating a filter string, be mindful of the scope in which the mute configuration is being created. E.g., If a filter contains project = X but is created under the project = Y scope, it might not match any findings. The following field and operator combinations are supported: * severity: `=`, `:` * category: `=`, `:` * resource.name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.folders.resource_folder: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.type: `=`, `:` * finding_class: `=`, `:` * indicator.ip_addresses: `=`, `:` * indicator.domains: `=`, `:` | | | `string` | Output only. Email address of the user who last edited the mute config. This field is set by the server and will be ignored if provided on config creation or update. | +| | `string` | Optional. The type of the mute config, which determines what type of mute state the config affects. The static mute state takes precedence over the dynamic mute state. Immutable after creation. STATIC by default if not set during creation. | | | `string` | Output only. The most recent time at which the mute config was updated. This field is set by the server and will be ignored if provided on config creation or update. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -70,9 +75,123 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `UPDATE` | | Updates a mute config. | | | `UPDATE` | | Updates a mute config. | | | `UPDATE` | | Updates a mute config. | -| | `EXEC` | | Lists mute configs. | -| | `EXEC` | | Lists mute configs. | -| | `EXEC` | | Lists mute configs. | -| | `EXEC` | | Lists mute configs. | -| | `EXEC` | | Lists mute configs. | -| | `EXEC` | | Lists mute configs. | + +## `SELECT` examples + +Lists mute configs. + +```sql +SELECT +name, +description, +createTime, +displayName, +expiryTime, +filter, +mostRecentEditor, +type, +updateTime +FROM google.securitycenter.mute_configs +WHERE foldersId = '{{ foldersId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new mute_configs resource. + + + + +```sql +/*+ create */ +INSERT INTO google.securitycenter.mute_configs ( +foldersId, +name, +displayName, +description, +filter, +createTime, +updateTime, +mostRecentEditor, +type, +expiryTime +) +SELECT +'{{ foldersId }}', +'{{ name }}', +'{{ displayName }}', +'{{ description }}', +'{{ filter }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ mostRecentEditor }}', +'{{ type }}', +'{{ expiryTime }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: description + value: '{{ description }}' + - name: filter + value: '{{ filter }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: mostRecentEditor + value: '{{ mostRecentEditor }}' + - name: type + value: '{{ type }}' + - name: expiryTime + value: '{{ expiryTime }}' + +``` + + + +## `UPDATE` example + +Updates a mute_config only if the necessary resources are available. + +```sql +UPDATE google.securitycenter.mute_configs +SET +name = '{{ name }}', +displayName = '{{ displayName }}', +description = '{{ description }}', +filter = '{{ filter }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +mostRecentEditor = '{{ mostRecentEditor }}', +type = '{{ type }}', +expiryTime = '{{ expiryTime }}' +WHERE +foldersId = '{{ foldersId }}' +AND muteConfigsId = '{{ muteConfigsId }}'; +``` + +## `DELETE` example + +Deletes the specified mute_config resource. + +```sql +DELETE FROM google.securitycenter.mute_configs +WHERE foldersId = '{{ foldersId }}' +AND muteConfigsId = '{{ muteConfigsId }}'; +``` diff --git a/docs/google-docs/providers/google/securitycenter/notification_configs/index.md b/docs/google-docs/providers/google/securitycenter/notification_configs/index.md index d5e463692a..6adc585d51 100644 --- a/docs/google-docs/providers/google/securitycenter/notification_configs/index.md +++ b/docs/google-docs/providers/google/securitycenter/notification_configs/index.md @@ -1,3 +1,4 @@ + --- title: notification_configs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - notification_configs - securitycenter - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an notification_config resource or lists notification_configs in a region ## Overview
@@ -30,11 +32,12 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The relative resource name of this notification config. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id}/notificationConfigs/notify_public_bucket", "folders/{folder_id}/notificationConfigs/notify_public_bucket", or "projects/{project_id}/notificationConfigs/notify_public_bucket". | +| | `string` | The relative resource name of this notification config. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id}/notificationConfigs/notify_public_bucket", "folders/{folder_id}/notificationConfigs/notify_public_bucket", or "projects/{project_id}/notificationConfigs/notify_public_bucket". | | | `string` | The description of the notification config (max of 1024 characters). | | | `string` | The Pub/Sub topic to send notifications to. Its format is "projects/[project_id]/topics/[topic]". | | | `string` | Output only. The service account that needs "pubsub.topics.publish" permission to publish to the Pub/Sub topic. | | | `object` | The config for streaming-based notifications, which send each event as soon as it is detected. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -53,6 +56,99 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `UPDATE` | | Updates a notification config. The following update fields are allowed: description, pubsub_topic, streaming_config.filter | | | `UPDATE` | | Updates a notification config. The following update fields are allowed: description, pubsub_topic, streaming_config.filter | | | `UPDATE` | | Updates a notification config. The following update fields are allowed: description, pubsub_topic, streaming_config.filter | -| | `EXEC` | | Lists notification configs. | -| | `EXEC` | | Lists notification configs. | -| | `EXEC` | | Lists notification configs. | + +## `SELECT` examples + +Lists notification configs. + +```sql +SELECT +name, +description, +pubsubTopic, +serviceAccount, +streamingConfig +FROM google.securitycenter.notification_configs +WHERE foldersId = '{{ foldersId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new notification_configs resource. + + + + +```sql +/*+ create */ +INSERT INTO google.securitycenter.notification_configs ( +foldersId, +name, +description, +pubsubTopic, +serviceAccount, +streamingConfig +) +SELECT +'{{ foldersId }}', +'{{ name }}', +'{{ description }}', +'{{ pubsubTopic }}', +'{{ serviceAccount }}', +'{{ streamingConfig }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: pubsubTopic + value: '{{ pubsubTopic }}' + - name: serviceAccount + value: '{{ serviceAccount }}' + - name: streamingConfig + value: '{{ streamingConfig }}' + +``` + + + +## `UPDATE` example + +Updates a notification_config only if the necessary resources are available. + +```sql +UPDATE google.securitycenter.notification_configs +SET +name = '{{ name }}', +description = '{{ description }}', +pubsubTopic = '{{ pubsubTopic }}', +serviceAccount = '{{ serviceAccount }}', +streamingConfig = '{{ streamingConfig }}' +WHERE +foldersId = '{{ foldersId }}' +AND notificationConfigsId = '{{ notificationConfigsId }}'; +``` + +## `DELETE` example + +Deletes the specified notification_config resource. + +```sql +DELETE FROM google.securitycenter.notification_configs +WHERE foldersId = '{{ foldersId }}' +AND notificationConfigsId = '{{ notificationConfigsId }}'; +``` diff --git a/docs/google-docs/providers/google/securitycenter/operations/index.md b/docs/google-docs/providers/google/securitycenter/operations/index.md index 276a7fac05..75d6d29124 100644 --- a/docs/google-docs/providers/google/securitycenter/operations/index.md +++ b/docs/google-docs/providers/google/securitycenter/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - securitycenter - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview
@@ -30,16 +32,41 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.securitycenter.operations +WHERE organizationsId = '{{ organizationsId }}'; +``` + +## `DELETE` example + +Deletes the specified operation resource. + +```sql +DELETE FROM google.securitycenter.operations +WHERE operationsId = '{{ operationsId }}' +AND organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/securitycenter/organization_settings/index.md b/docs/google-docs/providers/google/securitycenter/organization_settings/index.md index 875227323f..bc37e5211c 100644 --- a/docs/google-docs/providers/google/securitycenter/organization_settings/index.md +++ b/docs/google-docs/providers/google/securitycenter/organization_settings/index.md @@ -1,3 +1,4 @@ + --- title: organization_settings hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - organization_settings - securitycenter - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an organization_setting resource or lists organization_settings in a region ## Overview
@@ -30,11 +32,39 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The relative resource name of the settings. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id}/organizationSettings". | +| | `string` | The relative resource name of the settings. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id}/organizationSettings". | | | `object` | The configuration used for Asset Discovery runs. | | | `boolean` | A flag that indicates if Asset Discovery should be enabled. If the flag is set to `true`, then discovery of assets will occur. If it is set to `false`, all historical assets will remain, but discovery of future assets will not occur. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the settings for an organization. | -| | `EXEC` | | Updates an organization's settings. | +| | `UPDATE` | | Updates an organization's settings. | + +## `SELECT` examples + +Gets the settings for an organization. + +```sql +SELECT +name, +assetDiscoveryConfig, +enableAssetDiscovery +FROM google.securitycenter.organization_settings +WHERE organizationsId = '{{ organizationsId }}'; +``` + +## `UPDATE` example + +Updates a organization_setting only if the necessary resources are available. + +```sql +UPDATE google.securitycenter.organization_settings +SET +name = '{{ name }}', +enableAssetDiscovery = true|false, +assetDiscoveryConfig = '{{ assetDiscoveryConfig }}' +WHERE +organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/securitycenter/resource_value_configs/index.md b/docs/google-docs/providers/google/securitycenter/resource_value_configs/index.md index 94e673c192..8f18f7df74 100644 --- a/docs/google-docs/providers/google/securitycenter/resource_value_configs/index.md +++ b/docs/google-docs/providers/google/securitycenter/resource_value_configs/index.md @@ -1,3 +1,4 @@ + --- title: resource_value_configs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - resource_value_configs - securitycenter - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an resource_value_config resource or lists resource_value_configs in a region ## Overview
@@ -34,19 +36,111 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Description of the resource value configuration. | | | `string` | Cloud provider this configuration applies to | | | `string` | Output only. Timestamp this resource value configuration was created. | -| | `object` | List of resource labels to search for, evaluated with AND. For example, "resource_labels_selector": {"key": "value", "env": "prod"} will match resources with labels "key": "value" AND "env": "prod" https://cloud.google.com/resource-manager/docs/creating-managing-labels | -| | `string` | Apply resource_value only to resources that match resource_type. resource_type will be checked with AND of other resources. For example, "storage.googleapis.com/Bucket" with resource_value "HIGH" will apply "HIGH" value only to "storage.googleapis.com/Bucket" resources. | +| | `object` | List of resource labels to search for, evaluated with `AND`. For example, `"resource_labels_selector": {"key": "value", "env": "prod"}` will match resources with labels "key": "value" `AND` "env": "prod" https://cloud.google.com/resource-manager/docs/creating-managing-labels | +| | `string` | Apply resource_value only to resources that match resource_type. resource_type will be checked with `AND` of other resources. For example, "storage.googleapis.com/Bucket" with resource_value "HIGH" will apply "HIGH" value only to "storage.googleapis.com/Bucket" resources. | | | `string` | Required. Resource value level this expression represents | -| | `string` | Project or folder to scope this configuration to. For example, "project/456" would apply this configuration only to resources in "project/456" scope will be checked with AND of other resources. | +| | `string` | Project or folder to scope this configuration to. For example, "project/456" would apply this configuration only to resources in "project/456" scope will be checked with `AND` of other resources. | | | `object` | Resource value mapping for Sensitive Data Protection findings. If any of these mappings have a resource value that is not unspecified, the resource_value field will be ignored when reading this configuration. | -| | `array` | Required. Tag values combined with AND to check against. Values in the form "tagValues/123" Example: [ "tagValues/123", "tagValues/456", "tagValues/789" ] https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing | +| | `array` | Required. Tag values combined with `AND` to check against. Values in the form "tagValues/123" Example: `[ "tagValues/123", "tagValues/456", "tagValues/789" ]` https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing | | | `string` | Output only. Timestamp this resource value configuration was last updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets a ResourceValueConfig. | | | `SELECT` | | Lists all ResourceValueConfigs. | +| | `INSERT` | | Creates a ResourceValueConfig for an organization. Maps user's tags to difference resource values for use by the attack path simulation. | | | `DELETE` | | Deletes a ResourceValueConfig. | | | `UPDATE` | | Updates an existing ResourceValueConfigs with new rules. | -| | `EXEC` | | Lists all ResourceValueConfigs. | -| | `EXEC` | | Creates a ResourceValueConfig for an organization. Maps user's tags to difference resource values for use by the attack path simulation. | + +## `SELECT` examples + +Lists all ResourceValueConfigs. + +```sql +SELECT +name, +description, +cloudProvider, +createTime, +resourceLabelsSelector, +resourceType, +resourceValue, +scope, +sensitiveDataProtectionMapping, +tagValues, +updateTime +FROM google.securitycenter.resource_value_configs +WHERE organizationsId = '{{ organizationsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new resource_value_configs resource. + + + + +```sql +/*+ create */ +INSERT INTO google.securitycenter.resource_value_configs ( +organizationsId, +requests +) +SELECT +'{{ organizationsId }}', +'{{ requests }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: requests + value: '{{ requests }}' + +``` + + + +## `UPDATE` example + +Updates a resource_value_config only if the necessary resources are available. + +```sql +UPDATE google.securitycenter.resource_value_configs +SET +name = '{{ name }}', +resourceValue = '{{ resourceValue }}', +tagValues = '{{ tagValues }}', +resourceType = '{{ resourceType }}', +scope = '{{ scope }}', +resourceLabelsSelector = '{{ resourceLabelsSelector }}', +description = '{{ description }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +cloudProvider = '{{ cloudProvider }}', +sensitiveDataProtectionMapping = '{{ sensitiveDataProtectionMapping }}' +WHERE +organizationsId = '{{ organizationsId }}' +AND resourceValueConfigsId = '{{ resourceValueConfigsId }}'; +``` + +## `DELETE` example + +Deletes the specified resource_value_config resource. + +```sql +DELETE FROM google.securitycenter.resource_value_configs +WHERE organizationsId = '{{ organizationsId }}' +AND resourceValueConfigsId = '{{ resourceValueConfigsId }}'; +``` diff --git a/docs/google-docs/providers/google/securitycenter/security_health_analytics_modules/index.md b/docs/google-docs/providers/google/securitycenter/security_health_analytics_modules/index.md index 2c77a3764f..5408b00874 100644 --- a/docs/google-docs/providers/google/securitycenter/security_health_analytics_modules/index.md +++ b/docs/google-docs/providers/google/securitycenter/security_health_analytics_modules/index.md @@ -1,3 +1,4 @@ + --- title: security_health_analytics_modules hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - security_health_analytics_modules - securitycenter - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an security_health_analytics_module resource or lists security_health_analytics_modules in a region ## Overview
@@ -30,13 +32,14 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Immutable. The resource name of the custom module. Its format is "organizations/{organization}/securityHealthAnalyticsSettings/customModules/{customModule}", or "folders/{folder}/securityHealthAnalyticsSettings/customModules/{customModule}", or "projects/{project}/securityHealthAnalyticsSettings/customModules/{customModule}" The id {customModule} is server-generated and is not user settable. It will be a numeric id containing 1-20 digits. | +| | `string` | Immutable. The resource name of the custom module. Its format is "organizations/{organization}/securityHealthAnalyticsSettings/customModules/{customModule}", or "folders/{folder}/securityHealthAnalyticsSettings/customModules/{customModule}", or "projects/{project}/securityHealthAnalyticsSettings/customModules/{customModule}" The id {customModule} is server-generated and is not user settable. It will be a numeric id containing 1-20 digits. | | | `string` | Output only. If empty, indicates that the custom module was created in the organization, folder, or project in which you are viewing the custom module. Otherwise, `ancestor_module` specifies the organization or folder from which the custom module is inherited. | | | `object` | Defines the properties in a custom module configuration for Security Health Analytics. Use the custom module configuration to create custom detectors that generate custom findings for resources that you specify. | | | `string` | The display name of the Security Health Analytics custom module. This display name becomes the finding category for all findings that are returned by this custom module. The display name must be between 1 and 128 characters, start with a lowercase letter, and contain alphanumeric characters or underscores only. | | | `string` | The enablement state of the custom module. | | | `string` | Output only. The editor that last updated the custom module. | | | `string` | Output only. The time at which the custom module was last updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -52,6 +55,92 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `DELETE` | | Deletes the specified SecurityHealthAnalyticsCustomModule and all of its descendants in the CRM hierarchy. This method is only supported for resident custom modules. | | | `DELETE` | | Deletes the specified SecurityHealthAnalyticsCustomModule and all of its descendants in the CRM hierarchy. This method is only supported for resident custom modules. | | | `DELETE` | | Deletes the specified SecurityHealthAnalyticsCustomModule and all of its descendants in the CRM hierarchy. This method is only supported for resident custom modules. | -| | `EXEC` | | Returns a list of all SecurityHealthAnalyticsCustomModules for the given parent. This includes resident modules defined at the scope of the parent, and inherited modules, inherited from CRM ancestors. | -| | `EXEC` | | Returns a list of all SecurityHealthAnalyticsCustomModules for the given parent. This includes resident modules defined at the scope of the parent, and inherited modules, inherited from CRM ancestors. | -| | `EXEC` | | Returns a list of all SecurityHealthAnalyticsCustomModules for the given parent. This includes resident modules defined at the scope of the parent, and inherited modules, inherited from CRM ancestors. | + +## `SELECT` examples + +Returns a list of all SecurityHealthAnalyticsCustomModules for the given parent. This includes resident modules defined at the scope of the parent, and inherited modules, inherited from CRM ancestors. + +```sql +SELECT +name, +ancestorModule, +customConfig, +displayName, +enablementState, +lastEditor, +updateTime +FROM google.securitycenter.security_health_analytics_modules +WHERE foldersId = '{{ foldersId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new security_health_analytics_modules resource. + + + + +```sql +/*+ create */ +INSERT INTO google.securitycenter.security_health_analytics_modules ( +foldersId, +name, +displayName, +enablementState, +updateTime, +lastEditor, +ancestorModule, +customConfig +) +SELECT +'{{ foldersId }}', +'{{ name }}', +'{{ displayName }}', +'{{ enablementState }}', +'{{ updateTime }}', +'{{ lastEditor }}', +'{{ ancestorModule }}', +'{{ customConfig }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: enablementState + value: '{{ enablementState }}' + - name: updateTime + value: '{{ updateTime }}' + - name: lastEditor + value: '{{ lastEditor }}' + - name: ancestorModule + value: '{{ ancestorModule }}' + - name: customConfig + value: '{{ customConfig }}' + +``` + + + +## `DELETE` example + +Deletes the specified security_health_analytics_module resource. + +```sql +DELETE FROM google.securitycenter.security_health_analytics_modules +WHERE customModulesId = '{{ customModulesId }}' +AND foldersId = '{{ foldersId }}'; +``` diff --git a/docs/google-docs/providers/google/securitycenter/simulations/index.md b/docs/google-docs/providers/google/securitycenter/simulations/index.md index f7273b5fa4..0a8ede7ec0 100644 --- a/docs/google-docs/providers/google/securitycenter/simulations/index.md +++ b/docs/google-docs/providers/google/securitycenter/simulations/index.md @@ -1,3 +1,4 @@ + --- title: simulations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - simulations - securitycenter - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an simulation resource or lists simulations in a region ## Overview
@@ -30,11 +32,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Full resource name of the Simulation: organizations/123/simulations/456 | +| | `string` | Full resource name of the Simulation: `organizations/123/simulations/456` | | | `string` | Indicates which cloud provider was used in this simulation. | | | `string` | Output only. Time simulation was created | | | `array` | Resource value configurations' metadata used in this simulation. Maximum of 100. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Get the simulation by name or the latest simulation for the given organization. | + +## `SELECT` examples + +Get the simulation by name or the latest simulation for the given organization. + +```sql +SELECT +name, +cloudProvider, +createTime, +resourceValueConfigsMetadata +FROM google.securitycenter.simulations +WHERE organizationsId = '{{ organizationsId }}' +AND simulationsId = '{{ simulationsId }}'; +``` diff --git a/docs/google-docs/providers/google/securitycenter/sources/index.md b/docs/google-docs/providers/google/securitycenter/sources/index.md index 40b6893472..fcfef84f3f 100644 --- a/docs/google-docs/providers/google/securitycenter/sources/index.md +++ b/docs/google-docs/providers/google/securitycenter/sources/index.md @@ -1,3 +1,4 @@ + --- title: sources hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - sources - securitycenter - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an source resource or lists sources in a region ## Overview
@@ -30,10 +32,11 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The relative resource name of this source. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id}/sources/{source_id}" | +| | `string` | The relative resource name of this source. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id}/sources/{source_id}" | | | `string` | The description of the source (max of 1024 characters). Example: "Web Security Scanner is a web security scanner for common vulnerabilities in App Engine applications. It can automatically scan and detect four common vulnerabilities, including cross-site-scripting (XSS), Flash injection, mixed content (HTTP in HTTPS), and outdated or insecure libraries." | -| | `string` | The canonical name of the finding source. It's either "organizations/{organization_id}/sources/{source_id}", "folders/{folder_id}/sources/{source_id}", or "projects/{project_number}/sources/{source_id}", depending on the closest CRM ancestor of the resource associated with the finding. | +| | `string` | The canonical name of the finding source. It's either "organizations/{organization_id}/sources/{source_id}", "folders/{folder_id}/sources/{source_id}", or "projects/{project_number}/sources/{source_id}", depending on the closest CRM ancestor of the resource associated with the finding. | | | `string` | The source's display name. A source's display name must be unique amongst its siblings, for example, two sources with the same parent can't share the same display name. The display name must have a length between 1 and 64 characters (inclusive). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -43,6 +46,83 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists all sources belonging to an organization. | | | `INSERT` | | Creates a source. | | | `UPDATE` | | Updates a source. | -| | `EXEC` | | Lists all sources belonging to an organization. | -| | `EXEC` | | Lists all sources belonging to an organization. | -| | `EXEC` | | Lists all sources belonging to an organization. | + +## `SELECT` examples + +Lists all sources belonging to an organization. + +```sql +SELECT +name, +description, +canonicalName, +displayName +FROM google.securitycenter.sources +WHERE foldersId = '{{ foldersId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new sources resource. + + + + +```sql +/*+ create */ +INSERT INTO google.securitycenter.sources ( +organizationsId, +name, +displayName, +description, +canonicalName +) +SELECT +'{{ organizationsId }}', +'{{ name }}', +'{{ displayName }}', +'{{ description }}', +'{{ canonicalName }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: description + value: '{{ description }}' + - name: canonicalName + value: '{{ canonicalName }}' + +``` + + + +## `UPDATE` example + +Updates a source only if the necessary resources are available. + +```sql +UPDATE google.securitycenter.sources +SET +name = '{{ name }}', +displayName = '{{ displayName }}', +description = '{{ description }}', +canonicalName = '{{ canonicalName }}' +WHERE +organizationsId = '{{ organizationsId }}' +AND sourcesId = '{{ sourcesId }}'; +``` diff --git a/docs/google-docs/providers/google/securitycenter/sources_iam_policies/index.md b/docs/google-docs/providers/google/securitycenter/sources_iam_policies/index.md index 498ec9d4e7..f87984818f 100644 --- a/docs/google-docs/providers/google/securitycenter/sources_iam_policies/index.md +++ b/docs/google-docs/providers/google/securitycenter/sources_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: sources_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - sources_iam_policies - securitycenter - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an sources_iam_policy resource or lists sources_iam_policies in a region ## Overview
@@ -30,13 +32,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy on the specified Source. | -| | `EXEC` | | Gets the access control policy on the specified Source. | | | `EXEC` | | Sets the access control policy on the specified Source. | | | `EXEC` | | Returns the permissions that a caller has on the specified source. | + +## `SELECT` examples + +Gets the access control policy on the specified Source. + +```sql +SELECT +condition, +members, +role +FROM google.securitycenter.sources_iam_policies +WHERE organizationsId = '{{ organizationsId }}' +AND sourcesId = '{{ sourcesId }}'; +``` diff --git a/docs/google-docs/providers/google/securitycenter/valued_resources/index.md b/docs/google-docs/providers/google/securitycenter/valued_resources/index.md index 3e69826fdd..cc133d253a 100644 --- a/docs/google-docs/providers/google/securitycenter/valued_resources/index.md +++ b/docs/google-docs/providers/google/securitycenter/valued_resources/index.md @@ -1,3 +1,4 @@ + --- title: valued_resources hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - valued_resources - securitycenter - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an valued_resource resource or lists valued_resources in a region ## Overview
@@ -37,11 +39,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The [resource type](https://cloud.google.com/asset-inventory/docs/supported-asset-types) of the valued resource. | | | `string` | How valuable this resource is. | | | `array` | List of resource value configurations' metadata used to determine the value of this resource. Maximum of 100. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Lists the valued resources for a set of simulation results and filter. | | | `SELECT` | | Get the valued resource by name | | | `SELECT` | | Lists the valued resources for a set of simulation results and filter. | -| | `EXEC` | | Lists the valued resources for a set of simulation results and filter. | -| | `EXEC` | | Lists the valued resources for a set of simulation results and filter. | +| | `SELECT` | | Lists the valued resources for a set of simulation results and filter. | + +## `SELECT` examples + +Lists the valued resources for a set of simulation results and filter. + +```sql +SELECT +name, +displayName, +exposedScore, +resource, +resourceType, +resourceValue, +resourceValueConfigsUsed +FROM google.securitycenter.valued_resources +WHERE organizationsId = '{{ organizationsId }}'; +``` diff --git a/docs/google-docs/providers/google/serviceconsumermanagement/index.md b/docs/google-docs/providers/google/serviceconsumermanagement/index.md index 89b9079cb8..3bf9444246 100644 --- a/docs/google-docs/providers/google/serviceconsumermanagement/index.md +++ b/docs/google-docs/providers/google/serviceconsumermanagement/index.md @@ -9,42 +9,31 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Manages the service consumers of a Service Infrastructure service. - +The serviceconsumermanagement service documentation. + :::info Service Summary
total resources: 4
-total selectable resources: 2
-total methods: 16
::: -## Overview -
- - - - - -
Namegoogle.serviceconsumermanagement
TypeService
TitleService Consumer Management API
DescriptionManages the service consumers of a Service Infrastructure service.
Idserviceconsumermanagement:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/serviceconsumermanagement/operations/index.md b/docs/google-docs/providers/google/serviceconsumermanagement/operations/index.md index 52cf894673..076d37e39d 100644 --- a/docs/google-docs/providers/google/serviceconsumermanagement/operations/index.md +++ b/docs/google-docs/providers/google/serviceconsumermanagement/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - serviceconsumermanagement - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview @@ -30,16 +32,40 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | -| | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | +| | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.serviceconsumermanagement.operations +WHERE = '{{ }}'; +``` + +## `DELETE` example + +Deletes the specified operation resource. + +```sql +DELETE FROM google.serviceconsumermanagement.operations +WHERE operationsId = '{{ operationsId }}'; +``` diff --git a/docs/google-docs/providers/google/serviceconsumermanagement/services/index.md b/docs/google-docs/providers/google/serviceconsumermanagement/services/index.md index 646f5667c3..538419bef5 100644 --- a/docs/google-docs/providers/google/serviceconsumermanagement/services/index.md +++ b/docs/google-docs/providers/google/serviceconsumermanagement/services/index.md @@ -1,3 +1,4 @@ + --- title: services hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - services - serviceconsumermanagement - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an service resource or lists services in a region ## Overview
@@ -28,8 +30,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Search tenancy units for a managed service. | diff --git a/docs/google-docs/providers/google/serviceconsumermanagement/tenancy_units/index.md b/docs/google-docs/providers/google/serviceconsumermanagement/tenancy_units/index.md index 356c8e70d1..75901f495f 100644 --- a/docs/google-docs/providers/google/serviceconsumermanagement/tenancy_units/index.md +++ b/docs/google-docs/providers/google/serviceconsumermanagement/tenancy_units/index.md @@ -1,3 +1,4 @@ + --- title: tenancy_units hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - tenancy_units - serviceconsumermanagement - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an tenancy_unit resource or lists tenancy_units in a region ## Overview @@ -30,18 +32,89 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Globally unique identifier of this tenancy unit "services/{service}/{collection id}/{resource id}/tenancyUnits/{unit}" | +| | `string` | Globally unique identifier of this tenancy unit "services/{service}/{collection id}/{resource id}/tenancyUnits/{unit}" | | | `string` | Output only. @OutputOnly Cloud resource name of the consumer of this service. For example 'projects/123456'. | | | `string` | Output only. @OutputOnly The time this tenancy unit was created. | | | `string` | Output only. Google Cloud API name of the managed service owning this tenancy unit. For example 'serviceconsumermanagement.googleapis.com'. | | | `array` | Resources constituting the tenancy unit. There can be at most 512 tenant resources in a tenancy unit. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Find the tenancy unit for a managed service and service consumer. This method shouldn't be used in a service producer's runtime path, for example to find the tenant project number when creating VMs. Service producers must persist the tenant project's information after the project is created. | | | `INSERT` | | Creates a tenancy unit with no tenant resources. If tenancy unit already exists, it will be returned, however, in this case, returned TenancyUnit does not have tenant_resources field set and ListTenancyUnits has to be used to get a complete TenancyUnit with all fields populated. | | | `DELETE` | | Delete a tenancy unit. Before you delete the tenancy unit, there should be no tenant resources in it that aren't in a DELETED state. Operation. | -| | `EXEC` | | Find the tenancy unit for a managed service and service consumer. This method shouldn't be used in a service producer's runtime path, for example to find the tenant project number when creating VMs. Service producers must persist the tenant project's information after the project is created. | | | `EXEC` | | Apply a configuration to an existing tenant project. This project must exist in an active state and have the original owner account. The caller must have permission to add a project to the given tenancy unit. The configuration is applied, but any existing settings on the project aren't modified. Specified policy bindings are applied. Existing bindings aren't modified. Specified services are activated. No service is deactivated. If specified, new billing configuration is applied. Omit a billing configuration to keep the existing one. A service account in the project is created if previously non existed. Specified labels will be appended to tenant project, note that the value of existing label key will be updated if the same label key is requested. The specified folder is ignored, as moving a tenant project to a different folder isn't supported. The operation fails if any of the steps fail, but no rollback of already applied configuration changes is attempted. Operation. | | | `EXEC` | | Attach an existing project to the tenancy unit as a new tenant resource. The project could either be the tenant project reserved by calling `AddTenantProject` under a tenancy unit of a service producer's project of a managed service, or from a separate project. The caller is checked against a set of permissions as if calling `AddTenantProject` on the same service consumer. To trigger the attachment, the targeted tenant project must be in a folder. Make sure the ServiceConsumerManagement service account is the owner of that project. These two requirements are already met if the project is reserved by calling `AddTenantProject`. Operation. | | | `EXEC` | | Attempts to undelete a previously deleted tenant project. The project must be in a DELETED state. There are no guarantees that an undeleted project will be in a fully restored and functional state. Call the `ApplyTenantProjectConfig` method to update its configuration and then validate all managed service resources. Operation. | + +## `SELECT` examples + +Find the tenancy unit for a managed service and service consumer. This method shouldn't be used in a service producer's runtime path, for example to find the tenant project number when creating VMs. Service producers must persist the tenant project's information after the project is created. + +```sql +SELECT +name, +consumer, +createTime, +service, +tenantResources +FROM google.serviceconsumermanagement.tenancy_units +WHERE servicesId = '{{ servicesId }}' +AND servicesId1 = '{{ servicesId1 }}' +AND servicesId2 = '{{ servicesId2 }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new tenancy_units resource. + + + + +```sql +/*+ create */ +INSERT INTO google.serviceconsumermanagement.tenancy_units ( +servicesId, +servicesId1, +servicesId2, +tenancyUnitId +) +SELECT +'{{ servicesId }}', +'{{ servicesId1 }}', +'{{ servicesId2 }}', +'{{ tenancyUnitId }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: tenancyUnitId + value: '{{ tenancyUnitId }}' + +``` + + + +## `DELETE` example + +Deletes the specified tenancy_unit resource. + +```sql +DELETE FROM google.serviceconsumermanagement.tenancy_units +WHERE servicesId = '{{ servicesId }}' +AND servicesId1 = '{{ servicesId1 }}' +AND servicesId2 = '{{ servicesId2 }}' +AND tenancyUnitsId = '{{ tenancyUnitsId }}'; +``` diff --git a/docs/google-docs/providers/google/serviceconsumermanagement/tenancy_units_project/index.md b/docs/google-docs/providers/google/serviceconsumermanagement/tenancy_units_project/index.md index d8f5502b57..088a4c67a7 100644 --- a/docs/google-docs/providers/google/serviceconsumermanagement/tenancy_units_project/index.md +++ b/docs/google-docs/providers/google/serviceconsumermanagement/tenancy_units_project/index.md @@ -1,3 +1,4 @@ + --- title: tenancy_units_project hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - tenancy_units_project - serviceconsumermanagement - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an tenancy_units_project resource or lists tenancy_units_project in a region ## Overview
@@ -28,10 +30,72 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| -| | `EXEC` | | Add a new tenant project to the tenancy unit. There can be a maximum of 1024 tenant projects in a tenancy unit. If there are previously failed `AddTenantProject` calls, you might need to call `RemoveTenantProject` first to resolve them before you can make another call to `AddTenantProject` with the same tag. Operation. | -| | `EXEC` | | Deletes the specified project resource identified by a tenant resource tag. The mothod removes a project lien with a 'TenantManager' origin if that was added. It will then attempt to delete the project. If that operation fails, this method also fails. After the project has been deleted, the tenant resource state is set to DELETED. To permanently remove resource metadata, call the `RemoveTenantProject` method. New resources with the same tag can't be added if there are existing resources in a DELETED state. Operation. | -| | `EXEC` | | Removes the specified project resource identified by a tenant resource tag. The method removes the project lien with 'TenantManager' origin if that was added. It then attempts to delete the project. If that operation fails, this method also fails. Calls to remove already removed or non-existent tenant project succeed. After the project has been deleted, or if was already in a DELETED state, resource metadata is permanently removed from the tenancy unit. Operation. | +| | `INSERT` | | Add a new tenant project to the tenancy unit. There can be a maximum of 1024 tenant projects in a tenancy unit. If there are previously failed `AddTenantProject` calls, you might need to call `RemoveTenantProject` first to resolve them before you can make another call to `AddTenantProject` with the same tag. Operation. | +| | `DELETE` | | Deletes the specified project resource identified by a tenant resource tag. The mothod removes a project lien with a 'TenantManager' origin if that was added. It will then attempt to delete the project. If that operation fails, this method also fails. After the project has been deleted, the tenant resource state is set to DELETED. To permanently remove resource metadata, call the `RemoveTenantProject` method. New resources with the same tag can't be added if there are existing resources in a DELETED state. Operation. | +| | `DELETE` | | Removes the specified project resource identified by a tenant resource tag. The method removes the project lien with 'TenantManager' origin if that was added. It then attempts to delete the project. If that operation fails, this method also fails. Calls to remove already removed or non-existent tenant project succeed. After the project has been deleted, or if was already in a DELETED state, resource metadata is permanently removed from the tenancy unit. Operation. | + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new tenancy_units_project resource. + + + + +```sql +/*+ create */ +INSERT INTO google.serviceconsumermanagement.tenancy_units_project ( +servicesId, +servicesId1, +servicesId2, +tenancyUnitsId, +projectConfig, +tag +) +SELECT +'{{ servicesId }}', +'{{ servicesId1 }}', +'{{ servicesId2 }}', +'{{ tenancyUnitsId }}', +'{{ projectConfig }}', +'{{ tag }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: projectConfig + value: '{{ projectConfig }}' + - name: tag + value: '{{ tag }}' + +``` + + + +## `DELETE` example + +Deletes the specified tenancy_units_project resource. + +```sql +DELETE FROM google.serviceconsumermanagement.tenancy_units_project +WHERE servicesId = '{{ servicesId }}' +AND servicesId1 = '{{ servicesId1 }}' +AND servicesId2 = '{{ servicesId2 }}' +AND tenancyUnitsId = '{{ tenancyUnitsId }}'; +``` diff --git a/docs/google-docs/providers/google/servicecontrol/index.md b/docs/google-docs/providers/google/servicecontrol/index.md index cd2d3797c2..0061bdf8fb 100644 --- a/docs/google-docs/providers/google/servicecontrol/index.md +++ b/docs/google-docs/providers/google/servicecontrol/index.md @@ -9,39 +9,29 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Provides admission control and telemetry reporting for services integrated with Service Infrastructure. - +The servicecontrol service documentation. + :::info Service Summary
total resources: 1
-total selectable resources: 0
-total methods: 2
::: -## Overview - - - - - - -
Namegoogle.servicecontrol
TypeService
TitleService Control API
DescriptionProvides admission control and telemetry reporting for services integrated with Service Infrastructure.
Idservicecontrol:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/servicecontrol/services/index.md b/docs/google-docs/providers/google/servicecontrol/services/index.md index a21c6775dd..19b3c93cf9 100644 --- a/docs/google-docs/providers/google/servicecontrol/services/index.md +++ b/docs/google-docs/providers/google/servicecontrol/services/index.md @@ -1,3 +1,4 @@ + --- title: services hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - services - servicecontrol - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an service resource or lists services in a region ## Overview @@ -28,7 +30,9 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| diff --git a/docs/google-docs/providers/google/servicedirectory/endpoints/index.md b/docs/google-docs/providers/google/servicedirectory/endpoints/index.md index f17405d170..2e1f8cdd6d 100644 --- a/docs/google-docs/providers/google/servicedirectory/endpoints/index.md +++ b/docs/google-docs/providers/google/servicedirectory/endpoints/index.md @@ -1,3 +1,4 @@ + --- title: endpoints hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - endpoints - servicedirectory - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an endpoint resource or lists endpoints in a region ## Overview @@ -36,6 +38,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Immutable. The Google Compute Engine network (VPC) of the endpoint in the format `projects//locations/global/networks/*`. The project must be specified by project number (project id is rejected). Incorrectly formatted networks are rejected, we also check to make sure that you have the servicedirectory.networks.attach permission on the project specified. | | | `integer` | Optional. Service Directory rejects values outside of `[0, 65535]`. | | | `string` | Output only. The globally unique identifier of the endpoint in the UUID4 format. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -44,4 +47,120 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates an endpoint, and returns the new endpoint. | | | `DELETE` | | Deletes an endpoint. | | | `UPDATE` | | Updates an endpoint. | -| | `EXEC` | | Lists all endpoints. | + +## `SELECT` examples + +Lists all endpoints. + +```sql +SELECT +name, +address, +annotations, +network, +port, +uid +FROM google.servicedirectory.endpoints +WHERE locationsId = '{{ locationsId }}' +AND namespacesId = '{{ namespacesId }}' +AND projectsId = '{{ projectsId }}' +AND servicesId = '{{ servicesId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new endpoints resource. + + + + +```sql +/*+ create */ +INSERT INTO google.servicedirectory.endpoints ( +locationsId, +namespacesId, +projectsId, +servicesId, +name, +address, +port, +annotations, +network, +uid +) +SELECT +'{{ locationsId }}', +'{{ namespacesId }}', +'{{ projectsId }}', +'{{ servicesId }}', +'{{ name }}', +'{{ address }}', +'{{ port }}', +'{{ annotations }}', +'{{ network }}', +'{{ uid }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: address + value: '{{ address }}' + - name: port + value: '{{ port }}' + - name: annotations + value: '{{ annotations }}' + - name: network + value: '{{ network }}' + - name: uid + value: '{{ uid }}' + +``` + + + +## `UPDATE` example + +Updates a endpoint only if the necessary resources are available. + +```sql +UPDATE google.servicedirectory.endpoints +SET +name = '{{ name }}', +address = '{{ address }}', +port = '{{ port }}', +annotations = '{{ annotations }}', +network = '{{ network }}', +uid = '{{ uid }}' +WHERE +endpointsId = '{{ endpointsId }}' +AND locationsId = '{{ locationsId }}' +AND namespacesId = '{{ namespacesId }}' +AND projectsId = '{{ projectsId }}' +AND servicesId = '{{ servicesId }}'; +``` + +## `DELETE` example + +Deletes the specified endpoint resource. + +```sql +DELETE FROM google.servicedirectory.endpoints +WHERE endpointsId = '{{ endpointsId }}' +AND locationsId = '{{ locationsId }}' +AND namespacesId = '{{ namespacesId }}' +AND projectsId = '{{ projectsId }}' +AND servicesId = '{{ servicesId }}'; +``` diff --git a/docs/google-docs/providers/google/servicedirectory/index.md b/docs/google-docs/providers/google/servicedirectory/index.md index 4379a91e9e..8ee791fe4a 100644 --- a/docs/google-docs/providers/google/servicedirectory/index.md +++ b/docs/google-docs/providers/google/servicedirectory/index.md @@ -9,44 +9,33 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Service Directory is a platform for discovering, publishing, and connecting services. - +The servicedirectory service documentation. + :::info Service Summary
total resources: 6
-total selectable resources: 6
-total methods: 30
::: -## Overview -
- - - - - -
Namegoogle.servicedirectory
TypeService
TitleService Directory API
DescriptionService Directory is a platform for discovering, publishing, and connecting services.
Idservicedirectory:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/servicedirectory/locations/index.md b/docs/google-docs/providers/google/servicedirectory/locations/index.md index d643c76bbc..497c51a620 100644 --- a/docs/google-docs/providers/google/servicedirectory/locations/index.md +++ b/docs/google-docs/providers/google/servicedirectory/locations/index.md @@ -1,3 +1,4 @@ + --- title: locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - locations - servicedirectory - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an location resource or lists locations in a region ## Overview @@ -32,12 +34,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` | | | `string` | The friendly name for this location, typically a nearby city name. For example, "Tokyo". | -| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | +| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | | | `string` | The canonical id for this location. For example: `"us-east1"`. | | | `object` | Service-specific metadata. For example the available capacity at the given location. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about a location. | | | `SELECT` | | Lists information about the supported locations for this service. | -| | `EXEC` | | Lists information about the supported locations for this service. | + +## `SELECT` examples + +Lists information about the supported locations for this service. + +```sql +SELECT +name, +displayName, +labels, +locationId, +metadata +FROM google.servicedirectory.locations +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/servicedirectory/namespaces/index.md b/docs/google-docs/providers/google/servicedirectory/namespaces/index.md index 89b1efd0ed..ca6620e7d5 100644 --- a/docs/google-docs/providers/google/servicedirectory/namespaces/index.md +++ b/docs/google-docs/providers/google/servicedirectory/namespaces/index.md @@ -1,3 +1,4 @@ + --- title: namespaces hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - namespaces - servicedirectory - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an namespace resource or lists namespaces in a region ## Overview
@@ -33,6 +35,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Immutable. The resource name for the namespace in the format `projects/*/locations/*/namespaces/*`. | | | `object` | Optional. Resource labels associated with this namespace. No more than 64 user labels can be associated with a given resource. Label keys and values can be no longer than 63 characters. | | | `string` | Output only. The globally unique identifier of the namespace in the UUID4 format. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -41,4 +44,92 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a namespace, and returns the new namespace. | | | `DELETE` | | Deletes a namespace. This also deletes all services and endpoints in the namespace. | | | `UPDATE` | | Updates a namespace. | -| | `EXEC` | | Lists all namespaces. | + +## `SELECT` examples + +Lists all namespaces. + +```sql +SELECT +name, +labels, +uid +FROM google.servicedirectory.namespaces +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new namespaces resource. + + + + +```sql +/*+ create */ +INSERT INTO google.servicedirectory.namespaces ( +locationsId, +projectsId, +name, +labels, +uid +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ labels }}', +'{{ uid }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: labels + value: '{{ labels }}' + - name: uid + value: '{{ uid }}' + +``` + + + +## `UPDATE` example + +Updates a namespace only if the necessary resources are available. + +```sql +UPDATE google.servicedirectory.namespaces +SET +name = '{{ name }}', +labels = '{{ labels }}', +uid = '{{ uid }}' +WHERE +locationsId = '{{ locationsId }}' +AND namespacesId = '{{ namespacesId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified namespace resource. + +```sql +DELETE FROM google.servicedirectory.namespaces +WHERE locationsId = '{{ locationsId }}' +AND namespacesId = '{{ namespacesId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/servicedirectory/namespaces_iam_policies/index.md b/docs/google-docs/providers/google/servicedirectory/namespaces_iam_policies/index.md index 4742091305..cc257a2899 100644 --- a/docs/google-docs/providers/google/servicedirectory/namespaces_iam_policies/index.md +++ b/docs/google-docs/providers/google/servicedirectory/namespaces_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: namespaces_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - namespaces_iam_policies - servicedirectory - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an namespaces_iam_policy resource or lists namespaces_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the IAM Policy for a resource (namespace or service only). | -| | `EXEC` | | Gets the IAM Policy for a resource (namespace or service only). | | | `EXEC` | | Sets the IAM Policy for a resource (namespace or service only). | | | `EXEC` | | Tests IAM permissions for a resource (namespace or service only). | + +## `SELECT` examples + +Gets the IAM Policy for a resource (namespace or service only). + +```sql +SELECT +condition, +members, +role +FROM google.servicedirectory.namespaces_iam_policies +WHERE locationsId = '{{ locationsId }}' +AND namespacesId = '{{ namespacesId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/servicedirectory/services/index.md b/docs/google-docs/providers/google/servicedirectory/services/index.md index e7940fae7a..4e5ec0b2ff 100644 --- a/docs/google-docs/providers/google/servicedirectory/services/index.md +++ b/docs/google-docs/providers/google/servicedirectory/services/index.md @@ -1,3 +1,4 @@ + --- title: services hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - services - servicedirectory - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an service resource or lists services in a region ## Overview
@@ -34,6 +36,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Optional. Annotations for the service. This data can be consumed by service clients. Restrictions: * The entire annotations dictionary may contain up to 2000 characters, spread accoss all key-value pairs. Annotations that go beyond this limit are rejected * Valid annotation keys have two segments: an optional prefix and name, separated by a slash (/). The name segment is required and must be 63 characters or less, beginning and ending with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and alphanumerics between. The prefix is optional. If specified, the prefix must be a DNS subdomain: a series of DNS labels separated by dots (.), not longer than 253 characters in total, followed by a slash (/). Annotations that fails to meet these requirements are rejected Note: This field is equivalent to the `metadata` field in the v1beta1 API. They have the same syntax and read/write to the same location in Service Directory. | | | `array` | Output only. Endpoints associated with this service. Returned on LookupService.ResolveService. Control plane clients should use RegistrationService.ListEndpoints. | | | `string` | Output only. The globally unique identifier of the service in the UUID4 format. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -42,5 +45,104 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a service, and returns the new service. | | | `DELETE` | | Deletes a service. This also deletes all endpoints associated with the service. | | | `UPDATE` | | Updates a service. | -| | `EXEC` | | Lists all services belonging to a namespace. | | | `EXEC` | | Returns a service and its associated endpoints. Resolving a service is not considered an active developer method. | + +## `SELECT` examples + +Lists all services belonging to a namespace. + +```sql +SELECT +name, +annotations, +endpoints, +uid +FROM google.servicedirectory.services +WHERE locationsId = '{{ locationsId }}' +AND namespacesId = '{{ namespacesId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new services resource. + + + + +```sql +/*+ create */ +INSERT INTO google.servicedirectory.services ( +locationsId, +namespacesId, +projectsId, +name, +annotations, +endpoints, +uid +) +SELECT +'{{ locationsId }}', +'{{ namespacesId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ annotations }}', +'{{ endpoints }}', +'{{ uid }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: annotations + value: '{{ annotations }}' + - name: endpoints + value: '{{ endpoints }}' + - name: uid + value: '{{ uid }}' + +``` + + + +## `UPDATE` example + +Updates a service only if the necessary resources are available. + +```sql +UPDATE google.servicedirectory.services +SET +name = '{{ name }}', +annotations = '{{ annotations }}', +endpoints = '{{ endpoints }}', +uid = '{{ uid }}' +WHERE +locationsId = '{{ locationsId }}' +AND namespacesId = '{{ namespacesId }}' +AND projectsId = '{{ projectsId }}' +AND servicesId = '{{ servicesId }}'; +``` + +## `DELETE` example + +Deletes the specified service resource. + +```sql +DELETE FROM google.servicedirectory.services +WHERE locationsId = '{{ locationsId }}' +AND namespacesId = '{{ namespacesId }}' +AND projectsId = '{{ projectsId }}' +AND servicesId = '{{ servicesId }}'; +``` diff --git a/docs/google-docs/providers/google/servicedirectory/services_iam_policies/index.md b/docs/google-docs/providers/google/servicedirectory/services_iam_policies/index.md index 7658be0fac..a74df7e1f9 100644 --- a/docs/google-docs/providers/google/servicedirectory/services_iam_policies/index.md +++ b/docs/google-docs/providers/google/servicedirectory/services_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: services_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - services_iam_policies - servicedirectory - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an services_iam_policy resource or lists services_iam_policies in a region ## Overview
@@ -30,13 +32,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the IAM Policy for a resource (namespace or service only). | -| | `EXEC` | | Gets the IAM Policy for a resource (namespace or service only). | | | `EXEC` | | Sets the IAM Policy for a resource (namespace or service only). | | | `EXEC` | | Tests IAM permissions for a resource (namespace or service only). | + +## `SELECT` examples + +Gets the IAM Policy for a resource (namespace or service only). + +```sql +SELECT +condition, +members, +role +FROM google.servicedirectory.services_iam_policies +WHERE locationsId = '{{ locationsId }}' +AND namespacesId = '{{ namespacesId }}' +AND projectsId = '{{ projectsId }}' +AND servicesId = '{{ servicesId }}'; +``` diff --git a/docs/google-docs/providers/google/servicemanagement/configs/index.md b/docs/google-docs/providers/google/servicemanagement/configs/index.md index db85f5c184..a878ceabae 100644 --- a/docs/google-docs/providers/google/servicemanagement/configs/index.md +++ b/docs/google-docs/providers/google/servicemanagement/configs/index.md @@ -1,3 +1,4 @@ + --- title: configs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - configs - servicemanagement - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an config resource or lists configs in a region ## Overview
@@ -35,12 +37,12 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `array` | A list of API interfaces exported by this service. Only the `name` field of the google.protobuf.Api needs to be provided by the configuration author, as the remaining fields will be derived from the IDL during the normalization process. It is an error to specify an API interface here which cannot be resolved against the associated IDL files. | | | `object` | `Authentication` defines the authentication configuration for API methods provided by an API service. Example: name: calendar.googleapis.com authentication: providers: - id: google_calendar_auth jwks_uri: https://www.googleapis.com/oauth2/v1/certs issuer: https://securetoken.google.com rules: - selector: "*" requirements: provider_id: google_calendar_auth - selector: google.calendar.Delegate oauth: canonical_scopes: https://www.googleapis.com/auth/calendar.read | | | `object` | `Backend` defines the backend configuration for a service. | -| | `object` | Billing related configuration of the service. The following example shows how to configure monitored resources and metrics for billing, `consumer_destinations` is the only supported destination and the monitored resources need at least one label key `cloud.googleapis.com/location` to indicate the location of the billing usage, using different monitored resources between monitoring and billing is recommended so they can be evolved independently: monitored_resources: - type: library.googleapis.com/billing_branch labels: - key: cloud.googleapis.com/location description: \| Predefined label to support billing location restriction. - key: city description: \| Custom label to define the city where the library branch is located in. - key: name description: Custom label to define the name of the library branch. metrics: - name: library.googleapis.com/book/borrowed_count metric_kind: DELTA value_type: INT64 unit: "1" billing: consumer_destinations: - monitored_resource: library.googleapis.com/billing_branch metrics: - library.googleapis.com/book/borrowed_count | +| | `object` | Billing related configuration of the service. The following example shows how to configure monitored resources and metrics for billing, `consumer_destinations` is the only supported destination and the monitored resources need at least one label key `cloud.googleapis.com/location` to indicate the location of the billing usage, using different monitored resources between monitoring and billing is recommended so they can be evolved independently: monitored_resources: - type: library.googleapis.com/billing_branch labels: - key: cloud.googleapis.com/location description: | Predefined label to support billing location restriction. - key: city description: | Custom label to define the city where the library branch is located in. - key: name description: Custom label to define the name of the library branch. metrics: - name: library.googleapis.com/book/borrowed_count metric_kind: DELTA value_type: INT64 unit: "1" billing: consumer_destinations: - monitored_resource: library.googleapis.com/billing_branch metrics: - library.googleapis.com/book/borrowed_count | | | `integer` | Obsolete. Do not use. This field has no semantic meaning. The service config compiler always sets this field to `3`. | | | `object` | `Context` defines which contexts an API requests. Example: context: rules: - selector: "*" requested: - google.rpc.context.ProjectContext - google.rpc.context.OriginContext The above specifies that all methods in the API request `google.rpc.context.ProjectContext` and `google.rpc.context.OriginContext`. Available context types are defined in package `google.rpc.context`. This also provides mechanism to allowlist any protobuf message extension that can be sent in grpc metadata using “x-goog-ext--bin” and “x-goog-ext--jspb” format. For example, list any service specific protobuf types that can appear in grpc metadata as follows in your yaml file: Example: context: rules: - selector: "google.example.library.v1.LibraryService.CreateBook" allowed_request_extensions: - google.foo.v1.NewExtension allowed_response_extensions: - google.foo.v1.NewExtension You can also specify extension ID instead of fully qualified extension name here. | | | `object` | Selects and configures the service controller used by the service. Example: control: environment: servicecontrol.googleapis.com | | | `object` | Customize service error responses. For example, list any service specific protobuf types that can appear in error detail lists of error responses. Example: custom_error: types: - google.foo.v1.CustomError - google.foo.v1.AnotherError | -| | `object` | `Documentation` provides the information for describing a service. Example: documentation: summary: > The Google Calendar API gives access to most calendar features. pages: - name: Overview content: (== include google/foo/overview.md ==) - name: Tutorial content: (== include google/foo/tutorial.md ==) subpages: - name: Java content: (== include google/foo/tutorial_java.md ==) rules: - selector: google.calendar.Calendar.Get description: > ... - selector: google.calendar.Calendar.Put description: > ... Documentation is provided in markdown syntax. In addition to standard markdown features, definition lists, tables and fenced code blocks are supported. Section headers can be provided and are interpreted relative to the section nesting of the context where a documentation fragment is embedded. Documentation from the IDL is merged with documentation defined via the config at normalization time, where documentation provided by config rules overrides IDL provided. A number of constructs specific to the API platform are supported in documentation text. In order to reference a proto element, the following notation can be used: [fully.qualified.proto.name][] To override the display text used for the link, this can be used: [display text][fully.qualified.proto.name] Text can be excluded from doc using the following notation: (-- internal comment --) A few directives are available in documentation. Note that directives must appear on a single line to be properly identified. The `include` directive includes a markdown file from an external source: (== include path/to/file ==) The `resource_for` directive marks a message to be the resource of a collection in REST view. If it is not specified, tools attempt to infer the resource from the operations in a collection: (== resource_for v1.shelves.books ==) The directive `suppress_warning` does not directly affect documentation and is documented together with service config validation. | +| | `object` | `Documentation` provides the information for describing a service. Example: documentation: summary: > The Google Calendar API gives access to most calendar features. pages: - name: Overview content: (== include google/foo/overview.md ==) - name: Tutorial content: (== include google/foo/tutorial.md ==) subpages: - name: Java content: (== include google/foo/tutorial_java.md ==) rules: - selector: google.calendar.Calendar.Get description: > ... - selector: google.calendar.Calendar.Put description: > ... Documentation is provided in markdown syntax. In addition to standard markdown features, definition lists, tables and fenced code blocks are supported. Section headers can be provided and are interpreted relative to the section nesting of the context where a documentation fragment is embedded. Documentation from the IDL is merged with documentation defined via the config at normalization time, where documentation provided by config rules overrides IDL provided. A number of constructs specific to the API platform are supported in documentation text. In order to reference a proto element, the following notation can be used: [fully.qualified.proto.name][] To override the display text used for the link, this can be used: [display text][fully.qualified.proto.name] Text can be excluded from doc using the following notation: (-- internal comment --) A few directives are available in documentation. Note that directives must appear on a single line to be properly identified. The `include` directive includes a markdown file from an external source: (== include path/to/file ==) The `resource_for` directive marks a message to be the resource of a collection in REST view. If it is not specified, tools attempt to infer the resource from the operations in a collection: (== resource_for v1.shelves.books ==) The directive `suppress_warning` does not directly affect documentation and is documented together with service config validation. | | | `array` | Configuration for network endpoints. If this is empty, then an endpoint with the same name as the service is automatically generated to service all defined APIs. | | | `array` | A list of all enum types included in this API service. Enums referenced directly or indirectly by the `apis` are automatically included. Enums which are not referenced but shall be included should be listed here by name by the configuration author. Example: enums: - name: google.someapi.v1.SomeEnum | | | `object` | Defines the HTTP configuration for an API service. It contains a list of HttpRule, each specifying the mapping of an RPC method to one or more HTTP REST API methods. | @@ -51,18 +53,202 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Monitoring configuration of the service. The example below shows how to configure monitored resources and metrics for monitoring. In the example, a monitored resource and two metrics are defined. The `library.googleapis.com/book/returned_count` metric is sent to both producer and consumer projects, whereas the `library.googleapis.com/book/num_overdue` metric is only sent to the consumer project. monitored_resources: - type: library.googleapis.com/Branch display_name: "Library Branch" description: "A branch of a library." launch_stage: GA labels: - key: resource_container description: "The Cloud container (ie. project id) for the Branch." - key: location description: "The location of the library branch." - key: branch_id description: "The id of the branch." metrics: - name: library.googleapis.com/book/returned_count display_name: "Books Returned" description: "The count of books that have been returned." launch_stage: GA metric_kind: DELTA value_type: INT64 unit: "1" labels: - key: customer_id description: "The id of the customer." - name: library.googleapis.com/book/num_overdue display_name: "Books Overdue" description: "The current number of overdue books." launch_stage: GA metric_kind: GAUGE value_type: INT64 unit: "1" labels: - key: customer_id description: "The id of the customer." monitoring: producer_destinations: - monitored_resource: library.googleapis.com/Branch metrics: - library.googleapis.com/book/returned_count consumer_destinations: - monitored_resource: library.googleapis.com/Branch metrics: - library.googleapis.com/book/returned_count - library.googleapis.com/book/num_overdue | | | `string` | The Google project that owns this service. | | | `object` | This message configures the settings for publishing [Google Cloud Client libraries](https://cloud.google.com/apis/docs/cloud-client-libraries) generated from the service config. | -| | `object` | Quota configuration helps to achieve fairness and budgeting in service usage. The metric based quota configuration works this way: - The service configuration defines a set of metrics. - For API calls, the quota.metric_rules maps methods to metrics with corresponding costs. - The quota.limits defines limits on the metrics, which will be used for quota checks at runtime. An example quota configuration in yaml format: quota: limits: - name: apiWriteQpsPerProject metric: library.googleapis.com/write_calls unit: "1/min/{project}" # rate limit for consumer projects values: STANDARD: 10000 (The metric rules bind all methods to the read_calls metric, except for the UpdateBook and DeleteBook methods. These two methods are mapped to the write_calls metric, with the UpdateBook method consuming at twice rate as the DeleteBook method.) metric_rules: - selector: "*" metric_costs: library.googleapis.com/read_calls: 1 - selector: google.example.library.v1.LibraryService.UpdateBook metric_costs: library.googleapis.com/write_calls: 2 - selector: google.example.library.v1.LibraryService.DeleteBook metric_costs: library.googleapis.com/write_calls: 1 Corresponding Metric definition: metrics: - name: library.googleapis.com/read_calls display_name: Read requests metric_kind: DELTA value_type: INT64 - name: library.googleapis.com/write_calls display_name: Write requests metric_kind: DELTA value_type: INT64 | +| | `object` | Quota configuration helps to achieve fairness and budgeting in service usage. The metric based quota configuration works this way: - The service configuration defines a set of metrics. - For API calls, the quota.metric_rules maps methods to metrics with corresponding costs. - The quota.limits defines limits on the metrics, which will be used for quota checks at runtime. An example quota configuration in yaml format: quota: limits: - name: apiWriteQpsPerProject metric: library.googleapis.com/write_calls unit: "1/min/{project}" # rate limit for consumer projects values: STANDARD: 10000 (The metric rules bind all methods to the read_calls metric, except for the UpdateBook and DeleteBook methods. These two methods are mapped to the write_calls metric, with the UpdateBook method consuming at twice rate as the DeleteBook method.) metric_rules: - selector: "*" metric_costs: library.googleapis.com/read_calls: 1 - selector: google.example.library.v1.LibraryService.UpdateBook metric_costs: library.googleapis.com/write_calls: 2 - selector: google.example.library.v1.LibraryService.DeleteBook metric_costs: library.googleapis.com/write_calls: 1 Corresponding Metric definition: metrics: - name: library.googleapis.com/read_calls display_name: Read requests metric_kind: DELTA value_type: INT64 - name: library.googleapis.com/write_calls display_name: Write requests metric_kind: DELTA value_type: INT64 | | | `object` | Source information used to create a Service Config | | | `object` | ### System parameter configuration A system parameter is a special kind of parameter defined by the API system, not by an individual API. It is typically mapped to an HTTP header and/or a URL query parameter. This configuration specifies which methods change the names of the system parameters. | | | `array` | A list of all proto message types included in this API service. It serves similar purpose as [google.api.Service.types], except that these types are not needed by user-defined APIs. Therefore, they will not show up in the generated discovery doc. This field should only be used to define system APIs in ESF. | | | `string` | The product title for this service, it is the name displayed in Google Cloud Console. | | | `array` | A list of all proto message types included in this API service. Types referenced directly or indirectly by the `apis` are automatically included. Messages which are not referenced but shall be included, such as types used by the `google.protobuf.Any` type, should be listed here by name by the configuration author. Example: types: - name: google.protobuf.Int32 | | | `object` | Configuration controlling usage of a service. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets a service configuration (version) for a managed service. | | | `SELECT` | | Lists the history of the service configuration for a managed service, from the newest to the oldest. | | | `INSERT` | | Creates a new service configuration (version) for a managed service. This method only stores the service configuration. To roll out the service configuration to backend systems please call CreateServiceRollout. Only the 100 most recent service configurations and ones referenced by existing rollouts are kept for each service. The rest will be deleted eventually. | -| | `EXEC` | | Lists the history of the service configuration for a managed service, from the newest to the oldest. | | | `EXEC` | | Creates a new service configuration (version) for a managed service based on user-supplied configuration source files (for example: OpenAPI Specification). This method stores the source configurations as well as the generated service configuration. To rollout the service configuration to other services, please call CreateServiceRollout. Only the 100 most recent configuration sources and ones referenced by existing service configurtions are kept for each service. The rest will be deleted eventually. Operation | + +## `SELECT` examples + +Lists the history of the service configuration for a managed service, from the newest to the oldest. + +```sql +SELECT +id, +name, +apis, +authentication, +backend, +billing, +configVersion, +context, +control, +customError, +documentation, +endpoints, +enums, +http, +logging, +logs, +metrics, +monitoredResources, +monitoring, +producerProjectId, +publishing, +quota, +sourceInfo, +systemParameters, +systemTypes, +title, +types, +usage +FROM google.servicemanagement.configs +WHERE serviceName = '{{ serviceName }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new configs resource. + + + + +```sql +/*+ create */ +INSERT INTO google.servicemanagement.configs ( +serviceName, +name, +title, +producerProjectId, +id, +apis, +types, +enums, +documentation, +backend, +http, +quota, +authentication, +context, +usage, +customError, +endpoints, +control, +logs, +metrics, +monitoredResources, +billing, +logging, +monitoring, +systemParameters, +sourceInfo, +publishing, +systemTypes, +configVersion +) +SELECT +'{{ serviceName }}', +'{{ name }}', +'{{ title }}', +'{{ producerProjectId }}', +'{{ id }}', +'{{ apis }}', +'{{ types }}', +'{{ enums }}', +'{{ documentation }}', +'{{ backend }}', +'{{ http }}', +'{{ quota }}', +'{{ authentication }}', +'{{ context }}', +'{{ usage }}', +'{{ customError }}', +'{{ endpoints }}', +'{{ control }}', +'{{ logs }}', +'{{ metrics }}', +'{{ monitoredResources }}', +'{{ billing }}', +'{{ logging }}', +'{{ monitoring }}', +'{{ systemParameters }}', +'{{ sourceInfo }}', +'{{ publishing }}', +'{{ systemTypes }}', +'{{ configVersion }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: title + value: '{{ title }}' + - name: producerProjectId + value: '{{ producerProjectId }}' + - name: id + value: '{{ id }}' + - name: apis + value: '{{ apis }}' + - name: types + value: '{{ types }}' + - name: enums + value: '{{ enums }}' + - name: documentation + value: '{{ documentation }}' + - name: backend + value: '{{ backend }}' + - name: http + value: '{{ http }}' + - name: quota + value: '{{ quota }}' + - name: authentication + value: '{{ authentication }}' + - name: context + value: '{{ context }}' + - name: usage + value: '{{ usage }}' + - name: customError + value: '{{ customError }}' + - name: endpoints + value: '{{ endpoints }}' + - name: control + value: '{{ control }}' + - name: logs + value: '{{ logs }}' + - name: metrics + value: '{{ metrics }}' + - name: monitoredResources + value: '{{ monitoredResources }}' + - name: billing + value: '{{ billing }}' + - name: logging + value: '{{ logging }}' + - name: monitoring + value: '{{ monitoring }}' + - name: systemParameters + value: '{{ systemParameters }}' + - name: sourceInfo + value: '{{ sourceInfo }}' + - name: publishing + value: '{{ publishing }}' + - name: systemTypes + value: '{{ systemTypes }}' + - name: configVersion + value: '{{ configVersion }}' + +``` + + diff --git a/docs/google-docs/providers/google/servicemanagement/consumers_iam_policies/index.md b/docs/google-docs/providers/google/servicemanagement/consumers_iam_policies/index.md index d9c08859c2..fa69bb986d 100644 --- a/docs/google-docs/providers/google/servicemanagement/consumers_iam_policies/index.md +++ b/docs/google-docs/providers/google/servicemanagement/consumers_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: consumers_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - consumers_iam_policies - servicemanagement - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an consumers_iam_policy resource or lists consumers_iam_policies in a region ## Overview
@@ -30,13 +32,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.servicemanagement.consumers_iam_policies +WHERE consumersId = '{{ consumersId }}' +AND servicesId = '{{ servicesId }}'; +``` diff --git a/docs/google-docs/providers/google/servicemanagement/index.md b/docs/google-docs/providers/google/servicemanagement/index.md index 0cf3b5dfda..13958aedd3 100644 --- a/docs/google-docs/providers/google/servicemanagement/index.md +++ b/docs/google-docs/providers/google/servicemanagement/index.md @@ -9,45 +9,34 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Google Service Management allows service producers to publish their services on Google Cloud Platform so that they can be discovered and used by service consumers. - +The servicemanagement service documentation. + :::info Service Summary
total resources: 7
-total selectable resources: 7
-total methods: 28
::: -## Overview -
- - - - - -
Namegoogle.servicemanagement
TypeService
TitleService Management API
DescriptionGoogle Service Management allows service producers to publish their services on Google Cloud Platform so that they can be discovered and used by service consumers.
Idservicemanagement:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/servicemanagement/operations/index.md b/docs/google-docs/providers/google/servicemanagement/operations/index.md index 247fa3556e..be1e4a05d2 100644 --- a/docs/google-docs/providers/google/servicemanagement/operations/index.md +++ b/docs/google-docs/providers/google/servicemanagement/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - servicemanagement - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview @@ -30,14 +32,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | -| | `SELECT` | | Lists service operations that match the specified filter in the request. | -| | `EXEC` | | Lists service operations that match the specified filter in the request. | +| | `SELECT` | | Lists service operations that match the specified filter in the request. | + +## `SELECT` examples + +Lists service operations that match the specified filter in the request. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.servicemanagement.operations +WHERE = '{{ }}'; +``` diff --git a/docs/google-docs/providers/google/servicemanagement/rollouts/index.md b/docs/google-docs/providers/google/servicemanagement/rollouts/index.md index 2f5b2756d6..cde14888f6 100644 --- a/docs/google-docs/providers/google/servicemanagement/rollouts/index.md +++ b/docs/google-docs/providers/google/servicemanagement/rollouts/index.md @@ -1,3 +1,4 @@ + --- title: rollouts hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - rollouts - servicemanagement - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an rollout resource or lists rollouts in a region ## Overview
@@ -36,11 +38,90 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Optional. Unique identifier of this Rollout. Must be no longer than 63 characters and only lower case letters, digits, '.', '_' and '-' are allowed. If not specified by client, the server will generate one. The generated id will have the form of , where "date" is the create date in ISO 8601 format. "revision number" is a monotonically increasing positive number that is reset every day for each service. An example of the generated rollout_id is '2016-02-16r1' | | | `string` | The name of the service associated with this Rollout. | | | `string` | The status of this rollout. Readonly. In case of a failed rollout, the system will automatically rollback to the current Rollout version. Readonly. | -| | `object` | Strategy that specifies how clients of Google Service Controller want to send traffic to use different config versions. This is generally used by API proxy to split traffic based on your configured percentage for each config version. One example of how to gradually rollout a new service configuration using this strategy: Day 1 Rollout { id: "example.googleapis.com/rollout_20160206" traffic_percent_strategy { percentages: { "example.googleapis.com/20160201": 70.00 "example.googleapis.com/20160206": 30.00 } } } Day 2 Rollout { id: "example.googleapis.com/rollout_20160207" traffic_percent_strategy: { percentages: { "example.googleapis.com/20160206": 100.00 } } } | +| | `object` | Strategy that specifies how clients of Google Service Controller want to send traffic to use different config versions. This is generally used by API proxy to split traffic based on your configured percentage for each config version. One example of how to gradually rollout a new service configuration using this strategy: Day 1 Rollout { id: "example.googleapis.com/rollout_20160206" traffic_percent_strategy { percentages: { "example.googleapis.com/20160201": 70.00 "example.googleapis.com/20160206": 30.00 } } } Day 2 Rollout { id: "example.googleapis.com/rollout_20160207" traffic_percent_strategy: { percentages: { "example.googleapis.com/20160206": 100.00 } } } | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets a service configuration rollout. | | | `SELECT` | | Lists the history of the service configuration rollouts for a managed service, from the newest to the oldest. | | | `INSERT` | | Creates a new service configuration rollout. Based on rollout, the Google Service Management will roll out the service configurations to different backend services. For example, the logging configuration will be pushed to Google Cloud Logging. Please note that any previous pending and running Rollouts and associated Operations will be automatically cancelled so that the latest Rollout will not be blocked by previous Rollouts. Only the 100 most recent (in any state) and the last 10 successful (if not already part of the set of 100 most recent) rollouts are kept for each service. The rest will be deleted eventually. Operation | -| | `EXEC` | | Lists the history of the service configuration rollouts for a managed service, from the newest to the oldest. | + +## `SELECT` examples + +Lists the history of the service configuration rollouts for a managed service, from the newest to the oldest. + +```sql +SELECT +createTime, +createdBy, +deleteServiceStrategy, +rolloutId, +serviceName, +status, +trafficPercentStrategy +FROM google.servicemanagement.rollouts +WHERE serviceName = '{{ serviceName }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new rollouts resource. + + + + +```sql +/*+ create */ +INSERT INTO google.servicemanagement.rollouts ( +serviceName, +rolloutId, +createTime, +createdBy, +status, +trafficPercentStrategy, +deleteServiceStrategy, +serviceName +) +SELECT +'{{ serviceName }}', +'{{ rolloutId }}', +'{{ createTime }}', +'{{ createdBy }}', +'{{ status }}', +'{{ trafficPercentStrategy }}', +'{{ deleteServiceStrategy }}', +'{{ serviceName }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: rolloutId + value: '{{ rolloutId }}' + - name: createTime + value: '{{ createTime }}' + - name: createdBy + value: '{{ createdBy }}' + - name: status + value: '{{ status }}' + - name: trafficPercentStrategy + value: '{{ trafficPercentStrategy }}' + - name: deleteServiceStrategy + value: '{{ deleteServiceStrategy }}' + - name: serviceName + value: '{{ serviceName }}' + +``` + + diff --git a/docs/google-docs/providers/google/servicemanagement/services/index.md b/docs/google-docs/providers/google/servicemanagement/services/index.md index aebfada295..90c4538cd6 100644 --- a/docs/google-docs/providers/google/servicemanagement/services/index.md +++ b/docs/google-docs/providers/google/servicemanagement/services/index.md @@ -1,3 +1,4 @@ + --- title: services hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - services - servicemanagement - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an service resource or lists services in a region ## Overview
@@ -32,13 +34,76 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | ID of the project that produces and owns this service. | | | `string` | The name of the service. See the [overview](https://cloud.google.com/service-infrastructure/docs/overview) for naming requirements. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets a managed service. Authentication is required unless the service is public. | -| | `SELECT` | | Lists managed services. Returns all public services. For authenticated users, also returns all services the calling user has "servicemanagement.services.get" permission for. | -| | `INSERT` | | Creates a new managed service. A managed service is immutable, and is subject to mandatory 30-day data retention. You cannot move a service or recreate it within 30 days after deletion. One producer project can own no more than 500 services. For security and reliability purposes, a production service should be hosted in a dedicated producer project. Operation | +| | `SELECT` | | Lists managed services. Returns all public services. For authenticated users, also returns all services the calling user has "servicemanagement.services.get" permission for. | +| | `INSERT` | | Creates a new managed service. A managed service is immutable, and is subject to mandatory 30-day data retention. You cannot move a service or recreate it within 30 days after deletion. One producer project can own no more than 500 services. For security and reliability purposes, a production service should be hosted in a dedicated producer project. Operation | | | `DELETE` | | Deletes a managed service. This method will change the service to the `Soft-Delete` state for 30 days. Within this period, service producers may call UndeleteService to restore the service. After 30 days, the service will be permanently deleted. Operation | -| | `EXEC` | | Lists managed services. Returns all public services. For authenticated users, also returns all services the calling user has "servicemanagement.services.get" permission for. | -| | `EXEC` | | Generates and returns a report (errors, warnings and changes from existing configurations) associated with GenerateConfigReportRequest.new_value If GenerateConfigReportRequest.old_value is specified, GenerateConfigReportRequest will contain a single ChangeReport based on the comparison between GenerateConfigReportRequest.new_value and GenerateConfigReportRequest.old_value. If GenerateConfigReportRequest.old_value is not specified, this method will compare GenerateConfigReportRequest.new_value with the last pushed service configuration. | +| | `EXEC` | | Generates and returns a report (errors, warnings and changes from existing configurations) associated with GenerateConfigReportRequest.new_value If GenerateConfigReportRequest.old_value is specified, GenerateConfigReportRequest will contain a single ChangeReport based on the comparison between GenerateConfigReportRequest.new_value and GenerateConfigReportRequest.old_value. If GenerateConfigReportRequest.old_value is not specified, this method will compare GenerateConfigReportRequest.new_value with the last pushed service configuration. | | | `EXEC` | | Revives a previously deleted managed service. The method restores the service using the configuration at the time the service was deleted. The target service must exist and must have been deleted within the last 30 days. Operation | + +## `SELECT` examples + +Lists managed services. Returns all public services. For authenticated users, also returns all services the calling user has "servicemanagement.services.get" permission for. + +```sql +SELECT +producerProjectId, +serviceName +FROM google.servicemanagement.services +WHERE = '{{ }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new services resource. + + + + +```sql +/*+ create */ +INSERT INTO google.servicemanagement.services ( +, +serviceName, +producerProjectId +) +SELECT +'{{ }}', +'{{ serviceName }}', +'{{ producerProjectId }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: serviceName + value: '{{ serviceName }}' + - name: producerProjectId + value: '{{ producerProjectId }}' + +``` + + + +## `DELETE` example + +Deletes the specified service resource. + +```sql +DELETE FROM google.servicemanagement.services +WHERE serviceName = '{{ serviceName }}'; +``` diff --git a/docs/google-docs/providers/google/servicemanagement/services_config/index.md b/docs/google-docs/providers/google/servicemanagement/services_config/index.md index c65b81d216..cebf04ac22 100644 --- a/docs/google-docs/providers/google/servicemanagement/services_config/index.md +++ b/docs/google-docs/providers/google/servicemanagement/services_config/index.md @@ -1,3 +1,4 @@ + --- title: services_config hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - services_config - servicemanagement - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an services_config resource or lists services_config in a region ## Overview
@@ -35,12 +37,12 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `array` | A list of API interfaces exported by this service. Only the `name` field of the google.protobuf.Api needs to be provided by the configuration author, as the remaining fields will be derived from the IDL during the normalization process. It is an error to specify an API interface here which cannot be resolved against the associated IDL files. | | | `object` | `Authentication` defines the authentication configuration for API methods provided by an API service. Example: name: calendar.googleapis.com authentication: providers: - id: google_calendar_auth jwks_uri: https://www.googleapis.com/oauth2/v1/certs issuer: https://securetoken.google.com rules: - selector: "*" requirements: provider_id: google_calendar_auth - selector: google.calendar.Delegate oauth: canonical_scopes: https://www.googleapis.com/auth/calendar.read | | | `object` | `Backend` defines the backend configuration for a service. | -| | `object` | Billing related configuration of the service. The following example shows how to configure monitored resources and metrics for billing, `consumer_destinations` is the only supported destination and the monitored resources need at least one label key `cloud.googleapis.com/location` to indicate the location of the billing usage, using different monitored resources between monitoring and billing is recommended so they can be evolved independently: monitored_resources: - type: library.googleapis.com/billing_branch labels: - key: cloud.googleapis.com/location description: \| Predefined label to support billing location restriction. - key: city description: \| Custom label to define the city where the library branch is located in. - key: name description: Custom label to define the name of the library branch. metrics: - name: library.googleapis.com/book/borrowed_count metric_kind: DELTA value_type: INT64 unit: "1" billing: consumer_destinations: - monitored_resource: library.googleapis.com/billing_branch metrics: - library.googleapis.com/book/borrowed_count | +| | `object` | Billing related configuration of the service. The following example shows how to configure monitored resources and metrics for billing, `consumer_destinations` is the only supported destination and the monitored resources need at least one label key `cloud.googleapis.com/location` to indicate the location of the billing usage, using different monitored resources between monitoring and billing is recommended so they can be evolved independently: monitored_resources: - type: library.googleapis.com/billing_branch labels: - key: cloud.googleapis.com/location description: | Predefined label to support billing location restriction. - key: city description: | Custom label to define the city where the library branch is located in. - key: name description: Custom label to define the name of the library branch. metrics: - name: library.googleapis.com/book/borrowed_count metric_kind: DELTA value_type: INT64 unit: "1" billing: consumer_destinations: - monitored_resource: library.googleapis.com/billing_branch metrics: - library.googleapis.com/book/borrowed_count | | | `integer` | Obsolete. Do not use. This field has no semantic meaning. The service config compiler always sets this field to `3`. | | | `object` | `Context` defines which contexts an API requests. Example: context: rules: - selector: "*" requested: - google.rpc.context.ProjectContext - google.rpc.context.OriginContext The above specifies that all methods in the API request `google.rpc.context.ProjectContext` and `google.rpc.context.OriginContext`. Available context types are defined in package `google.rpc.context`. This also provides mechanism to allowlist any protobuf message extension that can be sent in grpc metadata using “x-goog-ext--bin” and “x-goog-ext--jspb” format. For example, list any service specific protobuf types that can appear in grpc metadata as follows in your yaml file: Example: context: rules: - selector: "google.example.library.v1.LibraryService.CreateBook" allowed_request_extensions: - google.foo.v1.NewExtension allowed_response_extensions: - google.foo.v1.NewExtension You can also specify extension ID instead of fully qualified extension name here. | | | `object` | Selects and configures the service controller used by the service. Example: control: environment: servicecontrol.googleapis.com | | | `object` | Customize service error responses. For example, list any service specific protobuf types that can appear in error detail lists of error responses. Example: custom_error: types: - google.foo.v1.CustomError - google.foo.v1.AnotherError | -| | `object` | `Documentation` provides the information for describing a service. Example: documentation: summary: > The Google Calendar API gives access to most calendar features. pages: - name: Overview content: (== include google/foo/overview.md ==) - name: Tutorial content: (== include google/foo/tutorial.md ==) subpages: - name: Java content: (== include google/foo/tutorial_java.md ==) rules: - selector: google.calendar.Calendar.Get description: > ... - selector: google.calendar.Calendar.Put description: > ... Documentation is provided in markdown syntax. In addition to standard markdown features, definition lists, tables and fenced code blocks are supported. Section headers can be provided and are interpreted relative to the section nesting of the context where a documentation fragment is embedded. Documentation from the IDL is merged with documentation defined via the config at normalization time, where documentation provided by config rules overrides IDL provided. A number of constructs specific to the API platform are supported in documentation text. In order to reference a proto element, the following notation can be used: [fully.qualified.proto.name][] To override the display text used for the link, this can be used: [display text][fully.qualified.proto.name] Text can be excluded from doc using the following notation: (-- internal comment --) A few directives are available in documentation. Note that directives must appear on a single line to be properly identified. The `include` directive includes a markdown file from an external source: (== include path/to/file ==) The `resource_for` directive marks a message to be the resource of a collection in REST view. If it is not specified, tools attempt to infer the resource from the operations in a collection: (== resource_for v1.shelves.books ==) The directive `suppress_warning` does not directly affect documentation and is documented together with service config validation. | +| | `object` | `Documentation` provides the information for describing a service. Example: documentation: summary: > The Google Calendar API gives access to most calendar features. pages: - name: Overview content: (== include google/foo/overview.md ==) - name: Tutorial content: (== include google/foo/tutorial.md ==) subpages: - name: Java content: (== include google/foo/tutorial_java.md ==) rules: - selector: google.calendar.Calendar.Get description: > ... - selector: google.calendar.Calendar.Put description: > ... Documentation is provided in markdown syntax. In addition to standard markdown features, definition lists, tables and fenced code blocks are supported. Section headers can be provided and are interpreted relative to the section nesting of the context where a documentation fragment is embedded. Documentation from the IDL is merged with documentation defined via the config at normalization time, where documentation provided by config rules overrides IDL provided. A number of constructs specific to the API platform are supported in documentation text. In order to reference a proto element, the following notation can be used: [fully.qualified.proto.name][] To override the display text used for the link, this can be used: [display text][fully.qualified.proto.name] Text can be excluded from doc using the following notation: (-- internal comment --) A few directives are available in documentation. Note that directives must appear on a single line to be properly identified. The `include` directive includes a markdown file from an external source: (== include path/to/file ==) The `resource_for` directive marks a message to be the resource of a collection in REST view. If it is not specified, tools attempt to infer the resource from the operations in a collection: (== resource_for v1.shelves.books ==) The directive `suppress_warning` does not directly affect documentation and is documented together with service config validation. | | | `array` | Configuration for network endpoints. If this is empty, then an endpoint with the same name as the service is automatically generated to service all defined APIs. | | | `array` | A list of all enum types included in this API service. Enums referenced directly or indirectly by the `apis` are automatically included. Enums which are not referenced but shall be included should be listed here by name by the configuration author. Example: enums: - name: google.someapi.v1.SomeEnum | | | `object` | Defines the HTTP configuration for an API service. It contains a list of HttpRule, each specifying the mapping of an RPC method to one or more HTTP REST API methods. | @@ -51,14 +53,53 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Monitoring configuration of the service. The example below shows how to configure monitored resources and metrics for monitoring. In the example, a monitored resource and two metrics are defined. The `library.googleapis.com/book/returned_count` metric is sent to both producer and consumer projects, whereas the `library.googleapis.com/book/num_overdue` metric is only sent to the consumer project. monitored_resources: - type: library.googleapis.com/Branch display_name: "Library Branch" description: "A branch of a library." launch_stage: GA labels: - key: resource_container description: "The Cloud container (ie. project id) for the Branch." - key: location description: "The location of the library branch." - key: branch_id description: "The id of the branch." metrics: - name: library.googleapis.com/book/returned_count display_name: "Books Returned" description: "The count of books that have been returned." launch_stage: GA metric_kind: DELTA value_type: INT64 unit: "1" labels: - key: customer_id description: "The id of the customer." - name: library.googleapis.com/book/num_overdue display_name: "Books Overdue" description: "The current number of overdue books." launch_stage: GA metric_kind: GAUGE value_type: INT64 unit: "1" labels: - key: customer_id description: "The id of the customer." monitoring: producer_destinations: - monitored_resource: library.googleapis.com/Branch metrics: - library.googleapis.com/book/returned_count consumer_destinations: - monitored_resource: library.googleapis.com/Branch metrics: - library.googleapis.com/book/returned_count - library.googleapis.com/book/num_overdue | | | `string` | The Google project that owns this service. | | | `object` | This message configures the settings for publishing [Google Cloud Client libraries](https://cloud.google.com/apis/docs/cloud-client-libraries) generated from the service config. | -| | `object` | Quota configuration helps to achieve fairness and budgeting in service usage. The metric based quota configuration works this way: - The service configuration defines a set of metrics. - For API calls, the quota.metric_rules maps methods to metrics with corresponding costs. - The quota.limits defines limits on the metrics, which will be used for quota checks at runtime. An example quota configuration in yaml format: quota: limits: - name: apiWriteQpsPerProject metric: library.googleapis.com/write_calls unit: "1/min/{project}" # rate limit for consumer projects values: STANDARD: 10000 (The metric rules bind all methods to the read_calls metric, except for the UpdateBook and DeleteBook methods. These two methods are mapped to the write_calls metric, with the UpdateBook method consuming at twice rate as the DeleteBook method.) metric_rules: - selector: "*" metric_costs: library.googleapis.com/read_calls: 1 - selector: google.example.library.v1.LibraryService.UpdateBook metric_costs: library.googleapis.com/write_calls: 2 - selector: google.example.library.v1.LibraryService.DeleteBook metric_costs: library.googleapis.com/write_calls: 1 Corresponding Metric definition: metrics: - name: library.googleapis.com/read_calls display_name: Read requests metric_kind: DELTA value_type: INT64 - name: library.googleapis.com/write_calls display_name: Write requests metric_kind: DELTA value_type: INT64 | +| | `object` | Quota configuration helps to achieve fairness and budgeting in service usage. The metric based quota configuration works this way: - The service configuration defines a set of metrics. - For API calls, the quota.metric_rules maps methods to metrics with corresponding costs. - The quota.limits defines limits on the metrics, which will be used for quota checks at runtime. An example quota configuration in yaml format: quota: limits: - name: apiWriteQpsPerProject metric: library.googleapis.com/write_calls unit: "1/min/{project}" # rate limit for consumer projects values: STANDARD: 10000 (The metric rules bind all methods to the read_calls metric, except for the UpdateBook and DeleteBook methods. These two methods are mapped to the write_calls metric, with the UpdateBook method consuming at twice rate as the DeleteBook method.) metric_rules: - selector: "*" metric_costs: library.googleapis.com/read_calls: 1 - selector: google.example.library.v1.LibraryService.UpdateBook metric_costs: library.googleapis.com/write_calls: 2 - selector: google.example.library.v1.LibraryService.DeleteBook metric_costs: library.googleapis.com/write_calls: 1 Corresponding Metric definition: metrics: - name: library.googleapis.com/read_calls display_name: Read requests metric_kind: DELTA value_type: INT64 - name: library.googleapis.com/write_calls display_name: Write requests metric_kind: DELTA value_type: INT64 | | | `object` | Source information used to create a Service Config | | | `object` | ### System parameter configuration A system parameter is a special kind of parameter defined by the API system, not by an individual API. It is typically mapped to an HTTP header and/or a URL query parameter. This configuration specifies which methods change the names of the system parameters. | | | `array` | A list of all proto message types included in this API service. It serves similar purpose as [google.api.Service.types], except that these types are not needed by user-defined APIs. Therefore, they will not show up in the generated discovery doc. This field should only be used to define system APIs in ESF. | | | `string` | The product title for this service, it is the name displayed in Google Cloud Console. | | | `array` | A list of all proto message types included in this API service. Types referenced directly or indirectly by the `apis` are automatically included. Messages which are not referenced but shall be included, such as types used by the `google.protobuf.Any` type, should be listed here by name by the configuration author. Example: types: - name: google.protobuf.Int32 | | | `object` | Configuration controlling usage of a service. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets a service configuration (version) for a managed service. | + +## `SELECT` examples + +Gets a service configuration (version) for a managed service. + +```sql +SELECT +id, +name, +apis, +authentication, +backend, +billing, +configVersion, +context, +control, +customError, +documentation, +endpoints, +enums, +http, +logging, +logs, +metrics, +monitoredResources, +monitoring, +producerProjectId, +publishing, +quota, +sourceInfo, +systemParameters, +systemTypes, +title, +types, +usage +FROM google.servicemanagement.services_config +WHERE serviceName = '{{ serviceName }}'; +``` diff --git a/docs/google-docs/providers/google/servicemanagement/services_iam_policies/index.md b/docs/google-docs/providers/google/servicemanagement/services_iam_policies/index.md index cd17e0a77f..e8832351e8 100644 --- a/docs/google-docs/providers/google/servicemanagement/services_iam_policies/index.md +++ b/docs/google-docs/providers/google/servicemanagement/services_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: services_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - services_iam_policies - servicemanagement - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an services_iam_policy resource or lists services_iam_policies in a region ## Overview
@@ -30,13 +32,26 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.servicemanagement.services_iam_policies +WHERE servicesId = '{{ servicesId }}'; +``` diff --git a/docs/google-docs/providers/google/servicenetworking/connections/index.md b/docs/google-docs/providers/google/servicenetworking/connections/index.md index e335b2c577..4907ff0185 100644 --- a/docs/google-docs/providers/google/servicenetworking/connections/index.md +++ b/docs/google-docs/providers/google/servicenetworking/connections/index.md @@ -1,3 +1,4 @@ + --- title: connections hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - connections - servicenetworking - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an connection resource or lists connections in a region ## Overview
@@ -28,9 +30,90 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `array` | The list of Connections. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | List the private connections that are configured in a service consumer's VPC network. | | | `INSERT` | | Creates a private connection that establishes a VPC Network Peering connection to a VPC network in the service producer's organization. The administrator of the service consumer's VPC network invokes this method. The administrator must assign one or more allocated IP ranges for provisioning subnetworks in the service producer's VPC network. This connection is used for all supported services in the service producer's organization, so it only needs to be invoked once. | | | `UPDATE` | | Updates the allocated ranges that are assigned to a connection. | + +## `SELECT` examples + +List the private connections that are configured in a service consumer's VPC network. + +```sql +SELECT +connections +FROM google.servicenetworking.connections +WHERE servicesId = '{{ servicesId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new connections resource. + + + + +```sql +/*+ create */ +INSERT INTO google.servicenetworking.connections ( +servicesId, +peering, +reservedPeeringRanges, +service, +network +) +SELECT +'{{ servicesId }}', +'{{ peering }}', +'{{ reservedPeeringRanges }}', +'{{ service }}', +'{{ network }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: peering + value: '{{ peering }}' + - name: reservedPeeringRanges + value: '{{ reservedPeeringRanges }}' + - name: service + value: '{{ service }}' + - name: network + value: '{{ network }}' + +``` + + + +## `UPDATE` example + +Updates a connection only if the necessary resources are available. + +```sql +UPDATE google.servicenetworking.connections +SET +peering = '{{ peering }}', +reservedPeeringRanges = '{{ reservedPeeringRanges }}', +service = '{{ service }}', +network = '{{ network }}' +WHERE +connectionsId = '{{ connectionsId }}' +AND servicesId = '{{ servicesId }}'; +``` diff --git a/docs/google-docs/providers/google/servicenetworking/connections_connection/index.md b/docs/google-docs/providers/google/servicenetworking/connections_connection/index.md index ab53c692e3..c91513863e 100644 --- a/docs/google-docs/providers/google/servicenetworking/connections_connection/index.md +++ b/docs/google-docs/providers/google/servicenetworking/connections_connection/index.md @@ -1,3 +1,4 @@ + --- title: connections_connection hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - connections_connection - servicenetworking - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an connections_connection resource or lists connections_connection in a region ## Overview @@ -28,8 +30,20 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `DELETE` | | Deletes a private service access connection. | + +## `DELETE` example + +Deletes the specified connections_connection resource. + +```sql +DELETE FROM google.servicenetworking.connections_connection +WHERE connectionsId = '{{ connectionsId }}' +AND servicesId = '{{ servicesId }}'; +``` diff --git a/docs/google-docs/providers/google/servicenetworking/dns_record_set/index.md b/docs/google-docs/providers/google/servicenetworking/dns_record_set/index.md index fd3e5a2778..4d3ad1c38f 100644 --- a/docs/google-docs/providers/google/servicenetworking/dns_record_set/index.md +++ b/docs/google-docs/providers/google/servicenetworking/dns_record_set/index.md @@ -1,3 +1,4 @@ + --- title: dns_record_set hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - dns_record_set - servicenetworking - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an dns_record_set resource or lists dns_record_set in a region ## Overview @@ -34,7 +36,22 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Required. The DNS or domain name of the record set, e.g. `test.example.com`. Cloud DNS requires that a DNS suffix ends with a trailing dot. | | | `string` | Required. The period of time for which this RecordSet can be cached by resolvers. | | | `string` | Required. The identifier of a supported record type. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Producers can use this method to retrieve information about the DNS record set added to the private zone inside the shared tenant host project associated with a consumer network. | + +## `SELECT` examples + +Producers can use this method to retrieve information about the DNS record set added to the private zone inside the shared tenant host project associated with a consumer network. + +```sql +SELECT +data, +domain, +ttl, +type +FROM google.servicenetworking.dns_record_set +WHERE servicesId = '{{ servicesId }}'; +``` diff --git a/docs/google-docs/providers/google/servicenetworking/dns_record_sets/index.md b/docs/google-docs/providers/google/servicenetworking/dns_record_sets/index.md index 8889adf62a..4f00e29218 100644 --- a/docs/google-docs/providers/google/servicenetworking/dns_record_sets/index.md +++ b/docs/google-docs/providers/google/servicenetworking/dns_record_sets/index.md @@ -1,3 +1,4 @@ + --- title: dns_record_sets hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - dns_record_sets - servicenetworking - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an dns_record_set resource or lists dns_record_sets in a region ## Overview
@@ -28,10 +30,95 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `array` | DNS record Set Resource | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Producers can use this method to retrieve a list of available DNS RecordSets available inside the private zone on the tenant host project accessible from their network. | +| | `INSERT` | | Service producers can use this method to add DNS record sets to private DNS zones in the shared producer host project. | +| | `DELETE` | | Service producers can use this method to remove DNS record sets from private DNS zones in the shared producer host project. | | | `UPDATE` | | Service producers can use this method to update DNS record sets from private DNS zones in the shared producer host project. | -| | `EXEC` | | Service producers can use this method to add DNS record sets to private DNS zones in the shared producer host project. | -| | `EXEC` | | Service producers can use this method to remove DNS record sets from private DNS zones in the shared producer host project. | + +## `SELECT` examples + +Producers can use this method to retrieve a list of available DNS RecordSets available inside the private zone on the tenant host project accessible from their network. + +```sql +SELECT +dnsRecordSets +FROM google.servicenetworking.dns_record_sets +WHERE servicesId = '{{ servicesId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new dns_record_sets resource. + + + + +```sql +/*+ create */ +INSERT INTO google.servicenetworking.dns_record_sets ( +servicesId, +zone, +dnsRecordSet, +consumerNetwork +) +SELECT +'{{ servicesId }}', +'{{ zone }}', +'{{ dnsRecordSet }}', +'{{ consumerNetwork }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: zone + value: '{{ zone }}' + - name: dnsRecordSet + value: '{{ dnsRecordSet }}' + - name: consumerNetwork + value: '{{ consumerNetwork }}' + +``` + + + +## `UPDATE` example + +Updates a dns_record_set only if the necessary resources are available. + +```sql +UPDATE google.servicenetworking.dns_record_sets +SET +zone = '{{ zone }}', +existingDnsRecordSet = '{{ existingDnsRecordSet }}', +consumerNetwork = '{{ consumerNetwork }}', +newDnsRecordSet = '{{ newDnsRecordSet }}' +WHERE +servicesId = '{{ servicesId }}'; +``` + +## `DELETE` example + +Deletes the specified dns_record_set resource. + +```sql +DELETE FROM google.servicenetworking.dns_record_sets +WHERE servicesId = '{{ servicesId }}'; +``` diff --git a/docs/google-docs/providers/google/servicenetworking/dns_zones/index.md b/docs/google-docs/providers/google/servicenetworking/dns_zones/index.md index b798bef516..1f2d0d5081 100644 --- a/docs/google-docs/providers/google/servicenetworking/dns_zones/index.md +++ b/docs/google-docs/providers/google/servicenetworking/dns_zones/index.md @@ -1,3 +1,4 @@ + --- title: dns_zones hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - dns_zones - servicenetworking - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an dns_zone resource or lists dns_zones in a region ## Overview @@ -28,14 +30,84 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -| Name | Datatype | -|:-----|:---------| -| | `object` | -| | `object` | +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `object` | Represents a DNS zone resource. | +| | `object` | Represents a DNS zone resource. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Service producers can use this method to retrieve a DNS zone in the shared producer host project and the matching peering zones in consumer project | | | `SELECT` | | * Service producers can use this method to retrieve a list of available DNS zones in the shared producer host project and the matching peering zones in the consumer project. * | -| | `EXEC` | | Service producers can use this method to add private DNS zones in the shared producer host project and matching peering zones in the consumer project. | -| | `EXEC` | | Service producers can use this method to remove private DNS zones in the shared producer host project and matching peering zones in the consumer project. | +| | `INSERT` | | Service producers can use this method to add private DNS zones in the shared producer host project and matching peering zones in the consumer project. | +| | `DELETE` | | Service producers can use this method to remove private DNS zones in the shared producer host project and matching peering zones in the consumer project. | + +## `SELECT` examples + +* Service producers can use this method to retrieve a list of available DNS zones in the shared producer host project and the matching peering zones in the consumer project. * + +```sql +SELECT +consumerPeeringZone, +producerPrivateZone +FROM google.servicenetworking.dns_zones +WHERE networksId = '{{ networksId }}' +AND projectsId = '{{ projectsId }}' +AND servicesId = '{{ servicesId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new dns_zones resource. + + + + +```sql +/*+ create */ +INSERT INTO google.servicenetworking.dns_zones ( +servicesId, +name, +dnsSuffix, +consumerNetwork +) +SELECT +'{{ servicesId }}', +'{{ name }}', +'{{ dnsSuffix }}', +'{{ consumerNetwork }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: dnsSuffix + value: '{{ dnsSuffix }}' + - name: consumerNetwork + value: '{{ consumerNetwork }}' + +``` + + + +## `DELETE` example + +Deletes the specified dns_zone resource. + +```sql +DELETE FROM google.servicenetworking.dns_zones +WHERE servicesId = '{{ servicesId }}'; +``` diff --git a/docs/google-docs/providers/google/servicenetworking/index.md b/docs/google-docs/providers/google/servicenetworking/index.md index af916e6c9d..0230ac0767 100644 --- a/docs/google-docs/providers/google/servicenetworking/index.md +++ b/docs/google-docs/providers/google/servicenetworking/index.md @@ -9,34 +9,23 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Provides automatic management of network configurations necessary for certain services. - +The servicenetworking service documentation. + :::info Service Summary
total resources: 13
-total selectable resources: 8
-total methods: 30
::: -## Overview - - - - - - -
Namegoogle.servicenetworking
TypeService
TitleService Networking API
DescriptionProvides automatic management of network configurations necessary for certain services.
Idservicenetworking:v24.06.00236
- ## Resources
@@ -46,7 +35,7 @@ Provides automatic management of network configurations necessary for certain se dns_record_sets
dns_zones
networks
-networks_consumer_config
+networks_consumer_config
networks_vpc_service_controls
@@ -54,6 +43,6 @@ Provides automatic management of network configurations necessary for certain se peered_dns_domains
roles
services
-services_subnetwork
-
+services_subnetwork
+ \ No newline at end of file diff --git a/docs/google-docs/providers/google/servicenetworking/networks/index.md b/docs/google-docs/providers/google/servicenetworking/networks/index.md index ceacfb5332..0e4e45d234 100644 --- a/docs/google-docs/providers/google/servicenetworking/networks/index.md +++ b/docs/google-docs/providers/google/servicenetworking/networks/index.md @@ -1,3 +1,4 @@ + --- title: networks hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - networks - servicenetworking - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an network resource or lists networks in a region ## Overview @@ -39,11 +41,37 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `boolean` | Export subnet routes with public ip flag value for peering from producer to consumer. | | | `boolean` | Import custom routes flag value for peering from producer to consumer. | | | `boolean` | Import subnet routes with public ip flag value for peering from producer to consumer. | -| | `string` | Output only. The VPC host network that is used to host managed service instances. In the format, projects/{project}/global/networks/{network} where {project} is the project number e.g. '12345' and {network} is the network name. | +| | `string` | Output only. The VPC host network that is used to host managed service instances. In the format, projects/{project}/global/networks/{network} where {project} is the project number e.g. '12345' and {network} is the network name. | | | `array` | Output only. The reserved ranges associated with this private service access connection. | | | `array` | Output only. The IP ranges already in use by consumer or producer | | | `boolean` | Output only. Indicates whether the VPC Service Controls reference architecture is configured for the producer VPC host network. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Service producers use this method to get the configuration of their connection including the import/export of custom routes and subnetwork routes with public IP. | + +## `SELECT` examples + +Service producers use this method to get the configuration of their connection including the import/export of custom routes and subnetwork routes with public IP. + +```sql +SELECT +cloudsqlConfigs, +consumerExportCustomRoutes, +consumerExportSubnetRoutesWithPublicIp, +consumerImportCustomRoutes, +consumerImportSubnetRoutesWithPublicIp, +producerExportCustomRoutes, +producerExportSubnetRoutesWithPublicIp, +producerImportCustomRoutes, +producerImportSubnetRoutesWithPublicIp, +producerNetwork, +reservedRanges, +usedIpRanges, +vpcScReferenceArchitectureEnabled +FROM google.servicenetworking.networks +WHERE networksId = '{{ networksId }}' +AND projectsId = '{{ projectsId }}' +AND servicesId = '{{ servicesId }}'; +``` diff --git a/docs/google-docs/providers/google/servicenetworking/networks_consumer_config/index.md b/docs/google-docs/providers/google/servicenetworking/networks_consumer_config/index.md index ad3c29d115..06303a45ed 100644 --- a/docs/google-docs/providers/google/servicenetworking/networks_consumer_config/index.md +++ b/docs/google-docs/providers/google/servicenetworking/networks_consumer_config/index.md @@ -1,3 +1,4 @@ + --- title: networks_consumer_config hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - networks_consumer_config - servicenetworking - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an networks_consumer_config resource or lists networks_consumer_config in a region ## Overview
@@ -28,8 +30,24 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `UPDATE` | | Service producers use this method to update the configuration of their connection including the import/export of custom routes and subnetwork routes with public IP. | + +## `UPDATE` example + +Updates a networks_consumer_config only if the necessary resources are available. + +```sql +UPDATE google.servicenetworking.networks_consumer_config +SET +consumerConfig = '{{ consumerConfig }}' +WHERE +networksId = '{{ networksId }}' +AND projectsId = '{{ projectsId }}' +AND servicesId = '{{ servicesId }}'; +``` diff --git a/docs/google-docs/providers/google/servicenetworking/networks_vpc_service_controls/index.md b/docs/google-docs/providers/google/servicenetworking/networks_vpc_service_controls/index.md index 4b9089d890..fece195305 100644 --- a/docs/google-docs/providers/google/servicenetworking/networks_vpc_service_controls/index.md +++ b/docs/google-docs/providers/google/servicenetworking/networks_vpc_service_controls/index.md @@ -1,3 +1,4 @@ + --- title: networks_vpc_service_controls hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - networks_vpc_service_controls - servicenetworking - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an networks_vpc_service_control resource or lists networks_vpc_service_controls in a region ## Overview @@ -28,7 +30,24 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `boolean` | Output only. Indicates whether the VPC Service Controls are enabled or disabled for the connection. If the consumer called the EnableVpcServiceControls method, then this is true. If the consumer called DisableVpcServiceControls, then this is false. The default is false. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Consumers use this method to find out the state of VPC Service Controls. The controls could be enabled or disabled for a connection. | + +## `SELECT` examples + +Consumers use this method to find out the state of VPC Service Controls. The controls could be enabled or disabled for a connection. + +```sql +SELECT +enabled +FROM google.servicenetworking.networks_vpc_service_controls +WHERE networksId = '{{ networksId }}' +AND projectsId = '{{ projectsId }}' +AND servicesId = '{{ servicesId }}'; +``` diff --git a/docs/google-docs/providers/google/servicenetworking/operations/index.md b/docs/google-docs/providers/google/servicenetworking/operations/index.md index 6bbc294190..a382cd5066 100644 --- a/docs/google-docs/providers/google/servicenetworking/operations/index.md +++ b/docs/google-docs/providers/google/servicenetworking/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - servicenetworking - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview @@ -30,16 +32,40 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | -| | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | +| | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.servicenetworking.operations +WHERE = '{{ }}'; +``` + +## `DELETE` example + +Deletes the specified operation resource. + +```sql +DELETE FROM google.servicenetworking.operations +WHERE operationsId = '{{ operationsId }}'; +``` diff --git a/docs/google-docs/providers/google/servicenetworking/peered_dns_domains/index.md b/docs/google-docs/providers/google/servicenetworking/peered_dns_domains/index.md index f2c2563578..8dcd6f8d2a 100644 --- a/docs/google-docs/providers/google/servicenetworking/peered_dns_domains/index.md +++ b/docs/google-docs/providers/google/servicenetworking/peered_dns_domains/index.md @@ -1,3 +1,4 @@ + --- title: peered_dns_domains hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - peered_dns_domains - servicenetworking - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an peered_dns_domain resource or lists peered_dns_domains in a region ## Overview
@@ -28,9 +30,84 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `array` | The list of peered DNS domains. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Lists peered DNS domains for a connection. | | | `INSERT` | | Creates a peered DNS domain which sends requests for records in given namespace originating in the service producer VPC network to the consumer VPC network to be resolved. | | | `DELETE` | | Deletes a peered DNS domain. | + +## `SELECT` examples + +Lists peered DNS domains for a connection. + +```sql +SELECT +peeredDnsDomains +FROM google.servicenetworking.peered_dns_domains +WHERE networksId = '{{ networksId }}' +AND projectsId = '{{ projectsId }}' +AND servicesId = '{{ servicesId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new peered_dns_domains resource. + + + + +```sql +/*+ create */ +INSERT INTO google.servicenetworking.peered_dns_domains ( +networksId, +projectsId, +servicesId, +name, +dnsSuffix +) +SELECT +'{{ networksId }}', +'{{ projectsId }}', +'{{ servicesId }}', +'{{ name }}', +'{{ dnsSuffix }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: dnsSuffix + value: '{{ dnsSuffix }}' + +``` + + + +## `DELETE` example + +Deletes the specified peered_dns_domain resource. + +```sql +DELETE FROM google.servicenetworking.peered_dns_domains +WHERE networksId = '{{ networksId }}' +AND peeredDnsDomainsId = '{{ peeredDnsDomainsId }}' +AND projectsId = '{{ projectsId }}' +AND servicesId = '{{ servicesId }}'; +``` diff --git a/docs/google-docs/providers/google/servicenetworking/roles/index.md b/docs/google-docs/providers/google/servicenetworking/roles/index.md index cb22228da3..c8022688e6 100644 --- a/docs/google-docs/providers/google/servicenetworking/roles/index.md +++ b/docs/google-docs/providers/google/servicenetworking/roles/index.md @@ -1,3 +1,4 @@ + --- title: roles hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - roles - servicenetworking - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an role resource or lists roles in a region ## Overview @@ -28,8 +30,52 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `INSERT` | | Service producers can use this method to add roles in the shared VPC host project. Each role is bound to the provided member. Each role must be selected from within an allowlisted set of roles. Each role is applied at only the granularity specified in the allowlist. | + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new roles resource. + + + + +```sql +/*+ create */ +INSERT INTO google.servicenetworking.roles ( +servicesId, +policyBinding, +consumerNetwork +) +SELECT +'{{ servicesId }}', +'{{ policyBinding }}', +'{{ consumerNetwork }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: policyBinding + value: '{{ policyBinding }}' + - name: consumerNetwork + value: '{{ consumerNetwork }}' + +``` + + diff --git a/docs/google-docs/providers/google/servicenetworking/services/index.md b/docs/google-docs/providers/google/servicenetworking/services/index.md index 1c0321139c..0b177990d4 100644 --- a/docs/google-docs/providers/google/servicenetworking/services/index.md +++ b/docs/google-docs/providers/google/servicenetworking/services/index.md @@ -1,3 +1,4 @@ + --- title: services hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - services - servicenetworking - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an service resource or lists services in a region ## Overview @@ -28,7 +30,9 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| diff --git a/docs/google-docs/providers/google/servicenetworking/services_subnetwork/index.md b/docs/google-docs/providers/google/servicenetworking/services_subnetwork/index.md index 13e2a9c418..8620fbf1a3 100644 --- a/docs/google-docs/providers/google/servicenetworking/services_subnetwork/index.md +++ b/docs/google-docs/providers/google/servicenetworking/services_subnetwork/index.md @@ -1,3 +1,4 @@ + --- title: services_subnetwork hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - services_subnetwork - servicenetworking - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an services_subnetwork resource or lists services_subnetwork in a region ## Overview @@ -28,8 +30,128 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `INSERT` | | For service producers, provisions a new subnet in a peered service's shared VPC network in the requested region and with the requested size that's expressed as a CIDR range (number of leading bits of ipV4 network mask). The method checks against the assigned allocated ranges to find a non-conflicting IP address range. The method will reuse a subnet if subsequent calls contain the same subnet name, region, and prefix length. This method will make producer's tenant project to be a shared VPC service project as needed. | + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new services_subnetwork resource. + + + + +```sql +/*+ create */ +INSERT INTO google.servicenetworking.services_subnetwork ( +servicesId, +servicesId1, +servicesId2, +useCustomComputeIdempotencyWindow, +subnetworkUsers, +outsideAllocationPublicIpRange, +role, +purpose, +requestedAddress, +description, +secondaryIpRangeSpecs, +requestedRanges, +consumer, +skipRequestedAddressValidation, +region, +allowSubnetCidrRoutesOverlap, +checkServiceNetworkingUsePermission, +subnetwork, +computeIdempotencyWindow, +consumerNetwork, +privateIpv6GoogleAccess, +ipPrefixLength, +internalRange +) +SELECT +'{{ servicesId }}', +'{{ servicesId1 }}', +'{{ servicesId2 }}', +true|false, +'{{ subnetworkUsers }}', +'{{ outsideAllocationPublicIpRange }}', +'{{ role }}', +'{{ purpose }}', +'{{ requestedAddress }}', +'{{ description }}', +'{{ secondaryIpRangeSpecs }}', +'{{ requestedRanges }}', +'{{ consumer }}', +true|false, +'{{ region }}', +true|false, +true|false, +'{{ subnetwork }}', +'{{ computeIdempotencyWindow }}', +'{{ consumerNetwork }}', +'{{ privateIpv6GoogleAccess }}', +'{{ ipPrefixLength }}', +'{{ internalRange }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: useCustomComputeIdempotencyWindow + value: '{{ useCustomComputeIdempotencyWindow }}' + - name: subnetworkUsers + value: '{{ subnetworkUsers }}' + - name: outsideAllocationPublicIpRange + value: '{{ outsideAllocationPublicIpRange }}' + - name: role + value: '{{ role }}' + - name: purpose + value: '{{ purpose }}' + - name: requestedAddress + value: '{{ requestedAddress }}' + - name: description + value: '{{ description }}' + - name: secondaryIpRangeSpecs + value: '{{ secondaryIpRangeSpecs }}' + - name: requestedRanges + value: '{{ requestedRanges }}' + - name: consumer + value: '{{ consumer }}' + - name: skipRequestedAddressValidation + value: '{{ skipRequestedAddressValidation }}' + - name: region + value: '{{ region }}' + - name: allowSubnetCidrRoutesOverlap + value: '{{ allowSubnetCidrRoutesOverlap }}' + - name: checkServiceNetworkingUsePermission + value: '{{ checkServiceNetworkingUsePermission }}' + - name: subnetwork + value: '{{ subnetwork }}' + - name: computeIdempotencyWindow + value: '{{ computeIdempotencyWindow }}' + - name: consumerNetwork + value: '{{ consumerNetwork }}' + - name: privateIpv6GoogleAccess + value: '{{ privateIpv6GoogleAccess }}' + - name: ipPrefixLength + value: '{{ ipPrefixLength }}' + - name: internalRange + value: '{{ internalRange }}' + +``` + + diff --git a/docs/google-docs/providers/google/serviceusage/index.md b/docs/google-docs/providers/google/serviceusage/index.md index e6eb3d3d8e..44506de1c7 100644 --- a/docs/google-docs/providers/google/serviceusage/index.md +++ b/docs/google-docs/providers/google/serviceusage/index.md @@ -9,40 +9,29 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Enables services that service consumers want to use on Google Cloud Platform, lists the available or enabled services, or disables services that service consumers no longer use. - +The serviceusage service documentation. + :::info Service Summary
total resources: 2
-total selectable resources: 2
-total methods: 10
::: -## Overview - - - - - - -
Namegoogle.serviceusage
TypeService
TitleService Usage API
DescriptionEnables services that service consumers want to use on Google Cloud Platform, lists the available or enabled services, or disables services that service consumers no longer use.
Idserviceusage:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/serviceusage/operations/index.md b/docs/google-docs/providers/google/serviceusage/operations/index.md index 5d9dda5339..4298315a7f 100644 --- a/docs/google-docs/providers/google/serviceusage/operations/index.md +++ b/docs/google-docs/providers/google/serviceusage/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - serviceusage - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview @@ -30,16 +32,40 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | -| | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | +| | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.serviceusage.operations +WHERE = '{{ }}'; +``` + +## `DELETE` example + +Deletes the specified operation resource. + +```sql +DELETE FROM google.serviceusage.operations +WHERE operationsId = '{{ operationsId }}'; +``` diff --git a/docs/google-docs/providers/google/serviceusage/services/index.md b/docs/google-docs/providers/google/serviceusage/services/index.md index ded0d39325..6ee04bf5b8 100644 --- a/docs/google-docs/providers/google/serviceusage/services/index.md +++ b/docs/google-docs/providers/google/serviceusage/services/index.md @@ -1,3 +1,4 @@ + --- title: services hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - services - serviceusage - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an service resource or lists services in a region ## Overview
@@ -34,11 +36,25 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | The configuration of the service. | | | `string` | The resource name of the consumer. A valid name would be: - projects/123 | | | `string` | Whether or not the service has been enabled for use by the consumer. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Returns the service configuration and enabled state for a given service. | | | `SELECT` | | List all services available to the specified project, and the current state of those services with respect to the project. The list includes all public services, all services for which the calling user has the `servicemanagement.services.bind` permission, and all services that have already been enabled on the project. The list can be filtered to only include services in a specific state, for example to only include services enabled on the project. WARNING: If you need to query enabled services frequently or across an organization, you should use [Cloud Asset Inventory API](https://cloud.google.com/asset-inventory/docs/apis), which provides higher throughput and richer filtering capability. | -| | `EXEC` | | List all services available to the specified project, and the current state of those services with respect to the project. The list includes all public services, all services for which the calling user has the `servicemanagement.services.bind` permission, and all services that have already been enabled on the project. The list can be filtered to only include services in a specific state, for example to only include services enabled on the project. WARNING: If you need to query enabled services frequently or across an organization, you should use [Cloud Asset Inventory API](https://cloud.google.com/asset-inventory/docs/apis), which provides higher throughput and richer filtering capability. | | | `EXEC` | | Enable multiple services on a project. The operation is atomic: if enabling any service fails, then the entire batch fails, and no state changes occur. To enable a single service, use the `EnableService` method instead. | -| | `EXEC` | | Disable a service so that it can no longer be used with a project. This prevents unintended usage that may cause unexpected billing charges or security leaks. It is not valid to call the disable method on a service that is not currently enabled. Callers will receive a `FAILED_PRECONDITION` status if the target service is not currently enabled. | +| | `EXEC` | | Enable a service so that it can be used with a project. | + +## `SELECT` examples + +Returns the service configuration and enabled state for a given service. + +```sql +SELECT +name, +config, +parent, +state +FROM google.serviceusage.services +WHERE name = '{{ name }}'; +``` diff --git a/docs/google-docs/providers/google/solar/building_insights/index.md b/docs/google-docs/providers/google/solar/building_insights/index.md index d2e70bb431..e327e89834 100644 --- a/docs/google-docs/providers/google/solar/building_insights/index.md +++ b/docs/google-docs/providers/google/solar/building_insights/index.md @@ -1,3 +1,4 @@ + --- title: building_insights hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - building_insights - solar - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an building_insight resource or lists building_insights in a region ## Overview
@@ -28,8 +30,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Locates the closest building to a query point. Returns an error with code `NOT_FOUND` if there are no buildings within approximately 50m of the query point. | diff --git a/docs/google-docs/providers/google/solar/data_layers/index.md b/docs/google-docs/providers/google/solar/data_layers/index.md index fc8e5cc0dd..69d8067bdb 100644 --- a/docs/google-docs/providers/google/solar/data_layers/index.md +++ b/docs/google-docs/providers/google/solar/data_layers/index.md @@ -1,3 +1,4 @@ + --- title: data_layers hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - data_layers - solar - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an data_layer resource or lists data_layers in a region ## Overview @@ -32,14 +34,34 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | The URL for the annual flux map (annual sunlight on roofs) of the region. Values are kWh/kW/year. This is *unmasked flux*: flux is computed for every location, not just building rooftops. Invalid locations are stored as -9999: locations outside our coverage area will be invalid, and a few locations inside the coverage area, where we were unable to calculate flux, will also be invalid. | | | `string` | The URL for an image of the DSM (Digital Surface Model) of the region. Values are in meters above EGM96 geoid (i.e., sea level). Invalid locations (where we don't have data) are stored as -9999. | -| | `array` | Twelve URLs for hourly shade, corresponding to January...December, in order. Each GeoTIFF will contain 24 bands, corresponding to the 24 hours of the day. Each pixel is a 32 bit integer, corresponding to the (up to) 31 days of that month; a 1 bit means that the corresponding location is able to see the sun at that day, of that hour, of that month. Invalid locations are stored as -9999 (since this is negative, it has bit 31 set, and no valid value could have bit 31 set as that would correspond to the 32nd day of the month). An example may be useful. If you want to know whether a point (at pixel location (x, y)) saw sun at 4pm on the 22nd of June you would: 1. fetch the sixth URL in this list (corresponding to June). 1. look up the 17th channel (corresponding to 4pm). 1. read the 32-bit value at (x, y). 1. read bit 21 of the value (corresponding to the 22nd of the month). 1. if that bit is a 1, then that spot saw the sun at 4pm 22 June. More formally: Given `month` (1-12), `day` (1...month max; February has 28 days) and `hour` (0-23), the shade/sun for that month/day/hour at a position `(x, y)` is the bit ``` (hourly_shade[month - 1])(x, y)[hour] & (1 << (day - 1)) ``` where `(x, y)` is spatial indexing, `[month - 1]` refers to fetching the `month - 1`st URL (indexing from zero), `[hour]` is indexing into the channels, and a final non-zero result means "sunny". There are no leap days, and DST doesn't exist (all days are 24 hours long; noon is always "standard time" noon). | +| | `array` | Twelve URLs for hourly shade, corresponding to January...December, in order. Each GeoTIFF will contain 24 bands, corresponding to the 24 hours of the day. Each pixel is a 32 bit integer, corresponding to the (up to) 31 days of that month; a 1 bit means that the corresponding location is able to see the sun at that day, of that hour, of that month. Invalid locations are stored as -9999 (since this is negative, it has bit 31 set, and no valid value could have bit 31 set as that would correspond to the 32nd day of the month). An example may be useful. If you want to know whether a point (at pixel location (x, y)) saw sun at 4pm on the 22nd of June you would: 1. fetch the sixth URL in this list (corresponding to June). 1. look up the 17th channel (corresponding to 4pm). 1. read the 32-bit value at (x, y). 1. read bit 21 of the value (corresponding to the 22nd of the month). 1. if that bit is a 1, then that spot saw the sun at 4pm 22 June. More formally: Given `month` (1-12), `day` (1...month max; February has 28 days) and `hour` (0-23), the shade/sun for that month/day/hour at a position `(x, y)` is the bit ``` (hourly_shade[month - 1])(x, y)[hour] & (1 << (day - 1)) ``` where `(x, y)` is spatial indexing, `[month - 1]` refers to fetching the `month - 1`st URL (indexing from zero), `[hour]` is indexing into the channels, and a final non-zero result means "sunny". There are no leap days, and DST doesn't exist (all days are 24 hours long; noon is always "standard time" noon). | | | `object` | Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp | | | `object` | Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp | | | `string` | The quality of the result's imagery. | | | `string` | The URL for the building mask image: one bit per pixel saying whether that pixel is considered to be part of a rooftop or not. | | | `string` | The URL for the monthly flux map (sunlight on roofs, broken down by month) of the region. Values are kWh/kW/year. The GeoTIFF pointed to by this URL will contain twelve bands, corresponding to January...December, in order. | | | `string` | The URL for an image of RGB data (aerial photo) of the region. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets solar information for a region surrounding a location. Returns an error with code `NOT_FOUND` if the location is outside the coverage area. | + +## `SELECT` examples + +Gets solar information for a region surrounding a location. Returns an error with code `NOT_FOUND` if the location is outside the coverage area. + +```sql +SELECT +annualFluxUrl, +dsmUrl, +hourlyShadeUrls, +imageryDate, +imageryProcessedDate, +imageryQuality, +maskUrl, +monthlyFluxUrl, +rgbUrl +FROM google.solar.data_layers +WHERE = '{{ }}'; +``` diff --git a/docs/google-docs/providers/google/solar/geo_tiff/index.md b/docs/google-docs/providers/google/solar/geo_tiff/index.md index cd549b4cde..4eec608a58 100644 --- a/docs/google-docs/providers/google/solar/geo_tiff/index.md +++ b/docs/google-docs/providers/google/solar/geo_tiff/index.md @@ -1,3 +1,4 @@ + --- title: geo_tiff hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - geo_tiff - solar - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an geo_tiff resource or lists geo_tiff in a region ## Overview
@@ -33,7 +35,21 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The HTTP Content-Type header value specifying the content type of the body. | | | `string` | The HTTP request/response body as raw binary. | | | `array` | Application specific response metadata. Must be set in the first response for streaming APIs. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Returns an image by its ID. | + +## `SELECT` examples + +Returns an image by its ID. + +```sql +SELECT +contentType, +data, +extensions +FROM google.solar.geo_tiff +WHERE = '{{ }}'; +``` diff --git a/docs/google-docs/providers/google/solar/index.md b/docs/google-docs/providers/google/solar/index.md index 54d47f4376..f25b4ae8c2 100644 --- a/docs/google-docs/providers/google/solar/index.md +++ b/docs/google-docs/providers/google/solar/index.md @@ -9,41 +9,30 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Solar API. - +The solar service documentation. + :::info Service Summary
total resources: 3
-total selectable resources: 2
-total methods: 3
::: -## Overview -
- - - - - -
Namegoogle.solar
TypeService
TitleSolar API
DescriptionSolar API.
Idsolar:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/sourcerepo/config/index.md b/docs/google-docs/providers/google/sourcerepo/config/index.md deleted file mode 100644 index 5c7788e709..0000000000 --- a/docs/google-docs/providers/google/sourcerepo/config/index.md +++ /dev/null @@ -1,40 +0,0 @@ ---- -title: config -hide_title: false -hide_table_of_contents: false -keywords: - - config - - sourcerepo - - google - - stackql - - infrastructure-as-code - - configuration-as-data - - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL -custom_edit_url: null -image: /img/providers/google/stackql-google-provider-featured-image.png ---- - -import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; - - - - -## Overview - - - - -
Nameconfig
TypeResource
Id
- -## Fields -| Name | Datatype | Description | -|:-----|:---------|:------------| -| | `string` | The name of the project. Values are of the form `projects/`. | -| | `boolean` | Reject a Git push that contains a private key. | -| | `object` | How this project publishes a change in the repositories through Cloud Pub/Sub. Keyed by the topic names. | -## Methods -| Name | Accessible by | Required Params | Description | -|:-----|:--------------|:----------------|:------------| -| | `SELECT` | | Returns the Cloud Source Repositories configuration of the project. | -| | `EXEC` | | Updates the Cloud Source Repositories configuration of the project. | diff --git a/docs/google-docs/providers/google/sourcerepo/index.md b/docs/google-docs/providers/google/sourcerepo/index.md deleted file mode 100644 index 27483d71e4..0000000000 --- a/docs/google-docs/providers/google/sourcerepo/index.md +++ /dev/null @@ -1,49 +0,0 @@ ---- -title: sourcerepo -hide_title: false -hide_table_of_contents: false -keywords: - - sourcerepo - - google - - stackql - - infrastructure-as-code - - configuration-as-data - - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL -custom_edit_url: null -image: /img/providers/google/stackql-google-provider-featured-image.png ---- - -Accesses source code repositories hosted by Google. Important: Cloud Source Repositories is scheduled for end of sales starting June 17, 2024. Customers who have enabled the API prior to this date will not be affected and can continue to use Cloud Source Repositories. Organizations or projects who have not previously enabled the API cannot use Cloud Source Repositories after this date. View Cloud Source Repositories documentation for more info. - -:::info Service Summary - -
-
-total resources: 3
-total selectable resources: 3
-total methods: 13
-
-
- -::: - -## Overview - - - - - - -
Namegoogle.sourcerepo
TypeService
TitleCloud Source Repositories API
DescriptionAccesses source code repositories hosted by Google. Important: Cloud Source Repositories is scheduled for end of sales starting June 17, 2024. Customers who have enabled the API prior to this date will not be affected and can continue to use Cloud Source Repositories. Organizations or projects who have not previously enabled the API cannot use Cloud Source Repositories after this date. View Cloud Source Repositories documentation for more info.
Idsourcerepo:v24.06.00236
- -## Resources - diff --git a/docs/google-docs/providers/google/sourcerepo/repos/index.md b/docs/google-docs/providers/google/sourcerepo/repos/index.md deleted file mode 100644 index 1f1ad48357..0000000000 --- a/docs/google-docs/providers/google/sourcerepo/repos/index.md +++ /dev/null @@ -1,47 +0,0 @@ ---- -title: repos -hide_title: false -hide_table_of_contents: false -keywords: - - repos - - sourcerepo - - google - - stackql - - infrastructure-as-code - - configuration-as-data - - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL -custom_edit_url: null -image: /img/providers/google/stackql-google-provider-featured-image.png ---- - -import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; - - - - -## Overview - - - - -
Namerepos
TypeResource
Id
- -## Fields -| Name | Datatype | Description | -|:-----|:---------|:------------| -| | `string` | Resource name of the repository, of the form `projects//repos/`. The repo name may contain slashes. eg, `projects/myproject/repos/name/with/slash` | -| | `object` | Configuration to automatically mirror a repository from another hosting service, for example GitHub or Bitbucket. | -| | `object` | How this repository publishes a change in the repository through Cloud Pub/Sub. Keyed by the topic names. | -| | `string` | The disk usage of the repo, in bytes. Read-only field. Size is only returned by GetRepo. | -| | `string` | URL to clone the repository from Google Cloud Source Repositories. Read-only field. | -## Methods -| Name | Accessible by | Required Params | Description | -|:-----|:--------------|:----------------|:------------| -| | `SELECT` | | Returns information about a repo. | -| | `SELECT` | | Returns all repos belonging to a project. The sizes of the repos are not set by ListRepos. To get the size of a repo, use GetRepo. | -| | `INSERT` | | Creates a repo in the given project with the given name. If the named repository already exists, `CreateRepo` returns `ALREADY_EXISTS`. | -| | `DELETE` | | Deletes a repo. | -| | `UPDATE` | | Updates information about a repo. | -| | `EXEC` | | Returns all repos belonging to a project. The sizes of the repos are not set by ListRepos. To get the size of a repo, use GetRepo. | -| | `EXEC` | | Synchronize a connected repo. The response contains SyncRepoMetadata in the metadata field. | diff --git a/docs/google-docs/providers/google/sourcerepo/repos_iam_policies/index.md b/docs/google-docs/providers/google/sourcerepo/repos_iam_policies/index.md deleted file mode 100644 index 238a83acb2..0000000000 --- a/docs/google-docs/providers/google/sourcerepo/repos_iam_policies/index.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -title: repos_iam_policies -hide_title: false -hide_table_of_contents: false -keywords: - - repos_iam_policies - - sourcerepo - - google - - stackql - - infrastructure-as-code - - configuration-as-data - - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL -custom_edit_url: null -image: /img/providers/google/stackql-google-provider-featured-image.png ---- - -import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; - - - - -## Overview - - - - -
Namerepos_iam_policies
TypeResource
Id
- -## Fields -| Name | Datatype | Description | -|:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | -| | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | -## Methods -| Name | Accessible by | Required Params | Description | -|:-----|:--------------|:----------------|:------------| -| | `SELECT` | | Gets the IAM policy policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the IAM policy policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Sets the IAM policy on the specified resource. Replaces any existing policy. | -| | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error. | diff --git a/docs/google-docs/providers/google/spanner/backup_operations/index.md b/docs/google-docs/providers/google/spanner/backup_operations/index.md index 7e557a7e36..2d43851a4c 100644 --- a/docs/google-docs/providers/google/spanner/backup_operations/index.md +++ b/docs/google-docs/providers/google/spanner/backup_operations/index.md @@ -1,3 +1,4 @@ + --- title: backup_operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - backup_operations - spanner - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an backup_operation resource or lists backup_operations in a region ## Overview @@ -30,13 +32,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists the backup long-running operations in the given instance. A backup operation has a name of the form `projects//instances//backups//operations/`. The long-running operation metadata field type `metadata.type_url` describes the type of the metadata. Operations returned include those that have completed/failed/canceled within the last 7 days, and pending operations. Operations returned are ordered by `operation.metadata.value.progress.start_time` in descending order starting from the most recently started operation. | + +## `SELECT` examples + +Lists the backup long-running operations in the given instance. A backup operation has a name of the form `projects//instances//backups//operations/`. The long-running operation metadata field type `metadata.type_url` describes the type of the metadata. Operations returned include those that have completed/failed/canceled within the last 7 days, and pending operations. Operations returned are ordered by `operation.metadata.value.progress.start_time` in descending order starting from the most recently started operation. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.spanner.backup_operations +WHERE instancesId = '{{ instancesId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/spanner/backup_schedules/index.md b/docs/google-docs/providers/google/spanner/backup_schedules/index.md new file mode 100644 index 0000000000..9fbc77254c --- /dev/null +++ b/docs/google-docs/providers/google/spanner/backup_schedules/index.md @@ -0,0 +1,168 @@ + +--- +title: backup_schedules +hide_title: false +hide_table_of_contents: false +keywords: + - backup_schedules + - spanner + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an backup_schedule resource or lists backup_schedules in a region + +## Overview +
+ + + +
Namebackup_schedules
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | Identifier. Output only for the CreateBackupSchedule operation. Required for the UpdateBackupSchedule operation. A globally unique identifier for the backup schedule which cannot be changed. Values are of the form `projects//instances//databases//backupSchedules/a-z*[a-z0-9]` The final segment of the name must be between 2 and 60 characters in length. | +| | `object` | Encryption configuration for the backup to create. | +| | `object` | The specification for full backups. A full backup stores the entire contents of the database at a given version time. | +| | `object` | The specification for incremental backup chains. An incremental backup stores the delta of changes between a previous backup and the database contents at a given version time. An incremental backup chain consists of a full backup and zero or more successive incremental backups. The first backup created for an incremental backup chain is always a full backup. | +| | `string` | Optional. The retention duration of a backup that must be at least 6 hours and at most 366 days. The backup is eligible to be automatically deleted once the retention period has elapsed. | +| | `object` | Defines specifications of the backup schedule. | +| | `string` | Output only. The timestamp at which the schedule was last updated. If the schedule has never been updated, this field contains the timestamp when the schedule was first created. | + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets backup schedule for the input schedule name. | +| | `SELECT` | | Lists all the backup schedules for the database. | +| | `INSERT` | | Creates a new backup schedule. | +| | `DELETE` | | Deletes a backup schedule. | +| | `UPDATE` | | Updates a backup schedule. | + +## `SELECT` examples + +Lists all the backup schedules for the database. + +```sql +SELECT +name, +encryptionConfig, +fullBackupSpec, +incrementalBackupSpec, +retentionDuration, +spec, +updateTime +FROM google.spanner.backup_schedules +WHERE databasesId = '{{ databasesId }}' +AND instancesId = '{{ instancesId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new backup_schedules resource. + + + + +```sql +/*+ create */ +INSERT INTO google.spanner.backup_schedules ( +databasesId, +instancesId, +projectsId, +name, +spec, +retentionDuration, +encryptionConfig, +fullBackupSpec, +incrementalBackupSpec, +updateTime +) +SELECT +'{{ databasesId }}', +'{{ instancesId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ spec }}', +'{{ retentionDuration }}', +'{{ encryptionConfig }}', +'{{ fullBackupSpec }}', +'{{ incrementalBackupSpec }}', +'{{ updateTime }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: spec + value: '{{ spec }}' + - name: retentionDuration + value: '{{ retentionDuration }}' + - name: encryptionConfig + value: '{{ encryptionConfig }}' + - name: fullBackupSpec + value: '{{ fullBackupSpec }}' + - name: incrementalBackupSpec + value: '{{ incrementalBackupSpec }}' + - name: updateTime + value: '{{ updateTime }}' + +``` + + + +## `UPDATE` example + +Updates a backup_schedule only if the necessary resources are available. + +```sql +UPDATE google.spanner.backup_schedules +SET +name = '{{ name }}', +spec = '{{ spec }}', +retentionDuration = '{{ retentionDuration }}', +encryptionConfig = '{{ encryptionConfig }}', +fullBackupSpec = '{{ fullBackupSpec }}', +incrementalBackupSpec = '{{ incrementalBackupSpec }}', +updateTime = '{{ updateTime }}' +WHERE +backupSchedulesId = '{{ backupSchedulesId }}' +AND databasesId = '{{ databasesId }}' +AND instancesId = '{{ instancesId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified backup_schedule resource. + +```sql +DELETE FROM google.spanner.backup_schedules +WHERE backupSchedulesId = '{{ backupSchedulesId }}' +AND databasesId = '{{ databasesId }}' +AND instancesId = '{{ instancesId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/spanner/backup_schedules_iam_policies/index.md b/docs/google-docs/providers/google/spanner/backup_schedules_iam_policies/index.md new file mode 100644 index 0000000000..55b480dee4 --- /dev/null +++ b/docs/google-docs/providers/google/spanner/backup_schedules_iam_policies/index.md @@ -0,0 +1,60 @@ + +--- +title: backup_schedules_iam_policies +hide_title: false +hide_table_of_contents: false +keywords: + - backup_schedules_iam_policies + - spanner + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an backup_schedules_iam_policy resource or lists backup_schedules_iam_policies in a region + +## Overview + + + + +
Namebackup_schedules_iam_policies
TypeResource
Id
+ +## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets the access control policy for a database or backup resource. Returns an empty policy if a database or backup exists but does not have a policy set. Authorization requires `spanner.databases.getIamPolicy` permission on resource. For backups, authorization requires `spanner.backups.getIamPolicy` permission on resource. | +| | `EXEC` | | Sets the access control policy on a database or backup resource. Replaces any existing policy. Authorization requires `spanner.databases.setIamPolicy` permission on resource. For backups, authorization requires `spanner.backups.setIamPolicy` permission on resource. | +| | `EXEC` | | Returns permissions that the caller has on the specified database or backup resource. Attempting this RPC on a non-existent Cloud Spanner database will result in a NOT_FOUND error if the user has `spanner.databases.list` permission on the containing Cloud Spanner instance. Otherwise returns an empty set of permissions. Calling this method on a backup that does not exist will result in a NOT_FOUND error if the user has `spanner.backups.list` permission on the containing instance. | + +## `SELECT` examples + +Gets the access control policy for a database or backup resource. Returns an empty policy if a database or backup exists but does not have a policy set. Authorization requires `spanner.databases.getIamPolicy` permission on resource. For backups, authorization requires `spanner.backups.getIamPolicy` permission on resource. + +```sql +SELECT +condition, +members, +role +FROM google.spanner.backup_schedules_iam_policies +WHERE backupSchedulesId = '{{ backupSchedulesId }}' +AND databasesId = '{{ databasesId }}' +AND instancesId = '{{ instancesId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/spanner/backups/index.md b/docs/google-docs/providers/google/spanner/backups/index.md index 0259674125..3b05ab3145 100644 --- a/docs/google-docs/providers/google/spanner/backups/index.md +++ b/docs/google-docs/providers/google/spanner/backups/index.md @@ -1,3 +1,4 @@ + --- title: backups hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - backups - spanner - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an backup resource or lists backups in a region ## Overview @@ -31,18 +33,24 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | Name | Datatype | Description | |:-----|:---------|:------------| | | `string` | Output only for the CreateBackup operation. Required for the UpdateBackup operation. A globally unique identifier for the backup which cannot be changed. Values are of the form `projects//instances//backups/a-z*[a-z0-9]` The final segment of the name must be between 2 and 60 characters in length. The backup is stored in the location(s) specified in the instance configuration of the instance containing the backup, identified by the prefix of the backup name of the form `projects//instances/`. | +| | `array` | Output only. List of backup schedule URIs that are associated with creating this backup. This is only applicable for scheduled backups, and is empty for on-demand backups. To optimize for storage, whenever possible, multiple schedules are collapsed together to create one backup. In such cases, this field captures the list of all backup schedule URIs that are associated with creating this backup. If collapsing is not done, then this field captures the single backup schedule URI associated with creating this backup. | | | `string` | Output only. The time the CreateBackup request is received. If the request does not specify `version_time`, the `version_time` of the backup will be equivalent to the `create_time`. | | | `string` | Required for the CreateBackup operation. Name of the database from which this backup was created. This needs to be in the same instance as the backup. Values are of the form `projects//instances//databases/`. | | | `string` | Output only. The database dialect information for the backup. | | | `object` | Encryption information for a Cloud Spanner database or backup. | | | `array` | Output only. The encryption information for the backup, whether it is protected by one or more KMS keys. The information includes all Cloud KMS key versions used to encrypt the backup. The `encryption_status' field inside of each `EncryptionInfo` is not populated. At least one of the key versions must be available for the backup to be restored. If a key version is revoked in the middle of a restore, the restore behavior is undefined. | +| | `string` | Output only. For a backup in an incremental backup chain, this is the storage space needed to keep the data that has changed since the previous backup. For all other backups, this is always the size of the backup. This value may change if backups on the same chain get deleted or expired. This field can be used to calculate the total storage space used by a set of backups. For example, the total space used by all backups of a database can be computed by summing up this field. | | | `string` | Required for the CreateBackup operation. The expiration time of the backup, with microseconds granularity that must be at least 6 hours and at most 366 days from the time the CreateBackup request is processed. Once the `expire_time` has passed, the backup is eligible to be automatically deleted by Cloud Spanner to free the resources used by the backup. | +| | `string` | Output only. The number of bytes that will be freed by deleting this backup. This value will be zero if, for example, this backup is part of an incremental backup chain and younger backups in the chain require that we keep its data. For backups not in an incremental backup chain, this is always the size of the backup. This value may change if backups on the same chain get created, deleted or expired. | +| | `string` | Output only. Populated only for backups in an incremental backup chain. Backups share the same chain id if and only if they belong to the same incremental backup chain. Use this field to determine which backups are part of the same incremental backup chain. The ordering of backups in the chain can be determined by ordering the backup `version_time`. | | | `string` | Output only. The max allowed expiration time of the backup, with microseconds granularity. A backup's expiration time can be configured in multiple APIs: CreateBackup, UpdateBackup, CopyBackup. When updating or copying an existing backup, the expiration time specified must be less than `Backup.max_expire_time`. | +| | `string` | Output only. Data deleted at a time older than this is guaranteed not to be retained in order to support this backup. For a backup in an incremental backup chain, this is the version time of the oldest backup that exists or ever existed in the chain. For all other backups, this is the version time of the backup. This field can be used to understand what data is being retained by the backup system. | | | `array` | Output only. The names of the destination backups being created by copying this source backup. The backup names are of the form `projects//instances//backups/`. Referencing backups may exist in different instances. The existence of any referencing backup prevents the backup from being deleted. When the copy operation is done (either successfully completed or cancelled or the destination backup is deleted), the reference to the backup is removed. | | | `array` | Output only. The names of the restored databases that reference the backup. The database names are of the form `projects//instances//databases/`. Referencing databases may exist in different instances. The existence of any referencing database prevents the backup from being deleted. When a restored database from the backup enters the `READY` state, the reference to the backup is removed. | -| | `string` | Output only. Size of the backup in bytes. | +| | `string` | Output only. Size of the backup in bytes. For a backup in an incremental backup chain, this is the sum of the `exclusive_size_bytes` of itself and all older backups in the chain. | | | `string` | Output only. The current state of the backup. | | | `string` | The backup will contain an externally consistent copy of the database at the timestamp specified by `version_time`. If `version_time` is not specified, the system will set `version_time` to the `create_time` of the backup. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -51,5 +59,183 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Starts creating a new Cloud Spanner Backup. The returned backup long-running operation will have a name of the format `projects//instances//backups//operations/` and can be used to track creation of the backup. The metadata field type is CreateBackupMetadata. The response field type is Backup, if successful. Cancelling the returned operation will stop the creation and delete the backup. There can be only one pending backup creation per database. Backup creation of different databases can run concurrently. | | | `DELETE` | | Deletes a pending or completed Backup. | | | `UPDATE` | | Updates a pending or completed Backup. | -| | `EXEC` | | Lists completed and pending backups. Backups returned are ordered by `create_time` in descending order, starting from the most recent `create_time`. | | | `EXEC` | | Starts copying a Cloud Spanner Backup. The returned backup long-running operation will have a name of the format `projects//instances//backups//operations/` and can be used to track copying of the backup. The operation is associated with the destination backup. The metadata field type is CopyBackupMetadata. The response field type is Backup, if successful. Cancelling the returned operation will stop the copying and delete the destination backup. Concurrent CopyBackup requests can run on the same source backup. | + +## `SELECT` examples + +Lists completed and pending backups. Backups returned are ordered by `create_time` in descending order, starting from the most recent `create_time`. + +```sql +SELECT +name, +backupSchedules, +createTime, +database, +databaseDialect, +encryptionInfo, +encryptionInformation, +exclusiveSizeBytes, +expireTime, +freeableSizeBytes, +incrementalBackupChainId, +maxExpireTime, +oldestVersionTime, +referencingBackups, +referencingDatabases, +sizeBytes, +state, +versionTime +FROM google.spanner.backups +WHERE instancesId = '{{ instancesId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new backups resource. + + + + +```sql +/*+ create */ +INSERT INTO google.spanner.backups ( +instancesId, +projectsId, +database, +versionTime, +expireTime, +name, +createTime, +sizeBytes, +freeableSizeBytes, +exclusiveSizeBytes, +state, +referencingDatabases, +encryptionInfo, +encryptionInformation, +databaseDialect, +referencingBackups, +maxExpireTime, +backupSchedules, +incrementalBackupChainId, +oldestVersionTime +) +SELECT +'{{ instancesId }}', +'{{ projectsId }}', +'{{ database }}', +'{{ versionTime }}', +'{{ expireTime }}', +'{{ name }}', +'{{ createTime }}', +'{{ sizeBytes }}', +'{{ freeableSizeBytes }}', +'{{ exclusiveSizeBytes }}', +'{{ state }}', +'{{ referencingDatabases }}', +'{{ encryptionInfo }}', +'{{ encryptionInformation }}', +'{{ databaseDialect }}', +'{{ referencingBackups }}', +'{{ maxExpireTime }}', +'{{ backupSchedules }}', +'{{ incrementalBackupChainId }}', +'{{ oldestVersionTime }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: database + value: '{{ database }}' + - name: versionTime + value: '{{ versionTime }}' + - name: expireTime + value: '{{ expireTime }}' + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: sizeBytes + value: '{{ sizeBytes }}' + - name: freeableSizeBytes + value: '{{ freeableSizeBytes }}' + - name: exclusiveSizeBytes + value: '{{ exclusiveSizeBytes }}' + - name: state + value: '{{ state }}' + - name: referencingDatabases + value: '{{ referencingDatabases }}' + - name: encryptionInfo + value: '{{ encryptionInfo }}' + - name: encryptionInformation + value: '{{ encryptionInformation }}' + - name: databaseDialect + value: '{{ databaseDialect }}' + - name: referencingBackups + value: '{{ referencingBackups }}' + - name: maxExpireTime + value: '{{ maxExpireTime }}' + - name: backupSchedules + value: '{{ backupSchedules }}' + - name: incrementalBackupChainId + value: '{{ incrementalBackupChainId }}' + - name: oldestVersionTime + value: '{{ oldestVersionTime }}' + +``` + + + +## `UPDATE` example + +Updates a backup only if the necessary resources are available. + +```sql +UPDATE google.spanner.backups +SET +database = '{{ database }}', +versionTime = '{{ versionTime }}', +expireTime = '{{ expireTime }}', +name = '{{ name }}', +createTime = '{{ createTime }}', +sizeBytes = '{{ sizeBytes }}', +freeableSizeBytes = '{{ freeableSizeBytes }}', +exclusiveSizeBytes = '{{ exclusiveSizeBytes }}', +state = '{{ state }}', +referencingDatabases = '{{ referencingDatabases }}', +encryptionInfo = '{{ encryptionInfo }}', +encryptionInformation = '{{ encryptionInformation }}', +databaseDialect = '{{ databaseDialect }}', +referencingBackups = '{{ referencingBackups }}', +maxExpireTime = '{{ maxExpireTime }}', +backupSchedules = '{{ backupSchedules }}', +incrementalBackupChainId = '{{ incrementalBackupChainId }}', +oldestVersionTime = '{{ oldestVersionTime }}' +WHERE +backupsId = '{{ backupsId }}' +AND instancesId = '{{ instancesId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified backup resource. + +```sql +DELETE FROM google.spanner.backups +WHERE backupsId = '{{ backupsId }}' +AND instancesId = '{{ instancesId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/spanner/backups_iam_policies/index.md b/docs/google-docs/providers/google/spanner/backups_iam_policies/index.md index 73128730be..20f6a4bffa 100644 --- a/docs/google-docs/providers/google/spanner/backups_iam_policies/index.md +++ b/docs/google-docs/providers/google/spanner/backups_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: backups_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - backups_iam_policies - spanner - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an backups_iam_policy resource or lists backups_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a database or backup resource. Returns an empty policy if a database or backup exists but does not have a policy set. Authorization requires `spanner.databases.getIamPolicy` permission on resource. For backups, authorization requires `spanner.backups.getIamPolicy` permission on resource. | -| | `EXEC` | | Gets the access control policy for a database or backup resource. Returns an empty policy if a database or backup exists but does not have a policy set. Authorization requires `spanner.databases.getIamPolicy` permission on resource. For backups, authorization requires `spanner.backups.getIamPolicy` permission on resource. | | | `EXEC` | | Sets the access control policy on a database or backup resource. Replaces any existing policy. Authorization requires `spanner.databases.setIamPolicy` permission on resource. For backups, authorization requires `spanner.backups.setIamPolicy` permission on resource. | | | `EXEC` | | Returns permissions that the caller has on the specified database or backup resource. Attempting this RPC on a non-existent Cloud Spanner database will result in a NOT_FOUND error if the user has `spanner.databases.list` permission on the containing Cloud Spanner instance. Otherwise returns an empty set of permissions. Calling this method on a backup that does not exist will result in a NOT_FOUND error if the user has `spanner.backups.list` permission on the containing instance. | + +## `SELECT` examples + +Gets the access control policy for a database or backup resource. Returns an empty policy if a database or backup exists but does not have a policy set. Authorization requires `spanner.databases.getIamPolicy` permission on resource. For backups, authorization requires `spanner.backups.getIamPolicy` permission on resource. + +```sql +SELECT +condition, +members, +role +FROM google.spanner.backups_iam_policies +WHERE backupsId = '{{ backupsId }}' +AND instancesId = '{{ instancesId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/spanner/database_operations/index.md b/docs/google-docs/providers/google/spanner/database_operations/index.md index f4dedf332a..538289a185 100644 --- a/docs/google-docs/providers/google/spanner/database_operations/index.md +++ b/docs/google-docs/providers/google/spanner/database_operations/index.md @@ -1,3 +1,4 @@ + --- title: database_operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - database_operations - spanner - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an database_operation resource or lists database_operations in a region ## Overview
@@ -30,13 +32,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists database longrunning-operations. A database operation has a name of the form `projects//instances//databases//operations/`. The long-running operation metadata field type `metadata.type_url` describes the type of the metadata. Operations returned include those that have completed/failed/canceled within the last 7 days, and pending operations. | + +## `SELECT` examples + +Lists database longrunning-operations. A database operation has a name of the form `projects//instances//databases//operations/`. The long-running operation metadata field type `metadata.type_url` describes the type of the metadata. Operations returned include those that have completed/failed/canceled within the last 7 days, and pending operations. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.spanner.database_operations +WHERE instancesId = '{{ instancesId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/spanner/database_roles/index.md b/docs/google-docs/providers/google/spanner/database_roles/index.md index 10aee58490..3513115fda 100644 --- a/docs/google-docs/providers/google/spanner/database_roles/index.md +++ b/docs/google-docs/providers/google/spanner/database_roles/index.md @@ -1,3 +1,4 @@ + --- title: database_roles hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - database_roles - spanner - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an database_role resource or lists database_roles in a region ## Overview
@@ -28,8 +30,24 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | Required. The name of the database role. Values are of the form `projects//instances//databases//databaseRoles/` where `` is as specified in the `CREATE ROLE` DDL statement. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists Cloud Spanner database roles. | + +## `SELECT` examples + +Lists Cloud Spanner database roles. + +```sql +SELECT +name +FROM google.spanner.database_roles +WHERE databasesId = '{{ databasesId }}' +AND instancesId = '{{ instancesId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/spanner/database_roles_iam_policies/index.md b/docs/google-docs/providers/google/spanner/database_roles_iam_policies/index.md index 0127a34a6e..80571daa42 100644 --- a/docs/google-docs/providers/google/spanner/database_roles_iam_policies/index.md +++ b/docs/google-docs/providers/google/spanner/database_roles_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: database_roles_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - database_roles_iam_policies - spanner - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an database_roles_iam_policy resource or lists database_roles_iam_policies in a region ## Overview @@ -28,8 +30,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Returns permissions that the caller has on the specified database or backup resource. Attempting this RPC on a non-existent Cloud Spanner database will result in a NOT_FOUND error if the user has `spanner.databases.list` permission on the containing Cloud Spanner instance. Otherwise returns an empty set of permissions. Calling this method on a backup that does not exist will result in a NOT_FOUND error if the user has `spanner.backups.list` permission on the containing instance. | diff --git a/docs/google-docs/providers/google/spanner/databases/index.md b/docs/google-docs/providers/google/spanner/databases/index.md index a713435f6d..f5b79b61fd 100644 --- a/docs/google-docs/providers/google/spanner/databases/index.md +++ b/docs/google-docs/providers/google/spanner/databases/index.md @@ -1,3 +1,4 @@ + --- title: databases hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - databases - spanner - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an database resource or lists databases in a region ## Overview @@ -35,22 +37,139 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The dialect of the Cloud Spanner Database. | | | `string` | Output only. The read-write region which contains the database's leader replicas. This is the same as the value of default_leader database option set using DatabaseAdmin.CreateDatabase or DatabaseAdmin.UpdateDatabaseDdl. If not explicitly set, this is empty. | | | `string` | Output only. Earliest timestamp at which older versions of the data can be read. This value is continuously updated by Cloud Spanner and becomes stale the moment it is queried. If you are using this value to recover data, make sure to account for the time from the moment when the value is queried to the moment when you initiate the recovery. | -| | `boolean` | Whether drop protection is enabled for this database. Defaults to false, if not set. For more details, please see how to [prevent accidental database deletion](https://cloud.google.com/spanner/docs/prevent-database-deletion). | +| | `boolean` | Optional. Whether drop protection is enabled for this database. Defaults to false, if not set. For more details, please see how to [prevent accidental database deletion](https://cloud.google.com/spanner/docs/prevent-database-deletion). | | | `object` | Encryption configuration for a Cloud Spanner database. | | | `array` | Output only. For databases that are using customer managed encryption, this field contains the encryption information for the database, such as all Cloud KMS key versions that are in use. The `encryption_status' field inside of each `EncryptionInfo` is not populated. For databases that are using Google default or other types of encryption, this field is empty. This field is propagated lazily from the backend. There might be a delay from when a key version is being used and when it appears in this field. | -| | `object` | Information about the dual region quorum. | +| | `object` | Information about the dual-region quorum. | | | `boolean` | Output only. If true, the database is being updated. If false, there are no ongoing update operations for the database. | | | `object` | Information about the database restore. | | | `string` | Output only. The current database state. | | | `string` | Output only. The period in which Cloud Spanner retains all versions of data for the database. This is the same as the value of version_retention_period database option set using UpdateDatabaseDdl. Defaults to 1 hour, if not set. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the state of a Cloud Spanner database. | | | `SELECT` | | Lists Cloud Spanner databases. | -| | `INSERT` | | Creates a new Cloud Spanner database and starts to prepare it for serving. The returned long-running operation will have a name of the format `/operations/` and can be used to track preparation of the database. The metadata field type is CreateDatabaseMetadata. The response field type is Database, if successful. | +| | `INSERT` | | Creates a new Spanner database and starts to prepare it for serving. The returned long-running operation will have a name of the format `/operations/` and can be used to track preparation of the database. The metadata field type is CreateDatabaseMetadata. The response field type is Database, if successful. | +| | `DELETE` | | Drops (aka deletes) a Cloud Spanner database. Completed backups for the database will be retained according to their `expire_time`. Note: Cloud Spanner might continue to accept requests for a few seconds after the database has been deleted. | | | `UPDATE` | | Updates a Cloud Spanner database. The returned long-running operation can be used to track the progress of updating the database. If the named database does not exist, returns `NOT_FOUND`. While the operation is pending: * The database's reconciling field is set to true. * Cancelling the operation is best-effort. If the cancellation succeeds, the operation metadata's cancel_time is set, the updates are reverted, and the operation terminates with a `CANCELLED` status. * New UpdateDatabase requests will return a `FAILED_PRECONDITION` error until the pending operation is done (returns successfully or with error). * Reading the database via the API continues to give the pre-request values. Upon completion of the returned operation: * The new values are in effect and readable via the API. * The database's reconciling field becomes false. The returned long-running operation will have a name of the format `projects//instances//databases//operations/` and can be used to track the database modification. The metadata field type is UpdateDatabaseMetadata. The response field type is Database, if successful. | -| | `EXEC` | | Lists Cloud Spanner databases. | -| | `EXEC` | | ChangeQuorum is strictly restricted to databases that use dual region instance configurations. Initiates a background operation to change quorum a database from dual-region mode to single-region mode and vice versa. The returned long-running operation will have a name of the format `projects//instances//databases//operations/` and can be used to track execution of the ChangeQuorum. The metadata field type is ChangeQuorumMetadata. Authorization requires `spanner.databases.changequorum` permission on the resource database. | -| | `EXEC` | | Drops (aka deletes) a Cloud Spanner database. Completed backups for the database will be retained according to their `expire_time`. Note: Cloud Spanner might continue to accept requests for a few seconds after the database has been deleted. | +| | `EXEC` | | `ChangeQuorum` is strictly restricted to databases that use dual-region instance configurations. Initiates a background operation to change the quorum of a database from dual-region mode to single-region mode or vice versa. The returned long-running operation has a name of the format `projects//instances//databases//operations/` and can be used to track execution of the `ChangeQuorum`. The metadata field type is ChangeQuorumMetadata. Authorization requires `spanner.databases.changequorum` permission on the resource database. | | | `EXEC` | | Create a new database by restoring from a completed backup. The new database must be in the same project and in an instance with the same instance configuration as the instance containing the backup. The returned database long-running operation has a name of the format `projects//instances//databases//operations/`, and can be used to track the progress of the operation, and to cancel it. The metadata field type is RestoreDatabaseMetadata. The response type is Database, if successful. Cancelling the returned operation will stop the restore and delete the database. There can be only one database being restored into an instance at a time. Once the restore operation completes, a new restore operation can be initiated, without waiting for the optimize operation associated with the first restore to complete. | + +## `SELECT` examples + +Lists Cloud Spanner databases. + +```sql +SELECT +name, +createTime, +databaseDialect, +defaultLeader, +earliestVersionTime, +enableDropProtection, +encryptionConfig, +encryptionInfo, +quorumInfo, +reconciling, +restoreInfo, +state, +versionRetentionPeriod +FROM google.spanner.databases +WHERE instancesId = '{{ instancesId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new databases resource. + + + + +```sql +/*+ create */ +INSERT INTO google.spanner.databases ( +instancesId, +projectsId, +createStatement, +extraStatements, +encryptionConfig, +databaseDialect, +protoDescriptors +) +SELECT +'{{ instancesId }}', +'{{ projectsId }}', +'{{ createStatement }}', +'{{ extraStatements }}', +'{{ encryptionConfig }}', +'{{ databaseDialect }}', +'{{ protoDescriptors }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: createStatement + value: '{{ createStatement }}' + - name: extraStatements + value: '{{ extraStatements }}' + - name: encryptionConfig + value: '{{ encryptionConfig }}' + - name: databaseDialect + value: '{{ databaseDialect }}' + - name: protoDescriptors + value: '{{ protoDescriptors }}' + +``` + + + +## `UPDATE` example + +Updates a database only if the necessary resources are available. + +```sql +UPDATE google.spanner.databases +SET +name = '{{ name }}', +state = '{{ state }}', +createTime = '{{ createTime }}', +restoreInfo = '{{ restoreInfo }}', +encryptionConfig = '{{ encryptionConfig }}', +encryptionInfo = '{{ encryptionInfo }}', +versionRetentionPeriod = '{{ versionRetentionPeriod }}', +earliestVersionTime = '{{ earliestVersionTime }}', +defaultLeader = '{{ defaultLeader }}', +databaseDialect = '{{ databaseDialect }}', +enableDropProtection = true|false, +reconciling = true|false, +quorumInfo = '{{ quorumInfo }}' +WHERE +databasesId = '{{ databasesId }}' +AND instancesId = '{{ instancesId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified database resource. + +```sql +DELETE FROM google.spanner.databases +WHERE databasesId = '{{ databasesId }}' +AND instancesId = '{{ instancesId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/spanner/databases_ddl/index.md b/docs/google-docs/providers/google/spanner/databases_ddl/index.md index b46ae1e28f..3500e05960 100644 --- a/docs/google-docs/providers/google/spanner/databases_ddl/index.md +++ b/docs/google-docs/providers/google/spanner/databases_ddl/index.md @@ -1,3 +1,4 @@ + --- title: databases_ddl hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - databases_ddl - spanner - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an databases_ddl resource or lists databases_ddl in a region ## Overview
@@ -32,8 +34,39 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Proto descriptors stored in the database. Contains a protobuf-serialized [google.protobuf.FileDescriptorSet](https://github.com/protocolbuffers/protobuf/blob/main/src/google/protobuf/descriptor.proto). For more details, see protobuffer [self description](https://developers.google.com/protocol-buffers/docs/techniques#self-description). | | | `array` | A list of formatted DDL statements defining the schema of the database specified in the request. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Returns the schema of a Cloud Spanner database as a list of formatted DDL statements. This method does not show pending schema updates, those may be queried using the Operations API. | -| | `EXEC` | | Updates the schema of a Cloud Spanner database by creating/altering/dropping tables, columns, indexes, etc. The returned long-running operation will have a name of the format `/operations/` and can be used to track execution of the schema change(s). The metadata field type is UpdateDatabaseDdlMetadata. The operation has no response. | +| | `UPDATE` | | Updates the schema of a Cloud Spanner database by creating/altering/dropping tables, columns, indexes, etc. The returned long-running operation will have a name of the format `/operations/` and can be used to track execution of the schema change(s). The metadata field type is UpdateDatabaseDdlMetadata. The operation has no response. | + +## `SELECT` examples + +Returns the schema of a Cloud Spanner database as a list of formatted DDL statements. This method does not show pending schema updates, those may be queried using the Operations API. + +```sql +SELECT +protoDescriptors, +statements +FROM google.spanner.databases_ddl +WHERE databasesId = '{{ databasesId }}' +AND instancesId = '{{ instancesId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `UPDATE` example + +Updates a databases_ddl only if the necessary resources are available. + +```sql +UPDATE google.spanner.databases_ddl +SET +statements = '{{ statements }}', +operationId = '{{ operationId }}', +protoDescriptors = '{{ protoDescriptors }}' +WHERE +databasesId = '{{ databasesId }}' +AND instancesId = '{{ instancesId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/spanner/databases_iam_policies/index.md b/docs/google-docs/providers/google/spanner/databases_iam_policies/index.md index 1e46c4dbfe..9193287e7b 100644 --- a/docs/google-docs/providers/google/spanner/databases_iam_policies/index.md +++ b/docs/google-docs/providers/google/spanner/databases_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: databases_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - databases_iam_policies - spanner - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an databases_iam_policy resource or lists databases_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a database or backup resource. Returns an empty policy if a database or backup exists but does not have a policy set. Authorization requires `spanner.databases.getIamPolicy` permission on resource. For backups, authorization requires `spanner.backups.getIamPolicy` permission on resource. | -| | `EXEC` | | Gets the access control policy for a database or backup resource. Returns an empty policy if a database or backup exists but does not have a policy set. Authorization requires `spanner.databases.getIamPolicy` permission on resource. For backups, authorization requires `spanner.backups.getIamPolicy` permission on resource. | | | `EXEC` | | Sets the access control policy on a database or backup resource. Replaces any existing policy. Authorization requires `spanner.databases.setIamPolicy` permission on resource. For backups, authorization requires `spanner.backups.setIamPolicy` permission on resource. | | | `EXEC` | | Returns permissions that the caller has on the specified database or backup resource. Attempting this RPC on a non-existent Cloud Spanner database will result in a NOT_FOUND error if the user has `spanner.databases.list` permission on the containing Cloud Spanner instance. Otherwise returns an empty set of permissions. Calling this method on a backup that does not exist will result in a NOT_FOUND error if the user has `spanner.backups.list` permission on the containing instance. | + +## `SELECT` examples + +Gets the access control policy for a database or backup resource. Returns an empty policy if a database or backup exists but does not have a policy set. Authorization requires `spanner.databases.getIamPolicy` permission on resource. For backups, authorization requires `spanner.backups.getIamPolicy` permission on resource. + +```sql +SELECT +condition, +members, +role +FROM google.spanner.databases_iam_policies +WHERE databasesId = '{{ databasesId }}' +AND instancesId = '{{ instancesId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/spanner/databases_scans/index.md b/docs/google-docs/providers/google/spanner/databases_scans/index.md index dde3c8c395..6d9cc83c9b 100644 --- a/docs/google-docs/providers/google/spanner/databases_scans/index.md +++ b/docs/google-docs/providers/google/spanner/databases_scans/index.md @@ -1,3 +1,4 @@ + --- title: databases_scans hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - databases_scans - spanner - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an databases_scan resource or lists databases_scans in a region ## Overview
@@ -35,7 +37,25 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The upper bound for when the scan is defined. | | | `object` | ScanData contains Cloud Key Visualizer scan data used by the caller to construct a visualization. | | | `string` | A range of time (inclusive) for when the scan is defined. The lower bound for when the scan is defined. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Request a specific scan with Database-specific data for Cloud Key Visualizer. | + +## `SELECT` examples + +Request a specific scan with Database-specific data for Cloud Key Visualizer. + +```sql +SELECT +name, +details, +endTime, +scanData, +startTime +FROM google.spanner.databases_scans +WHERE databasesId = '{{ databasesId }}' +AND instancesId = '{{ instancesId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/spanner/index.md b/docs/google-docs/providers/google/spanner/index.md index 8b2cde160c..22533f0479 100644 --- a/docs/google-docs/providers/google/spanner/index.md +++ b/docs/google-docs/providers/google/spanner/index.md @@ -9,38 +9,29 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Cloud Spanner is a managed, mission-critical, globally consistent and scalable relational database service. - +The spanner service documentation. + :::info Service Summary
-total resources: 19
-total selectable resources: 18
-total methods: 109
+total resources: 21
::: -## Overview -
- - - - - -
Namegoogle.spanner
TypeService
TitleCloud Spanner API
DescriptionCloud Spanner is a managed, mission-critical, globally consistent and scalable relational database service.
Idspanner:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/spanner/instance_config_operations/index.md b/docs/google-docs/providers/google/spanner/instance_config_operations/index.md index 2162991b82..aaa8daa992 100644 --- a/docs/google-docs/providers/google/spanner/instance_config_operations/index.md +++ b/docs/google-docs/providers/google/spanner/instance_config_operations/index.md @@ -1,3 +1,4 @@ + --- title: instance_config_operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - instance_config_operations - spanner - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an instance_config_operation resource or lists instance_config_operations in a region ## Overview @@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists the user-managed instance configuration long-running operations in the given project. An instance configuration operation has a name of the form `projects//instanceConfigs//operations/`. The long-running operation metadata field type `metadata.type_url` describes the type of the metadata. Operations returned include those that have completed/failed/canceled within the last 7 days, and pending operations. Operations returned are ordered by `operation.metadata.value.start_time` in descending order starting from the most recently started operation. | + +## `SELECT` examples + +Lists the user-managed instance configuration long-running operations in the given project. An instance configuration operation has a name of the form `projects//instanceConfigs//operations/`. The long-running operation metadata field type `metadata.type_url` describes the type of the metadata. Operations returned include those that have completed/failed/canceled within the last 7 days, and pending operations. Operations returned are ordered by `operation.metadata.value.start_time` in descending order starting from the most recently started operation. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.spanner.instance_config_operations +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/spanner/instance_configs/index.md b/docs/google-docs/providers/google/spanner/instance_configs/index.md index 30e0090151..d1713ba659 100644 --- a/docs/google-docs/providers/google/spanner/instance_configs/index.md +++ b/docs/google-docs/providers/google/spanner/instance_configs/index.md @@ -1,3 +1,4 @@ + --- title: instance_configs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - instance_configs - spanner - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an instance_config resource or lists instance_configs in a region ## Overview
@@ -30,26 +32,121 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | A unique identifier for the instance configuration. Values are of the form `projects//instanceConfigs/a-z*`. | -| | `string` | Base configuration name, e.g. projects//instanceConfigs/nam3, based on which this configuration is created. Only set for user managed configurations. `base_config` must refer to a configuration of type GOOGLE_MANAGED in the same project as this configuration. | -| | `string` | Output only. Whether this instance config is a Google or User Managed Configuration. | +| | `string` | A unique identifier for the instance configuration. Values are of the form `projects//instanceConfigs/a-z*`. User instance configuration must start with `custom-`. | +| | `string` | Base configuration name, e.g. projects//instanceConfigs/nam3, based on which this configuration is created. Only set for user-managed configurations. `base_config` must refer to a configuration of type `GOOGLE_MANAGED` in the same project as this configuration. | +| | `string` | Output only. Whether this instance configuration is a Google-managed or user-managed configuration. | | | `string` | The name of this instance configuration as it appears in UIs. | -| | `string` | etag is used for optimistic concurrency control as a way to help prevent simultaneous updates of a instance config from overwriting each other. It is strongly suggested that systems make use of the etag in the read-modify-write cycle to perform instance config updates in order to avoid race conditions: An etag is returned in the response which contains instance configs, and systems are expected to put that etag in the request to update instance config to ensure that their change will be applied to the same version of the instance config. If no etag is provided in the call to update instance config, then the existing instance config is overwritten blindly. | -| | `string` | Output only. Describes whether free instances are available to be created in this instance config. | -| | `object` | Cloud Labels are a flexible and lightweight mechanism for organizing cloud resources into groups that reflect a customer's organizational needs and deployment strategies. Cloud Labels can be used to filter collections of resources. They can be used to control how resource metrics are aggregated. And they can be used as arguments to policy management rules (e.g. route, firewall, load balancing, etc.). * Label keys must be between 1 and 63 characters long and must conform to the following regular expression: `a-z{0,62}`. * Label values must be between 0 and 63 characters long and must conform to the regular expression `[a-z0-9_-]{0,63}`. * No more than 64 labels can be associated with a given resource. See https://goo.gl/xmQnxf for more information on and examples of labels. If you plan to use labels in your own code, please note that additional characters may be allowed in the future. Therefore, you are advised to use an internal label representation, such as JSON, which doesn't rely upon specific characters being disallowed. For example, representing labels as the string: name + "_" + value would prove problematic if we were to allow "_" in a future release. | +| | `string` | etag is used for optimistic concurrency control as a way to help prevent simultaneous updates of a instance configuration from overwriting each other. It is strongly suggested that systems make use of the etag in the read-modify-write cycle to perform instance configuration updates in order to avoid race conditions: An etag is returned in the response which contains instance configurations, and systems are expected to put that etag in the request to update instance configuration to ensure that their change is applied to the same version of the instance configuration. If no etag is provided in the call to update the instance configuration, then the existing instance configuration is overwritten blindly. | +| | `string` | Output only. Describes whether free instances are available to be created in this instance configuration. | +| | `object` | Cloud Labels are a flexible and lightweight mechanism for organizing cloud resources into groups that reflect a customer's organizational needs and deployment strategies. Cloud Labels can be used to filter collections of resources. They can be used to control how resource metrics are aggregated. And they can be used as arguments to policy management rules (e.g. route, firewall, load balancing, etc.). * Label keys must be between 1 and 63 characters long and must conform to the following regular expression: `a-z{0,62}`. * Label values must be between 0 and 63 characters long and must conform to the regular expression `[a-z0-9_-]{0,63}`. * No more than 64 labels can be associated with a given resource. See https://goo.gl/xmQnxf for more information on and examples of labels. If you plan to use labels in your own code, please note that additional characters may be allowed in the future. Therefore, you are advised to use an internal label representation, such as JSON, which doesn't rely upon specific characters being disallowed. For example, representing labels as the string: name + "_" + value would prove problematic if we were to allow "_" in a future release. | | | `array` | Allowed values of the "default_leader" schema option for databases in instances that use this instance configuration. | -| | `array` | Output only. The available optional replicas to choose from for user managed configurations. Populated for Google managed configurations. | +| | `array` | Output only. The available optional replicas to choose from for user-managed configurations. Populated for Google-managed configurations. | | | `string` | Output only. The `QuorumType` of the instance configuration. | -| | `boolean` | Output only. If true, the instance config is being created or updated. If false, there are no ongoing operations for the instance config. | -| | `array` | The geographic placement of nodes in this instance configuration and their replication properties. | -| | `string` | Output only. The current instance config state. Applicable only for USER_MANAGED configs. | +| | `boolean` | Output only. If true, the instance configuration is being created or updated. If false, there are no ongoing operations for the instance configuration. | +| | `array` | The geographic placement of nodes in this instance configuration and their replication properties. To create user-managed configurations, input `replicas` must include all replicas in `replicas` of the `base_config` and include one or more replicas in the `optional_replicas` of the `base_config`. | +| | `string` | Output only. The current instance configuration state. Applicable only for `USER_MANAGED` configurations. | | | `string` | Output only. The storage limit in bytes per processing unit. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about a particular instance configuration. | -| | `SELECT` | | Lists the supported instance configurations for a given project. | -| | `INSERT` | | Creates an instance config and begins preparing it to be used. The returned long-running operation can be used to track the progress of preparing the new instance config. The instance config name is assigned by the caller. If the named instance config already exists, `CreateInstanceConfig` returns `ALREADY_EXISTS`. Immediately after the request returns: * The instance config is readable via the API, with all requested attributes. The instance config's reconciling field is set to true. Its state is `CREATING`. While the operation is pending: * Cancelling the operation renders the instance config immediately unreadable via the API. * Except for deleting the creating resource, all other attempts to modify the instance config are rejected. Upon completion of the returned operation: * Instances can be created using the instance configuration. * The instance config's reconciling field becomes false. Its state becomes `READY`. The returned long-running operation will have a name of the format `/operations/` and can be used to track creation of the instance config. The metadata field type is CreateInstanceConfigMetadata. The response field type is InstanceConfig, if successful. Authorization requires `spanner.instanceConfigs.create` permission on the resource parent. | -| | `DELETE` | | Deletes the instance config. Deletion is only allowed when no instances are using the configuration. If any instances are using the config, returns `FAILED_PRECONDITION`. Only user managed configurations can be deleted. Authorization requires `spanner.instanceConfigs.delete` permission on the resource name. | -| | `UPDATE` | | Updates an instance config. The returned long-running operation can be used to track the progress of updating the instance. If the named instance config does not exist, returns `NOT_FOUND`. Only user managed configurations can be updated. Immediately after the request returns: * The instance config's reconciling field is set to true. While the operation is pending: * Cancelling the operation sets its metadata's cancel_time. The operation is guaranteed to succeed at undoing all changes, after which point it terminates with a `CANCELLED` status. * All other attempts to modify the instance config are rejected. * Reading the instance config via the API continues to give the pre-request values. Upon completion of the returned operation: * Creating instances using the instance configuration uses the new values. * The instance config's new values are readable via the API. * The instance config's reconciling field becomes false. The returned long-running operation will have a name of the format `/operations/` and can be used to track the instance config modification. The metadata field type is UpdateInstanceConfigMetadata. The response field type is InstanceConfig, if successful. Authorization requires `spanner.instanceConfigs.update` permission on the resource name. | -| | `EXEC` | | Lists the supported instance configurations for a given project. | +| | `SELECT` | | Lists the supported instance configurations for a given project. Returns both Google-managed configurations and user-managed configurations. | +| | `INSERT` | | Creates an instance configuration and begins preparing it to be used. The returned long-running operation can be used to track the progress of preparing the new instance configuration. The instance configuration name is assigned by the caller. If the named instance configuration already exists, `CreateInstanceConfig` returns `ALREADY_EXISTS`. Immediately after the request returns: * The instance configuration is readable via the API, with all requested attributes. The instance configuration's reconciling field is set to true. Its state is `CREATING`. While the operation is pending: * Cancelling the operation renders the instance configuration immediately unreadable via the API. * Except for deleting the creating resource, all other attempts to modify the instance configuration are rejected. Upon completion of the returned operation: * Instances can be created using the instance configuration. * The instance configuration's reconciling field becomes false. Its state becomes `READY`. The returned long-running operation will have a name of the format `/operations/` and can be used to track creation of the instance configuration. The metadata field type is CreateInstanceConfigMetadata. The response field type is InstanceConfig, if successful. Authorization requires `spanner.instanceConfigs.create` permission on the resource parent. | +| | `DELETE` | | Deletes the instance configuration. Deletion is only allowed when no instances are using the configuration. If any instances are using the configuration, returns `FAILED_PRECONDITION`. Only user-managed configurations can be deleted. Authorization requires `spanner.instanceConfigs.delete` permission on the resource name. | +| | `UPDATE` | | Updates an instance configuration. The returned long-running operation can be used to track the progress of updating the instance. If the named instance configuration does not exist, returns `NOT_FOUND`. Only user-managed configurations can be updated. Immediately after the request returns: * The instance configuration's reconciling field is set to true. While the operation is pending: * Cancelling the operation sets its metadata's cancel_time. The operation is guaranteed to succeed at undoing all changes, after which point it terminates with a `CANCELLED` status. * All other attempts to modify the instance configuration are rejected. * Reading the instance configuration via the API continues to give the pre-request values. Upon completion of the returned operation: * Creating instances using the instance configuration uses the new values. * The new values of the instance configuration are readable via the API. * The instance configuration's reconciling field becomes false. The returned long-running operation will have a name of the format `/operations/` and can be used to track the instance configuration modification. The metadata field type is UpdateInstanceConfigMetadata. The response field type is InstanceConfig, if successful. Authorization requires `spanner.instanceConfigs.update` permission on the resource name. | + +## `SELECT` examples + +Lists the supported instance configurations for a given project. Returns both Google-managed configurations and user-managed configurations. + +```sql +SELECT +name, +baseConfig, +configType, +displayName, +etag, +freeInstanceAvailability, +labels, +leaderOptions, +optionalReplicas, +quorumType, +reconciling, +replicas, +state, +storageLimitPerProcessingUnit +FROM google.spanner.instance_configs +WHERE projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new instance_configs resource. + + + + +```sql +/*+ create */ +INSERT INTO google.spanner.instance_configs ( +projectsId, +instanceConfigId, +instanceConfig, +validateOnly +) +SELECT +'{{ projectsId }}', +'{{ instanceConfigId }}', +'{{ instanceConfig }}', +true|false +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: instanceConfigId + value: '{{ instanceConfigId }}' + - name: instanceConfig + value: '{{ instanceConfig }}' + - name: validateOnly + value: '{{ validateOnly }}' + +``` + + + +## `UPDATE` example + +Updates a instance_config only if the necessary resources are available. + +```sql +UPDATE google.spanner.instance_configs +SET +instanceConfig = '{{ instanceConfig }}', +updateMask = '{{ updateMask }}', +validateOnly = true|false +WHERE +instanceConfigsId = '{{ instanceConfigsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified instance_config resource. + +```sql +DELETE FROM google.spanner.instance_configs +WHERE instanceConfigsId = '{{ instanceConfigsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/spanner/instance_partition_operations/index.md b/docs/google-docs/providers/google/spanner/instance_partition_operations/index.md index 252ae3d2b2..7b596b4da6 100644 --- a/docs/google-docs/providers/google/spanner/instance_partition_operations/index.md +++ b/docs/google-docs/providers/google/spanner/instance_partition_operations/index.md @@ -1,3 +1,4 @@ + --- title: instance_partition_operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - instance_partition_operations - spanner - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an instance_partition_operation resource or lists instance_partition_operations in a region ## Overview
@@ -30,13 +32,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists instance partition long-running operations in the given instance. An instance partition operation has a name of the form `projects//instances//instancePartitions//operations/`. The long-running operation metadata field type `metadata.type_url` describes the type of the metadata. Operations returned include those that have completed/failed/canceled within the last 7 days, and pending operations. Operations returned are ordered by `operation.metadata.value.start_time` in descending order starting from the most recently started operation. Authorization requires `spanner.instancePartitionOperations.list` permission on the resource parent. | + +## `SELECT` examples + +Lists instance partition long-running operations in the given instance. An instance partition operation has a name of the form `projects//instances//instancePartitions//operations/`. The long-running operation metadata field type `metadata.type_url` describes the type of the metadata. Operations returned include those that have completed/failed/canceled within the last 7 days, and pending operations. Operations returned are ordered by `operation.metadata.value.start_time` in descending order starting from the most recently started operation. Authorization requires `spanner.instancePartitionOperations.list` permission on the resource parent. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.spanner.instance_partition_operations +WHERE instancesId = '{{ instancesId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/spanner/instance_partitions/index.md b/docs/google-docs/providers/google/spanner/instance_partitions/index.md index f58654da15..64e0f8b997 100644 --- a/docs/google-docs/providers/google/spanner/instance_partitions/index.md +++ b/docs/google-docs/providers/google/spanner/instance_partitions/index.md @@ -1,3 +1,4 @@ + --- title: instance_partitions hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - instance_partitions - spanner - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an instance_partition resource or lists instance_partitions in a region ## Overview
@@ -35,12 +37,13 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The time at which the instance partition was created. | | | `string` | Required. The descriptive name for this instance partition as it appears in UIs. Must be unique per project and between 4 and 30 characters in length. | | | `string` | Used for optimistic concurrency control as a way to help prevent simultaneous updates of a instance partition from overwriting each other. It is strongly suggested that systems make use of the etag in the read-modify-write cycle to perform instance partition updates in order to avoid race conditions: An etag is returned in the response which contains instance partitions, and systems are expected to put that etag in the request to update instance partitions to ensure that their change will be applied to the same version of the instance partition. If no etag is provided in the call to update instance partition, then the existing instance partition is overwritten blindly. | -| | `integer` | The number of nodes allocated to this instance partition. Users can set the node_count field to specify the target number of nodes allocated to the instance partition. This may be zero in API responses for instance partitions that are not yet in state `READY`. | -| | `integer` | The number of processing units allocated to this instance partition. Users can set the processing_units field to specify the target number of processing units allocated to the instance partition. This may be zero in API responses for instance partitions that are not yet in state `READY`. | -| | `array` | Output only. The names of the backups that reference this instance partition. Referencing backups should share the parent instance. The existence of any referencing backup prevents the instance partition from being deleted. | +| | `integer` | The number of nodes allocated to this instance partition. Users can set the `node_count` field to specify the target number of nodes allocated to the instance partition. This may be zero in API responses for instance partitions that are not yet in state `READY`. | +| | `integer` | The number of processing units allocated to this instance partition. Users can set the `processing_units` field to specify the target number of processing units allocated to the instance partition. This might be zero in API responses for instance partitions that are not yet in the `READY` state. | +| | `array` | Output only. Deprecated: This field is not populated. Output only. The names of the backups that reference this instance partition. Referencing backups should share the parent instance. The existence of any referencing backup prevents the instance partition from being deleted. | | | `array` | Output only. The names of the databases that reference this instance partition. Referencing databases should share the parent instance. The existence of any referencing database prevents the instance partition from being deleted. | | | `string` | Output only. The current instance partition state. | | | `string` | Output only. The time at which the instance partition was most recently updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -49,4 +52,95 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates an instance partition and begins preparing it to be used. The returned long-running operation can be used to track the progress of preparing the new instance partition. The instance partition name is assigned by the caller. If the named instance partition already exists, `CreateInstancePartition` returns `ALREADY_EXISTS`. Immediately upon completion of this request: * The instance partition is readable via the API, with all requested attributes but no allocated resources. Its state is `CREATING`. Until completion of the returned operation: * Cancelling the operation renders the instance partition immediately unreadable via the API. * The instance partition can be deleted. * All other attempts to modify the instance partition are rejected. Upon completion of the returned operation: * Billing for all successfully-allocated resources begins (some types may have lower than the requested levels). * Databases can start using this instance partition. * The instance partition's allocated resource levels are readable via the API. * The instance partition's state becomes `READY`. The returned long-running operation will have a name of the format `/operations/` and can be used to track creation of the instance partition. The metadata field type is CreateInstancePartitionMetadata. The response field type is InstancePartition, if successful. | | | `DELETE` | | Deletes an existing instance partition. Requires that the instance partition is not used by any database or backup and is not the default instance partition of an instance. Authorization requires `spanner.instancePartitions.delete` permission on the resource name. | | | `UPDATE` | | Updates an instance partition, and begins allocating or releasing resources as requested. The returned long-running operation can be used to track the progress of updating the instance partition. If the named instance partition does not exist, returns `NOT_FOUND`. Immediately upon completion of this request: * For resource types for which a decrease in the instance partition's allocation has been requested, billing is based on the newly-requested level. Until completion of the returned operation: * Cancelling the operation sets its metadata's cancel_time, and begins restoring resources to their pre-request values. The operation is guaranteed to succeed at undoing all resource changes, after which point it terminates with a `CANCELLED` status. * All other attempts to modify the instance partition are rejected. * Reading the instance partition via the API continues to give the pre-request resource levels. Upon completion of the returned operation: * Billing begins for all successfully-allocated resources (some types may have lower than the requested levels). * All newly-reserved resources are available for serving the instance partition's tables. * The instance partition's new resource levels are readable via the API. The returned long-running operation will have a name of the format `/operations/` and can be used to track the instance partition modification. The metadata field type is UpdateInstancePartitionMetadata. The response field type is InstancePartition, if successful. Authorization requires `spanner.instancePartitions.update` permission on the resource name. | -| | `EXEC` | | Lists all instance partitions for the given instance. | + +## `SELECT` examples + +Lists all instance partitions for the given instance. + +```sql +SELECT +name, +config, +createTime, +displayName, +etag, +nodeCount, +processingUnits, +referencingBackups, +referencingDatabases, +state, +updateTime +FROM google.spanner.instance_partitions +WHERE instancesId = '{{ instancesId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new instance_partitions resource. + + + + +```sql +/*+ create */ +INSERT INTO google.spanner.instance_partitions ( +instancesId, +projectsId, +instancePartitionId, +instancePartition +) +SELECT +'{{ instancesId }}', +'{{ projectsId }}', +'{{ instancePartitionId }}', +'{{ instancePartition }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: instancePartitionId + value: '{{ instancePartitionId }}' + - name: instancePartition + value: '{{ instancePartition }}' + +``` + + + +## `UPDATE` example + +Updates a instance_partition only if the necessary resources are available. + +```sql +UPDATE google.spanner.instance_partitions +SET +instancePartition = '{{ instancePartition }}', +fieldMask = '{{ fieldMask }}' +WHERE +instancePartitionsId = '{{ instancePartitionsId }}' +AND instancesId = '{{ instancesId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified instance_partition resource. + +```sql +DELETE FROM google.spanner.instance_partitions +WHERE instancePartitionsId = '{{ instancePartitionsId }}' +AND instancesId = '{{ instancesId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/spanner/instances/index.md b/docs/google-docs/providers/google/spanner/instances/index.md index 8722b3377c..cd1d351c7b 100644 --- a/docs/google-docs/providers/google/spanner/instances/index.md +++ b/docs/google-docs/providers/google/spanner/instances/index.md @@ -1,3 +1,4 @@ + --- title: instances hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - instances - spanner - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an instance resource or lists instances in a region ## Overview
@@ -31,18 +33,20 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | Name | Datatype | Description | |:-----|:---------|:------------| | | `string` | Required. A unique identifier for the instance, which cannot be changed after the instance is created. Values are of the form `projects//instances/a-z*[a-z0-9]`. The final segment of the name must be between 2 and 64 characters in length. | -| | `object` | Autoscaling config for an instance. | +| | `object` | Autoscaling configuration for an instance. | | | `string` | Required. The name of the instance's configuration. Values are of the form `projects//instanceConfigs/`. See also InstanceConfig and ListInstanceConfigs. | | | `string` | Output only. The time at which the instance was created. | | | `string` | Required. The descriptive name for this instance as it appears in UIs. Must be unique per project and between 4 and 30 characters in length. | +| | `string` | Optional. The `Edition` of the current instance. | | | `array` | Deprecated. This field is not populated. | | | `object` | Free instance specific metadata that is kept even after an instance has been upgraded for tracking purposes. | | | `string` | The `InstanceType` of the current instance. | -| | `object` | Cloud Labels are a flexible and lightweight mechanism for organizing cloud resources into groups that reflect a customer's organizational needs and deployment strategies. Cloud Labels can be used to filter collections of resources. They can be used to control how resource metrics are aggregated. And they can be used as arguments to policy management rules (e.g. route, firewall, load balancing, etc.). * Label keys must be between 1 and 63 characters long and must conform to the following regular expression: `a-z{0,62}`. * Label values must be between 0 and 63 characters long and must conform to the regular expression `[a-z0-9_-]{0,63}`. * No more than 64 labels can be associated with a given resource. See https://goo.gl/xmQnxf for more information on and examples of labels. If you plan to use labels in your own code, please note that additional characters may be allowed in the future. And so you are advised to use an internal label representation, such as JSON, which doesn't rely upon specific characters being disallowed. For example, representing labels as the string: name + "_" + value would prove problematic if we were to allow "_" in a future release. | -| | `integer` | The number of nodes allocated to this instance. At most one of either node_count or processing_units should be present in the message. Users can set the node_count field to specify the target number of nodes allocated to the instance. If autoscaling is enabled, node_count is treated as an OUTPUT_ONLY field and reflects the current number of nodes allocated to the instance. This may be zero in API responses for instances that are not yet in state `READY`. See [the documentation](https://cloud.google.com/spanner/docs/compute-capacity) for more information about nodes and processing units. | -| | `integer` | The number of processing units allocated to this instance. At most one of processing_units or node_count should be present in the message. Users can set the processing_units field to specify the target number of processing units allocated to the instance. If autoscaling is enabled, processing_units is treated as an OUTPUT_ONLY field and reflects the current number of processing units allocated to the instance. This may be zero in API responses for instances that are not yet in state `READY`. See [the documentation](https://cloud.google.com/spanner/docs/compute-capacity) for more information about nodes and processing units. | +| | `object` | Cloud Labels are a flexible and lightweight mechanism for organizing cloud resources into groups that reflect a customer's organizational needs and deployment strategies. Cloud Labels can be used to filter collections of resources. They can be used to control how resource metrics are aggregated. And they can be used as arguments to policy management rules (e.g. route, firewall, load balancing, etc.). * Label keys must be between 1 and 63 characters long and must conform to the following regular expression: `a-z{0,62}`. * Label values must be between 0 and 63 characters long and must conform to the regular expression `[a-z0-9_-]{0,63}`. * No more than 64 labels can be associated with a given resource. See https://goo.gl/xmQnxf for more information on and examples of labels. If you plan to use labels in your own code, please note that additional characters may be allowed in the future. And so you are advised to use an internal label representation, such as JSON, which doesn't rely upon specific characters being disallowed. For example, representing labels as the string: name + "_" + value would prove problematic if we were to allow "_" in a future release. | +| | `integer` | The number of nodes allocated to this instance. At most, one of either `node_count` or `processing_units` should be present in the message. Users can set the `node_count` field to specify the target number of nodes allocated to the instance. If autoscaling is enabled, `node_count` is treated as an `OUTPUT_ONLY` field and reflects the current number of nodes allocated to the instance. This might be zero in API responses for instances that are not yet in the `READY` state. For more information, see [Compute capacity, nodes, and processing units](https://cloud.google.com/spanner/docs/compute-capacity). | +| | `integer` | The number of processing units allocated to this instance. At most, one of either `processing_units` or `node_count` should be present in the message. Users can set the `processing_units` field to specify the target number of processing units allocated to the instance. If autoscaling is enabled, `processing_units` is treated as an `OUTPUT_ONLY` field and reflects the current number of processing units allocated to the instance. This might be zero in API responses for instances that are not yet in the `READY` state. For more information, see [Compute capacity, nodes and processing units](https://cloud.google.com/spanner/docs/compute-capacity). | | | `string` | Output only. The current instance state. For CreateInstance, the state must be either omitted or set to `CREATING`. For UpdateInstance, the state must be either omitted or set to `READY`. | | | `string` | Output only. The time at which the instance was most recently updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -51,5 +55,94 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates an instance and begins preparing it to begin serving. The returned long-running operation can be used to track the progress of preparing the new instance. The instance name is assigned by the caller. If the named instance already exists, `CreateInstance` returns `ALREADY_EXISTS`. Immediately upon completion of this request: * The instance is readable via the API, with all requested attributes but no allocated resources. Its state is `CREATING`. Until completion of the returned operation: * Cancelling the operation renders the instance immediately unreadable via the API. * The instance can be deleted. * All other attempts to modify the instance are rejected. Upon completion of the returned operation: * Billing for all successfully-allocated resources begins (some types may have lower than the requested levels). * Databases can be created in the instance. * The instance's allocated resource levels are readable via the API. * The instance's state becomes `READY`. The returned long-running operation will have a name of the format `/operations/` and can be used to track creation of the instance. The metadata field type is CreateInstanceMetadata. The response field type is Instance, if successful. | | | `DELETE` | | Deletes an instance. Immediately upon completion of the request: * Billing ceases for all of the instance's reserved resources. Soon afterward: * The instance and *all of its databases* immediately and irrevocably disappear from the API. All data in the databases is permanently deleted. | | | `UPDATE` | | Updates an instance, and begins allocating or releasing resources as requested. The returned long-running operation can be used to track the progress of updating the instance. If the named instance does not exist, returns `NOT_FOUND`. Immediately upon completion of this request: * For resource types for which a decrease in the instance's allocation has been requested, billing is based on the newly-requested level. Until completion of the returned operation: * Cancelling the operation sets its metadata's cancel_time, and begins restoring resources to their pre-request values. The operation is guaranteed to succeed at undoing all resource changes, after which point it terminates with a `CANCELLED` status. * All other attempts to modify the instance are rejected. * Reading the instance via the API continues to give the pre-request resource levels. Upon completion of the returned operation: * Billing begins for all successfully-allocated resources (some types may have lower than the requested levels). * All newly-reserved resources are available for serving the instance's tables. * The instance's new resource levels are readable via the API. The returned long-running operation will have a name of the format `/operations/` and can be used to track the instance modification. The metadata field type is UpdateInstanceMetadata. The response field type is Instance, if successful. Authorization requires `spanner.instances.update` permission on the resource name. | -| | `EXEC` | | Lists all instances in the given project. | -| | `EXEC` | | Moves the instance to the target instance config. The returned long-running operation can be used to track the progress of moving the instance. `MoveInstance` returns `FAILED_PRECONDITION` if the instance meets any of the following criteria: * Has an ongoing move to a different instance config * Has backups * Has an ongoing update * Is under free trial * Contains any CMEK-enabled databases While the operation is pending: * All other attempts to modify the instance, including changes to its compute capacity, are rejected. * The following database and backup admin operations are rejected: * DatabaseAdmin.CreateDatabase, * DatabaseAdmin.UpdateDatabaseDdl (Disabled if default_leader is specified in the request.) * DatabaseAdmin.RestoreDatabase * DatabaseAdmin.CreateBackup * DatabaseAdmin.CopyBackup * Both the source and target instance configs are subject to hourly compute and storage charges. * The instance may experience higher read-write latencies and a higher transaction abort rate. However, moving an instance does not cause any downtime. The returned long-running operation will have a name of the format `/operations/` and can be used to track the move instance operation. The metadata field type is MoveInstanceMetadata. The response field type is Instance, if successful. Cancelling the operation sets its metadata's cancel_time. Cancellation is not immediate since it involves moving any data previously moved to target instance config back to the original instance config. The same operation can be used to track the progress of the cancellation. Upon successful completion of the cancellation, the operation terminates with CANCELLED status. Upon completion(if not cancelled) of the returned operation: * Instance would be successfully moved to the target instance config. * You are billed for compute and storage in target instance config. Authorization requires `spanner.instances.update` permission on the resource instance. For more details, please see [documentation](https://cloud.google.com/spanner/docs/move-instance). | +| | `EXEC` | | Moves an instance to the target instance configuration. You can use the returned long-running operation to track the progress of moving the instance. `MoveInstance` returns `FAILED_PRECONDITION` if the instance meets any of the following criteria: * Is undergoing a move to a different instance configuration * Has backups * Has an ongoing update * Contains any CMEK-enabled databases * Is a free trial instance While the operation is pending: * All other attempts to modify the instance, including changes to its compute capacity, are rejected. * The following database and backup admin operations are rejected: * `DatabaseAdmin.CreateDatabase` * `DatabaseAdmin.UpdateDatabaseDdl` (disabled if default_leader is specified in the request.) * `DatabaseAdmin.RestoreDatabase` * `DatabaseAdmin.CreateBackup` * `DatabaseAdmin.CopyBackup` * Both the source and target instance configurations are subject to hourly compute and storage charges. * The instance might experience higher read-write latencies and a higher transaction abort rate. However, moving an instance doesn't cause any downtime. The returned long-running operation has a name of the format `/operations/` and can be used to track the move instance operation. The metadata field type is MoveInstanceMetadata. The response field type is Instance, if successful. Cancelling the operation sets its metadata's cancel_time. Cancellation is not immediate because it involves moving any data previously moved to the target instance configuration back to the original instance configuration. You can use this operation to track the progress of the cancellation. Upon successful completion of the cancellation, the operation terminates with `CANCELLED` status. If not cancelled, upon completion of the returned operation: * The instance successfully moves to the target instance configuration. * You are billed for compute and storage in target instance configuration. Authorization requires the `spanner.instances.update` permission on the resource instance. For more details, see [Move an instance](https://cloud.google.com/spanner/docs/move-instance). | + +## `SELECT` examples + +Lists all instances in the given project. + +```sql +SELECT +name, +autoscalingConfig, +config, +createTime, +displayName, +edition, +endpointUris, +freeInstanceMetadata, +instanceType, +labels, +nodeCount, +processingUnits, +state, +updateTime +FROM google.spanner.instances +WHERE projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new instances resource. + + + + +```sql +/*+ create */ +INSERT INTO google.spanner.instances ( +projectsId, +instanceId, +instance +) +SELECT +'{{ projectsId }}', +'{{ instanceId }}', +'{{ instance }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: instanceId + value: '{{ instanceId }}' + - name: instance + value: '{{ instance }}' + +``` + + + +## `UPDATE` example + +Updates a instance only if the necessary resources are available. + +```sql +UPDATE google.spanner.instances +SET +instance = '{{ instance }}', +fieldMask = '{{ fieldMask }}' +WHERE +instancesId = '{{ instancesId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified instance resource. + +```sql +DELETE FROM google.spanner.instances +WHERE instancesId = '{{ instancesId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/spanner/instances_iam_policies/index.md b/docs/google-docs/providers/google/spanner/instances_iam_policies/index.md index 0e44645c49..33fa417e10 100644 --- a/docs/google-docs/providers/google/spanner/instances_iam_policies/index.md +++ b/docs/google-docs/providers/google/spanner/instances_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: instances_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - instances_iam_policies - spanner - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an instances_iam_policy resource or lists instances_iam_policies in a region ## Overview
@@ -30,13 +32,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for an instance resource. Returns an empty policy if an instance exists but does not have a policy set. Authorization requires `spanner.instances.getIamPolicy` on resource. | -| | `EXEC` | | Gets the access control policy for an instance resource. Returns an empty policy if an instance exists but does not have a policy set. Authorization requires `spanner.instances.getIamPolicy` on resource. | | | `EXEC` | | Sets the access control policy on an instance resource. Replaces any existing policy. Authorization requires `spanner.instances.setIamPolicy` on resource. | | | `EXEC` | | Returns permissions that the caller has on the specified instance resource. Attempting this RPC on a non-existent Cloud Spanner instance resource will result in a NOT_FOUND error if the user has `spanner.instances.list` permission on the containing Google Cloud Project. Otherwise returns an empty set of permissions. | + +## `SELECT` examples + +Gets the access control policy for an instance resource. Returns an empty policy if an instance exists but does not have a policy set. Authorization requires `spanner.instances.getIamPolicy` on resource. + +```sql +SELECT +condition, +members, +role +FROM google.spanner.instances_iam_policies +WHERE instancesId = '{{ instancesId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/spanner/operations/index.md b/docs/google-docs/providers/google/spanner/operations/index.md index 73c474abb7..fc3d0a666e 100644 --- a/docs/google-docs/providers/google/spanner/operations/index.md +++ b/docs/google-docs/providers/google/spanner/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - spanner - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview
@@ -30,11 +32,12 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -56,15 +59,36 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. | | | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. | | | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.spanner.operations +WHERE instancesId = '{{ instancesId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified operation resource. + +```sql +DELETE FROM google.spanner.operations +WHERE instancesId = '{{ instancesId }}' +AND operationsId = '{{ operationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/spanner/scans/index.md b/docs/google-docs/providers/google/spanner/scans/index.md index 380bf49051..65d524773f 100644 --- a/docs/google-docs/providers/google/spanner/scans/index.md +++ b/docs/google-docs/providers/google/spanner/scans/index.md @@ -1,3 +1,4 @@ + --- title: scans hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - scans - spanner - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an scan resource or lists scans in a region ## Overview
@@ -35,8 +37,23 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The upper bound for when the scan is defined. | | | `object` | ScanData contains Cloud Key Visualizer scan data used by the caller to construct a visualization. | | | `string` | A range of time (inclusive) for when the scan is defined. The lower bound for when the scan is defined. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Return available scans given a Database-specific resource name. | + +## `SELECT` examples + +Return available scans given a Database-specific resource name. + +```sql +SELECT +name, +details, +endTime, +scanData, +startTime +FROM google.spanner.scans +WHERE = '{{ }}'; +``` diff --git a/docs/google-docs/providers/google/spanner/sessions/index.md b/docs/google-docs/providers/google/spanner/sessions/index.md index 7bdb59dafe..ee8264d9fc 100644 --- a/docs/google-docs/providers/google/spanner/sessions/index.md +++ b/docs/google-docs/providers/google/spanner/sessions/index.md @@ -1,3 +1,4 @@ + --- title: sessions hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - sessions - spanner - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an session resource or lists sessions in a region ## Overview
@@ -35,16 +37,16 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The timestamp when the session is created. | | | `string` | The database role which created this session. | | | `object` | The labels for the session. * Label keys must be between 1 and 63 characters long and must conform to the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`. * Label values must be between 0 and 63 characters long and must conform to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`. * No more than 64 labels can be associated with a given session. See https://goo.gl/xmQnxf for more information on and examples of labels. | -| | `boolean` | Optional. If true, specifies a multiplexed session. A multiplexed session may be used for multiple, concurrent read-only operations but can not be used for read-write transactions, partitioned reads, or partitioned queries. Multiplexed sessions can be created via CreateSession but not via BatchCreateSessions. Multiplexed sessions may not be deleted nor listed. | +| | `boolean` | Optional. If true, specifies a multiplexed session. Use a multiplexed session for multiple, concurrent read-only operations. Don't use them for read-write transactions, partitioned reads, or partitioned queries. Use CreateSession to create multiplexed sessions. Don't use BatchCreateSessions to create a multiplexed session. You can't delete or list multiplexed sessions. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets a session. Returns `NOT_FOUND` if the session does not exist. This is mainly useful for determining whether a session is still alive. | | | `SELECT` | | Lists all sessions in a given database. | +| | `INSERT` | | Creates multiple new sessions. This API can be used to initialize a session cache on the clients. See https://goo.gl/TgSFN2 for best practices on session cache management. | | | `INSERT` | | Creates a new session. A session can be used to perform transactions that read and/or modify data in a Cloud Spanner database. Sessions are meant to be reused for many consecutive transactions. Sessions can only execute one transaction at a time. To execute multiple concurrent read-write/write-only transactions, create multiple sessions. Note that standalone reads and queries use a transaction internally, and count toward the one transaction limit. Active sessions use additional server resources, so it is a good idea to delete idle and unneeded sessions. Aside from explicit deletes, Cloud Spanner may delete sessions for which no operations are sent for more than an hour. If a session is deleted, requests to it return `NOT_FOUND`. Idle sessions can be kept alive by sending a trivial SQL query periodically, e.g., `"SELECT 1"`. | | | `DELETE` | | Ends a session, releasing server resources associated with it. This will asynchronously trigger cancellation of any operations that are running with this session. | -| | `EXEC` | | Lists all sessions in a given database. | -| | `EXEC` | | Creates multiple new sessions. This API can be used to initialize a session cache on the clients. See https://goo.gl/TgSFN2 for best practices on session cache management. | | | `EXEC` | | Batches the supplied mutation groups in a collection of efficient transactions. All mutations in a group are committed atomically. However, mutations across groups can be committed non-atomically in an unspecified order and thus, they must be independent of each other. Partial failure is possible, i.e., some groups may have been committed successfully, while some may have failed. The results of individual batches are streamed into the response as the batches are applied. BatchWrite requests are not replay protected, meaning that each mutation group may be applied more than once. Replays of non-idempotent mutations may have undesirable effects. For example, replays of an insert mutation may produce an already exists error or if you use generated or commit timestamp-based keys, it may result in additional rows being added to the mutation's table. We recommend structuring your mutation groups to be idempotent to avoid this issue. | | | `EXEC` | | Begins a new transaction. This step can often be skipped: Read, ExecuteSql and Commit can begin a new transaction as a side-effect. | | | `EXEC` | | Commits a transaction. The request includes the mutations to be applied to rows in the database. `Commit` might return an `ABORTED` error. This can occur at any time; commonly, the cause is conflicts with concurrent transactions. However, it can also happen for a variety of other reasons. If `Commit` returns `ABORTED`, the caller should re-attempt the transaction from the beginning, re-using the same session. On very rare occasions, `Commit` might return `UNKNOWN`. This can happen, for example, if the client job experiences a 1+ hour networking failure. At that point, Cloud Spanner has lost track of the transaction outcome and we recommend that you perform another read from the database to see the state of things as they are now. | @@ -56,3 +58,79 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `EXEC` | | Reads rows from the database using key lookups and scans, as a simple key/value style alternative to ExecuteSql. This method cannot be used to return a result set larger than 10 MiB; if the read matches more data than that, the read fails with a `FAILED_PRECONDITION` error. Reads inside read-write transactions might return `ABORTED`. If this occurs, the application should restart the transaction from the beginning. See Transaction for more details. Larger result sets can be yielded in streaming fashion by calling StreamingRead instead. | | | `EXEC` | | Rolls back a transaction, releasing any locks it holds. It is a good idea to call this for any transaction that includes one or more Read or ExecuteSql requests and ultimately decides not to commit. `Rollback` returns `OK` if it successfully aborts the transaction, the transaction was already aborted, or the transaction is not found. `Rollback` never returns `ABORTED`. | | | `EXEC` | | Like Read, except returns the result set as a stream. Unlike Read, there is no limit on the size of the returned result set. However, no individual row in the result set can exceed 100 MiB, and no column value can exceed 10 MiB. | + +## `SELECT` examples + +Lists all sessions in a given database. + +```sql +SELECT +name, +approximateLastUseTime, +createTime, +creatorRole, +labels, +multiplexed +FROM google.spanner.sessions +WHERE databasesId = '{{ databasesId }}' +AND instancesId = '{{ instancesId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new sessions resource. + + + + +```sql +/*+ create */ +INSERT INTO google.spanner.sessions ( +databasesId, +instancesId, +projectsId, +sessionTemplate, +sessionCount +) +SELECT +'{{ databasesId }}', +'{{ instancesId }}', +'{{ projectsId }}', +'{{ sessionTemplate }}', +'{{ sessionCount }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: sessionTemplate + value: '{{ sessionTemplate }}' + - name: sessionCount + value: '{{ sessionCount }}' + +``` + + + +## `DELETE` example + +Deletes the specified session resource. + +```sql +DELETE FROM google.spanner.sessions +WHERE databasesId = '{{ databasesId }}' +AND instancesId = '{{ instancesId }}' +AND projectsId = '{{ projectsId }}' +AND sessionsId = '{{ sessionsId }}'; +``` diff --git a/docs/google-docs/providers/google/speech/custom_classes/index.md b/docs/google-docs/providers/google/speech/custom_classes/index.md index 6749d47dd9..166a7d3728 100644 --- a/docs/google-docs/providers/google/speech/custom_classes/index.md +++ b/docs/google-docs/providers/google/speech/custom_classes/index.md @@ -1,3 +1,4 @@ + --- title: custom_classes hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - custom_classes - speech - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an custom_class resource or lists custom_classes in a region ## Overview
@@ -28,6 +30,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `string` | The class item's value. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -36,4 +42,96 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Create a custom class. | | | `DELETE` | | Delete a custom class. | | | `UPDATE` | | Update a custom class. | -| | `EXEC` | | List custom classes. | + +## `SELECT` examples + +List custom classes. + +```sql +SELECT +value +FROM google.speech.custom_classes +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new custom_classes resource. + + + + +```sql +/*+ create */ +INSERT INTO google.speech.custom_classes ( +locationsId, +projectsId, +customClassId, +customClass +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ customClassId }}', +'{{ customClass }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: customClassId + value: '{{ customClassId }}' + - name: customClass + value: '{{ customClass }}' + +``` + + + +## `UPDATE` example + +Updates a custom_class only if the necessary resources are available. + +```sql +UPDATE google.speech.custom_classes +SET +name = '{{ name }}', +customClassId = '{{ customClassId }}', +items = '{{ items }}', +kmsKeyName = '{{ kmsKeyName }}', +kmsKeyVersionName = '{{ kmsKeyVersionName }}', +uid = '{{ uid }}', +displayName = '{{ displayName }}', +state = '{{ state }}', +deleteTime = '{{ deleteTime }}', +expireTime = '{{ expireTime }}', +annotations = '{{ annotations }}', +etag = '{{ etag }}', +reconciling = true|false +WHERE +customClassesId = '{{ customClassesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified custom_class resource. + +```sql +DELETE FROM google.speech.custom_classes +WHERE customClassesId = '{{ customClassesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/speech/index.md b/docs/google-docs/providers/google/speech/index.md index 2e190f3629..5e88c83cf1 100644 --- a/docs/google-docs/providers/google/speech/index.md +++ b/docs/google-docs/providers/google/speech/index.md @@ -9,42 +9,31 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Converts audio to text by applying powerful neural network models. - +The speech service documentation. + :::info Service Summary
total resources: 4
-total selectable resources: 3
-total methods: 17
::: -## Overview - - - - - - -
Namegoogle.speech
TypeService
TitleCloud Speech-to-Text API
DescriptionConverts audio to text by applying powerful neural network models.
Idspeech:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/speech/operations/index.md b/docs/google-docs/providers/google/speech/operations/index.md index c043968091..f2ed8e87e9 100644 --- a/docs/google-docs/providers/google/speech/operations/index.md +++ b/docs/google-docs/providers/google/speech/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - speech - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview @@ -30,14 +32,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | -| | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | +| | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.speech.operations +WHERE = '{{ }}'; +``` diff --git a/docs/google-docs/providers/google/speech/phrase_sets/index.md b/docs/google-docs/providers/google/speech/phrase_sets/index.md index 631c9f5a88..a632127840 100644 --- a/docs/google-docs/providers/google/speech/phrase_sets/index.md +++ b/docs/google-docs/providers/google/speech/phrase_sets/index.md @@ -1,3 +1,4 @@ + --- title: phrase_sets hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - phrase_sets - speech - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an phrase_set resource or lists phrase_sets in a region ## Overview
@@ -37,12 +39,13 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. User-settable, human-readable name for the PhraseSet. Must be 63 characters or less. This field is not used. | | | `string` | Output only. This checksum is computed by the server based on the value of other fields. This may be sent on update, undelete, and delete requests to ensure the client has an up-to-date value before proceeding. This field is not used. | | | `string` | Output only. The time at which this resource will be purged. This field is not used. | -| | `string` | Output only. The [KMS key name](https://cloud.google.com/kms/docs/resource-hierarchy#keys) with which the content of the PhraseSet is encrypted. The expected format is `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`. | -| | `string` | Output only. The [KMS key version name](https://cloud.google.com/kms/docs/resource-hierarchy#key_versions) with which content of the PhraseSet is encrypted. The expected format is `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}/cryptoKeyVersions/{crypto_key_version}`. | +| | `string` | Output only. The [KMS key name](https://cloud.google.com/kms/docs/resource-hierarchy#keys) with which the content of the PhraseSet is encrypted. The expected format is `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`. | +| | `string` | Output only. The [KMS key version name](https://cloud.google.com/kms/docs/resource-hierarchy#key_versions) with which content of the PhraseSet is encrypted. The expected format is `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}/cryptoKeyVersions/{crypto_key_version}`. | | | `array` | A list of word and phrases. | | | `boolean` | Output only. Whether or not this PhraseSet is in the process of being updated. This field is not used. | | | `string` | Output only. The CustomClass lifecycle state. This field is not used. | | | `string` | Output only. System-assigned unique identifier for the PhraseSet. This field is not used. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -51,4 +54,108 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Create a set of phrase hints. Each item in the set can be a single word or a multi-word phrase. The items in the PhraseSet are favored by the recognition model when you send a call that includes the PhraseSet. | | | `DELETE` | | Delete a phrase set. | | | `UPDATE` | | Update a phrase set. | -| | `EXEC` | | List phrase sets. | + +## `SELECT` examples + +List phrase sets. + +```sql +SELECT +name, +annotations, +boost, +deleteTime, +displayName, +etag, +expireTime, +kmsKeyName, +kmsKeyVersionName, +phrases, +reconciling, +state, +uid +FROM google.speech.phrase_sets +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new phrase_sets resource. + + + + +```sql +/*+ create */ +INSERT INTO google.speech.phrase_sets ( +locationsId, +projectsId, +phraseSetId, +phraseSet +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ phraseSetId }}', +'{{ phraseSet }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: phraseSetId + value: '{{ phraseSetId }}' + - name: phraseSet + value: '{{ phraseSet }}' + +``` + + + +## `UPDATE` example + +Updates a phrase_set only if the necessary resources are available. + +```sql +UPDATE google.speech.phrase_sets +SET +name = '{{ name }}', +phrases = '{{ phrases }}', +boost = number, +kmsKeyName = '{{ kmsKeyName }}', +kmsKeyVersionName = '{{ kmsKeyVersionName }}', +uid = '{{ uid }}', +displayName = '{{ displayName }}', +state = '{{ state }}', +deleteTime = '{{ deleteTime }}', +expireTime = '{{ expireTime }}', +annotations = '{{ annotations }}', +etag = '{{ etag }}', +reconciling = true|false +WHERE +locationsId = '{{ locationsId }}' +AND phraseSetsId = '{{ phraseSetsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified phrase_set resource. + +```sql +DELETE FROM google.speech.phrase_sets +WHERE locationsId = '{{ locationsId }}' +AND phraseSetsId = '{{ phraseSetsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/speech/speech/index.md b/docs/google-docs/providers/google/speech/speech/index.md index 4aa9d6d19d..279df43f16 100644 --- a/docs/google-docs/providers/google/speech/speech/index.md +++ b/docs/google-docs/providers/google/speech/speech/index.md @@ -1,3 +1,4 @@ + --- title: speech hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - speech - speech - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an speech resource or lists speech in a region ## Overview
@@ -28,9 +30,11 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| -| | `EXEC` | | Performs asynchronous speech recognition: receive results via the google.longrunning.Operations interface. Returns either an `Operation.error` or an `Operation.response` which contains a `LongRunningRecognizeResponse` message. For more information on asynchronous speech recognition, see the [how-to](https://cloud.google.com/speech-to-text/docs/async-recognize). | -| | `EXEC` | | Performs synchronous speech recognition: receive results after all audio has been sent and processed. | +| | `EXEC` | | Performs asynchronous speech recognition: receive results via the google.longrunning.Operations interface. Returns either an `Operation.error` or an `Operation.response` which contains a `LongRunningRecognizeResponse` message. For more information on asynchronous speech recognition, see the [how-to](https://cloud.google.com/speech-to-text/docs/async-recognize). | +| | `EXEC` | | Performs synchronous speech recognition: receive results after all audio has been sent and processed. | diff --git a/docs/google-docs/providers/google/sqladmin/backup_runs/index.md b/docs/google-docs/providers/google/sqladmin/backup_runs/index.md index d388807274..e4a41c1ec2 100644 --- a/docs/google-docs/providers/google/sqladmin/backup_runs/index.md +++ b/docs/google-docs/providers/google/sqladmin/backup_runs/index.md @@ -1,3 +1,4 @@ + --- title: backup_runs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - backup_runs - sqladmin - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an backup_run resource or lists backup_runs in a region ## Overview @@ -41,12 +43,14 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Name of the database instance. | | | `string` | This is always `sql#backupRun`. | | | `string` | Location of the backups. | +| | `string` | Output only. The maximum chargeable bytes for the backup. | | | `string` | The URI of this resource. | | | `string` | The time the backup operation actually started in UTC timezone in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example `2012-11-15T16:19:00.094Z`. | | | `string` | The status of this run. | | | `string` | Backup time zone to prevent restores to an instance with a different time zone. Now relevant only for SQL Server. | | | `string` | The type of this run; can be either "AUTOMATED" or "ON_DEMAND" or "FINAL". This field defaults to "ON_DEMAND" and is ignored, when specified for insert requests. | | | `string` | The start time of the backup window during which this the backup was attempted in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example `2012-11-15T16:19:00.094Z`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -54,4 +58,151 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists all backup runs associated with the project or a given instance and configuration in the reverse chronological order of the backup initiation time. | | | `INSERT` | | Creates a new backup run on demand. | | | `DELETE` | | Deletes the backup taken by a backup run. | -| | `EXEC` | | Lists all backup runs associated with the project or a given instance and configuration in the reverse chronological order of the backup initiation time. | + +## `SELECT` examples + +Lists all backup runs associated with the project or a given instance and configuration in the reverse chronological order of the backup initiation time. + +```sql +SELECT +id, +description, +backupKind, +diskEncryptionConfiguration, +diskEncryptionStatus, +endTime, +enqueuedTime, +error, +instance, +kind, +location, +maxChargeableBytes, +selfLink, +startTime, +status, +timeZone, +type, +windowStartTime +FROM google.sqladmin.backup_runs +WHERE instance = '{{ instance }}' +AND project = '{{ project }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new backup_runs resource. + + + + +```sql +/*+ create */ +INSERT INTO google.sqladmin.backup_runs ( +instance, +project, +kind, +status, +enqueuedTime, +id, +startTime, +endTime, +error, +type, +description, +windowStartTime, +instance, +selfLink, +location, +diskEncryptionConfiguration, +diskEncryptionStatus, +backupKind, +timeZone, +maxChargeableBytes +) +SELECT +'{{ instance }}', +'{{ project }}', +'{{ kind }}', +'{{ status }}', +'{{ enqueuedTime }}', +'{{ id }}', +'{{ startTime }}', +'{{ endTime }}', +'{{ error }}', +'{{ type }}', +'{{ description }}', +'{{ windowStartTime }}', +'{{ instance }}', +'{{ selfLink }}', +'{{ location }}', +'{{ diskEncryptionConfiguration }}', +'{{ diskEncryptionStatus }}', +'{{ backupKind }}', +'{{ timeZone }}', +'{{ maxChargeableBytes }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: status + value: '{{ status }}' + - name: enqueuedTime + value: '{{ enqueuedTime }}' + - name: id + value: '{{ id }}' + - name: startTime + value: '{{ startTime }}' + - name: endTime + value: '{{ endTime }}' + - name: error + value: '{{ error }}' + - name: type + value: '{{ type }}' + - name: description + value: '{{ description }}' + - name: windowStartTime + value: '{{ windowStartTime }}' + - name: instance + value: '{{ instance }}' + - name: selfLink + value: '{{ selfLink }}' + - name: location + value: '{{ location }}' + - name: diskEncryptionConfiguration + value: '{{ diskEncryptionConfiguration }}' + - name: diskEncryptionStatus + value: '{{ diskEncryptionStatus }}' + - name: backupKind + value: '{{ backupKind }}' + - name: timeZone + value: '{{ timeZone }}' + - name: maxChargeableBytes + value: '{{ maxChargeableBytes }}' + +``` + + + +## `DELETE` example + +Deletes the specified backup_run resource. + +```sql +DELETE FROM google.sqladmin.backup_runs +WHERE id = '{{ id }}' +AND instance = '{{ instance }}' +AND project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/sqladmin/connect/index.md b/docs/google-docs/providers/google/sqladmin/connect/index.md index 7865ed75ff..c18d26d856 100644 --- a/docs/google-docs/providers/google/sqladmin/connect/index.md +++ b/docs/google-docs/providers/google/sqladmin/connect/index.md @@ -1,3 +1,4 @@ + --- title: connect hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - connect - sqladmin - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an connect resource or lists connect in a region ## Overview
@@ -38,8 +40,30 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `boolean` | Whether PSC connectivity is enabled for this instance. | | | `string` | The cloud region for the instance. For example, `us-central1`, `europe-west1`. The region cannot be changed after instance creation. | | | `object` | SslCerts Resource | +| | `string` | Specify what type of CA is used for the server certificate. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Retrieves connect settings about a Cloud SQL instance. | | | `EXEC` | | Generates a short-lived X509 certificate containing the provided public key and signed by a private key specific to the target instance. Users may use the certificate to authenticate as themselves when connecting to the database. | + +## `SELECT` examples + +Retrieves connect settings about a Cloud SQL instance. + +```sql +SELECT +backendType, +databaseVersion, +dnsName, +ipAddresses, +kind, +pscEnabled, +region, +serverCaCert, +serverCaMode +FROM google.sqladmin.connect +WHERE instance = '{{ instance }}' +AND project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/sqladmin/databases/index.md b/docs/google-docs/providers/google/sqladmin/databases/index.md index 5c26b8e97c..208418cfcd 100644 --- a/docs/google-docs/providers/google/sqladmin/databases/index.md +++ b/docs/google-docs/providers/google/sqladmin/databases/index.md @@ -1,3 +1,4 @@ + --- title: databases hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - databases - sqladmin - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an database resource or lists databases in a region ## Overview
@@ -39,6 +41,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The project ID of the project containing the Cloud SQL database. The Google apps domain is prefixed if applicable. | | | `string` | The URI of this resource. | | | `object` | Represents a Sql Server database on the Cloud SQL instance. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -47,4 +50,129 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Inserts a resource containing information about a database inside a Cloud SQL instance. **Note:** You can't modify the default character set and collation. | | | `DELETE` | | Deletes a database from a Cloud SQL instance. | | | `UPDATE` | | Partially updates a resource containing information about a database inside a Cloud SQL instance. This method supports patch semantics. | -| | `UPDATE` | | Updates a resource containing information about a database inside a Cloud SQL instance. | +| | `EXEC` | | Updates a resource containing information about a database inside a Cloud SQL instance. | + +## `SELECT` examples + +Lists databases in the specified Cloud SQL instance. + +```sql +SELECT +name, +charset, +collation, +etag, +instance, +kind, +project, +selfLink, +sqlserverDatabaseDetails +FROM google.sqladmin.databases +WHERE instance = '{{ instance }}' +AND project = '{{ project }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new databases resource. + + + + +```sql +/*+ create */ +INSERT INTO google.sqladmin.databases ( +instance, +project, +kind, +charset, +collation, +etag, +name, +instance, +selfLink, +project, +sqlserverDatabaseDetails +) +SELECT +'{{ instance }}', +'{{ project }}', +'{{ kind }}', +'{{ charset }}', +'{{ collation }}', +'{{ etag }}', +'{{ name }}', +'{{ instance }}', +'{{ selfLink }}', +'{{ project }}', +'{{ sqlserverDatabaseDetails }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: charset + value: '{{ charset }}' + - name: collation + value: '{{ collation }}' + - name: etag + value: '{{ etag }}' + - name: name + value: '{{ name }}' + - name: instance + value: '{{ instance }}' + - name: selfLink + value: '{{ selfLink }}' + - name: project + value: '{{ project }}' + - name: sqlserverDatabaseDetails + value: '{{ sqlserverDatabaseDetails }}' + +``` + + + +## `UPDATE` example + +Updates a database only if the necessary resources are available. + +```sql +UPDATE google.sqladmin.databases +SET +kind = '{{ kind }}', +charset = '{{ charset }}', +collation = '{{ collation }}', +etag = '{{ etag }}', +name = '{{ name }}', +instance = '{{ instance }}', +selfLink = '{{ selfLink }}', +project = '{{ project }}', +sqlserverDatabaseDetails = '{{ sqlserverDatabaseDetails }}' +WHERE +database = '{{ database }}' +AND instance = '{{ instance }}' +AND project = '{{ project }}'; +``` + +## `DELETE` example + +Deletes the specified database resource. + +```sql +DELETE FROM google.sqladmin.databases +WHERE database = '{{ database }}' +AND instance = '{{ instance }}' +AND project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/sqladmin/flags/index.md b/docs/google-docs/providers/google/sqladmin/flags/index.md index f4fd33f24f..6bba18c7f0 100644 --- a/docs/google-docs/providers/google/sqladmin/flags/index.md +++ b/docs/google-docs/providers/google/sqladmin/flags/index.md @@ -1,3 +1,4 @@ + --- title: flags hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - flags - sqladmin - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an flag resource or lists flags in a region ## Overview
@@ -40,7 +42,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | For `INTEGER` flags, the minimum allowed value. | | | `boolean` | Indicates whether changing this flag will trigger a database restart. Only applicable to Second Generation instances. | | | `string` | The type of the flag. Flags are typed to being `BOOLEAN`, `STRING`, `INTEGER` or `NONE`. `NONE` is used for flags that do not take a value, such as `skip_grant_tables`. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists all available database flags for Cloud SQL instances. | + +## `SELECT` examples + +Lists all available database flags for Cloud SQL instances. + +```sql +SELECT +name, +allowedIntValues, +allowedStringValues, +appliesTo, +inBeta, +kind, +maxValue, +minValue, +requiresRestart, +type +FROM google.sqladmin.flags +WHERE = '{{ }}'; +``` diff --git a/docs/google-docs/providers/google/sqladmin/index.md b/docs/google-docs/providers/google/sqladmin/index.md index 1cccdffe49..dc8c540663 100644 --- a/docs/google-docs/providers/google/sqladmin/index.md +++ b/docs/google-docs/providers/google/sqladmin/index.md @@ -9,34 +9,23 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -API for Cloud SQL database instance management - +The sqladmin service documentation. + :::info Service Summary
-total resources: 14
-total selectable resources: 12
-total methods: 64
+total resources: 15
::: -## Overview -
- - - - - -
Namegoogle.sqladmin
TypeService
TitleCloud SQL Admin API
DescriptionAPI for Cloud SQL database instance management
Idsqladmin:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/sqladmin/instances/index.md b/docs/google-docs/providers/google/sqladmin/instances/index.md index f8774a9c42..3b14906895 100644 --- a/docs/google-docs/providers/google/sqladmin/instances/index.md +++ b/docs/google-docs/providers/google/sqladmin/instances/index.md @@ -1,3 +1,4 @@ + --- title: instances hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - instances - sqladmin - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an instance resource or lists instances in a region ## Overview @@ -62,6 +64,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `array` | The replicas of the instance. | | | `object` | A primary instance and disaster recovery (DR) replica pair. A DR replica is a cross-region replica that you designate for failover in the event that the primary instance experiences regional failure. Only applicable to MySQL. | | | `string` | Initial root password. Use only on creation. You must set root passwords before you can connect to PostgreSQL instances. | +| | `boolean` | Output only. This status indicates whether the instance satisfies PZI. The status is reserved for future use. | | | `boolean` | This status indicates whether the instance satisfies PZS. The status is reserved for future use. | | | `object` | Any scheduled maintenance for this instance. | | | `string` | The Compute Engine zone that the failover instance is currently serving from for a regional instance. This value could be different from the zone that was specified when the instance was created if the instance has failed over to its secondary/failover zone. | @@ -72,8 +75,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | | | | `string` | The current serving state of the Cloud SQL instance. | | | `array` | If the instance state is SUSPENDED, the reason for the suspension. | +| | `boolean` | Input only. Whether Cloud SQL is enabled to switch storing point-in-time recovery log files from a data disk to Cloud Storage. | | | `array` | Output only. All database versions that are available for upgrade. | | | `string` | Output only. The dns name of the primary instance in a replication group. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -82,8 +87,6 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new Cloud SQL instance. | | | `DELETE` | | Deletes a Cloud SQL instance. | | | `UPDATE` | | Partially updates settings of a Cloud SQL instance by merging the request with the current configuration. This method supports patch semantics. | -| | `UPDATE` | | Updates settings of a Cloud SQL instance. Using this operation might cause your instance to restart. | -| | `EXEC` | | Lists instances under a given project. | | | `EXEC` | | Acquire a lease for the setup of SQL Server Reporting Services (SSRS). | | | `EXEC` | | Creates a Cloud SQL instance as a clone of the source instance. Using this operation might cause your instance to restart. | | | `EXEC` | | Demotes an existing standalone instance to be a Cloud SQL read replica for an external database server. | @@ -91,6 +94,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `EXEC` | | Exports data from a Cloud SQL instance to a Cloud Storage bucket as a SQL dump or CSV file. | | | `EXEC` | | Initiates a manual failover of a high availability (HA) primary instance to a standby instance, which becomes the primary instance. Users are then rerouted to the new primary. For more information, see the [Overview of high availability](https://cloud.google.com/sql/docs/mysql/high-availability) page in the Cloud SQL documentation. If using Legacy HA (MySQL only), this causes the instance to failover to its failover replica instance. | | | `EXEC` | | Imports data into a Cloud SQL instance from a SQL dump or CSV file in Cloud Storage. | +| | `EXEC` | | Lists all versions of server certificates and certificate authorities (CAs) for the specified instance. There can be up to three sets of certs listed: the certificate that is currently in use, a future that has been added but not yet used to sign a certificate, and a certificate that has been rotated out. | | | `EXEC` | | Perform Disk Shrink on primary instance. | | | `EXEC` | | Promotes the read replica instance to be an independent Cloud SQL primary instance. Using this operation might cause your instance to restart. | | | `EXEC` | | Reencrypt CMEK instance with latest key version. | @@ -100,10 +104,358 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `EXEC` | | Deletes all client certificates and generates a new server SSL certificate for the instance. | | | `EXEC` | | Restarts a Cloud SQL instance. | | | `EXEC` | | Restores a backup of a Cloud SQL instance. Using this operation might cause your instance to restart. | -| | `EXEC` | | Rotates the server certificate to one signed by the Certificate Authority (CA) version previously added with the addServerCA method. | +| | `EXEC` | | Rotates the server certificate to one signed by the Certificate Authority (CA) version previously added with the addServerCA method. For instances that have enabled Certificate Authority Service (CAS) based server CA, please use RotateServerCertificate to rotate the server certificate. | +| | `EXEC` | | Rotates the server certificate version to one previously added with the addServerCertificate method. For instances not using Certificate Authority Service (CAS) server CA, please use RotateServerCa instead. | | | `EXEC` | | Start External primary instance migration. | | | `EXEC` | | Starts the replication in the read replica instance. | | | `EXEC` | | Stops the replication in the read replica instance. | | | `EXEC` | | Switches over from the primary instance to the designated DR replica instance. | | | `EXEC` | | Truncate MySQL general and slow query log tables MySQL only. | +| | `EXEC` | | Updates settings of a Cloud SQL instance. Using this operation might cause your instance to restart. | | | `EXEC` | | Verify External primary instance external sync settings. | + +## `SELECT` examples + +Lists instances under a given project. + +```sql +SELECT +name, +availableMaintenanceVersions, +backendType, +connectionName, +createTime, +currentDiskSize, +databaseInstalledVersion, +databaseVersion, +diskEncryptionConfiguration, +diskEncryptionStatus, +dnsName, +etag, +failoverReplica, +gceZone, +geminiConfig, +instanceType, +ipAddresses, +ipv6Address, +kind, +maintenanceVersion, +masterInstanceName, +maxDiskSize, +onPremisesConfiguration, +outOfDiskReport, +primaryDnsName, +project, +pscServiceAttachmentLink, +region, +replicaConfiguration, +replicaNames, +replicationCluster, +rootPassword, +satisfiesPzi, +satisfiesPzs, +scheduledMaintenance, +secondaryGceZone, +selfLink, +serverCaCert, +serviceAccountEmailAddress, +settings, +sqlNetworkArchitecture, +state, +suspensionReason, +switchTransactionLogsToCloudStorageEnabled, +upgradableDatabaseVersions, +writeEndpoint +FROM google.sqladmin.instances +WHERE project = '{{ project }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new instances resource. + + + + +```sql +/*+ create */ +INSERT INTO google.sqladmin.instances ( +project, +kind, +state, +databaseVersion, +settings, +etag, +failoverReplica, +masterInstanceName, +replicaNames, +maxDiskSize, +currentDiskSize, +ipAddresses, +serverCaCert, +instanceType, +project, +ipv6Address, +serviceAccountEmailAddress, +onPremisesConfiguration, +replicaConfiguration, +backendType, +selfLink, +suspensionReason, +connectionName, +name, +region, +gceZone, +secondaryGceZone, +diskEncryptionConfiguration, +diskEncryptionStatus, +rootPassword, +scheduledMaintenance, +satisfiesPzs, +databaseInstalledVersion, +outOfDiskReport, +createTime, +availableMaintenanceVersions, +maintenanceVersion, +upgradableDatabaseVersions, +sqlNetworkArchitecture, +pscServiceAttachmentLink, +dnsName, +primaryDnsName, +writeEndpoint, +replicationCluster, +geminiConfig, +satisfiesPzi, +switchTransactionLogsToCloudStorageEnabled +) +SELECT +'{{ project }}', +'{{ kind }}', +'{{ state }}', +'{{ databaseVersion }}', +'{{ settings }}', +'{{ etag }}', +'{{ failoverReplica }}', +'{{ masterInstanceName }}', +'{{ replicaNames }}', +'{{ maxDiskSize }}', +'{{ currentDiskSize }}', +'{{ ipAddresses }}', +'{{ serverCaCert }}', +'{{ instanceType }}', +'{{ project }}', +'{{ ipv6Address }}', +'{{ serviceAccountEmailAddress }}', +'{{ onPremisesConfiguration }}', +'{{ replicaConfiguration }}', +'{{ backendType }}', +'{{ selfLink }}', +'{{ suspensionReason }}', +'{{ connectionName }}', +'{{ name }}', +'{{ region }}', +'{{ gceZone }}', +'{{ secondaryGceZone }}', +'{{ diskEncryptionConfiguration }}', +'{{ diskEncryptionStatus }}', +'{{ rootPassword }}', +'{{ scheduledMaintenance }}', +true|false, +'{{ databaseInstalledVersion }}', +'{{ outOfDiskReport }}', +'{{ createTime }}', +'{{ availableMaintenanceVersions }}', +'{{ maintenanceVersion }}', +'{{ upgradableDatabaseVersions }}', +'{{ sqlNetworkArchitecture }}', +'{{ pscServiceAttachmentLink }}', +'{{ dnsName }}', +'{{ primaryDnsName }}', +'{{ writeEndpoint }}', +'{{ replicationCluster }}', +'{{ geminiConfig }}', +true|false, +true|false +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: state + value: '{{ state }}' + - name: databaseVersion + value: '{{ databaseVersion }}' + - name: settings + value: '{{ settings }}' + - name: etag + value: '{{ etag }}' + - name: failoverReplica + value: + - name: name + value: '{{ name }}' + - name: available + value: '{{ available }}' + - name: masterInstanceName + value: '{{ masterInstanceName }}' + - name: replicaNames + value: '{{ replicaNames }}' + - name: maxDiskSize + value: '{{ maxDiskSize }}' + - name: currentDiskSize + value: '{{ currentDiskSize }}' + - name: ipAddresses + value: '{{ ipAddresses }}' + - name: serverCaCert + value: '{{ serverCaCert }}' + - name: instanceType + value: '{{ instanceType }}' + - name: project + value: '{{ project }}' + - name: ipv6Address + value: '{{ ipv6Address }}' + - name: serviceAccountEmailAddress + value: '{{ serviceAccountEmailAddress }}' + - name: onPremisesConfiguration + value: '{{ onPremisesConfiguration }}' + - name: replicaConfiguration + value: '{{ replicaConfiguration }}' + - name: backendType + value: '{{ backendType }}' + - name: selfLink + value: '{{ selfLink }}' + - name: suspensionReason + value: '{{ suspensionReason }}' + - name: connectionName + value: '{{ connectionName }}' + - name: name + value: '{{ name }}' + - name: region + value: '{{ region }}' + - name: gceZone + value: '{{ gceZone }}' + - name: secondaryGceZone + value: '{{ secondaryGceZone }}' + - name: diskEncryptionConfiguration + value: '{{ diskEncryptionConfiguration }}' + - name: diskEncryptionStatus + value: '{{ diskEncryptionStatus }}' + - name: rootPassword + value: '{{ rootPassword }}' + - name: scheduledMaintenance + value: '{{ scheduledMaintenance }}' + - name: satisfiesPzs + value: '{{ satisfiesPzs }}' + - name: databaseInstalledVersion + value: '{{ databaseInstalledVersion }}' + - name: outOfDiskReport + value: '{{ outOfDiskReport }}' + - name: createTime + value: '{{ createTime }}' + - name: availableMaintenanceVersions + value: '{{ availableMaintenanceVersions }}' + - name: maintenanceVersion + value: '{{ maintenanceVersion }}' + - name: upgradableDatabaseVersions + value: '{{ upgradableDatabaseVersions }}' + - name: sqlNetworkArchitecture + value: '{{ sqlNetworkArchitecture }}' + - name: pscServiceAttachmentLink + value: '{{ pscServiceAttachmentLink }}' + - name: dnsName + value: '{{ dnsName }}' + - name: primaryDnsName + value: '{{ primaryDnsName }}' + - name: writeEndpoint + value: '{{ writeEndpoint }}' + - name: replicationCluster + value: '{{ replicationCluster }}' + - name: geminiConfig + value: '{{ geminiConfig }}' + - name: satisfiesPzi + value: '{{ satisfiesPzi }}' + - name: switchTransactionLogsToCloudStorageEnabled + value: '{{ switchTransactionLogsToCloudStorageEnabled }}' + +``` + + + +## `UPDATE` example + +Updates a instance only if the necessary resources are available. + +```sql +UPDATE google.sqladmin.instances +SET +kind = '{{ kind }}', +state = '{{ state }}', +databaseVersion = '{{ databaseVersion }}', +settings = '{{ settings }}', +etag = '{{ etag }}', +failoverReplica = '{{ failoverReplica }}', +masterInstanceName = '{{ masterInstanceName }}', +replicaNames = '{{ replicaNames }}', +maxDiskSize = '{{ maxDiskSize }}', +currentDiskSize = '{{ currentDiskSize }}', +ipAddresses = '{{ ipAddresses }}', +serverCaCert = '{{ serverCaCert }}', +instanceType = '{{ instanceType }}', +project = '{{ project }}', +ipv6Address = '{{ ipv6Address }}', +serviceAccountEmailAddress = '{{ serviceAccountEmailAddress }}', +onPremisesConfiguration = '{{ onPremisesConfiguration }}', +replicaConfiguration = '{{ replicaConfiguration }}', +backendType = '{{ backendType }}', +selfLink = '{{ selfLink }}', +suspensionReason = '{{ suspensionReason }}', +connectionName = '{{ connectionName }}', +name = '{{ name }}', +region = '{{ region }}', +gceZone = '{{ gceZone }}', +secondaryGceZone = '{{ secondaryGceZone }}', +diskEncryptionConfiguration = '{{ diskEncryptionConfiguration }}', +diskEncryptionStatus = '{{ diskEncryptionStatus }}', +rootPassword = '{{ rootPassword }}', +scheduledMaintenance = '{{ scheduledMaintenance }}', +satisfiesPzs = true|false, +databaseInstalledVersion = '{{ databaseInstalledVersion }}', +outOfDiskReport = '{{ outOfDiskReport }}', +createTime = '{{ createTime }}', +availableMaintenanceVersions = '{{ availableMaintenanceVersions }}', +maintenanceVersion = '{{ maintenanceVersion }}', +upgradableDatabaseVersions = '{{ upgradableDatabaseVersions }}', +sqlNetworkArchitecture = '{{ sqlNetworkArchitecture }}', +pscServiceAttachmentLink = '{{ pscServiceAttachmentLink }}', +dnsName = '{{ dnsName }}', +primaryDnsName = '{{ primaryDnsName }}', +writeEndpoint = '{{ writeEndpoint }}', +replicationCluster = '{{ replicationCluster }}', +geminiConfig = '{{ geminiConfig }}', +satisfiesPzi = true|false, +switchTransactionLogsToCloudStorageEnabled = true|false +WHERE +instance = '{{ instance }}' +AND project = '{{ project }}'; +``` + +## `DELETE` example + +Deletes the specified instance resource. + +```sql +DELETE FROM google.sqladmin.instances +WHERE instance = '{{ instance }}' +AND project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/sqladmin/instances_disk_shrink_config/index.md b/docs/google-docs/providers/google/sqladmin/instances_disk_shrink_config/index.md index 3633e074a8..7b43d14426 100644 --- a/docs/google-docs/providers/google/sqladmin/instances_disk_shrink_config/index.md +++ b/docs/google-docs/providers/google/sqladmin/instances_disk_shrink_config/index.md @@ -1,3 +1,4 @@ + --- title: instances_disk_shrink_config hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - instances_disk_shrink_config - sqladmin - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an instances_disk_shrink_config resource or lists instances_disk_shrink_config in a region ## Overview
@@ -33,7 +35,22 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | This is always `sql#getDiskShrinkConfig`. | | | `string` | Additional message to customers. | | | `string` | The minimum size to which a disk can be shrunk in GigaBytes. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Get Disk Shrink Config for a given instance. | + +## `SELECT` examples + +Get Disk Shrink Config for a given instance. + +```sql +SELECT +kind, +message, +minimalTargetSizeGb +FROM google.sqladmin.instances_disk_shrink_config +WHERE instance = '{{ instance }}' +AND project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/sqladmin/instances_latest_recovery_time/index.md b/docs/google-docs/providers/google/sqladmin/instances_latest_recovery_time/index.md index 7ed1cd4fa2..82bc43c054 100644 --- a/docs/google-docs/providers/google/sqladmin/instances_latest_recovery_time/index.md +++ b/docs/google-docs/providers/google/sqladmin/instances_latest_recovery_time/index.md @@ -1,3 +1,4 @@ + --- title: instances_latest_recovery_time hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - instances_latest_recovery_time - sqladmin - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an instances_latest_recovery_time resource or lists instances_latest_recovery_time in a region ## Overview
@@ -32,7 +34,21 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | This is always `sql#getLatestRecoveryTime`. | | | `string` | Timestamp, identifies the latest recovery time of the source instance. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Get Latest Recovery Time for a given instance. | + +## `SELECT` examples + +Get Latest Recovery Time for a given instance. + +```sql +SELECT +kind, +latestRecoveryTime +FROM google.sqladmin.instances_latest_recovery_time +WHERE instance = '{{ instance }}' +AND project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/sqladmin/instances_server_ca/index.md b/docs/google-docs/providers/google/sqladmin/instances_server_ca/index.md index d4bbced1bb..3c8b399e8d 100644 --- a/docs/google-docs/providers/google/sqladmin/instances_server_ca/index.md +++ b/docs/google-docs/providers/google/sqladmin/instances_server_ca/index.md @@ -1,3 +1,4 @@ + --- title: instances_server_ca hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - instances_server_ca - sqladmin - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an instances_server_ca resource or lists instances_server_ca in a region ## Overview
@@ -28,8 +30,46 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `INSERT` | | Adds a new trusted Certificate Authority (CA) version for the specified instance. Required to prepare for a certificate rotation. If a CA version was previously added but never used in a certificate rotation, this operation replaces that version. There cannot be more than one CA version waiting to be rotated in. For instances that have enabled Certificate Authority Service (CAS) based server CA, please use AddServerCertificate to add a new server certificate. | + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new instances_server_ca resource. + + + + +```sql +/*+ create */ +INSERT INTO google.sqladmin.instances_server_ca ( +instance, +project +) +SELECT +'{{ instance }}', +'{{ project }}' +; +``` + + + +```yaml +resources: + - name: instance + props: [] + +``` + + diff --git a/docs/google-docs/providers/google/sqladmin/instances_server_cas/index.md b/docs/google-docs/providers/google/sqladmin/instances_server_cas/index.md index a7569419ec..828ca1a635 100644 --- a/docs/google-docs/providers/google/sqladmin/instances_server_cas/index.md +++ b/docs/google-docs/providers/google/sqladmin/instances_server_cas/index.md @@ -1,3 +1,4 @@ + --- title: instances_server_cas hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - instances_server_cas - sqladmin - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an instances_server_ca resource or lists instances_server_cas in a region ## Overview @@ -33,7 +35,22 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | | | | `array` | List of server CA certificates for the instance. | | | `string` | This is always `sql#instancesListServerCas`. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists all of the trusted Certificate Authorities (CAs) for the specified instance. There can be up to three CAs listed: the CA that was used to sign the certificate that is currently in use, a CA that has been added but not yet used to sign a certificate, and a CA used to sign a certificate that has previously rotated out. | + +## `SELECT` examples + +Lists all of the trusted Certificate Authorities (CAs) for the specified instance. There can be up to three CAs listed: the CA that was used to sign the certificate that is currently in use, a CA that has been added but not yet used to sign a certificate, and a CA used to sign a certificate that has previously rotated out. + +```sql +SELECT +activeVersion, +certs, +kind +FROM google.sqladmin.instances_server_cas +WHERE instance = '{{ instance }}' +AND project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/sqladmin/instances_server_certificate/index.md b/docs/google-docs/providers/google/sqladmin/instances_server_certificate/index.md new file mode 100644 index 0000000000..ac6cfacab4 --- /dev/null +++ b/docs/google-docs/providers/google/sqladmin/instances_server_certificate/index.md @@ -0,0 +1,75 @@ + +--- +title: instances_server_certificate +hide_title: false +hide_table_of_contents: false +keywords: + - instances_server_certificate + - sqladmin + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an instances_server_certificate resource or lists instances_server_certificate in a region + +## Overview +
+ + + +
Nameinstances_server_certificate
TypeResource
Id
+ +## Fields +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `INSERT` | | Add a new trusted server certificate version for the specified instance using Certificate Authority Service (CAS) server CA. Required to prepare for a certificate rotation. If a server certificate version was previously added but never used in a certificate rotation, this operation replaces that version. There cannot be more than one certificate version waiting to be rotated in. For instances not using CAS server CA, please use AddServerCa instead. | + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new instances_server_certificate resource. + + + + +```sql +/*+ create */ +INSERT INTO google.sqladmin.instances_server_certificate ( +instance, +project +) +SELECT +'{{ instance }}', +'{{ project }}' +; +``` + + + +```yaml +resources: + - name: instance + props: [] + +``` + + diff --git a/docs/google-docs/providers/google/sqladmin/operations/index.md b/docs/google-docs/providers/google/sqladmin/operations/index.md index 6a38cc0557..81c575c001 100644 --- a/docs/google-docs/providers/google/sqladmin/operations/index.md +++ b/docs/google-docs/providers/google/sqladmin/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - sqladmin - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview @@ -48,10 +50,38 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | | | | `string` | The project ID of the target instance related to this operation. | | | `string` | The email address of the user who initiated this operation. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Retrieves an instance operation that has been performed on an instance. | | | `SELECT` | | Lists all instance operations that have been performed on the given Cloud SQL instance in the reverse chronological order of the start time. | -| | `EXEC` | | Lists all instance operations that have been performed on the given Cloud SQL instance in the reverse chronological order of the start time. | | | `EXEC` | | Cancels an instance operation that has been performed on an instance. | + +## `SELECT` examples + +Lists all instance operations that have been performed on the given Cloud SQL instance in the reverse chronological order of the start time. + +```sql +SELECT +name, +acquireSsrsLeaseContext, +apiWarning, +backupContext, +endTime, +error, +exportContext, +importContext, +insertTime, +kind, +operationType, +selfLink, +startTime, +status, +targetId, +targetLink, +targetProject, +user +FROM google.sqladmin.operations +WHERE project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/sqladmin/ssl_certs/index.md b/docs/google-docs/providers/google/sqladmin/ssl_certs/index.md index 00719e716f..83e1415a3f 100644 --- a/docs/google-docs/providers/google/sqladmin/ssl_certs/index.md +++ b/docs/google-docs/providers/google/sqladmin/ssl_certs/index.md @@ -1,3 +1,4 @@ + --- title: ssl_certs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - ssl_certs - sqladmin - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an ssl_cert resource or lists ssl_certs in a region ## Overview
@@ -39,6 +41,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | This is always `sql#sslCert`. | | | `string` | The URI of this resource. | | | `string` | Sha1 Fingerprint. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -46,3 +49,74 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists all of the current SSL certificates for the instance. | | | `INSERT` | | Creates an SSL certificate and returns it along with the private key and server certificate authority. The new certificate will not be usable until the instance is restarted. | | | `DELETE` | | Deletes the SSL certificate. For First Generation instances, the certificate remains valid until the instance is restarted. | + +## `SELECT` examples + +Lists all of the current SSL certificates for the instance. + +```sql +SELECT +cert, +certSerialNumber, +commonName, +createTime, +expirationTime, +instance, +kind, +selfLink, +sha1Fingerprint +FROM google.sqladmin.ssl_certs +WHERE instance = '{{ instance }}' +AND project = '{{ project }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new ssl_certs resource. + + + + +```sql +/*+ create */ +INSERT INTO google.sqladmin.ssl_certs ( +instance, +project, +commonName +) +SELECT +'{{ instance }}', +'{{ project }}', +'{{ commonName }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: commonName + value: '{{ commonName }}' + +``` + + + +## `DELETE` example + +Deletes the specified ssl_cert resource. + +```sql +DELETE FROM google.sqladmin.ssl_certs +WHERE instance = '{{ instance }}' +AND project = '{{ project }}' +AND sha1Fingerprint = '{{ sha1Fingerprint }}'; +``` diff --git a/docs/google-docs/providers/google/sqladmin/ssl_certs_ephemeral/index.md b/docs/google-docs/providers/google/sqladmin/ssl_certs_ephemeral/index.md index 9abc6759d3..f64fcd11c6 100644 --- a/docs/google-docs/providers/google/sqladmin/ssl_certs_ephemeral/index.md +++ b/docs/google-docs/providers/google/sqladmin/ssl_certs_ephemeral/index.md @@ -1,3 +1,4 @@ + --- title: ssl_certs_ephemeral hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - ssl_certs_ephemeral - sqladmin - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an ssl_certs_ephemeral resource or lists ssl_certs_ephemeral in a region ## Overview
@@ -28,8 +30,54 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `INSERT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `INSERT` | | Generates a short-lived X509 certificate containing the provided public key and signed by a private key specific to the target instance. Users may use the certificate to authenticate as themselves when connecting to the database. | + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new ssl_certs_ephemeral resource. + + + + +```sql +/*+ create */ +INSERT INTO google.sqladmin.ssl_certs_ephemeral ( +instance, +project, +public_key, +access_token +) +SELECT +'{{ instance }}', +'{{ project }}', +'{{ public_key }}', +'{{ access_token }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: public_key + value: '{{ public_key }}' + - name: access_token + value: '{{ access_token }}' + +``` + + diff --git a/docs/google-docs/providers/google/sqladmin/tiers/index.md b/docs/google-docs/providers/google/sqladmin/tiers/index.md index 085424a079..e9359662a2 100644 --- a/docs/google-docs/providers/google/sqladmin/tiers/index.md +++ b/docs/google-docs/providers/google/sqladmin/tiers/index.md @@ -1,3 +1,4 @@ + --- title: tiers hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - tiers - sqladmin - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an tier resource or lists tiers in a region ## Overview @@ -35,7 +37,23 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | This is always `sql#tier`. | | | `array` | The applicable regions for this tier. | | | `string` | An identifier for the machine type, for example, `db-custom-1-3840`. For related information, see [Pricing](/sql/pricing). | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists all available machine types (tiers) for Cloud SQL, for example, `db-custom-1-3840`. For more information, see https://cloud.google.com/sql/pricing. | + +## `SELECT` examples + +Lists all available machine types (tiers) for Cloud SQL, for example, `db-custom-1-3840`. For more information, see https://cloud.google.com/sql/pricing. + +```sql +SELECT +DiskQuota, +RAM, +kind, +region, +tier +FROM google.sqladmin.tiers +WHERE project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/sqladmin/users/index.md b/docs/google-docs/providers/google/sqladmin/users/index.md index 809f76fb5f..b5bb5d6a95 100644 --- a/docs/google-docs/providers/google/sqladmin/users/index.md +++ b/docs/google-docs/providers/google/sqladmin/users/index.md @@ -1,3 +1,4 @@ + --- title: users hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - users - sqladmin - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an user resource or lists users in a region ## Overview
@@ -41,6 +43,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The project ID of the project containing the Cloud SQL database. The Google apps domain is prefixed if applicable. Can be omitted for `update` because it is already specified on the URL. | | | `object` | Represents a Sql Server user on the Cloud SQL instance. | | | `string` | The user type. It determines the method to authenticate the user during login. The default is the database's built-in user type. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -48,5 +51,116 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists users in the specified Cloud SQL instance. | | | `INSERT` | | Creates a new user in a Cloud SQL instance. | | | `DELETE` | | Deletes a user from a Cloud SQL instance. | -| | `UPDATE` | | Updates an existing user in a Cloud SQL instance. | -| | `EXEC` | | Lists users in the specified Cloud SQL instance. | +| | `EXEC` | | Updates an existing user in a Cloud SQL instance. | + +## `SELECT` examples + +Lists users in the specified Cloud SQL instance. + +```sql +SELECT +name, +dualPasswordType, +etag, +host, +instance, +kind, +password, +passwordPolicy, +project, +sqlserverUserDetails, +type +FROM google.sqladmin.users +WHERE instance = '{{ instance }}' +AND project = '{{ project }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new users resource. + + + + +```sql +/*+ create */ +INSERT INTO google.sqladmin.users ( +instance, +project, +kind, +password, +etag, +name, +host, +instance, +project, +type, +sqlserverUserDetails, +passwordPolicy, +dualPasswordType +) +SELECT +'{{ instance }}', +'{{ project }}', +'{{ kind }}', +'{{ password }}', +'{{ etag }}', +'{{ name }}', +'{{ host }}', +'{{ instance }}', +'{{ project }}', +'{{ type }}', +'{{ sqlserverUserDetails }}', +'{{ passwordPolicy }}', +'{{ dualPasswordType }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: password + value: '{{ password }}' + - name: etag + value: '{{ etag }}' + - name: name + value: '{{ name }}' + - name: host + value: '{{ host }}' + - name: instance + value: '{{ instance }}' + - name: project + value: '{{ project }}' + - name: type + value: '{{ type }}' + - name: sqlserverUserDetails + value: '{{ sqlserverUserDetails }}' + - name: passwordPolicy + value: '{{ passwordPolicy }}' + - name: dualPasswordType + value: '{{ dualPasswordType }}' + +``` + + + +## `DELETE` example + +Deletes the specified user resource. + +```sql +DELETE FROM google.sqladmin.users +WHERE instance = '{{ instance }}' +AND project = '{{ project }}'; +``` diff --git a/docs/google-docs/providers/google/storage/anywhere_caches/index.md b/docs/google-docs/providers/google/storage/anywhere_caches/index.md index 9319f1e20d..19dfc20817 100644 --- a/docs/google-docs/providers/google/storage/anywhere_caches/index.md +++ b/docs/google-docs/providers/google/storage/anywhere_caches/index.md @@ -1,3 +1,4 @@ + --- title: anywhere_caches hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - anywhere_caches - storage - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an anywhere_cach resource or lists anywhere_caches in a region ## Overview
@@ -42,6 +44,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The TTL of all cache entries in whole seconds. e.g., "7200s". | | | `string` | The modification time of the cache instance metadata in RFC 3339 format. | | | `string` | The zone in which the cache instance is running. For example, us-central1-a. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -49,7 +52,134 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Returns a list of Anywhere Cache instances of the bucket matching the criteria. | | | `INSERT` | | Creates an Anywhere Cache instance. | | | `UPDATE` | | Updates the config(ttl and admissionPolicy) of an Anywhere Cache instance. | -| | `EXEC` | | Returns a list of Anywhere Cache instances of the bucket matching the criteria. | | | `EXEC` | | Disables an Anywhere Cache instance. | | | `EXEC` | | Pauses an Anywhere Cache instance. | | | `EXEC` | | Resumes a paused or disabled Anywhere Cache instance. | + +## `SELECT` examples + +Returns a list of Anywhere Cache instances of the bucket matching the criteria. + +```sql +SELECT +id, +admissionPolicy, +anywhereCacheId, +bucket, +createTime, +kind, +pendingUpdate, +selfLink, +state, +ttl, +updateTime, +zone +FROM google.storage.anywhere_caches +WHERE bucket = '{{ bucket }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new anywhere_caches resource. + + + + +```sql +/*+ create */ +INSERT INTO google.storage.anywhere_caches ( +bucket, +kind, +id, +selfLink, +bucket, +anywhereCacheId, +zone, +state, +createTime, +updateTime, +ttl, +admissionPolicy, +pendingUpdate +) +SELECT +'{{ bucket }}', +'{{ kind }}', +'{{ id }}', +'{{ selfLink }}', +'{{ bucket }}', +'{{ anywhereCacheId }}', +'{{ zone }}', +'{{ state }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ ttl }}', +'{{ admissionPolicy }}', +true|false +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: kind + value: '{{ kind }}' + - name: id + value: '{{ id }}' + - name: selfLink + value: '{{ selfLink }}' + - name: bucket + value: '{{ bucket }}' + - name: anywhereCacheId + value: '{{ anywhereCacheId }}' + - name: zone + value: '{{ zone }}' + - name: state + value: '{{ state }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: ttl + value: '{{ ttl }}' + - name: admissionPolicy + value: '{{ admissionPolicy }}' + - name: pendingUpdate + value: '{{ pendingUpdate }}' + +``` + + + +## `UPDATE` example + +Updates a anywhere_cach only if the necessary resources are available. + +```sql +UPDATE google.storage.anywhere_caches +SET +kind = '{{ kind }}', +id = '{{ id }}', +selfLink = '{{ selfLink }}', +bucket = '{{ bucket }}', +anywhereCacheId = '{{ anywhereCacheId }}', +zone = '{{ zone }}', +state = '{{ state }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +ttl = '{{ ttl }}', +admissionPolicy = '{{ admissionPolicy }}', +pendingUpdate = true|false +WHERE +anywhereCacheId = '{{ anywhereCacheId }}' +AND bucket = '{{ bucket }}'; +``` diff --git a/docs/google-docs/providers/google/storage/bucket_access_controls/index.md b/docs/google-docs/providers/google/storage/bucket_access_controls/index.md index 7d8beb56ae..726b72f77e 100644 --- a/docs/google-docs/providers/google/storage/bucket_access_controls/index.md +++ b/docs/google-docs/providers/google/storage/bucket_access_controls/index.md @@ -1,3 +1,4 @@ + --- title: bucket_access_controls hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - bucket_access_controls - storage - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an bucket_access_control resource or lists bucket_access_controls in a region ## Overview
@@ -34,13 +36,25 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The name of the bucket. | | | `string` | The domain associated with the entity, if any. | | | `string` | The email address associated with the entity, if any. | -| | `string` | The entity holding the permission, in one of the following forms:
- user-userId
- user-email
- group-groupId
- group-email
- domain-domain
- project-team-projectId
- allUsers
- allAuthenticatedUsers Examples:
- The user liz@example.com would be user-liz@example.com.
- The group example@googlegroups.com would be group-example@googlegroups.com.
- To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com. | +| | `string` | The entity holding the permission, in one of the following forms: +- user-userId +- user-email +- group-groupId +- group-email +- domain-domain +- project-team-projectId +- allUsers +- allAuthenticatedUsers Examples: +- The user liz@example.com would be user-liz@example.com. +- The group example@googlegroups.com would be group-example@googlegroups.com. +- To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com. | | | `string` | The ID for the entity, if any. | | | `string` | HTTP 1.1 Entity tag for the access-control entry. | | | `string` | The kind of item this is. For bucket access control entries, this is always storage#bucketAccessControl. | | | `object` | The project team associated with the entity, if any. | | | `string` | The access permission for the entity. | | | `string` | The link to this access-control entry. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -49,4 +63,140 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new ACL entry on the specified bucket. | | | `DELETE` | | Permanently deletes the ACL entry for the specified entity on the specified bucket. | | | `UPDATE` | | Patches an ACL entry on the specified bucket. | -| | `UPDATE` | | Updates an ACL entry on the specified bucket. | +| | `EXEC` | | Updates an ACL entry on the specified bucket. | + +## `SELECT` examples + +Retrieves ACL entries on the specified bucket. + +```sql +SELECT +id, +bucket, +domain, +email, +entity, +entityId, +etag, +kind, +projectTeam, +role, +selfLink +FROM google.storage.bucket_access_controls +WHERE bucket = '{{ bucket }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new bucket_access_controls resource. + + + + +```sql +/*+ create */ +INSERT INTO google.storage.bucket_access_controls ( +bucket, +bucket, +domain, +email, +entity, +entityId, +etag, +id, +kind, +projectTeam, +role, +selfLink +) +SELECT +'{{ bucket }}', +'{{ bucket }}', +'{{ domain }}', +'{{ email }}', +'{{ entity }}', +'{{ entityId }}', +'{{ etag }}', +'{{ id }}', +'{{ kind }}', +'{{ projectTeam }}', +'{{ role }}', +'{{ selfLink }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: bucket + value: '{{ bucket }}' + - name: domain + value: '{{ domain }}' + - name: email + value: '{{ email }}' + - name: entity + value: '{{ entity }}' + - name: entityId + value: '{{ entityId }}' + - name: etag + value: '{{ etag }}' + - name: id + value: '{{ id }}' + - name: kind + value: '{{ kind }}' + - name: projectTeam + value: + - name: projectNumber + value: '{{ projectNumber }}' + - name: team + value: '{{ team }}' + - name: role + value: '{{ role }}' + - name: selfLink + value: '{{ selfLink }}' + +``` + + + +## `UPDATE` example + +Updates a bucket_access_control only if the necessary resources are available. + +```sql +UPDATE google.storage.bucket_access_controls +SET +bucket = '{{ bucket }}', +domain = '{{ domain }}', +email = '{{ email }}', +entity = '{{ entity }}', +entityId = '{{ entityId }}', +etag = '{{ etag }}', +id = '{{ id }}', +kind = '{{ kind }}', +projectTeam = '{{ projectTeam }}', +role = '{{ role }}', +selfLink = '{{ selfLink }}' +WHERE +bucket = '{{ bucket }}' +AND entity = '{{ entity }}'; +``` + +## `DELETE` example + +Deletes the specified bucket_access_control resource. + +```sql +DELETE FROM google.storage.bucket_access_controls +WHERE bucket = '{{ bucket }}' +AND entity = '{{ entity }}'; +``` diff --git a/docs/google-docs/providers/google/storage/buckets/index.md b/docs/google-docs/providers/google/storage/buckets/index.md index 9975a5b206..a76963fbda 100644 --- a/docs/google-docs/providers/google/storage/buckets/index.md +++ b/docs/google-docs/providers/google/storage/buckets/index.md @@ -1,3 +1,4 @@ + --- title: buckets hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - buckets - storage - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an bucket resource or lists buckets in a region ## Overview
@@ -41,12 +43,15 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `array` | Default access controls to apply to new objects when no ACL is provided. | | | `object` | Encryption configuration for a bucket. | | | `string` | HTTP 1.1 Entity tag for the bucket. | +| | `string` | The generation of this bucket. | +| | `string` | The hard delete time of the bucket in RFC 3339 format. | | | `object` | The bucket's hierarchical namespace configuration. | | | `object` | The bucket's IAM configuration. | +| | `object` | The bucket's IP filter configuration. Specifies the network sources that are allowed to access the operations on the bucket, as well as its underlying objects. Only enforced when the mode is set to 'Enabled'. | | | `string` | The kind of item this is. For buckets, this is always storage#bucket. | | | `object` | User-provided labels, in key/value pairs. | -| | `object` | The bucket's lifecycle configuration. See lifecycle management for more information. | -| | `string` | The location of the bucket. Object data for objects in the bucket resides in physical storage within this region. Defaults to US. See the developer's guide for the authoritative list. | +| | `object` | The bucket's lifecycle configuration. See [Lifecycle Management](https://cloud.google.com/storage/docs/lifecycle) for more information. | +| | `string` | The location of the bucket. Object data for objects in the bucket resides in physical storage within this region. Defaults to US. See the [Developer's Guide](https://cloud.google.com/storage/docs/locations) for the authoritative list. | | | `string` | The type of the bucket location. | | | `object` | The bucket's logging configuration, which defines the destination bucket and optional name prefix for the current bucket's logs. | | | `string` | The metadata generation of this bucket. | @@ -55,22 +60,427 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The project number of the project the bucket belongs to. | | | `object` | The bucket's retention policy. The retention policy enforces a minimum retention time for all objects contained in the bucket, based on their creation time. Any attempt to overwrite or delete objects younger than the retention period will result in a PERMISSION_DENIED error. An unlocked retention policy can be modified or removed from the bucket via a storage.buckets.update operation. A locked retention policy cannot be removed or shortened in duration for the lifetime of the bucket. Attempting to remove or decrease period of a locked retention policy will result in a PERMISSION_DENIED error. | | | `string` | The Recovery Point Objective (RPO) of this bucket. Set to ASYNC_TURBO to turn on Turbo Replication on a bucket. | +| | `boolean` | Reserved for future use. | | | `boolean` | Reserved for future use. | | | `string` | The URI of this bucket. | | | `object` | The bucket's soft delete policy, which defines the period of time that soft-deleted objects will be retained, and cannot be permanently deleted. | -| | `string` | The bucket's default storage class, used whenever no storageClass is specified for a newly-created object. This defines how objects in the bucket are stored and determines the SLA and the cost of storage. Values include MULTI_REGIONAL, REGIONAL, STANDARD, NEARLINE, COLDLINE, ARCHIVE, and DURABLE_REDUCED_AVAILABILITY. If this value is not specified when the bucket is created, it will default to STANDARD. For more information, see storage classes. | +| | `string` | The soft delete time of the bucket in RFC 3339 format. | +| | `string` | The bucket's default storage class, used whenever no storageClass is specified for a newly-created object. This defines how objects in the bucket are stored and determines the SLA and the cost of storage. Values include MULTI_REGIONAL, REGIONAL, STANDARD, NEARLINE, COLDLINE, ARCHIVE, and DURABLE_REDUCED_AVAILABILITY. If this value is not specified when the bucket is created, it will default to STANDARD. For more information, see [Storage Classes](https://cloud.google.com/storage/docs/storage-classes). | | | `string` | The creation time of the bucket in RFC 3339 format. | | | `string` | The modification time of the bucket in RFC 3339 format. | | | `object` | The bucket's versioning configuration. | -| | `object` | The bucket's website configuration, controlling how the service behaves when accessing bucket contents as a web site. See the Static Website Examples for more information. | +| | `object` | The bucket's website configuration, controlling how the service behaves when accessing bucket contents as a web site. See the [Static Website Examples](https://cloud.google.com/storage/docs/static-website) for more information. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Returns metadata for the specified bucket. | | | `SELECT` | | Retrieves a list of buckets for a given project. | | | `INSERT` | | Creates a new bucket. | -| | `DELETE` | | Permanently deletes an empty bucket. | +| | `DELETE` | | Deletes an empty bucket. Deletions are permanent unless soft delete is enabled on the bucket. | | | `UPDATE` | | Patches a bucket. Changes to the bucket will be readable immediately after writing, but configuration changes may take time to propagate. | -| | `UPDATE` | | Updates a bucket. Changes to the bucket will be readable immediately after writing, but configuration changes may take time to propagate. | -| | `EXEC` | | Retrieves a list of buckets for a given project. | | | `EXEC` | | Locks retention policy on a bucket. | +| | `EXEC` | | Restores a soft-deleted bucket. | +| | `EXEC` | | Updates a bucket. Changes to the bucket will be readable immediately after writing, but configuration changes may take time to propagate. | + +## `SELECT` examples + +Returns metadata for the specified bucket. + +```sql +SELECT +id, +name, +acl, +autoclass, +billing, +cors, +customPlacementConfig, +defaultEventBasedHold, +defaultObjectAcl, +encryption, +etag, +generation, +hardDeleteTime, +hierarchicalNamespace, +iamConfiguration, +ipFilter, +kind, +labels, +lifecycle, +location, +locationType, +logging, +metageneration, +objectRetention, +owner, +projectNumber, +retentionPolicy, +rpo, +satisfiesPZI, +satisfiesPZS, +selfLink, +softDeletePolicy, +softDeleteTime, +storageClass, +timeCreated, +updated, +versioning, +website +FROM google.storage.buckets +WHERE bucket = '{{ bucket }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new buckets resource. + + + + +```sql +/*+ create */ +INSERT INTO google.storage.buckets ( +project, +acl, +billing, +cors, +customPlacementConfig, +defaultEventBasedHold, +defaultObjectAcl, +encryption, +etag, +hierarchicalNamespace, +iamConfiguration, +id, +ipFilter, +kind, +labels, +lifecycle, +autoclass, +location, +locationType, +logging, +generation, +metageneration, +name, +owner, +projectNumber, +retentionPolicy, +objectRetention, +rpo, +selfLink, +softDeletePolicy, +storageClass, +timeCreated, +updated, +softDeleteTime, +hardDeleteTime, +versioning, +website, +satisfiesPZS, +satisfiesPZI +) +SELECT +'{{ project }}', +'{{ acl }}', +'{{ billing }}', +'{{ cors }}', +'{{ customPlacementConfig }}', +true|false, +'{{ defaultObjectAcl }}', +'{{ encryption }}', +'{{ etag }}', +'{{ hierarchicalNamespace }}', +'{{ iamConfiguration }}', +'{{ id }}', +'{{ ipFilter }}', +'{{ kind }}', +'{{ labels }}', +'{{ lifecycle }}', +'{{ autoclass }}', +'{{ location }}', +'{{ locationType }}', +'{{ logging }}', +'{{ generation }}', +'{{ metageneration }}', +'{{ name }}', +'{{ owner }}', +'{{ projectNumber }}', +'{{ retentionPolicy }}', +'{{ objectRetention }}', +'{{ rpo }}', +'{{ selfLink }}', +'{{ softDeletePolicy }}', +'{{ storageClass }}', +'{{ timeCreated }}', +'{{ updated }}', +'{{ softDeleteTime }}', +'{{ hardDeleteTime }}', +'{{ versioning }}', +'{{ website }}', +true|false, +true|false +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: acl + value: '{{ acl }}' + - name: billing + value: + - name: requesterPays + value: '{{ requesterPays }}' + - name: cors + value: + - - name: maxAgeSeconds + value: '{{ maxAgeSeconds }}' + - name: method + value: '{{ method }}' + - name: origin + value: '{{ origin }}' + - name: responseHeader + value: '{{ responseHeader }}' + - name: customPlacementConfig + value: + - name: dataLocations + value: '{{ dataLocations }}' + - name: defaultEventBasedHold + value: '{{ defaultEventBasedHold }}' + - name: defaultObjectAcl + value: '{{ defaultObjectAcl }}' + - name: encryption + value: + - name: defaultKmsKeyName + value: '{{ defaultKmsKeyName }}' + - name: etag + value: '{{ etag }}' + - name: hierarchicalNamespace + value: + - name: enabled + value: '{{ enabled }}' + - name: iamConfiguration + value: + - name: bucketPolicyOnly + value: + - name: enabled + value: '{{ enabled }}' + - name: lockedTime + value: '{{ lockedTime }}' + - name: uniformBucketLevelAccess + value: + - name: enabled + value: '{{ enabled }}' + - name: lockedTime + value: '{{ lockedTime }}' + - name: publicAccessPrevention + value: '{{ publicAccessPrevention }}' + - name: id + value: '{{ id }}' + - name: ipFilter + value: + - name: mode + value: '{{ mode }}' + - name: publicNetworkSource + value: + - name: allowedIpCidrRanges + value: '{{ allowedIpCidrRanges }}' + - name: vpcNetworkSources + value: + - - name: network + value: '{{ network }}' + - name: allowedIpCidrRanges + value: '{{ allowedIpCidrRanges }}' + - name: kind + value: '{{ kind }}' + - name: labels + value: '{{ labels }}' + - name: lifecycle + value: + - name: rule + value: + - - name: action + value: + - name: storageClass + value: '{{ storageClass }}' + - name: type + value: '{{ type }}' + - name: condition + value: + - name: age + value: '{{ age }}' + - name: createdBefore + value: '{{ createdBefore }}' + - name: customTimeBefore + value: '{{ customTimeBefore }}' + - name: daysSinceCustomTime + value: '{{ daysSinceCustomTime }}' + - name: daysSinceNoncurrentTime + value: '{{ daysSinceNoncurrentTime }}' + - name: isLive + value: '{{ isLive }}' + - name: matchesPattern + value: '{{ matchesPattern }}' + - name: matchesPrefix + value: '{{ matchesPrefix }}' + - name: matchesSuffix + value: '{{ matchesSuffix }}' + - name: matchesStorageClass + value: '{{ matchesStorageClass }}' + - name: noncurrentTimeBefore + value: '{{ noncurrentTimeBefore }}' + - name: numNewerVersions + value: '{{ numNewerVersions }}' + - name: autoclass + value: + - name: enabled + value: '{{ enabled }}' + - name: toggleTime + value: '{{ toggleTime }}' + - name: terminalStorageClass + value: '{{ terminalStorageClass }}' + - name: terminalStorageClassUpdateTime + value: '{{ terminalStorageClassUpdateTime }}' + - name: location + value: '{{ location }}' + - name: locationType + value: '{{ locationType }}' + - name: logging + value: + - name: logBucket + value: '{{ logBucket }}' + - name: logObjectPrefix + value: '{{ logObjectPrefix }}' + - name: generation + value: '{{ generation }}' + - name: metageneration + value: '{{ metageneration }}' + - name: name + value: '{{ name }}' + - name: owner + value: + - name: entity + value: '{{ entity }}' + - name: entityId + value: '{{ entityId }}' + - name: projectNumber + value: '{{ projectNumber }}' + - name: retentionPolicy + value: + - name: effectiveTime + value: '{{ effectiveTime }}' + - name: isLocked + value: '{{ isLocked }}' + - name: retentionPeriod + value: '{{ retentionPeriod }}' + - name: objectRetention + value: + - name: mode + value: '{{ mode }}' + - name: rpo + value: '{{ rpo }}' + - name: selfLink + value: '{{ selfLink }}' + - name: softDeletePolicy + value: + - name: retentionDurationSeconds + value: '{{ retentionDurationSeconds }}' + - name: effectiveTime + value: '{{ effectiveTime }}' + - name: storageClass + value: '{{ storageClass }}' + - name: timeCreated + value: '{{ timeCreated }}' + - name: updated + value: '{{ updated }}' + - name: softDeleteTime + value: '{{ softDeleteTime }}' + - name: hardDeleteTime + value: '{{ hardDeleteTime }}' + - name: versioning + value: + - name: enabled + value: '{{ enabled }}' + - name: website + value: + - name: mainPageSuffix + value: '{{ mainPageSuffix }}' + - name: notFoundPage + value: '{{ notFoundPage }}' + - name: satisfiesPZS + value: '{{ satisfiesPZS }}' + - name: satisfiesPZI + value: '{{ satisfiesPZI }}' + +``` + + + +## `UPDATE` example + +Updates a bucket only if the necessary resources are available. + +```sql +UPDATE google.storage.buckets +SET +acl = '{{ acl }}', +billing = '{{ billing }}', +cors = '{{ cors }}', +customPlacementConfig = '{{ customPlacementConfig }}', +defaultEventBasedHold = true|false, +defaultObjectAcl = '{{ defaultObjectAcl }}', +encryption = '{{ encryption }}', +etag = '{{ etag }}', +hierarchicalNamespace = '{{ hierarchicalNamespace }}', +iamConfiguration = '{{ iamConfiguration }}', +id = '{{ id }}', +ipFilter = '{{ ipFilter }}', +kind = '{{ kind }}', +labels = '{{ labels }}', +lifecycle = '{{ lifecycle }}', +autoclass = '{{ autoclass }}', +location = '{{ location }}', +locationType = '{{ locationType }}', +logging = '{{ logging }}', +generation = '{{ generation }}', +metageneration = '{{ metageneration }}', +name = '{{ name }}', +owner = '{{ owner }}', +projectNumber = '{{ projectNumber }}', +retentionPolicy = '{{ retentionPolicy }}', +objectRetention = '{{ objectRetention }}', +rpo = '{{ rpo }}', +selfLink = '{{ selfLink }}', +softDeletePolicy = '{{ softDeletePolicy }}', +storageClass = '{{ storageClass }}', +timeCreated = '{{ timeCreated }}', +updated = '{{ updated }}', +softDeleteTime = '{{ softDeleteTime }}', +hardDeleteTime = '{{ hardDeleteTime }}', +versioning = '{{ versioning }}', +website = '{{ website }}', +satisfiesPZS = true|false, +satisfiesPZI = true|false +WHERE +bucket = '{{ bucket }}'; +``` + +## `DELETE` example + +Deletes the specified bucket resource. + +```sql +DELETE FROM google.storage.buckets +WHERE bucket = '{{ bucket }}'; +``` diff --git a/docs/google-docs/providers/google/storage/buckets_iam_policies/index.md b/docs/google-docs/providers/google/storage/buckets_iam_policies/index.md index 88e9f49311..74e249a550 100644 --- a/docs/google-docs/providers/google/storage/buckets_iam_policies/index.md +++ b/docs/google-docs/providers/google/storage/buckets_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: buckets_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - buckets_iam_policies - storage - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an buckets_iam_policy resource or lists buckets_iam_policies in a region ## Overview
@@ -30,13 +32,45 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents an expression text. Example: title: "User account presence" description: "Determines whether the request has a user account" expression: "size(request.user) > 0" | -| | `array` | A collection of identifiers for members who may assume the provided role. Recognized identifiers are as follows:
- allUsers — A special identifier that represents anyone on the internet; with or without a Google account.
- allAuthenticatedUsers — A special identifier that represents anyone who is authenticated with a Google account or a service account.
- user:emailid — An email address that represents a specific account. For example, user:alice@gmail.com or user:joe@example.com.
- serviceAccount:emailid — An email address that represents a service account. For example, serviceAccount:my-other-app@appspot.gserviceaccount.com .
- group:emailid — An email address that represents a Google group. For example, group:admins@example.com.
- domain:domain — A Google Apps domain name that represents all the users of that domain. For example, domain:google.com or domain:example.com.
- projectOwner:projectid — Owners of the given project. For example, projectOwner:my-example-project
- projectEditor:projectid — Editors of the given project. For example, projectEditor:my-example-project
- projectViewer:projectid — Viewers of the given project. For example, projectViewer:my-example-project | -| | `string` | The role to which members belong. Two types of roles are supported: new IAM roles, which grant permissions that do not map directly to those provided by ACLs, and legacy IAM roles, which do map directly to ACL permissions. All roles are of the format roles/storage.specificRole.
The new IAM roles are:
- roles/storage.admin — Full control of Google Cloud Storage resources.
- roles/storage.objectViewer — Read-Only access to Google Cloud Storage objects.
- roles/storage.objectCreator — Access to create objects in Google Cloud Storage.
- roles/storage.objectAdmin — Full control of Google Cloud Storage objects. The legacy IAM roles are:
- roles/storage.legacyObjectReader — Read-only access to objects without listing. Equivalent to an ACL entry on an object with the READER role.
- roles/storage.legacyObjectOwner — Read/write access to existing objects without listing. Equivalent to an ACL entry on an object with the OWNER role.
- roles/storage.legacyBucketReader — Read access to buckets with object listing. Equivalent to an ACL entry on a bucket with the READER role.
- roles/storage.legacyBucketWriter — Read access to buckets with object listing/creation/deletion. Equivalent to an ACL entry on a bucket with the WRITER role.
- roles/storage.legacyBucketOwner — Read and write access to existing buckets with object listing/creation/deletion. Equivalent to an ACL entry on a bucket with the OWNER role. | +| | `object` | Represents an expression text. Example: title: "User account presence" description: "Determines whether the request has a user account" expression: "size(request.user) > 0" | +| | `array` | A collection of identifiers for members who may assume the provided role. Recognized identifiers are as follows: +- allUsers — A special identifier that represents anyone on the internet; with or without a Google account. +- allAuthenticatedUsers — A special identifier that represents anyone who is authenticated with a Google account or a service account. +- user:emailid — An email address that represents a specific account. For example, user:alice@gmail.com or user:joe@example.com. +- serviceAccount:emailid — An email address that represents a service account. For example, serviceAccount:my-other-app@appspot.gserviceaccount.com . +- group:emailid — An email address that represents a Google group. For example, group:admins@example.com. +- domain:domain — A Google Apps domain name that represents all the users of that domain. For example, domain:google.com or domain:example.com. +- projectOwner:projectid — Owners of the given project. For example, projectOwner:my-example-project +- projectEditor:projectid — Editors of the given project. For example, projectEditor:my-example-project +- projectViewer:projectid — Viewers of the given project. For example, projectViewer:my-example-project | +| | `string` | The role to which members belong. Two types of roles are supported: new IAM roles, which grant permissions that do not map directly to those provided by ACLs, and legacy IAM roles, which do map directly to ACL permissions. All roles are of the format roles/storage.specificRole. +The new IAM roles are: +- roles/storage.admin — Full control of Google Cloud Storage resources. +- roles/storage.objectViewer — Read-Only access to Google Cloud Storage objects. +- roles/storage.objectCreator — Access to create objects in Google Cloud Storage. +- roles/storage.objectAdmin — Full control of Google Cloud Storage objects. The legacy IAM roles are: +- roles/storage.legacyObjectReader — Read-only access to objects without listing. Equivalent to an ACL entry on an object with the READER role. +- roles/storage.legacyObjectOwner — Read/write access to existing objects without listing. Equivalent to an ACL entry on an object with the OWNER role. +- roles/storage.legacyBucketReader — Read access to buckets with object listing. Equivalent to an ACL entry on a bucket with the READER role. +- roles/storage.legacyBucketWriter — Read access to buckets with object listing/creation/deletion. Equivalent to an ACL entry on a bucket with the WRITER role. +- roles/storage.legacyBucketOwner — Read and write access to existing buckets with object listing/creation/deletion. Equivalent to an ACL entry on a bucket with the OWNER role. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Returns an IAM policy for the specified bucket. | -| | `EXEC` | | Returns an IAM policy for the specified bucket. | | | `EXEC` | | Updates an IAM policy for the specified bucket. | | | `EXEC` | | Tests a set of permissions on the given bucket to see which, if any, are held by the caller. | + +## `SELECT` examples + +Returns an IAM policy for the specified bucket. + +```sql +SELECT +condition, +members, +role +FROM google.storage.buckets_iam_policies +WHERE bucket = '{{ bucket }}'; +``` diff --git a/docs/google-docs/providers/google/storage/buckets_storage_layout/index.md b/docs/google-docs/providers/google/storage/buckets_storage_layout/index.md index 32f8550814..67d48cdc47 100644 --- a/docs/google-docs/providers/google/storage/buckets_storage_layout/index.md +++ b/docs/google-docs/providers/google/storage/buckets_storage_layout/index.md @@ -1,3 +1,4 @@ + --- title: buckets_storage_layout hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - buckets_storage_layout - storage - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an buckets_storage_layout resource or lists buckets_storage_layout in a region ## Overview
@@ -36,7 +38,24 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The kind of item this is. For storage layout, this is always storage#storageLayout. | | | `string` | The location of the bucket. | | | `string` | The type of the bucket location. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Returns the storage layout configuration for the specified bucket. Note that this operation requires storage.objects.list permission. | + +## `SELECT` examples + +Returns the storage layout configuration for the specified bucket. Note that this operation requires storage.objects.list permission. + +```sql +SELECT +bucket, +customPlacementConfig, +hierarchicalNamespace, +kind, +location, +locationType +FROM google.storage.buckets_storage_layout +WHERE bucket = '{{ bucket }}'; +``` diff --git a/docs/google-docs/providers/google/storage/channels/index.md b/docs/google-docs/providers/google/storage/channels/index.md index 04d01968e7..2b12dcc842 100644 --- a/docs/google-docs/providers/google/storage/channels/index.md +++ b/docs/google-docs/providers/google/storage/channels/index.md @@ -1,3 +1,4 @@ + --- title: channels hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - channels - storage - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an channel resource or lists channels in a region ## Overview
@@ -28,8 +30,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Stop watching resources through this channel | diff --git a/docs/google-docs/providers/google/storage/default_object_access_controls/index.md b/docs/google-docs/providers/google/storage/default_object_access_controls/index.md index e05126ca9c..44332ad366 100644 --- a/docs/google-docs/providers/google/storage/default_object_access_controls/index.md +++ b/docs/google-docs/providers/google/storage/default_object_access_controls/index.md @@ -1,3 +1,4 @@ + --- title: default_object_access_controls hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - default_object_access_controls - storage - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an default_object_access_control resource or lists default_object_access_controls in a region ## Overview @@ -34,7 +36,18 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The name of the bucket. | | | `string` | The domain associated with the entity, if any. | | | `string` | The email address associated with the entity, if any. | -| | `string` | The entity holding the permission, in one of the following forms:
- user-userId
- user-email
- group-groupId
- group-email
- domain-domain
- project-team-projectId
- allUsers
- allAuthenticatedUsers Examples:
- The user liz@example.com would be user-liz@example.com.
- The group example@googlegroups.com would be group-example@googlegroups.com.
- To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com. | +| | `string` | The entity holding the permission, in one of the following forms: +- user-userId +- user-email +- group-groupId +- group-email +- domain-domain +- project-team-projectId +- allUsers +- allAuthenticatedUsers Examples: +- The user liz@example.com would be user-liz@example.com. +- The group example@googlegroups.com would be group-example@googlegroups.com. +- To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com. | | | `string` | The ID for the entity, if any. | | | `string` | HTTP 1.1 Entity tag for the access-control entry. | | | `string` | The content generation of the object, if applied to an object. | @@ -43,6 +56,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | The project team associated with the entity, if any. | | | `string` | The access permission for the entity. | | | `string` | The link to this access-control entry. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -51,4 +65,152 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new default object ACL entry on the specified bucket. | | | `DELETE` | | Permanently deletes the default object ACL entry for the specified entity on the specified bucket. | | | `UPDATE` | | Patches a default object ACL entry on the specified bucket. | -| | `UPDATE` | | Updates a default object ACL entry on the specified bucket. | +| | `EXEC` | | Updates a default object ACL entry on the specified bucket. | + +## `SELECT` examples + +Retrieves default object ACL entries on the specified bucket. + +```sql +SELECT +id, +bucket, +domain, +email, +entity, +entityId, +etag, +generation, +kind, +object, +projectTeam, +role, +selfLink +FROM google.storage.default_object_access_controls +WHERE bucket = '{{ bucket }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new default_object_access_controls resource. + + + + +```sql +/*+ create */ +INSERT INTO google.storage.default_object_access_controls ( +bucket, +bucket, +domain, +email, +entity, +entityId, +etag, +generation, +id, +kind, +object, +projectTeam, +role, +selfLink +) +SELECT +'{{ bucket }}', +'{{ bucket }}', +'{{ domain }}', +'{{ email }}', +'{{ entity }}', +'{{ entityId }}', +'{{ etag }}', +'{{ generation }}', +'{{ id }}', +'{{ kind }}', +'{{ object }}', +'{{ projectTeam }}', +'{{ role }}', +'{{ selfLink }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: bucket + value: '{{ bucket }}' + - name: domain + value: '{{ domain }}' + - name: email + value: '{{ email }}' + - name: entity + value: '{{ entity }}' + - name: entityId + value: '{{ entityId }}' + - name: etag + value: '{{ etag }}' + - name: generation + value: '{{ generation }}' + - name: id + value: '{{ id }}' + - name: kind + value: '{{ kind }}' + - name: object + value: '{{ object }}' + - name: projectTeam + value: + - name: projectNumber + value: '{{ projectNumber }}' + - name: team + value: '{{ team }}' + - name: role + value: '{{ role }}' + - name: selfLink + value: '{{ selfLink }}' + +``` + + + +## `UPDATE` example + +Updates a default_object_access_control only if the necessary resources are available. + +```sql +UPDATE google.storage.default_object_access_controls +SET +bucket = '{{ bucket }}', +domain = '{{ domain }}', +email = '{{ email }}', +entity = '{{ entity }}', +entityId = '{{ entityId }}', +etag = '{{ etag }}', +generation = '{{ generation }}', +id = '{{ id }}', +kind = '{{ kind }}', +object = '{{ object }}', +projectTeam = '{{ projectTeam }}', +role = '{{ role }}', +selfLink = '{{ selfLink }}' +WHERE +bucket = '{{ bucket }}' +AND entity = '{{ entity }}'; +``` + +## `DELETE` example + +Deletes the specified default_object_access_control resource. + +```sql +DELETE FROM google.storage.default_object_access_controls +WHERE bucket = '{{ bucket }}' +AND entity = '{{ entity }}'; +``` diff --git a/docs/google-docs/providers/google/storage/folders/index.md b/docs/google-docs/providers/google/storage/folders/index.md index e56b7de26e..54f0f28277 100644 --- a/docs/google-docs/providers/google/storage/folders/index.md +++ b/docs/google-docs/providers/google/storage/folders/index.md @@ -1,3 +1,4 @@ + --- title: folders hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - folders - storage - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an folder resource or lists folders in a region ## Overview
@@ -39,6 +41,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Only present if the folder is part of an ongoing rename folder operation. Contains information which can be used to query the operation status. | | | `string` | The link to this folder. | | | `string` | The modification time of the folder metadata in RFC 3339 format. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -46,5 +49,105 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Retrieves a list of folders matching the criteria. Only applicable to buckets with hierarchical namespace enabled. | | | `INSERT` | | Creates a new folder. Only applicable to buckets with hierarchical namespace enabled. | | | `DELETE` | | Permanently deletes a folder. Only applicable to buckets with hierarchical namespace enabled. | -| | `EXEC` | | Retrieves a list of folders matching the criteria. Only applicable to buckets with hierarchical namespace enabled. | | | `EXEC` | | Renames a source folder to a destination folder. Only applicable to buckets with hierarchical namespace enabled. | + +## `SELECT` examples + +Retrieves a list of folders matching the criteria. Only applicable to buckets with hierarchical namespace enabled. + +```sql +SELECT +id, +name, +bucket, +createTime, +kind, +metageneration, +pendingRenameInfo, +selfLink, +updateTime +FROM google.storage.folders +WHERE bucket = '{{ bucket }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new folders resource. + + + + +```sql +/*+ create */ +INSERT INTO google.storage.folders ( +bucket, +bucket, +id, +kind, +metageneration, +name, +selfLink, +createTime, +updateTime, +pendingRenameInfo +) +SELECT +'{{ bucket }}', +'{{ bucket }}', +'{{ id }}', +'{{ kind }}', +'{{ metageneration }}', +'{{ name }}', +'{{ selfLink }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ pendingRenameInfo }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: bucket + value: '{{ bucket }}' + - name: id + value: '{{ id }}' + - name: kind + value: '{{ kind }}' + - name: metageneration + value: '{{ metageneration }}' + - name: name + value: '{{ name }}' + - name: selfLink + value: '{{ selfLink }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: pendingRenameInfo + value: + - name: operationId + value: '{{ operationId }}' + +``` + + + +## `DELETE` example + +Deletes the specified folder resource. + +```sql +DELETE FROM google.storage.folders +WHERE bucket = '{{ bucket }}' +AND folder = '{{ folder }}'; +``` diff --git a/docs/google-docs/providers/google/storage/hmac_keys/index.md b/docs/google-docs/providers/google/storage/hmac_keys/index.md index b45f1a5d1f..f763bfa04a 100644 --- a/docs/google-docs/providers/google/storage/hmac_keys/index.md +++ b/docs/google-docs/providers/google/storage/hmac_keys/index.md @@ -1,3 +1,4 @@ + --- title: hmac_keys hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - hmac_keys - storage - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an hmac_key resource or lists hmac_keys in a region ## Overview
@@ -40,6 +42,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The state of the key. Can be one of ACTIVE, INACTIVE, or DELETED. | | | `string` | The creation time of the HMAC key in RFC 3339 format. | | | `string` | The last modification time of the HMAC key metadata in RFC 3339 format. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -47,5 +50,70 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Retrieves a list of HMAC keys matching the criteria. | | | `INSERT` | | Creates a new HMAC key for the specified service account. | | | `DELETE` | | Deletes an HMAC key. | -| | `UPDATE` | | Updates the state of an HMAC key. See the HMAC Key resource descriptor for valid states. | -| | `EXEC` | | Retrieves a list of HMAC keys matching the criteria. | +| | `EXEC` | | Updates the state of an HMAC key. See the [HMAC Key resource descriptor](https://cloud.google.com/storage/docs/json_api/v1/projects/hmacKeys/update#request-body) for valid states. | + +## `SELECT` examples + +Retrieves a list of HMAC keys matching the criteria. + +```sql +SELECT +id, +accessId, +etag, +kind, +projectId, +selfLink, +serviceAccountEmail, +state, +timeCreated, +updated +FROM google.storage.hmac_keys +WHERE projectId = '{{ projectId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new hmac_keys resource. + + + + +```sql +/*+ create */ +INSERT INTO google.storage.hmac_keys ( +projectId, +serviceAccountEmail +) +SELECT +'{{ projectId }}', +'{{ serviceAccountEmail }}' +; +``` + + + +```yaml +resources: + - name: instance + props: [] + +``` + + + +## `DELETE` example + +Deletes the specified hmac_key resource. + +```sql +DELETE FROM google.storage.hmac_keys +WHERE accessId = '{{ accessId }}' +AND projectId = '{{ projectId }}'; +``` diff --git a/docs/google-docs/providers/google/storage/index.md b/docs/google-docs/providers/google/storage/index.md index abbb501a58..67156ecaa7 100644 --- a/docs/google-docs/providers/google/storage/index.md +++ b/docs/google-docs/providers/google/storage/index.md @@ -9,34 +9,23 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Stores and retrieves potentially large, immutable data objects. - +The storage service documentation. + :::info Service Summary
total resources: 17
-total selectable resources: 16
-total methods: 87
::: -## Overview -
- - - - - -
Namegoogle.storage
TypeService
TitleCloud Storage JSON API
DescriptionStores and retrieves potentially large, immutable data objects.
Idstorage:v24.06.00236
- ## Resources
@@ -48,7 +37,7 @@ Stores and retrieves potentially large, immutable data objects. channels
default_object_access_controls
folders
-hmac_keys
+hmac_keys
managed_folders
@@ -58,6 +47,6 @@ Stores and retrieves potentially large, immutable data objects. objects
objects_iam_policies
operations
-service_account
-
+service_account
+ \ No newline at end of file diff --git a/docs/google-docs/providers/google/storage/managed_folders/index.md b/docs/google-docs/providers/google/storage/managed_folders/index.md index 806d1243b2..f05cda72e3 100644 --- a/docs/google-docs/providers/google/storage/managed_folders/index.md +++ b/docs/google-docs/providers/google/storage/managed_folders/index.md @@ -1,3 +1,4 @@ + --- title: managed_folders hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - managed_folders - storage - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an managed_folder resource or lists managed_folders in a region ## Overview @@ -38,6 +40,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The version of the metadata for this managed folder. Used for preconditions and for detecting changes in metadata. | | | `string` | The link to this managed folder. | | | `string` | The last update time of the managed folder metadata in RFC 3339 format. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -45,4 +48,97 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists managed folders in the given bucket. | | | `INSERT` | | Creates a new managed folder. | | | `DELETE` | | Permanently deletes a managed folder. | -| | `EXEC` | | Lists managed folders in the given bucket. | + +## `SELECT` examples + +Lists managed folders in the given bucket. + +```sql +SELECT +id, +name, +bucket, +createTime, +kind, +metageneration, +selfLink, +updateTime +FROM google.storage.managed_folders +WHERE bucket = '{{ bucket }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new managed_folders resource. + + + + +```sql +/*+ create */ +INSERT INTO google.storage.managed_folders ( +bucket, +bucket, +id, +kind, +metageneration, +name, +selfLink, +createTime, +updateTime +) +SELECT +'{{ bucket }}', +'{{ bucket }}', +'{{ id }}', +'{{ kind }}', +'{{ metageneration }}', +'{{ name }}', +'{{ selfLink }}', +'{{ createTime }}', +'{{ updateTime }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: bucket + value: '{{ bucket }}' + - name: id + value: '{{ id }}' + - name: kind + value: '{{ kind }}' + - name: metageneration + value: '{{ metageneration }}' + - name: name + value: '{{ name }}' + - name: selfLink + value: '{{ selfLink }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + +``` + + + +## `DELETE` example + +Deletes the specified managed_folder resource. + +```sql +DELETE FROM google.storage.managed_folders +WHERE bucket = '{{ bucket }}' +AND managedFolder = '{{ managedFolder }}'; +``` diff --git a/docs/google-docs/providers/google/storage/managed_folders_iam_policies/index.md b/docs/google-docs/providers/google/storage/managed_folders_iam_policies/index.md index 675484738b..1cbe1d64d0 100644 --- a/docs/google-docs/providers/google/storage/managed_folders_iam_policies/index.md +++ b/docs/google-docs/providers/google/storage/managed_folders_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: managed_folders_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - managed_folders_iam_policies - storage - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an managed_folders_iam_policy resource or lists managed_folders_iam_policies in a region ## Overview
@@ -30,13 +32,46 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents an expression text. Example: title: "User account presence" description: "Determines whether the request has a user account" expression: "size(request.user) > 0" | -| | `array` | A collection of identifiers for members who may assume the provided role. Recognized identifiers are as follows:
- allUsers — A special identifier that represents anyone on the internet; with or without a Google account.
- allAuthenticatedUsers — A special identifier that represents anyone who is authenticated with a Google account or a service account.
- user:emailid — An email address that represents a specific account. For example, user:alice@gmail.com or user:joe@example.com.
- serviceAccount:emailid — An email address that represents a service account. For example, serviceAccount:my-other-app@appspot.gserviceaccount.com .
- group:emailid — An email address that represents a Google group. For example, group:admins@example.com.
- domain:domain — A Google Apps domain name that represents all the users of that domain. For example, domain:google.com or domain:example.com.
- projectOwner:projectid — Owners of the given project. For example, projectOwner:my-example-project
- projectEditor:projectid — Editors of the given project. For example, projectEditor:my-example-project
- projectViewer:projectid — Viewers of the given project. For example, projectViewer:my-example-project | -| | `string` | The role to which members belong. Two types of roles are supported: new IAM roles, which grant permissions that do not map directly to those provided by ACLs, and legacy IAM roles, which do map directly to ACL permissions. All roles are of the format roles/storage.specificRole.
The new IAM roles are:
- roles/storage.admin — Full control of Google Cloud Storage resources.
- roles/storage.objectViewer — Read-Only access to Google Cloud Storage objects.
- roles/storage.objectCreator — Access to create objects in Google Cloud Storage.
- roles/storage.objectAdmin — Full control of Google Cloud Storage objects. The legacy IAM roles are:
- roles/storage.legacyObjectReader — Read-only access to objects without listing. Equivalent to an ACL entry on an object with the READER role.
- roles/storage.legacyObjectOwner — Read/write access to existing objects without listing. Equivalent to an ACL entry on an object with the OWNER role.
- roles/storage.legacyBucketReader — Read access to buckets with object listing. Equivalent to an ACL entry on a bucket with the READER role.
- roles/storage.legacyBucketWriter — Read access to buckets with object listing/creation/deletion. Equivalent to an ACL entry on a bucket with the WRITER role.
- roles/storage.legacyBucketOwner — Read and write access to existing buckets with object listing/creation/deletion. Equivalent to an ACL entry on a bucket with the OWNER role. | +| | `object` | Represents an expression text. Example: title: "User account presence" description: "Determines whether the request has a user account" expression: "size(request.user) > 0" | +| | `array` | A collection of identifiers for members who may assume the provided role. Recognized identifiers are as follows: +- allUsers — A special identifier that represents anyone on the internet; with or without a Google account. +- allAuthenticatedUsers — A special identifier that represents anyone who is authenticated with a Google account or a service account. +- user:emailid — An email address that represents a specific account. For example, user:alice@gmail.com or user:joe@example.com. +- serviceAccount:emailid — An email address that represents a service account. For example, serviceAccount:my-other-app@appspot.gserviceaccount.com . +- group:emailid — An email address that represents a Google group. For example, group:admins@example.com. +- domain:domain — A Google Apps domain name that represents all the users of that domain. For example, domain:google.com or domain:example.com. +- projectOwner:projectid — Owners of the given project. For example, projectOwner:my-example-project +- projectEditor:projectid — Editors of the given project. For example, projectEditor:my-example-project +- projectViewer:projectid — Viewers of the given project. For example, projectViewer:my-example-project | +| | `string` | The role to which members belong. Two types of roles are supported: new IAM roles, which grant permissions that do not map directly to those provided by ACLs, and legacy IAM roles, which do map directly to ACL permissions. All roles are of the format roles/storage.specificRole. +The new IAM roles are: +- roles/storage.admin — Full control of Google Cloud Storage resources. +- roles/storage.objectViewer — Read-Only access to Google Cloud Storage objects. +- roles/storage.objectCreator — Access to create objects in Google Cloud Storage. +- roles/storage.objectAdmin — Full control of Google Cloud Storage objects. The legacy IAM roles are: +- roles/storage.legacyObjectReader — Read-only access to objects without listing. Equivalent to an ACL entry on an object with the READER role. +- roles/storage.legacyObjectOwner — Read/write access to existing objects without listing. Equivalent to an ACL entry on an object with the OWNER role. +- roles/storage.legacyBucketReader — Read access to buckets with object listing. Equivalent to an ACL entry on a bucket with the READER role. +- roles/storage.legacyBucketWriter — Read access to buckets with object listing/creation/deletion. Equivalent to an ACL entry on a bucket with the WRITER role. +- roles/storage.legacyBucketOwner — Read and write access to existing buckets with object listing/creation/deletion. Equivalent to an ACL entry on a bucket with the OWNER role. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Returns an IAM policy for the specified managed folder. | -| | `EXEC` | | Returns an IAM policy for the specified managed folder. | | | `EXEC` | | Updates an IAM policy for the specified managed folder. | | | `EXEC` | | Tests a set of permissions on the given managed folder to see which, if any, are held by the caller. | + +## `SELECT` examples + +Returns an IAM policy for the specified managed folder. + +```sql +SELECT +condition, +members, +role +FROM google.storage.managed_folders_iam_policies +WHERE bucket = '{{ bucket }}' +AND managedFolder = '{{ managedFolder }}'; +``` diff --git a/docs/google-docs/providers/google/storage/notifications/index.md b/docs/google-docs/providers/google/storage/notifications/index.md index 37a2c3f526..5940b674d2 100644 --- a/docs/google-docs/providers/google/storage/notifications/index.md +++ b/docs/google-docs/providers/google/storage/notifications/index.md @@ -1,3 +1,4 @@ + --- title: notifications hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - notifications - storage - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an notification resource or lists notifications in a region ## Overview
@@ -38,7 +40,8 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | If present, only apply this notification configuration to object names that begin with this prefix. | | | `string` | The desired content of the Payload. | | | `string` | The canonical URL of this notification. | -| | `string` | The Cloud PubSub topic to which this subscription publishes. Formatted as: '//pubsub.googleapis.com/projects/{project-identifier}/topics/{my-topic}' | +| | `string` | The Cloud PubSub topic to which this subscription publishes. Formatted as: '//pubsub.googleapis.com/projects/{project-identifier}/topics/{my-topic}' | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -46,3 +49,102 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Retrieves a list of notification subscriptions for a given bucket. | | | `INSERT` | | Creates a notification subscription for a given bucket. | | | `DELETE` | | Permanently deletes a notification subscription. | + +## `SELECT` examples + +Retrieves a list of notification subscriptions for a given bucket. + +```sql +SELECT +id, +custom_attributes, +etag, +event_types, +kind, +object_name_prefix, +payload_format, +selfLink, +topic +FROM google.storage.notifications +WHERE bucket = '{{ bucket }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new notifications resource. + + + + +```sql +/*+ create */ +INSERT INTO google.storage.notifications ( +bucket, +custom_attributes, +etag, +event_types, +id, +kind, +object_name_prefix, +payload_format, +selfLink, +topic +) +SELECT +'{{ bucket }}', +'{{ custom_attributes }}', +'{{ etag }}', +'{{ event_types }}', +'{{ id }}', +'{{ kind }}', +'{{ object_name_prefix }}', +'{{ payload_format }}', +'{{ selfLink }}', +'{{ topic }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: custom_attributes + value: '{{ custom_attributes }}' + - name: etag + value: '{{ etag }}' + - name: event_types + value: '{{ event_types }}' + - name: id + value: '{{ id }}' + - name: kind + value: '{{ kind }}' + - name: object_name_prefix + value: '{{ object_name_prefix }}' + - name: payload_format + value: '{{ payload_format }}' + - name: selfLink + value: '{{ selfLink }}' + - name: topic + value: '{{ topic }}' + +``` + + + +## `DELETE` example + +Deletes the specified notification resource. + +```sql +DELETE FROM google.storage.notifications +WHERE bucket = '{{ bucket }}' +AND notification = '{{ notification }}'; +``` diff --git a/docs/google-docs/providers/google/storage/object_access_controls/index.md b/docs/google-docs/providers/google/storage/object_access_controls/index.md index 875eb8cf18..991419cff9 100644 --- a/docs/google-docs/providers/google/storage/object_access_controls/index.md +++ b/docs/google-docs/providers/google/storage/object_access_controls/index.md @@ -1,3 +1,4 @@ + --- title: object_access_controls hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - object_access_controls - storage - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an object_access_control resource or lists object_access_controls in a region ## Overview
@@ -34,7 +36,18 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The name of the bucket. | | | `string` | The domain associated with the entity, if any. | | | `string` | The email address associated with the entity, if any. | -| | `string` | The entity holding the permission, in one of the following forms:
- user-userId
- user-email
- group-groupId
- group-email
- domain-domain
- project-team-projectId
- allUsers
- allAuthenticatedUsers Examples:
- The user liz@example.com would be user-liz@example.com.
- The group example@googlegroups.com would be group-example@googlegroups.com.
- To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com. | +| | `string` | The entity holding the permission, in one of the following forms: +- user-userId +- user-email +- group-groupId +- group-email +- domain-domain +- project-team-projectId +- allUsers +- allAuthenticatedUsers Examples: +- The user liz@example.com would be user-liz@example.com. +- The group example@googlegroups.com would be group-example@googlegroups.com. +- To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com. | | | `string` | The ID for the entity, if any. | | | `string` | HTTP 1.1 Entity tag for the access-control entry. | | | `string` | The content generation of the object, if applied to an object. | @@ -43,6 +56,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | The project team associated with the entity, if any. | | | `string` | The access permission for the entity. | | | `string` | The link to this access-control entry. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -51,4 +65,157 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new ACL entry on the specified object. | | | `DELETE` | | Permanently deletes the ACL entry for the specified entity on the specified object. | | | `UPDATE` | | Patches an ACL entry on the specified object. | -| | `UPDATE` | | Updates an ACL entry on the specified object. | +| | `EXEC` | | Updates an ACL entry on the specified object. | + +## `SELECT` examples + +Retrieves ACL entries on the specified object. + +```sql +SELECT +id, +bucket, +domain, +email, +entity, +entityId, +etag, +generation, +kind, +object, +projectTeam, +role, +selfLink +FROM google.storage.object_access_controls +WHERE bucket = '{{ bucket }}' +AND object = '{{ object }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new object_access_controls resource. + + + + +```sql +/*+ create */ +INSERT INTO google.storage.object_access_controls ( +bucket, +object, +bucket, +domain, +email, +entity, +entityId, +etag, +generation, +id, +kind, +object, +projectTeam, +role, +selfLink +) +SELECT +'{{ bucket }}', +'{{ object }}', +'{{ bucket }}', +'{{ domain }}', +'{{ email }}', +'{{ entity }}', +'{{ entityId }}', +'{{ etag }}', +'{{ generation }}', +'{{ id }}', +'{{ kind }}', +'{{ object }}', +'{{ projectTeam }}', +'{{ role }}', +'{{ selfLink }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: bucket + value: '{{ bucket }}' + - name: domain + value: '{{ domain }}' + - name: email + value: '{{ email }}' + - name: entity + value: '{{ entity }}' + - name: entityId + value: '{{ entityId }}' + - name: etag + value: '{{ etag }}' + - name: generation + value: '{{ generation }}' + - name: id + value: '{{ id }}' + - name: kind + value: '{{ kind }}' + - name: object + value: '{{ object }}' + - name: projectTeam + value: + - name: projectNumber + value: '{{ projectNumber }}' + - name: team + value: '{{ team }}' + - name: role + value: '{{ role }}' + - name: selfLink + value: '{{ selfLink }}' + +``` + + + +## `UPDATE` example + +Updates a object_access_control only if the necessary resources are available. + +```sql +UPDATE google.storage.object_access_controls +SET +bucket = '{{ bucket }}', +domain = '{{ domain }}', +email = '{{ email }}', +entity = '{{ entity }}', +entityId = '{{ entityId }}', +etag = '{{ etag }}', +generation = '{{ generation }}', +id = '{{ id }}', +kind = '{{ kind }}', +object = '{{ object }}', +projectTeam = '{{ projectTeam }}', +role = '{{ role }}', +selfLink = '{{ selfLink }}' +WHERE +bucket = '{{ bucket }}' +AND entity = '{{ entity }}' +AND object = '{{ object }}'; +``` + +## `DELETE` example + +Deletes the specified object_access_control resource. + +```sql +DELETE FROM google.storage.object_access_controls +WHERE bucket = '{{ bucket }}' +AND entity = '{{ entity }}' +AND object = '{{ object }}'; +``` diff --git a/docs/google-docs/providers/google/storage/objects/index.md b/docs/google-docs/providers/google/storage/objects/index.md index ead99147b0..a60432262b 100644 --- a/docs/google-docs/providers/google/storage/objects/index.md +++ b/docs/google-docs/providers/google/storage/objects/index.md @@ -1,3 +1,4 @@ + --- title: objects hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - objects - storage - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an object resource or lists objects in a region ## Overview
@@ -40,7 +42,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Content-Encoding of the object data. | | | `string` | Content-Language of the object data. | | | `string` | Content-Type of the object data. If an object is stored without a Content-Type, it is served as application/octet-stream. | -| | `string` | CRC32c checksum, as described in RFC 4960, Appendix B; encoded using base64 in big-endian byte order. For more information about using the CRC32c checksum, see Hashes and ETags: Best Practices. | +| | `string` | CRC32c checksum, as described in RFC 4960, Appendix B; encoded using base64 in big-endian byte order. For more information about using the CRC32c checksum, see [Data Validation and Change Detection](https://cloud.google.com/storage/docs/data-validation). | | | `string` | A timestamp in RFC 3339 format specified by the user for an object. | | | `object` | Metadata of customer-supplied encryption key, if the object is encrypted by such a key. | | | `string` | HTTP 1.1 Entity tag for the object. | @@ -49,7 +51,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | This is the time (in the future) when the soft-deleted object will no longer be restorable. It is equal to the soft delete time plus the current soft delete retention duration of the bucket. | | | `string` | The kind of item this is. For objects, this is always storage#object. | | | `string` | Not currently supported. Specifying the parameter causes the request to fail with status code 400 - Bad Request. | -| | `string` | MD5 hash of the data; encoded using base64. For more information about using the MD5 hash, see Hashes and ETags: Best Practices. | +| | `string` | MD5 hash of the data; encoded using base64. For more information about using the MD5 hash, see [Data Validation and Change Detection](https://cloud.google.com/storage/docs/data-validation). | | | `string` | Media download link. | | | `object` | User-provided metadata, in key/value pairs. | | | `string` | The version of the metadata for this object at this generation. Used for preconditions and for detecting changes in metadata. A metageneration number is only meaningful in the context of a particular generation of a particular object. | @@ -65,6 +67,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The time at which the object became noncurrent in RFC 3339 format. Will be returned if and only if this version of the object has been deleted. | | | `string` | The time at which the object's storage class was last changed. When the object is initially created, it will be set to timeCreated. | | | `string` | The modification time of the object metadata in RFC 3339 format. Set initially to object creation time and then updated whenever any metadata of the object changes. This includes changes made by a requester, such as modifying custom metadata, as well as changes made by Cloud Storage on behalf of a requester, such as changing the storage class based on an Object Lifecycle Configuration. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -73,11 +76,298 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Stores a new object and metadata. | | | `DELETE` | | Deletes an object and its metadata. Deletions are permanent if versioning is not enabled for the bucket, or if the generation parameter is used. | | | `UPDATE` | | Patches an object's metadata. | -| | `UPDATE` | | Updates an object's metadata. | -| | `EXEC` | | Retrieves a list of objects matching the criteria. | | | `EXEC` | | Initiates a long-running bulk restore operation on the specified bucket. | | | `EXEC` | | Concatenates a list of existing objects into a new object in the same bucket. | | | `EXEC` | | Copies a source object to a destination object. Optionally overrides metadata. | | | `EXEC` | | Restores a soft-deleted object. | | | `EXEC` | | Rewrites a source object to a destination object. Optionally overrides metadata. | +| | `EXEC` | | Updates an object's metadata. | | | `EXEC` | | Watch for changes on all objects in a bucket. | + +## `SELECT` examples + +Retrieves a list of objects matching the criteria. + +```sql +SELECT +id, +name, +acl, +bucket, +cacheControl, +componentCount, +contentDisposition, +contentEncoding, +contentLanguage, +contentType, +crc32c, +customTime, +customerEncryption, +etag, +eventBasedHold, +generation, +hardDeleteTime, +kind, +kmsKeyName, +md5Hash, +mediaLink, +metadata, +metageneration, +owner, +retention, +retentionExpirationTime, +selfLink, +size, +softDeleteTime, +storageClass, +temporaryHold, +timeCreated, +timeDeleted, +timeStorageClassUpdated, +updated +FROM google.storage.objects +WHERE bucket = '{{ bucket }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new objects resource. + + + + +```sql +/*+ create */ +INSERT INTO google.storage.objects ( +bucket, +acl, +bucket, +cacheControl, +componentCount, +contentDisposition, +contentEncoding, +contentLanguage, +contentType, +crc32c, +customTime, +customerEncryption, +etag, +eventBasedHold, +generation, +id, +kind, +kmsKeyName, +md5Hash, +mediaLink, +metadata, +metageneration, +name, +owner, +retentionExpirationTime, +retention, +selfLink, +size, +storageClass, +temporaryHold, +timeCreated, +timeDeleted, +softDeleteTime, +hardDeleteTime, +timeStorageClassUpdated, +updated +) +SELECT +'{{ bucket }}', +'{{ acl }}', +'{{ bucket }}', +'{{ cacheControl }}', +'{{ componentCount }}', +'{{ contentDisposition }}', +'{{ contentEncoding }}', +'{{ contentLanguage }}', +'{{ contentType }}', +'{{ crc32c }}', +'{{ customTime }}', +'{{ customerEncryption }}', +'{{ etag }}', +true|false, +'{{ generation }}', +'{{ id }}', +'{{ kind }}', +'{{ kmsKeyName }}', +'{{ md5Hash }}', +'{{ mediaLink }}', +'{{ metadata }}', +'{{ metageneration }}', +'{{ name }}', +'{{ owner }}', +'{{ retentionExpirationTime }}', +'{{ retention }}', +'{{ selfLink }}', +'{{ size }}', +'{{ storageClass }}', +true|false, +'{{ timeCreated }}', +'{{ timeDeleted }}', +'{{ softDeleteTime }}', +'{{ hardDeleteTime }}', +'{{ timeStorageClassUpdated }}', +'{{ updated }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: acl + value: '{{ acl }}' + - name: bucket + value: '{{ bucket }}' + - name: cacheControl + value: '{{ cacheControl }}' + - name: componentCount + value: '{{ componentCount }}' + - name: contentDisposition + value: '{{ contentDisposition }}' + - name: contentEncoding + value: '{{ contentEncoding }}' + - name: contentLanguage + value: '{{ contentLanguage }}' + - name: contentType + value: '{{ contentType }}' + - name: crc32c + value: '{{ crc32c }}' + - name: customTime + value: '{{ customTime }}' + - name: customerEncryption + value: + - name: encryptionAlgorithm + value: '{{ encryptionAlgorithm }}' + - name: keySha256 + value: '{{ keySha256 }}' + - name: etag + value: '{{ etag }}' + - name: eventBasedHold + value: '{{ eventBasedHold }}' + - name: generation + value: '{{ generation }}' + - name: id + value: '{{ id }}' + - name: kind + value: '{{ kind }}' + - name: kmsKeyName + value: '{{ kmsKeyName }}' + - name: md5Hash + value: '{{ md5Hash }}' + - name: mediaLink + value: '{{ mediaLink }}' + - name: metadata + value: '{{ metadata }}' + - name: metageneration + value: '{{ metageneration }}' + - name: name + value: '{{ name }}' + - name: owner + value: + - name: entity + value: '{{ entity }}' + - name: entityId + value: '{{ entityId }}' + - name: retentionExpirationTime + value: '{{ retentionExpirationTime }}' + - name: retention + value: + - name: retainUntilTime + value: '{{ retainUntilTime }}' + - name: mode + value: '{{ mode }}' + - name: selfLink + value: '{{ selfLink }}' + - name: size + value: '{{ size }}' + - name: storageClass + value: '{{ storageClass }}' + - name: temporaryHold + value: '{{ temporaryHold }}' + - name: timeCreated + value: '{{ timeCreated }}' + - name: timeDeleted + value: '{{ timeDeleted }}' + - name: softDeleteTime + value: '{{ softDeleteTime }}' + - name: hardDeleteTime + value: '{{ hardDeleteTime }}' + - name: timeStorageClassUpdated + value: '{{ timeStorageClassUpdated }}' + - name: updated + value: '{{ updated }}' + +``` + + + +## `UPDATE` example + +Updates a object only if the necessary resources are available. + +```sql +UPDATE google.storage.objects +SET +acl = '{{ acl }}', +bucket = '{{ bucket }}', +cacheControl = '{{ cacheControl }}', +componentCount = '{{ componentCount }}', +contentDisposition = '{{ contentDisposition }}', +contentEncoding = '{{ contentEncoding }}', +contentLanguage = '{{ contentLanguage }}', +contentType = '{{ contentType }}', +crc32c = '{{ crc32c }}', +customTime = '{{ customTime }}', +customerEncryption = '{{ customerEncryption }}', +etag = '{{ etag }}', +eventBasedHold = true|false, +generation = '{{ generation }}', +id = '{{ id }}', +kind = '{{ kind }}', +kmsKeyName = '{{ kmsKeyName }}', +md5Hash = '{{ md5Hash }}', +mediaLink = '{{ mediaLink }}', +metadata = '{{ metadata }}', +metageneration = '{{ metageneration }}', +name = '{{ name }}', +owner = '{{ owner }}', +retentionExpirationTime = '{{ retentionExpirationTime }}', +retention = '{{ retention }}', +selfLink = '{{ selfLink }}', +size = '{{ size }}', +storageClass = '{{ storageClass }}', +temporaryHold = true|false, +timeCreated = '{{ timeCreated }}', +timeDeleted = '{{ timeDeleted }}', +softDeleteTime = '{{ softDeleteTime }}', +hardDeleteTime = '{{ hardDeleteTime }}', +timeStorageClassUpdated = '{{ timeStorageClassUpdated }}', +updated = '{{ updated }}' +WHERE +bucket = '{{ bucket }}' +AND object = '{{ object }}'; +``` + +## `DELETE` example + +Deletes the specified object resource. + +```sql +DELETE FROM google.storage.objects +WHERE bucket = '{{ bucket }}' +AND object = '{{ object }}'; +``` diff --git a/docs/google-docs/providers/google/storage/objects_iam_policies/index.md b/docs/google-docs/providers/google/storage/objects_iam_policies/index.md index 207b0a0b0f..e91955c1b5 100644 --- a/docs/google-docs/providers/google/storage/objects_iam_policies/index.md +++ b/docs/google-docs/providers/google/storage/objects_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: objects_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - objects_iam_policies - storage - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an objects_iam_policy resource or lists objects_iam_policies in a region ## Overview
@@ -30,13 +32,46 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents an expression text. Example: title: "User account presence" description: "Determines whether the request has a user account" expression: "size(request.user) > 0" | -| | `array` | A collection of identifiers for members who may assume the provided role. Recognized identifiers are as follows:
- allUsers — A special identifier that represents anyone on the internet; with or without a Google account.
- allAuthenticatedUsers — A special identifier that represents anyone who is authenticated with a Google account or a service account.
- user:emailid — An email address that represents a specific account. For example, user:alice@gmail.com or user:joe@example.com.
- serviceAccount:emailid — An email address that represents a service account. For example, serviceAccount:my-other-app@appspot.gserviceaccount.com .
- group:emailid — An email address that represents a Google group. For example, group:admins@example.com.
- domain:domain — A Google Apps domain name that represents all the users of that domain. For example, domain:google.com or domain:example.com.
- projectOwner:projectid — Owners of the given project. For example, projectOwner:my-example-project
- projectEditor:projectid — Editors of the given project. For example, projectEditor:my-example-project
- projectViewer:projectid — Viewers of the given project. For example, projectViewer:my-example-project | -| | `string` | The role to which members belong. Two types of roles are supported: new IAM roles, which grant permissions that do not map directly to those provided by ACLs, and legacy IAM roles, which do map directly to ACL permissions. All roles are of the format roles/storage.specificRole.
The new IAM roles are:
- roles/storage.admin — Full control of Google Cloud Storage resources.
- roles/storage.objectViewer — Read-Only access to Google Cloud Storage objects.
- roles/storage.objectCreator — Access to create objects in Google Cloud Storage.
- roles/storage.objectAdmin — Full control of Google Cloud Storage objects. The legacy IAM roles are:
- roles/storage.legacyObjectReader — Read-only access to objects without listing. Equivalent to an ACL entry on an object with the READER role.
- roles/storage.legacyObjectOwner — Read/write access to existing objects without listing. Equivalent to an ACL entry on an object with the OWNER role.
- roles/storage.legacyBucketReader — Read access to buckets with object listing. Equivalent to an ACL entry on a bucket with the READER role.
- roles/storage.legacyBucketWriter — Read access to buckets with object listing/creation/deletion. Equivalent to an ACL entry on a bucket with the WRITER role.
- roles/storage.legacyBucketOwner — Read and write access to existing buckets with object listing/creation/deletion. Equivalent to an ACL entry on a bucket with the OWNER role. | +| | `object` | Represents an expression text. Example: title: "User account presence" description: "Determines whether the request has a user account" expression: "size(request.user) > 0" | +| | `array` | A collection of identifiers for members who may assume the provided role. Recognized identifiers are as follows: +- allUsers — A special identifier that represents anyone on the internet; with or without a Google account. +- allAuthenticatedUsers — A special identifier that represents anyone who is authenticated with a Google account or a service account. +- user:emailid — An email address that represents a specific account. For example, user:alice@gmail.com or user:joe@example.com. +- serviceAccount:emailid — An email address that represents a service account. For example, serviceAccount:my-other-app@appspot.gserviceaccount.com . +- group:emailid — An email address that represents a Google group. For example, group:admins@example.com. +- domain:domain — A Google Apps domain name that represents all the users of that domain. For example, domain:google.com or domain:example.com. +- projectOwner:projectid — Owners of the given project. For example, projectOwner:my-example-project +- projectEditor:projectid — Editors of the given project. For example, projectEditor:my-example-project +- projectViewer:projectid — Viewers of the given project. For example, projectViewer:my-example-project | +| | `string` | The role to which members belong. Two types of roles are supported: new IAM roles, which grant permissions that do not map directly to those provided by ACLs, and legacy IAM roles, which do map directly to ACL permissions. All roles are of the format roles/storage.specificRole. +The new IAM roles are: +- roles/storage.admin — Full control of Google Cloud Storage resources. +- roles/storage.objectViewer — Read-Only access to Google Cloud Storage objects. +- roles/storage.objectCreator — Access to create objects in Google Cloud Storage. +- roles/storage.objectAdmin — Full control of Google Cloud Storage objects. The legacy IAM roles are: +- roles/storage.legacyObjectReader — Read-only access to objects without listing. Equivalent to an ACL entry on an object with the READER role. +- roles/storage.legacyObjectOwner — Read/write access to existing objects without listing. Equivalent to an ACL entry on an object with the OWNER role. +- roles/storage.legacyBucketReader — Read access to buckets with object listing. Equivalent to an ACL entry on a bucket with the READER role. +- roles/storage.legacyBucketWriter — Read access to buckets with object listing/creation/deletion. Equivalent to an ACL entry on a bucket with the WRITER role. +- roles/storage.legacyBucketOwner — Read and write access to existing buckets with object listing/creation/deletion. Equivalent to an ACL entry on a bucket with the OWNER role. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Returns an IAM policy for the specified object. | -| | `EXEC` | | Returns an IAM policy for the specified object. | | | `EXEC` | | Updates an IAM policy for the specified object. | | | `EXEC` | | Tests a set of permissions on the given object to see which, if any, are held by the caller. | + +## `SELECT` examples + +Returns an IAM policy for the specified object. + +```sql +SELECT +condition, +members, +role +FROM google.storage.objects_iam_policies +WHERE bucket = '{{ bucket }}' +AND object = '{{ object }}'; +``` diff --git a/docs/google-docs/providers/google/storage/operations/index.md b/docs/google-docs/providers/google/storage/operations/index.md index ede4eac537..1ff9716f4c 100644 --- a/docs/google-docs/providers/google/storage/operations/index.md +++ b/docs/google-docs/providers/google/storage/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - storage - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview
@@ -30,15 +32,34 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the "name" should be a resource name ending with "operations/{operationId}". | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the "name" should be a resource name ending with "operations/{operationId}". | | | `boolean` | If the value is "false", it means the operation is still in progress. If "true", the operation is completed, and either "error" or "response" is available. | | | `object` | The "Status" type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each "Status" message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | +| | `string` | The kind of item this is. For operations, this is always storage#operation. | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal response of the operation in case of success. If the original method returns no data on success, such as "Delete", the response is google.protobuf.Empty. If the original method is standard Get/Create/Update, the response should be the resource. For other methods, the response should have the type "XxxResponse", where "Xxx" is the original method name. For example, if the original method name is "TakeSnapshot()", the inferred response type is "TakeSnapshotResponse". | +| | `string` | The link to this long running operation. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. | | | `SELECT` | | Lists operations that match the specified filter in the request. | -| | `EXEC` | | Lists operations that match the specified filter in the request. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. + +```sql +SELECT +name, +done, +error, +kind, +metadata, +response, +selfLink +FROM google.storage.operations +WHERE bucket = '{{ bucket }}'; +``` diff --git a/docs/google-docs/providers/google/storage/service_account/index.md b/docs/google-docs/providers/google/storage/service_account/index.md index 038fdd5cdc..e8b1409d5f 100644 --- a/docs/google-docs/providers/google/storage/service_account/index.md +++ b/docs/google-docs/providers/google/storage/service_account/index.md @@ -1,3 +1,4 @@ + --- title: service_account hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - service_account - storage - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an service_account resource or lists service_account in a region ## Overview
@@ -32,7 +34,20 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | The ID of the notification. | | | `string` | The kind of item this is. For notifications, this is always storage#notification. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Get the email address of this project's Google Cloud Storage service account. | + +## `SELECT` examples + +Get the email address of this project's Google Cloud Storage service account. + +```sql +SELECT +email_address, +kind +FROM google.storage.service_account +WHERE projectId = '{{ projectId }}'; +``` diff --git a/docs/google-docs/providers/google/storagetransfer/agent_pools/index.md b/docs/google-docs/providers/google/storagetransfer/agent_pools/index.md index 3d87bef656..8146534254 100644 --- a/docs/google-docs/providers/google/storagetransfer/agent_pools/index.md +++ b/docs/google-docs/providers/google/storagetransfer/agent_pools/index.md @@ -1,3 +1,4 @@ + --- title: agent_pools hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - agent_pools - storagetransfer - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an agent_pool resource or lists agent_pools in a region ## Overview
@@ -30,10 +32,11 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Required. Specifies a unique string that identifies the agent pool. Format: `projects/{project_id}/agentPools/{agent_pool_id}` | +| | `string` | Required. Specifies a unique string that identifies the agent pool. Format: `projects/{project_id}/agentPools/{agent_pool_id}` | | | `object` | Specifies a bandwidth limit for an agent pool. | | | `string` | Specifies the client-specified AgentPool description. | | | `string` | Output only. Specifies the state of the AgentPool. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -42,4 +45,93 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates an agent pool resource. | | | `DELETE` | | Deletes an agent pool. | | | `UPDATE` | | Updates an existing agent pool resource. | -| | `EXEC` | | Lists agent pools. | + +## `SELECT` examples + +Lists agent pools. + +```sql +SELECT +name, +bandwidthLimit, +displayName, +state +FROM google.storagetransfer.agent_pools +WHERE projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new agent_pools resource. + + + + +```sql +/*+ create */ +INSERT INTO google.storagetransfer.agent_pools ( +projectsId, +name, +displayName, +state, +bandwidthLimit +) +SELECT +'{{ projectsId }}', +'{{ name }}', +'{{ displayName }}', +'{{ state }}', +'{{ bandwidthLimit }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: state + value: '{{ state }}' + - name: bandwidthLimit + value: '{{ bandwidthLimit }}' + +``` + + + +## `UPDATE` example + +Updates a agent_pool only if the necessary resources are available. + +```sql +UPDATE google.storagetransfer.agent_pools +SET +name = '{{ name }}', +displayName = '{{ displayName }}', +state = '{{ state }}', +bandwidthLimit = '{{ bandwidthLimit }}' +WHERE +agentPoolsId = '{{ agentPoolsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified agent_pool resource. + +```sql +DELETE FROM google.storagetransfer.agent_pools +WHERE agentPoolsId = '{{ agentPoolsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/storagetransfer/google_service_accounts/index.md b/docs/google-docs/providers/google/storagetransfer/google_service_accounts/index.md index 93ac7f8456..6f409a87d1 100644 --- a/docs/google-docs/providers/google/storagetransfer/google_service_accounts/index.md +++ b/docs/google-docs/providers/google/storagetransfer/google_service_accounts/index.md @@ -1,3 +1,4 @@ + --- title: google_service_accounts hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - google_service_accounts - storagetransfer - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an google_service_account resource or lists google_service_accounts in a region ## Overview
@@ -32,7 +34,20 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Email address of the service account. | | | `string` | Unique identifier for the service account. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Returns the Google service account that is used by Storage Transfer Service to access buckets in the project where transfers run or in other projects. Each Google service account is associated with one Google Cloud project. Users should add this service account to the Google Cloud Storage bucket ACLs to grant access to Storage Transfer Service. This service account is created and owned by Storage Transfer Service and can only be used by Storage Transfer Service. | + +## `SELECT` examples + +Returns the Google service account that is used by Storage Transfer Service to access buckets in the project where transfers run or in other projects. Each Google service account is associated with one Google Cloud project. Users should add this service account to the Google Cloud Storage bucket ACLs to grant access to Storage Transfer Service. This service account is created and owned by Storage Transfer Service and can only be used by Storage Transfer Service. + +```sql +SELECT +accountEmail, +subjectId +FROM google.storagetransfer.google_service_accounts +WHERE projectId = '{{ projectId }}'; +``` diff --git a/docs/google-docs/providers/google/storagetransfer/index.md b/docs/google-docs/providers/google/storagetransfer/index.md index e9211dfd6a..bb3622bc46 100644 --- a/docs/google-docs/providers/google/storagetransfer/index.md +++ b/docs/google-docs/providers/google/storagetransfer/index.md @@ -9,42 +9,31 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Transfers data from external data sources to a Google Cloud Storage bucket or between Google Cloud Storage buckets. - +The storagetransfer service documentation. + :::info Service Summary
total resources: 4
-total selectable resources: 4
-total methods: 20
::: -## Overview -
- - - - - -
Namegoogle.storagetransfer
TypeService
TitleStorage Transfer API
DescriptionTransfers data from external data sources to a Google Cloud Storage bucket or between Google Cloud Storage buckets.
Idstoragetransfer:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/storagetransfer/transfer_jobs/index.md b/docs/google-docs/providers/google/storagetransfer/transfer_jobs/index.md index 6325fdad09..abf653662d 100644 --- a/docs/google-docs/providers/google/storagetransfer/transfer_jobs/index.md +++ b/docs/google-docs/providers/google/storagetransfer/transfer_jobs/index.md @@ -1,3 +1,4 @@ + --- title: transfer_jobs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - transfer_jobs - storagetransfer - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an transfer_job resource or lists transfer_jobs in a region ## Overview @@ -44,13 +46,151 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Transfers can be scheduled to recur or to run just once. | | | `string` | Status of the job. This value MUST be specified for `CreateTransferJobRequests`. **Note:** The effect of the new job status takes place during a subsequent job run. For example, if you change the job status from ENABLED to DISABLED, and an operation spawned by the transfer is running, the status change would not affect the current operation. | | | `object` | Configuration for running a transfer. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets a transfer job. | | | `SELECT` | | Lists transfer jobs. | -| | `INSERT` | | Creates a transfer job that runs periodically. | +| | `INSERT` | | Creates a transfer job that runs periodically. | | | `DELETE` | | Deletes a transfer job. Deleting a transfer job sets its status to DELETED. | | | `UPDATE` | | Updates a transfer job. Updating a job's transfer spec does not affect transfer operations that are running already. **Note:** The job's status field can be modified using this RPC (for example, to set a job's status to DELETED, DISABLED, or ENABLED). | -| | `EXEC` | | Lists transfer jobs. | | | `EXEC` | | Starts a new operation for the specified transfer job. A `TransferJob` has a maximum of one active `TransferOperation`. If this method is called while a `TransferOperation` is active, an error is returned. | + +## `SELECT` examples + +Lists transfer jobs. + +```sql +SELECT +name, +description, +creationTime, +deletionTime, +eventStream, +lastModificationTime, +latestOperationName, +loggingConfig, +notificationConfig, +projectId, +replicationSpec, +schedule, +status, +transferSpec +FROM google.storagetransfer.transfer_jobs +WHERE filter = '{{ filter }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new transfer_jobs resource. + + + + +```sql +/*+ create */ +INSERT INTO google.storagetransfer.transfer_jobs ( +, +name, +description, +projectId, +transferSpec, +replicationSpec, +notificationConfig, +loggingConfig, +schedule, +eventStream, +status, +creationTime, +lastModificationTime, +deletionTime, +latestOperationName +) +SELECT +'{{ }}', +'{{ name }}', +'{{ description }}', +'{{ projectId }}', +'{{ transferSpec }}', +'{{ replicationSpec }}', +'{{ notificationConfig }}', +'{{ loggingConfig }}', +'{{ schedule }}', +'{{ eventStream }}', +'{{ status }}', +'{{ creationTime }}', +'{{ lastModificationTime }}', +'{{ deletionTime }}', +'{{ latestOperationName }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: projectId + value: '{{ projectId }}' + - name: transferSpec + value: '{{ transferSpec }}' + - name: replicationSpec + value: '{{ replicationSpec }}' + - name: notificationConfig + value: '{{ notificationConfig }}' + - name: loggingConfig + value: '{{ loggingConfig }}' + - name: schedule + value: '{{ schedule }}' + - name: eventStream + value: '{{ eventStream }}' + - name: status + value: '{{ status }}' + - name: creationTime + value: '{{ creationTime }}' + - name: lastModificationTime + value: '{{ lastModificationTime }}' + - name: deletionTime + value: '{{ deletionTime }}' + - name: latestOperationName + value: '{{ latestOperationName }}' + +``` + + + +## `UPDATE` example + +Updates a transfer_job only if the necessary resources are available. + +```sql +UPDATE google.storagetransfer.transfer_jobs +SET +projectId = '{{ projectId }}', +transferJob = '{{ transferJob }}', +updateTransferJobFieldMask = '{{ updateTransferJobFieldMask }}' +WHERE +transferJobsId = '{{ transferJobsId }}'; +``` + +## `DELETE` example + +Deletes the specified transfer_job resource. + +```sql +DELETE FROM google.storagetransfer.transfer_jobs +WHERE projectId = '{{ projectId }}' +AND transferJobsId = '{{ transferJobsId }}'; +``` diff --git a/docs/google-docs/providers/google/storagetransfer/transfer_operations/index.md b/docs/google-docs/providers/google/storagetransfer/transfer_operations/index.md index 4fd3013ad8..34dffe62f5 100644 --- a/docs/google-docs/providers/google/storagetransfer/transfer_operations/index.md +++ b/docs/google-docs/providers/google/storagetransfer/transfer_operations/index.md @@ -1,3 +1,4 @@ + --- title: transfer_operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - transfer_operations - storagetransfer - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an transfer_operation resource or lists transfer_operations in a region ## Overview
@@ -35,12 +37,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Represents the transfer operation object. To request a TransferOperation object, use transferOperations.get. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists transfer operations. Operations are ordered by their creation time in reverse chronological order. | -| | `EXEC` | | Lists transfer operations. Operations are ordered by their creation time in reverse chronological order. | | | `EXEC` | | Cancels a transfer. Use the transferOperations.get method to check if the cancellation succeeded or if the operation completed despite the `cancel` request. When you cancel an operation, the currently running transfer is interrupted. For recurring transfer jobs, the next instance of the transfer job will still run. For example, if your job is configured to run every day at 1pm and you cancel Monday's operation at 1:05pm, Monday's transfer will stop. However, a transfer job will still be attempted on Tuesday. This applies only to currently running operations. If an operation is not currently running, `cancel` does nothing. *Caution:* Canceling a transfer job can leave your data in an unknown state. We recommend that you restore the state at both the destination and the source after the `cancel` request completes so that your data is in a consistent state. When you cancel a job, the next job computes a delta of files and may repair any inconsistent state. For instance, if you run a job every day, and today's job found 10 new files and transferred five files before you canceled the job, tomorrow's transfer operation will compute a new delta with the five files that were not copied today plus any new files discovered tomorrow. | | | `EXEC` | | Pauses a transfer operation. | | | `EXEC` | | Resumes a transfer operation that is paused. | + +## `SELECT` examples + +Lists transfer operations. Operations are ordered by their creation time in reverse chronological order. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.storagetransfer.transfer_operations +WHERE filter = '{{ filter }}'; +``` diff --git a/docs/google-docs/providers/google/testing/application_detail_service_apk_details/index.md b/docs/google-docs/providers/google/testing/application_detail_service_apk_details/index.md index 7d71db4e10..46da58c68e 100644 --- a/docs/google-docs/providers/google/testing/application_detail_service_apk_details/index.md +++ b/docs/google-docs/providers/google/testing/application_detail_service_apk_details/index.md @@ -1,3 +1,4 @@ + --- title: application_detail_service_apk_details hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - application_detail_service_apk_details - testing - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an application_detail_service_apk_detail resource or lists application_detail_service_apk_details in a region ## Overview
@@ -28,8 +30,22 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `object` | Android application details based on application manifest and archive contents. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets the details of an Android application APK. | + +## `SELECT` examples + +Gets the details of an Android application APK. + +```sql +SELECT +apkDetail +FROM google.testing.application_detail_service_apk_details +WHERE = '{{ }}'; +``` diff --git a/docs/google-docs/providers/google/testing/device_sessions/index.md b/docs/google-docs/providers/google/testing/device_sessions/index.md index 5cc4d58b69..e1597d6ca3 100644 --- a/docs/google-docs/providers/google/testing/device_sessions/index.md +++ b/docs/google-docs/providers/google/testing/device_sessions/index.md @@ -1,3 +1,4 @@ + --- title: device_sessions hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - device_sessions - testing - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an device_session resource or lists device_sessions in a region ## Overview @@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Optional. Name of the DeviceSession, e.g. "projects/{project_id}/deviceSessions/{session_id}" | +| | `string` | Optional. Name of the DeviceSession, e.g. "projects/{project_id}/deviceSessions/{session_id}" | | | `string` | Output only. The timestamp that the session first became ACTIVE. | | | `object` | A single Android device. | | | `string` | Output only. The time that the Session was created. | @@ -40,12 +42,128 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Current state of the DeviceSession. | | | `array` | Output only. The historical state transitions of the session_state message including the current session state. | | | `string` | Optional. The amount of time that a device will be initially allocated for. This can eventually be extended with the UpdateDeviceSession RPC. Default: 15 minutes. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| -| | `SELECT` | | GET /v1/projects/{project_id}/deviceSessions/{device_session_id} Return a DeviceSession, which documents the allocation status and whether the device is allocated. Clients making requests from this API must poll GetDeviceSession. | -| | `SELECT` | | GET /v1/projects/{project_id}/deviceSessions Lists device Sessions owned by the project user. | -| | `INSERT` | | POST /v1/projects/{project_id}/deviceSessions | -| | `UPDATE` | | PATCH /v1/projects/{projectId}/deviceSessions/deviceSessionId}:updateDeviceSession Updates the current device session to the fields described by the update_mask. | -| | `EXEC` | | GET /v1/projects/{project_id}/deviceSessions Lists device Sessions owned by the project user. | -| | `EXEC` | | POST /v1/projects/{project_id}/deviceSessions/{device_session_id}:cancel Changes the DeviceSession to state FINISHED and terminates all connections. Canceled sessions are not deleted and can be retrieved or listed by the user until they expire based on the 28 day deletion policy. | +| | `SELECT` | | GET /v1/projects/{project_id}/deviceSessions/{device_session_id} Return a DeviceSession, which documents the allocation status and whether the device is allocated. Clients making requests from this API must poll GetDeviceSession. | +| | `SELECT` | | GET /v1/projects/{project_id}/deviceSessions Lists device Sessions owned by the project user. | +| | `INSERT` | | POST /v1/projects/{project_id}/deviceSessions | +| | `UPDATE` | | PATCH /v1/projects/{projectId}/deviceSessions/deviceSessionId}:updateDeviceSession Updates the current device session to the fields described by the update_mask. | +| | `EXEC` | | POST /v1/projects/{project_id}/deviceSessions/{device_session_id}:cancel Changes the DeviceSession to state FINISHED and terminates all connections. Canceled sessions are not deleted and can be retrieved or listed by the user until they expire based on the 28 day deletion policy. | + +## `SELECT` examples + +GET /v1/projects/{project_id}/deviceSessions Lists device Sessions owned by the project user. + +```sql +SELECT +name, +activeStartTime, +androidDevice, +createTime, +displayName, +expireTime, +inactivityTimeout, +state, +stateHistories, +ttl +FROM google.testing.device_sessions +WHERE projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new device_sessions resource. + + + + +```sql +/*+ create */ +INSERT INTO google.testing.device_sessions ( +projectsId, +name, +displayName, +state, +stateHistories, +ttl, +expireTime, +inactivityTimeout, +createTime, +activeStartTime, +androidDevice +) +SELECT +'{{ projectsId }}', +'{{ name }}', +'{{ displayName }}', +'{{ state }}', +'{{ stateHistories }}', +'{{ ttl }}', +'{{ expireTime }}', +'{{ inactivityTimeout }}', +'{{ createTime }}', +'{{ activeStartTime }}', +'{{ androidDevice }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: state + value: '{{ state }}' + - name: stateHistories + value: '{{ stateHistories }}' + - name: ttl + value: '{{ ttl }}' + - name: expireTime + value: '{{ expireTime }}' + - name: inactivityTimeout + value: '{{ inactivityTimeout }}' + - name: createTime + value: '{{ createTime }}' + - name: activeStartTime + value: '{{ activeStartTime }}' + - name: androidDevice + value: '{{ androidDevice }}' + +``` + + + +## `UPDATE` example + +Updates a device_session only if the necessary resources are available. + +```sql +UPDATE google.testing.device_sessions +SET +name = '{{ name }}', +displayName = '{{ displayName }}', +state = '{{ state }}', +stateHistories = '{{ stateHistories }}', +ttl = '{{ ttl }}', +expireTime = '{{ expireTime }}', +inactivityTimeout = '{{ inactivityTimeout }}', +createTime = '{{ createTime }}', +activeStartTime = '{{ activeStartTime }}', +androidDevice = '{{ androidDevice }}' +WHERE +deviceSessionsId = '{{ deviceSessionsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/testing/index.md b/docs/google-docs/providers/google/testing/index.md index 4eb6e17ea6..86a17be400 100644 --- a/docs/google-docs/providers/google/testing/index.md +++ b/docs/google-docs/providers/google/testing/index.md @@ -9,42 +9,31 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Allows developers to run automated tests for their mobile applications on Google infrastructure. - +The testing service documentation. + :::info Service Summary
total resources: 4
-total selectable resources: 3
-total methods: 11
::: -## Overview -
- - - - - -
Namegoogle.testing
TypeService
TitleCloud Testing API
DescriptionAllows developers to run automated tests for their mobile applications on Google infrastructure.
Idtesting:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/testing/test_environment_catalog/index.md b/docs/google-docs/providers/google/testing/test_environment_catalog/index.md index 8c9aeecd11..099312bd6c 100644 --- a/docs/google-docs/providers/google/testing/test_environment_catalog/index.md +++ b/docs/google-docs/providers/google/testing/test_environment_catalog/index.md @@ -1,3 +1,4 @@ + --- title: test_environment_catalog hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - test_environment_catalog - testing - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an test_environment_catalog resource or lists test_environment_catalog in a region ## Overview @@ -35,7 +37,23 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | The currently supported iOS devices. | | | `object` | | | | `object` | The currently provided software environment on the devices under test. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Gets the catalog of supported test environments. May return any of the following canonical error codes: - INVALID_ARGUMENT - if the request is malformed - NOT_FOUND - if the environment type does not exist - INTERNAL - if an internal error occurred | + +## `SELECT` examples + +Gets the catalog of supported test environments. May return any of the following canonical error codes: - INVALID_ARGUMENT - if the request is malformed - NOT_FOUND - if the environment type does not exist - INTERNAL - if an internal error occurred + +```sql +SELECT +androidDeviceCatalog, +deviceIpBlockCatalog, +iosDeviceCatalog, +networkConfigurationCatalog, +softwareCatalog +FROM google.testing.test_environment_catalog +WHERE environmentType = '{{ environmentType }}'; +``` diff --git a/docs/google-docs/providers/google/testing/test_matrices/index.md b/docs/google-docs/providers/google/testing/test_matrices/index.md index 0d0a327060..05ee45c29f 100644 --- a/docs/google-docs/providers/google/testing/test_matrices/index.md +++ b/docs/google-docs/providers/google/testing/test_matrices/index.md @@ -1,3 +1,4 @@ + --- title: test_matrices hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - test_matrices - testing - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an test_matrix resource or lists test_matrices in a region ## Overview
@@ -44,9 +46,125 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Unique id set by the service. | | | `object` | A description of how to run the test. | | | `string` | Output only. The time this test matrix was initially created. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Checks the status of a test matrix and the executions once they are created. The test matrix will contain the list of test executions to run if and only if the resultStorage.toolResultsExecution fields have been populated. Note: Flaky test executions may be added to the matrix at a later stage. May return any of the following canonical error codes: - PERMISSION_DENIED - if the user is not authorized to read project - INVALID_ARGUMENT - if the request is malformed - NOT_FOUND - if the Test Matrix does not exist | | | `INSERT` | | Creates and runs a matrix of tests according to the given specifications. Unsupported environments will be returned in the state UNSUPPORTED. A test matrix is limited to use at most 2000 devices in parallel. The returned matrix will not yet contain the executions that will be created for this matrix. Execution creation happens later on and will require a call to GetTestMatrix. May return any of the following canonical error codes: - PERMISSION_DENIED - if the user is not authorized to write to project - INVALID_ARGUMENT - if the request is malformed or if the matrix tries to use too many simultaneous devices. | | | `EXEC` | | Cancels unfinished test executions in a test matrix. This call returns immediately and cancellation proceeds asynchronously. If the matrix is already final, this operation will have no effect. May return any of the following canonical error codes: - PERMISSION_DENIED - if the user is not authorized to read project - INVALID_ARGUMENT - if the request is malformed - NOT_FOUND - if the Test Matrix does not exist | + +## `SELECT` examples + +Checks the status of a test matrix and the executions once they are created. The test matrix will contain the list of test executions to run if and only if the resultStorage.toolResultsExecution fields have been populated. Note: Flaky test executions may be added to the matrix at a later stage. May return any of the following canonical error codes: - PERMISSION_DENIED - if the user is not authorized to read project - INVALID_ARGUMENT - if the request is malformed - NOT_FOUND - if the Test Matrix does not exist + +```sql +SELECT +clientInfo, +environmentMatrix, +extendedInvalidMatrixDetails, +failFast, +flakyTestAttempts, +invalidMatrixDetails, +outcomeSummary, +projectId, +resultStorage, +state, +testExecutions, +testMatrixId, +testSpecification, +timestamp +FROM google.testing.test_matrices +WHERE projectId = '{{ projectId }}' +AND testMatrixId = '{{ testMatrixId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new test_matrices resource. + + + + +```sql +/*+ create */ +INSERT INTO google.testing.test_matrices ( +projectId, +testMatrixId, +projectId, +clientInfo, +testSpecification, +environmentMatrix, +testExecutions, +resultStorage, +state, +timestamp, +invalidMatrixDetails, +extendedInvalidMatrixDetails, +flakyTestAttempts, +outcomeSummary, +failFast +) +SELECT +'{{ projectId }}', +'{{ testMatrixId }}', +'{{ projectId }}', +'{{ clientInfo }}', +'{{ testSpecification }}', +'{{ environmentMatrix }}', +'{{ testExecutions }}', +'{{ resultStorage }}', +'{{ state }}', +'{{ timestamp }}', +'{{ invalidMatrixDetails }}', +'{{ extendedInvalidMatrixDetails }}', +'{{ flakyTestAttempts }}', +'{{ outcomeSummary }}', +true|false +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: testMatrixId + value: '{{ testMatrixId }}' + - name: projectId + value: '{{ projectId }}' + - name: clientInfo + value: '{{ clientInfo }}' + - name: testSpecification + value: '{{ testSpecification }}' + - name: environmentMatrix + value: '{{ environmentMatrix }}' + - name: testExecutions + value: '{{ testExecutions }}' + - name: resultStorage + value: '{{ resultStorage }}' + - name: state + value: '{{ state }}' + - name: timestamp + value: '{{ timestamp }}' + - name: invalidMatrixDetails + value: '{{ invalidMatrixDetails }}' + - name: extendedInvalidMatrixDetails + value: '{{ extendedInvalidMatrixDetails }}' + - name: flakyTestAttempts + value: '{{ flakyTestAttempts }}' + - name: outcomeSummary + value: '{{ outcomeSummary }}' + - name: failFast + value: '{{ failFast }}' + +``` + + diff --git a/docs/google-docs/providers/google/texttospeech/index.md b/docs/google-docs/providers/google/texttospeech/index.md index 6b40162327..984d80aeb0 100644 --- a/docs/google-docs/providers/google/texttospeech/index.md +++ b/docs/google-docs/providers/google/texttospeech/index.md @@ -9,42 +9,31 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Synthesizes natural-sounding speech by applying powerful neural network models. - +The texttospeech service documentation. + :::info Service Summary
total resources: 4
-total selectable resources: 2
-total methods: 8
::: -## Overview -
- - - - - -
Namegoogle.texttospeech
TypeService
TitleCloud Text-to-Speech API
DescriptionSynthesizes natural-sounding speech by applying powerful neural network models.
Idtexttospeech:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/texttospeech/locations/index.md b/docs/google-docs/providers/google/texttospeech/locations/index.md index 7b1fd20a04..24f0e91d28 100644 --- a/docs/google-docs/providers/google/texttospeech/locations/index.md +++ b/docs/google-docs/providers/google/texttospeech/locations/index.md @@ -1,3 +1,4 @@ + --- title: locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - locations - texttospeech - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an location resource or lists locations in a region ## Overview @@ -28,8 +30,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Synthesizes long form text asynchronously. | diff --git a/docs/google-docs/providers/google/texttospeech/operations/index.md b/docs/google-docs/providers/google/texttospeech/operations/index.md index 1f68f85dcb..515495dbfb 100644 --- a/docs/google-docs/providers/google/texttospeech/operations/index.md +++ b/docs/google-docs/providers/google/texttospeech/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - texttospeech - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview @@ -30,16 +32,41 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.texttospeech.operations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified operation resource. + +```sql +DELETE FROM google.texttospeech.operations +WHERE operationsId = '{{ operationsId }}'; +``` diff --git a/docs/google-docs/providers/google/texttospeech/text/index.md b/docs/google-docs/providers/google/texttospeech/text/index.md index 7d62a84988..ec29947c6c 100644 --- a/docs/google-docs/providers/google/texttospeech/text/index.md +++ b/docs/google-docs/providers/google/texttospeech/text/index.md @@ -1,3 +1,4 @@ + --- title: text hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - text - texttospeech - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an text resource or lists text in a region ## Overview
@@ -28,8 +30,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Synthesizes speech synchronously: receive results after all text input has been processed. | diff --git a/docs/google-docs/providers/google/texttospeech/voices/index.md b/docs/google-docs/providers/google/texttospeech/voices/index.md index 614bed2bae..9a00f92f7e 100644 --- a/docs/google-docs/providers/google/texttospeech/voices/index.md +++ b/docs/google-docs/providers/google/texttospeech/voices/index.md @@ -1,3 +1,4 @@ + --- title: voices hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - voices - texttospeech - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an voice resource or lists voices in a region ## Overview @@ -28,7 +30,22 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `array` | The list of voices. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Returns a list of Voice supported for synthesis. | + +## `SELECT` examples + +Returns a list of Voice supported for synthesis. + +```sql +SELECT +voices +FROM google.texttospeech.voices +WHERE = '{{ }}'; +``` diff --git a/docs/google-docs/providers/google/tpu/accelerator_types/index.md b/docs/google-docs/providers/google/tpu/accelerator_types/index.md index 0e06e49854..2932d7d067 100644 --- a/docs/google-docs/providers/google/tpu/accelerator_types/index.md +++ b/docs/google-docs/providers/google/tpu/accelerator_types/index.md @@ -1,3 +1,4 @@ + --- title: accelerator_types hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - accelerator_types - tpu - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an accelerator_type resource or lists accelerator_types in a region ## Overview @@ -33,9 +35,23 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The resource name. | | | `array` | The accelerator config. | | | `string` | The accelerator type. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets AcceleratorType. | | | `SELECT` | | Lists accelerator types supported by this API. | -| | `EXEC` | | Lists accelerator types supported by this API. | + +## `SELECT` examples + +Lists accelerator types supported by this API. + +```sql +SELECT +name, +acceleratorConfigs, +type +FROM google.tpu.accelerator_types +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/tpu/index.md b/docs/google-docs/providers/google/tpu/index.md index a9313d1344..078194e129 100644 --- a/docs/google-docs/providers/google/tpu/index.md +++ b/docs/google-docs/providers/google/tpu/index.md @@ -9,45 +9,34 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -TPU API provides customers with access to Google TPU technology. - +The tpu service documentation. + :::info Service Summary
total resources: 7
-total selectable resources: 6
-total methods: 30
::: -## Overview -
- - - - - -
Namegoogle.tpu
TypeService
TitleCloud TPU API
DescriptionTPU API provides customers with access to Google TPU technology.
Idtpu:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/tpu/locations/index.md b/docs/google-docs/providers/google/tpu/locations/index.md index eef636a1e8..0c9067c869 100644 --- a/docs/google-docs/providers/google/tpu/locations/index.md +++ b/docs/google-docs/providers/google/tpu/locations/index.md @@ -1,3 +1,4 @@ + --- title: locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - locations - tpu - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an location resource or lists locations in a region ## Overview @@ -32,13 +34,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` | | | `string` | The friendly name for this location, typically a nearby city name. For example, "Tokyo". | -| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | +| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | | | `string` | The canonical id for this location. For example: `"us-east1"`. | | | `object` | Service-specific metadata. For example the available capacity at the given location. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about a location. | | | `SELECT` | | Lists information about the supported locations for this service. | -| | `EXEC` | | Lists information about the supported locations for this service. | | | `EXEC` | | Generates the Cloud TPU service identity for the project. | + +## `SELECT` examples + +Lists information about the supported locations for this service. + +```sql +SELECT +name, +displayName, +labels, +locationId, +metadata +FROM google.tpu.locations +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/tpu/nodes/index.md b/docs/google-docs/providers/google/tpu/nodes/index.md index 461909a3f3..997735cb6c 100644 --- a/docs/google-docs/providers/google/tpu/nodes/index.md +++ b/docs/google-docs/providers/google/tpu/nodes/index.md @@ -1,3 +1,4 @@ + --- title: nodes hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - nodes - tpu - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an node resource or lists nodes in a region ## Overview
@@ -54,6 +56,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The current state for the TPU Node. | | | `array` | Output only. The Symptoms that have occurred to the TPU Node. | | | `array` | Tags to apply to the TPU Node. Tags are used to identify valid sources or targets for network firewalls. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -62,6 +65,220 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a node. | | | `DELETE` | | Deletes a node. | | | `UPDATE` | | Updates the configurations of a node. | -| | `EXEC` | | Lists nodes. | | | `EXEC` | | Starts a node. | | | `EXEC` | | Stops a node. This operation is only available with single TPU nodes. | + +## `SELECT` examples + +Lists nodes. + +```sql +SELECT +id, +name, +description, +acceleratorConfig, +acceleratorType, +apiVersion, +cidrBlock, +createTime, +dataDisks, +health, +healthDescription, +labels, +metadata, +multisliceNode, +networkConfig, +networkEndpoints, +queuedResource, +runtimeVersion, +schedulingConfig, +serviceAccount, +shieldedInstanceConfig, +state, +symptoms, +tags +FROM google.tpu.nodes +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new nodes resource. + + + + +```sql +/*+ create */ +INSERT INTO google.tpu.nodes ( +locationsId, +projectsId, +name, +description, +acceleratorType, +state, +healthDescription, +runtimeVersion, +networkConfig, +cidrBlock, +serviceAccount, +createTime, +schedulingConfig, +networkEndpoints, +health, +labels, +metadata, +tags, +id, +dataDisks, +apiVersion, +symptoms, +shieldedInstanceConfig, +acceleratorConfig, +queuedResource, +multisliceNode +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ description }}', +'{{ acceleratorType }}', +'{{ state }}', +'{{ healthDescription }}', +'{{ runtimeVersion }}', +'{{ networkConfig }}', +'{{ cidrBlock }}', +'{{ serviceAccount }}', +'{{ createTime }}', +'{{ schedulingConfig }}', +'{{ networkEndpoints }}', +'{{ health }}', +'{{ labels }}', +'{{ metadata }}', +'{{ tags }}', +'{{ id }}', +'{{ dataDisks }}', +'{{ apiVersion }}', +'{{ symptoms }}', +'{{ shieldedInstanceConfig }}', +'{{ acceleratorConfig }}', +'{{ queuedResource }}', +true|false +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: acceleratorType + value: '{{ acceleratorType }}' + - name: state + value: '{{ state }}' + - name: healthDescription + value: '{{ healthDescription }}' + - name: runtimeVersion + value: '{{ runtimeVersion }}' + - name: networkConfig + value: '{{ networkConfig }}' + - name: cidrBlock + value: '{{ cidrBlock }}' + - name: serviceAccount + value: '{{ serviceAccount }}' + - name: createTime + value: '{{ createTime }}' + - name: schedulingConfig + value: '{{ schedulingConfig }}' + - name: networkEndpoints + value: '{{ networkEndpoints }}' + - name: health + value: '{{ health }}' + - name: labels + value: '{{ labels }}' + - name: metadata + value: '{{ metadata }}' + - name: tags + value: '{{ tags }}' + - name: id + value: '{{ id }}' + - name: dataDisks + value: '{{ dataDisks }}' + - name: apiVersion + value: '{{ apiVersion }}' + - name: symptoms + value: '{{ symptoms }}' + - name: shieldedInstanceConfig + value: '{{ shieldedInstanceConfig }}' + - name: acceleratorConfig + value: '{{ acceleratorConfig }}' + - name: queuedResource + value: '{{ queuedResource }}' + - name: multisliceNode + value: '{{ multisliceNode }}' + +``` + + + +## `UPDATE` example + +Updates a node only if the necessary resources are available. + +```sql +UPDATE google.tpu.nodes +SET +name = '{{ name }}', +description = '{{ description }}', +acceleratorType = '{{ acceleratorType }}', +state = '{{ state }}', +healthDescription = '{{ healthDescription }}', +runtimeVersion = '{{ runtimeVersion }}', +networkConfig = '{{ networkConfig }}', +cidrBlock = '{{ cidrBlock }}', +serviceAccount = '{{ serviceAccount }}', +createTime = '{{ createTime }}', +schedulingConfig = '{{ schedulingConfig }}', +networkEndpoints = '{{ networkEndpoints }}', +health = '{{ health }}', +labels = '{{ labels }}', +metadata = '{{ metadata }}', +tags = '{{ tags }}', +id = '{{ id }}', +dataDisks = '{{ dataDisks }}', +apiVersion = '{{ apiVersion }}', +symptoms = '{{ symptoms }}', +shieldedInstanceConfig = '{{ shieldedInstanceConfig }}', +acceleratorConfig = '{{ acceleratorConfig }}', +queuedResource = '{{ queuedResource }}', +multisliceNode = true|false +WHERE +locationsId = '{{ locationsId }}' +AND nodesId = '{{ nodesId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified node resource. + +```sql +DELETE FROM google.tpu.nodes +WHERE locationsId = '{{ locationsId }}' +AND nodesId = '{{ nodesId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/tpu/nodes_guest_attributes/index.md b/docs/google-docs/providers/google/tpu/nodes_guest_attributes/index.md index a842ba774d..8c21f8b26f 100644 --- a/docs/google-docs/providers/google/tpu/nodes_guest_attributes/index.md +++ b/docs/google-docs/providers/google/tpu/nodes_guest_attributes/index.md @@ -1,3 +1,4 @@ + --- title: nodes_guest_attributes hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - nodes_guest_attributes - tpu - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an nodes_guest_attribute resource or lists nodes_guest_attributes in a region ## Overview
@@ -28,8 +30,24 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `array` | The guest attributes for the TPU workers. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Retrieves the guest attributes for the node. | + +## `SELECT` examples + +Retrieves the guest attributes for the node. + +```sql +SELECT +guestAttributes +FROM google.tpu.nodes_guest_attributes +WHERE locationsId = '{{ locationsId }}' +AND nodesId = '{{ nodesId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/tpu/operations/index.md b/docs/google-docs/providers/google/tpu/operations/index.md index af46059e82..d77dcde4a3 100644 --- a/docs/google-docs/providers/google/tpu/operations/index.md +++ b/docs/google-docs/providers/google/tpu/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - tpu - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview @@ -30,16 +32,43 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.tpu.operations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified operation resource. + +```sql +DELETE FROM google.tpu.operations +WHERE locationsId = '{{ locationsId }}' +AND operationsId = '{{ operationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/tpu/queued_resources/index.md b/docs/google-docs/providers/google/tpu/queued_resources/index.md index 024f40f695..9d85a7d6fe 100644 --- a/docs/google-docs/providers/google/tpu/queued_resources/index.md +++ b/docs/google-docs/providers/google/tpu/queued_resources/index.md @@ -1,3 +1,4 @@ + --- title: queued_resources hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - queued_resources - tpu - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an queued_resource resource or lists queued_resources in a region ## Overview
@@ -34,10 +36,11 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The time when the QueuedResource was created. | | | `object` | Guaranteed tier definition. | | | `object` | Defines the policy of the QueuedRequest. | -| | `string` | Optional. Name of the reservation in which the resource should be provisioned. Format: projects/{project}/locations/{zone}/reservations/{reservation} | +| | `string` | Optional. Name of the reservation in which the resource should be provisioned. Format: projects/{project}/locations/{zone}/reservations/{reservation} | | | `object` | Spot tier definition. | | | `object` | QueuedResourceState defines the details of the QueuedResource request. | | | `object` | Details of the TPU resource(s) being requested. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -45,5 +48,102 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists queued resources. | | | `INSERT` | | Creates a QueuedResource TPU instance. | | | `DELETE` | | Deletes a QueuedResource TPU instance. | -| | `EXEC` | | Lists queued resources. | | | `EXEC` | | Resets a QueuedResource TPU instance | + +## `SELECT` examples + +Lists queued resources. + +```sql +SELECT +name, +createTime, +guaranteed, +queueingPolicy, +reservationName, +spot, +state, +tpu +FROM google.tpu.queued_resources +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new queued_resources resource. + + + + +```sql +/*+ create */ +INSERT INTO google.tpu.queued_resources ( +locationsId, +projectsId, +name, +createTime, +tpu, +spot, +guaranteed, +queueingPolicy, +state, +reservationName +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ createTime }}', +'{{ tpu }}', +'{{ spot }}', +'{{ guaranteed }}', +'{{ queueingPolicy }}', +'{{ state }}', +'{{ reservationName }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: tpu + value: '{{ tpu }}' + - name: spot + value: '{{ spot }}' + - name: guaranteed + value: '{{ guaranteed }}' + - name: queueingPolicy + value: '{{ queueingPolicy }}' + - name: state + value: '{{ state }}' + - name: reservationName + value: '{{ reservationName }}' + +``` + + + +## `DELETE` example + +Deletes the specified queued_resource resource. + +```sql +DELETE FROM google.tpu.queued_resources +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND queuedResourcesId = '{{ queuedResourcesId }}'; +``` diff --git a/docs/google-docs/providers/google/tpu/runtime_versions/index.md b/docs/google-docs/providers/google/tpu/runtime_versions/index.md index e8c2abbab5..8fe7d44557 100644 --- a/docs/google-docs/providers/google/tpu/runtime_versions/index.md +++ b/docs/google-docs/providers/google/tpu/runtime_versions/index.md @@ -1,3 +1,4 @@ + --- title: runtime_versions hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - runtime_versions - tpu - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an runtime_version resource or lists runtime_versions in a region ## Overview
@@ -32,9 +34,22 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | The resource name. | | | `string` | The runtime version. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets a runtime version. | | | `SELECT` | | Lists runtime versions supported by this API. | -| | `EXEC` | | Lists runtime versions supported by this API. | + +## `SELECT` examples + +Lists runtime versions supported by this API. + +```sql +SELECT +name, +version +FROM google.tpu.runtime_versions +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/trafficdirector/discovery/index.md b/docs/google-docs/providers/google/trafficdirector/discovery/index.md index d48e5736cd..003c440d83 100644 --- a/docs/google-docs/providers/google/trafficdirector/discovery/index.md +++ b/docs/google-docs/providers/google/trafficdirector/discovery/index.md @@ -1,3 +1,4 @@ + --- title: discovery hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - discovery - trafficdirector - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an discovery resource or lists discovery in a region ## Overview
@@ -28,8 +30,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | | diff --git a/docs/google-docs/providers/google/trafficdirector/index.md b/docs/google-docs/providers/google/trafficdirector/index.md index 64577a0796..ac193e3a4c 100644 --- a/docs/google-docs/providers/google/trafficdirector/index.md +++ b/docs/google-docs/providers/google/trafficdirector/index.md @@ -9,39 +9,29 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- - - +The trafficdirector service documentation. + :::info Service Summary
total resources: 1
-total selectable resources: 0
-total methods: 1
::: -## Overview - - - - - - -
Namegoogle.trafficdirector
TypeService
TitleTraffic Director API
Description
Idtrafficdirector:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/transcoder/index.md b/docs/google-docs/providers/google/transcoder/index.md index 9f1ab6826f..f99a9150e2 100644 --- a/docs/google-docs/providers/google/transcoder/index.md +++ b/docs/google-docs/providers/google/transcoder/index.md @@ -9,40 +9,29 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -This API converts video files into formats suitable for consumer distribution. For more information, see the Transcoder API overview. - +The transcoder service documentation. + :::info Service Summary
total resources: 2
-total selectable resources: 2
-total methods: 10
::: -## Overview - - - - - - -
Namegoogle.transcoder
TypeService
TitleTranscoder API
DescriptionThis API converts video files into formats suitable for consumer distribution. For more information, see the Transcoder API overview.
Idtranscoder:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/transcoder/job_templates/index.md b/docs/google-docs/providers/google/transcoder/job_templates/index.md index 412aef648c..cd55e67d84 100644 --- a/docs/google-docs/providers/google/transcoder/job_templates/index.md +++ b/docs/google-docs/providers/google/transcoder/job_templates/index.md @@ -1,3 +1,4 @@ + --- title: job_templates hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - job_templates - transcoder - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an job_template resource or lists job_templates in a region ## Overview @@ -30,9 +32,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The resource name of the job template. Format: `projects/{project_number}/locations/{location}/jobTemplates/{job_template}` | +| | `string` | The resource name of the job template. Format: `projects/{project_number}/locations/{location}/jobTemplates/{job_template}` | | | `object` | Job configuration | | | `object` | The labels associated with this job template. You can use these to organize and group your job templates. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -40,4 +43,76 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists job templates in the specified region. | | | `INSERT` | | Creates a job template in the specified region. | | | `DELETE` | | Deletes a job template. | -| | `EXEC` | | Lists job templates in the specified region. | + +## `SELECT` examples + +Lists job templates in the specified region. + +```sql +SELECT +name, +config, +labels +FROM google.transcoder.job_templates +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new job_templates resource. + + + + +```sql +/*+ create */ +INSERT INTO google.transcoder.job_templates ( +locationsId, +projectsId, +name, +config, +labels +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ config }}', +'{{ labels }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: config + value: '{{ config }}' + - name: labels + value: '{{ labels }}' + +``` + + + +## `DELETE` example + +Deletes the specified job_template resource. + +```sql +DELETE FROM google.transcoder.job_templates +WHERE jobTemplatesId = '{{ jobTemplatesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/transcoder/jobs/index.md b/docs/google-docs/providers/google/transcoder/jobs/index.md index 82eea77471..739d37dfff 100644 --- a/docs/google-docs/providers/google/transcoder/jobs/index.md +++ b/docs/google-docs/providers/google/transcoder/jobs/index.md @@ -1,3 +1,4 @@ + --- title: jobs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - jobs - transcoder - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an job resource or lists jobs in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The resource name of the job. Format: `projects/{project_number}/locations/{location}/jobs/{job}` | +| | `string` | The resource name of the job. Format: `projects/{project_number}/locations/{location}/jobs/{job}` | | | `integer` | The processing priority of a batch job. This field can only be set for batch mode jobs. The default value is 0. This value cannot be negative. Higher values correspond to higher priorities for the job. | | | `object` | Job configuration | | | `string` | Output only. The time the job was created. | @@ -43,8 +45,9 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Input only. Specify the `output_uri` to populate an empty `Job.config.output.uri` or `JobTemplate.config.output.uri` when using template. URI for the output file(s). For example, `gs://my-bucket/outputs/`. See [Supported input and output formats](https://cloud.google.com/transcoder/docs/concepts/supported-input-and-output-formats). | | | `string` | Output only. The time the transcoding started. | | | `string` | Output only. The current state of the job. | -| | `string` | Input only. Specify the `template_id` to use for populating `Job.config`. The default is `preset/web-hd`, which is the only supported preset. User defined JobTemplate: `{job_template_id}` | +| | `string` | Input only. Specify the `template_id` to use for populating `Job.config`. The default is `preset/web-hd`, which is the only supported preset. User defined JobTemplate: `{job_template_id}` | | | `integer` | Job time to live value in days, which will be effective after job completion. Job should be deleted automatically after the given TTL. Enter a value between 1 and 90. The default is 30. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -52,4 +55,136 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists jobs in the specified region. | | | `INSERT` | | Creates a job in the specified region. | | | `DELETE` | | Deletes a job. | -| | `EXEC` | | Lists jobs in the specified region. | + +## `SELECT` examples + +Lists jobs in the specified region. + +```sql +SELECT +name, +batchModePriority, +config, +createTime, +endTime, +error, +inputUri, +labels, +mode, +optimization, +outputUri, +startTime, +state, +templateId, +ttlAfterCompletionDays +FROM google.transcoder.jobs +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new jobs resource. + + + + +```sql +/*+ create */ +INSERT INTO google.transcoder.jobs ( +locationsId, +projectsId, +name, +inputUri, +outputUri, +templateId, +config, +state, +createTime, +startTime, +endTime, +ttlAfterCompletionDays, +labels, +error, +mode, +batchModePriority, +optimization +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ inputUri }}', +'{{ outputUri }}', +'{{ templateId }}', +'{{ config }}', +'{{ state }}', +'{{ createTime }}', +'{{ startTime }}', +'{{ endTime }}', +'{{ ttlAfterCompletionDays }}', +'{{ labels }}', +'{{ error }}', +'{{ mode }}', +'{{ batchModePriority }}', +'{{ optimization }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: inputUri + value: '{{ inputUri }}' + - name: outputUri + value: '{{ outputUri }}' + - name: templateId + value: '{{ templateId }}' + - name: config + value: '{{ config }}' + - name: state + value: '{{ state }}' + - name: createTime + value: '{{ createTime }}' + - name: startTime + value: '{{ startTime }}' + - name: endTime + value: '{{ endTime }}' + - name: ttlAfterCompletionDays + value: '{{ ttlAfterCompletionDays }}' + - name: labels + value: '{{ labels }}' + - name: error + value: '{{ error }}' + - name: mode + value: '{{ mode }}' + - name: batchModePriority + value: '{{ batchModePriority }}' + - name: optimization + value: '{{ optimization }}' + +``` + + + +## `DELETE` example + +Deletes the specified job resource. + +```sql +DELETE FROM google.transcoder.jobs +WHERE jobsId = '{{ jobsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/translate/adaptive_mt_datasets/index.md b/docs/google-docs/providers/google/translate/adaptive_mt_datasets/index.md index d253170f25..5397d310ed 100644 --- a/docs/google-docs/providers/google/translate/adaptive_mt_datasets/index.md +++ b/docs/google-docs/providers/google/translate/adaptive_mt_datasets/index.md @@ -1,3 +1,4 @@ + --- title: adaptive_mt_datasets hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - adaptive_mt_datasets - translate - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an adaptive_mt_dataset resource or lists adaptive_mt_datasets in a region ## Overview
@@ -30,13 +32,14 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Required. The resource name of the dataset, in form of `projects/{project-number-or-id}/locations/{location_id}/adaptiveMtDatasets/{dataset_id}` | +| | `string` | Required. The resource name of the dataset, in form of `projects/{project-number-or-id}/locations/{location_id}/adaptiveMtDatasets/{dataset_id}` | | | `string` | Output only. Timestamp when this dataset was created. | | | `string` | The name of the dataset to show in the interface. The name can be up to 32 characters long and can consist only of ASCII Latin letters A-Z and a-z, underscores (_), and ASCII digits 0-9. | | | `integer` | The number of examples in the dataset. | | | `string` | The BCP-47 language code of the source language. | | | `string` | The BCP-47 language code of the target language. | | | `string` | Output only. Timestamp when this dataset was last updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -44,5 +47,97 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists all Adaptive MT datasets for which the caller has read permission. | | | `INSERT` | | Creates an Adaptive MT dataset. | | | `DELETE` | | Deletes an Adaptive MT dataset, including all its entries and associated metadata. | -| | `EXEC` | | Lists all Adaptive MT datasets for which the caller has read permission. | | | `EXEC` | | Imports an AdaptiveMtFile and adds all of its sentences into the AdaptiveMtDataset. | + +## `SELECT` examples + +Lists all Adaptive MT datasets for which the caller has read permission. + +```sql +SELECT +name, +createTime, +displayName, +exampleCount, +sourceLanguageCode, +targetLanguageCode, +updateTime +FROM google.translate.adaptive_mt_datasets +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new adaptive_mt_datasets resource. + + + + +```sql +/*+ create */ +INSERT INTO google.translate.adaptive_mt_datasets ( +locationsId, +projectsId, +name, +displayName, +sourceLanguageCode, +targetLanguageCode, +exampleCount, +createTime, +updateTime +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ displayName }}', +'{{ sourceLanguageCode }}', +'{{ targetLanguageCode }}', +'{{ exampleCount }}', +'{{ createTime }}', +'{{ updateTime }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: sourceLanguageCode + value: '{{ sourceLanguageCode }}' + - name: targetLanguageCode + value: '{{ targetLanguageCode }}' + - name: exampleCount + value: '{{ exampleCount }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + +``` + + + +## `DELETE` example + +Deletes the specified adaptive_mt_dataset resource. + +```sql +DELETE FROM google.translate.adaptive_mt_datasets +WHERE adaptiveMtDatasetsId = '{{ adaptiveMtDatasetsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/translate/adaptive_mt_files/index.md b/docs/google-docs/providers/google/translate/adaptive_mt_files/index.md index 0420100d85..40bc5af2c1 100644 --- a/docs/google-docs/providers/google/translate/adaptive_mt_files/index.md +++ b/docs/google-docs/providers/google/translate/adaptive_mt_files/index.md @@ -1,3 +1,4 @@ + --- title: adaptive_mt_files hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - adaptive_mt_files - translate - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an adaptive_mt_file resource or lists adaptive_mt_files in a region ## Overview
@@ -30,15 +32,44 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Required. The resource name of the file, in form of `projects/{project-number-or-id}/locations/{location_id}/adaptiveMtDatasets/{dataset}/adaptiveMtFiles/{file}` | +| | `string` | Required. The resource name of the file, in form of `projects/{project-number-or-id}/locations/{location_id}/adaptiveMtDatasets/{dataset}/adaptiveMtFiles/{file}` | | | `string` | Output only. Timestamp when this file was created. | | | `string` | The file's display name. | | | `integer` | The number of entries that the file contains. | | | `string` | Output only. Timestamp when this file was last updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets and AdaptiveMtFile | | | `SELECT` | | Lists all AdaptiveMtFiles associated to an AdaptiveMtDataset. | | | `DELETE` | | Deletes an AdaptiveMtFile along with its sentences. | -| | `EXEC` | | Lists all AdaptiveMtFiles associated to an AdaptiveMtDataset. | + +## `SELECT` examples + +Lists all AdaptiveMtFiles associated to an AdaptiveMtDataset. + +```sql +SELECT +name, +createTime, +displayName, +entryCount, +updateTime +FROM google.translate.adaptive_mt_files +WHERE adaptiveMtDatasetsId = '{{ adaptiveMtDatasetsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified adaptive_mt_file resource. + +```sql +DELETE FROM google.translate.adaptive_mt_files +WHERE adaptiveMtDatasetsId = '{{ adaptiveMtDatasetsId }}' +AND adaptiveMtFilesId = '{{ adaptiveMtFilesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/translate/adaptive_mt_sentences/index.md b/docs/google-docs/providers/google/translate/adaptive_mt_sentences/index.md index 5ef53ac6cf..b4e3e3a445 100644 --- a/docs/google-docs/providers/google/translate/adaptive_mt_sentences/index.md +++ b/docs/google-docs/providers/google/translate/adaptive_mt_sentences/index.md @@ -1,3 +1,4 @@ + --- title: adaptive_mt_sentences hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - adaptive_mt_sentences - translate - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an adaptive_mt_sentence resource or lists adaptive_mt_sentences in a region ## Overview
@@ -30,15 +32,31 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Required. The resource name of the file, in form of `projects/{project-number-or-id}/locations/{location_id}/adaptiveMtDatasets/{dataset}/adaptiveMtFiles/{file}/adaptiveMtSentences/{sentence}` | +| | `string` | Required. The resource name of the file, in form of `projects/{project-number-or-id}/locations/{location_id}/adaptiveMtDatasets/{dataset}/adaptiveMtFiles/{file}/adaptiveMtSentences/{sentence}` | | | `string` | Output only. Timestamp when this sentence was created. | | | `string` | Required. The source sentence. | | | `string` | Required. The target sentence. | | | `string` | Output only. Timestamp when this sentence was last updated. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `SELECT` | | -| | `EXEC` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists all AdaptiveMtSentences under a given file/dataset. | +| | `SELECT` | | Lists all AdaptiveMtSentences under a given file/dataset. | + +## `SELECT` examples + +Lists all AdaptiveMtSentences under a given file/dataset. + +```sql +SELECT +name, +createTime, +sourceSentence, +targetSentence, +updateTime +FROM google.translate.adaptive_mt_sentences +WHERE adaptiveMtDatasetsId = '{{ adaptiveMtDatasetsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/translate/datasets/index.md b/docs/google-docs/providers/google/translate/datasets/index.md index 338c6e065e..127d26a64e 100644 --- a/docs/google-docs/providers/google/translate/datasets/index.md +++ b/docs/google-docs/providers/google/translate/datasets/index.md @@ -1,3 +1,4 @@ + --- title: datasets hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - datasets - translate - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an dataset resource or lists datasets in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The resource name of the dataset, in form of `projects/{project-number-or-id}/locations/{location_id}/datasets/{dataset_id}` | +| | `string` | The resource name of the dataset, in form of `projects/{project-number-or-id}/locations/{location_id}/datasets/{dataset_id}` | | | `string` | Output only. Timestamp when this dataset was created. | | | `string` | The name of the dataset to show in the interface. The name can be up to 32 characters long and can consist only of ASCII Latin letters A-Z and a-z, underscores (_), and ASCII digits 0-9. | | | `integer` | Output only. The number of examples in the dataset. | @@ -40,6 +42,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `integer` | Output only. Number of training examples (sentence pairs). | | | `string` | Output only. Timestamp when this dataset was last updated. | | | `integer` | Output only. Number of validation examples (sentence pairs). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -47,6 +50,113 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists datasets. | | | `INSERT` | | Creates a Dataset. | | | `DELETE` | | Deletes a dataset and all of its contents. | -| | `EXEC` | | Lists datasets. | | | `EXEC` | | Exports dataset's data to the provided output location. | | | `EXEC` | | Import sentence pairs into translation Dataset. | + +## `SELECT` examples + +Lists datasets. + +```sql +SELECT +name, +createTime, +displayName, +exampleCount, +sourceLanguageCode, +targetLanguageCode, +testExampleCount, +trainExampleCount, +updateTime, +validateExampleCount +FROM google.translate.datasets +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new datasets resource. + + + + +```sql +/*+ create */ +INSERT INTO google.translate.datasets ( +locationsId, +projectsId, +name, +displayName, +sourceLanguageCode, +targetLanguageCode, +exampleCount, +trainExampleCount, +validateExampleCount, +testExampleCount, +createTime, +updateTime +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ displayName }}', +'{{ sourceLanguageCode }}', +'{{ targetLanguageCode }}', +'{{ exampleCount }}', +'{{ trainExampleCount }}', +'{{ validateExampleCount }}', +'{{ testExampleCount }}', +'{{ createTime }}', +'{{ updateTime }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: sourceLanguageCode + value: '{{ sourceLanguageCode }}' + - name: targetLanguageCode + value: '{{ targetLanguageCode }}' + - name: exampleCount + value: '{{ exampleCount }}' + - name: trainExampleCount + value: '{{ trainExampleCount }}' + - name: validateExampleCount + value: '{{ validateExampleCount }}' + - name: testExampleCount + value: '{{ testExampleCount }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + +``` + + + +## `DELETE` example + +Deletes the specified dataset resource. + +```sql +DELETE FROM google.translate.datasets +WHERE datasetsId = '{{ datasetsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/translate/examples/index.md b/docs/google-docs/providers/google/translate/examples/index.md index a4ed47a57e..787259fa9b 100644 --- a/docs/google-docs/providers/google/translate/examples/index.md +++ b/docs/google-docs/providers/google/translate/examples/index.md @@ -1,3 +1,4 @@ + --- title: examples hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - examples - translate - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an example resource or lists examples in a region ## Overview
@@ -30,12 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. The resource name of the example, in form of `projects/{project-number-or-id}/locations/{location_id}/datasets/{dataset_id}/examples/{example_id}' | +| | `string` | Output only. The resource name of the example, in form of `projects/{project-number-or-id}/locations/{location_id}/datasets/{dataset_id}/examples/{example_id}` | | | `string` | Sentence in source language. | | | `string` | Sentence in target language. | -| | `string` | Output only. Usage of the sentence pair. Options are TRAIN\|VALIDATION\|TEST. | +| | `string` | Output only. Usage of the sentence pair. Options are TRAIN|VALIDATION|TEST. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists sentence pairs in the dataset. | + +## `SELECT` examples + +Lists sentence pairs in the dataset. + +```sql +SELECT +name, +sourceText, +targetText, +usage +FROM google.translate.examples +WHERE datasetsId = '{{ datasetsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/translate/glossaries/index.md b/docs/google-docs/providers/google/translate/glossaries/index.md index f14ebc5318..e10eca0b16 100644 --- a/docs/google-docs/providers/google/translate/glossaries/index.md +++ b/docs/google-docs/providers/google/translate/glossaries/index.md @@ -1,3 +1,4 @@ + --- title: glossaries hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - glossaries - translate - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an glossary resource or lists glossaries in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Required. The resource name of the glossary. Glossary names have the form `projects/{project-number-or-id}/locations/{location-id}/glossaries/{glossary-id}`. | +| | `string` | Required. The resource name of the glossary. Glossary names have the form `projects/{project-number-or-id}/locations/{location-id}/glossaries/{glossary-id}`. | | | `string` | Optional. The display name of the glossary. | | | `string` | Output only. When the glossary creation was finished. | | | `integer` | Output only. The number of entries defined in the glossary. | @@ -38,6 +40,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Used with equivalent term set glossaries. | | | `object` | Used with unidirectional glossaries. | | | `string` | Output only. When CreateGlossary was called. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -46,4 +49,122 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a glossary and returns the long-running operation. Returns NOT_FOUND, if the project doesn't exist. | | | `DELETE` | | Deletes a glossary, or cancels glossary construction if the glossary isn't created yet. Returns NOT_FOUND, if the glossary doesn't exist. | | | `UPDATE` | | Updates a glossary. A LRO is used since the update can be async if the glossary's entry file is updated. | -| | `EXEC` | | Lists glossaries in a project. Returns NOT_FOUND, if the project doesn't exist. | + +## `SELECT` examples + +Lists glossaries in a project. Returns NOT_FOUND, if the project doesn't exist. + +```sql +SELECT +name, +displayName, +endTime, +entryCount, +inputConfig, +languageCodesSet, +languagePair, +submitTime +FROM google.translate.glossaries +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new glossaries resource. + + + + +```sql +/*+ create */ +INSERT INTO google.translate.glossaries ( +locationsId, +projectsId, +name, +languagePair, +languageCodesSet, +inputConfig, +entryCount, +submitTime, +endTime, +displayName +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ languagePair }}', +'{{ languageCodesSet }}', +'{{ inputConfig }}', +'{{ entryCount }}', +'{{ submitTime }}', +'{{ endTime }}', +'{{ displayName }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: languagePair + value: '{{ languagePair }}' + - name: languageCodesSet + value: '{{ languageCodesSet }}' + - name: inputConfig + value: '{{ inputConfig }}' + - name: entryCount + value: '{{ entryCount }}' + - name: submitTime + value: '{{ submitTime }}' + - name: endTime + value: '{{ endTime }}' + - name: displayName + value: '{{ displayName }}' + +``` + + + +## `UPDATE` example + +Updates a glossary only if the necessary resources are available. + +```sql +UPDATE google.translate.glossaries +SET +name = '{{ name }}', +languagePair = '{{ languagePair }}', +languageCodesSet = '{{ languageCodesSet }}', +inputConfig = '{{ inputConfig }}', +entryCount = '{{ entryCount }}', +submitTime = '{{ submitTime }}', +endTime = '{{ endTime }}', +displayName = '{{ displayName }}' +WHERE +glossariesId = '{{ glossariesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified glossary resource. + +```sql +DELETE FROM google.translate.glossaries +WHERE glossariesId = '{{ glossariesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/translate/glossary_entries/index.md b/docs/google-docs/providers/google/translate/glossary_entries/index.md index abd1a7269c..2ae687ef50 100644 --- a/docs/google-docs/providers/google/translate/glossary_entries/index.md +++ b/docs/google-docs/providers/google/translate/glossary_entries/index.md @@ -1,3 +1,4 @@ + --- title: glossary_entries hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - glossary_entries - translate - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an glossary_entry resource or lists glossary_entries in a region ## Overview
@@ -30,10 +32,11 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Required. The resource name of the entry. Format: "projects/*/locations/*/glossaries/*/glossaryEntries/*" | +| | `string` | Identifier. The resource name of the entry. Format: `projects/*/locations/*/glossaries/*/glossaryEntries/*` | | | `string` | Describes the glossary entry. | | | `object` | Represents a single entry for an unidirectional glossary. | | | `object` | Represents a single entry for an equivalent term set glossary. This is used for equivalent term sets where each term can be replaced by the other terms in the set. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -42,4 +45,103 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a glossary entry. | | | `DELETE` | | Deletes a single entry from the glossary | | | `UPDATE` | | Updates a glossary entry. | -| | `EXEC` | | List the entries for the glossary. | + +## `SELECT` examples + +List the entries for the glossary. + +```sql +SELECT +name, +description, +termsPair, +termsSet +FROM google.translate.glossary_entries +WHERE glossariesId = '{{ glossariesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new glossary_entries resource. + + + + +```sql +/*+ create */ +INSERT INTO google.translate.glossary_entries ( +glossariesId, +locationsId, +projectsId, +name, +termsPair, +termsSet, +description +) +SELECT +'{{ glossariesId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ termsPair }}', +'{{ termsSet }}', +'{{ description }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: termsPair + value: '{{ termsPair }}' + - name: termsSet + value: '{{ termsSet }}' + - name: description + value: '{{ description }}' + +``` + + + +## `UPDATE` example + +Updates a glossary_entry only if the necessary resources are available. + +```sql +UPDATE google.translate.glossary_entries +SET +name = '{{ name }}', +termsPair = '{{ termsPair }}', +termsSet = '{{ termsSet }}', +description = '{{ description }}' +WHERE +glossariesId = '{{ glossariesId }}' +AND glossaryEntriesId = '{{ glossaryEntriesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified glossary_entry resource. + +```sql +DELETE FROM google.translate.glossary_entries +WHERE glossariesId = '{{ glossariesId }}' +AND glossaryEntriesId = '{{ glossaryEntriesId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/translate/index.md b/docs/google-docs/providers/google/translate/index.md index ada48be915..1f1af9d574 100644 --- a/docs/google-docs/providers/google/translate/index.md +++ b/docs/google-docs/providers/google/translate/index.md @@ -9,34 +9,23 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Integrates text translation into your website or application. - +The translate service documentation. + :::info Service Summary
total resources: 12
-total selectable resources: 11
-total methods: 61
::: -## Overview -
- - - - - -
Namegoogle.translate
TypeService
TitleCloud Translation API
DescriptionIntegrates text translation into your website or application.
Idtranslate:v24.06.00236
- ## Resources
@@ -45,7 +34,7 @@ Integrates text translation into your website or application. adaptive_mt_sentences
datasets
examples
-glossaries
+glossaries
glossary_entries
@@ -53,6 +42,6 @@ Integrates text translation into your website or application. models
operations
projects
-supported_languages
-
+supported_languages
+ \ No newline at end of file diff --git a/docs/google-docs/providers/google/translate/locations/index.md b/docs/google-docs/providers/google/translate/locations/index.md index 376069d255..95eb361828 100644 --- a/docs/google-docs/providers/google/translate/locations/index.md +++ b/docs/google-docs/providers/google/translate/locations/index.md @@ -1,3 +1,4 @@ + --- title: locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - locations - translate - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an location resource or lists locations in a region ## Overview @@ -32,15 +34,15 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` | | | `string` | The friendly name for this location, typically a nearby city name. For example, "Tokyo". | -| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | +| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | | | `string` | The canonical id for this location. For example: `"us-east1"`. | | | `object` | Service-specific metadata. For example the available capacity at the given location. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about a location. | | | `SELECT` | | Lists information about the supported locations for this service. | -| | `EXEC` | | Lists information about the supported locations for this service. | | | `EXEC` | | Translate text using Adaptive MT. | | | `EXEC` | | Translates a large volume of document in asynchronous batch mode. This function provides real-time output as the inputs are being processed. If caller cancels a request, the partial results (for an input file, it's all or nothing) may still be available on the specified output location. This call returns immediately and you can use google.longrunning.Operation.name to poll the status of the call. | | | `EXEC` | | Translates a large volume of text in asynchronous batch mode. This function provides real-time output as the inputs are being processed. If caller cancels a request, the partial results (for an input file, it's all or nothing) may still be available on the specified output location. This call returns immediately and you can use google.longrunning.Operation.name to poll the status of the call. | @@ -48,3 +50,18 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `EXEC` | | Romanize input text written in non-Latin scripts to Latin text. | | | `EXEC` | | Translates documents in synchronous mode. | | | `EXEC` | | Translates input text and returns translated text. | + +## `SELECT` examples + +Lists information about the supported locations for this service. + +```sql +SELECT +name, +displayName, +labels, +locationId, +metadata +FROM google.translate.locations +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/translate/models/index.md b/docs/google-docs/providers/google/translate/models/index.md index cf57836dfc..689ba771b0 100644 --- a/docs/google-docs/providers/google/translate/models/index.md +++ b/docs/google-docs/providers/google/translate/models/index.md @@ -1,3 +1,4 @@ + --- title: models hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - models - translate - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an model resource or lists models in a region ## Overview
@@ -30,9 +32,9 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The resource name of the model, in form of `projects/{project-number-or-id}/locations/{location_id}/models/{model_id}` | +| | `string` | The resource name of the model, in form of `projects/{project-number-or-id}/locations/{location_id}/models/{model_id}` | | | `string` | Output only. Timestamp when the model resource was created, which is also when the training started. | -| | `string` | The dataset from which the model is trained, in form of `projects/{project-number-or-id}/locations/{location_id}/datasets/{dataset_id}` | +| | `string` | The dataset from which the model is trained, in form of `projects/{project-number-or-id}/locations/{location_id}/datasets/{dataset_id}` | | | `string` | The name of the model to show in the interface. The name can be up to 32 characters long and can consist only of ASCII Latin letters A-Z and a-z, underscores (_), and ASCII digits 0-9. | | | `string` | Output only. The BCP-47 language code of the source language. | | | `string` | Output only. The BCP-47 language code of the target language. | @@ -40,6 +42,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `integer` | Output only. Number of examples (sentence pairs) used to train the model. | | | `string` | Output only. Timestamp when this model was last updated. | | | `integer` | Output only. Number of examples (sentence pairs) used to validate the model. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -47,4 +50,111 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists models. | | | `INSERT` | | Creates a Model. | | | `DELETE` | | Deletes a model. | -| | `EXEC` | | Lists models. | + +## `SELECT` examples + +Lists models. + +```sql +SELECT +name, +createTime, +dataset, +displayName, +sourceLanguageCode, +targetLanguageCode, +testExampleCount, +trainExampleCount, +updateTime, +validateExampleCount +FROM google.translate.models +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new models resource. + + + + +```sql +/*+ create */ +INSERT INTO google.translate.models ( +locationsId, +projectsId, +name, +displayName, +dataset, +sourceLanguageCode, +targetLanguageCode, +trainExampleCount, +validateExampleCount, +testExampleCount, +createTime, +updateTime +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ displayName }}', +'{{ dataset }}', +'{{ sourceLanguageCode }}', +'{{ targetLanguageCode }}', +'{{ trainExampleCount }}', +'{{ validateExampleCount }}', +'{{ testExampleCount }}', +'{{ createTime }}', +'{{ updateTime }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: dataset + value: '{{ dataset }}' + - name: sourceLanguageCode + value: '{{ sourceLanguageCode }}' + - name: targetLanguageCode + value: '{{ targetLanguageCode }}' + - name: trainExampleCount + value: '{{ trainExampleCount }}' + - name: validateExampleCount + value: '{{ validateExampleCount }}' + - name: testExampleCount + value: '{{ testExampleCount }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + +``` + + + +## `DELETE` example + +Deletes the specified model resource. + +```sql +DELETE FROM google.translate.models +WHERE locationsId = '{{ locationsId }}' +AND modelsId = '{{ modelsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/translate/operations/index.md b/docs/google-docs/providers/google/translate/operations/index.md index 30d026e08a..edbb5f77e3 100644 --- a/docs/google-docs/providers/google/translate/operations/index.md +++ b/docs/google-docs/providers/google/translate/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - translate - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview
@@ -30,17 +32,44 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | | | `EXEC` | | Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.translate.operations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified operation resource. + +```sql +DELETE FROM google.translate.operations +WHERE locationsId = '{{ locationsId }}' +AND operationsId = '{{ operationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/translate/projects/index.md b/docs/google-docs/providers/google/translate/projects/index.md index 2525400dc7..bdf9dc262b 100644 --- a/docs/google-docs/providers/google/translate/projects/index.md +++ b/docs/google-docs/providers/google/translate/projects/index.md @@ -1,3 +1,4 @@ + --- title: projects hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - projects - translate - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an project resource or lists projects in a region ## Overview
@@ -28,7 +30,9 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| diff --git a/docs/google-docs/providers/google/translate/supported_languages/index.md b/docs/google-docs/providers/google/translate/supported_languages/index.md index daea70a717..ca007919c5 100644 --- a/docs/google-docs/providers/google/translate/supported_languages/index.md +++ b/docs/google-docs/providers/google/translate/supported_languages/index.md @@ -1,3 +1,4 @@ + --- title: supported_languages hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - supported_languages - translate - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an supported_language resource or lists supported_languages in a region ## Overview @@ -28,8 +30,23 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `array` | A list of supported language responses. This list contains an entry for each language the Translation API supports. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Returns a list of supported languages for translation. | +| | `SELECT` | | Returns a list of supported languages for translation. | + +## `SELECT` examples + +Returns a list of supported languages for translation. + +```sql +SELECT +languages +FROM google.translate.supported_languages +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/videointelligence/index.md b/docs/google-docs/providers/google/videointelligence/index.md index 41af1918a1..5a3bb4149f 100644 --- a/docs/google-docs/providers/google/videointelligence/index.md +++ b/docs/google-docs/providers/google/videointelligence/index.md @@ -9,41 +9,30 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Detects objects, explicit content, and scene changes in videos. It also specifies the region for annotation and transcribes speech to text. Supports both asynchronous API and streaming API. - +The videointelligence service documentation. + :::info Service Summary
total resources: 3
-total selectable resources: 2
-total methods: 9
::: -## Overview - - - - - - -
Namegoogle.videointelligence
TypeService
TitleCloud Video Intelligence API
DescriptionDetects objects, explicit content, and scene changes in videos. It also specifies the region for annotation and transcribes speech to text. Supports both asynchronous API and streaming API.
Idvideointelligence:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/videointelligence/long_running_operations/index.md b/docs/google-docs/providers/google/videointelligence/long_running_operations/index.md index 9b232857c2..258efdd8cd 100644 --- a/docs/google-docs/providers/google/videointelligence/long_running_operations/index.md +++ b/docs/google-docs/providers/google/videointelligence/long_running_operations/index.md @@ -1,3 +1,4 @@ + --- title: long_running_operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - long_running_operations - videointelligence - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an long_running_operation resource or lists long_running_operations in a region ## Overview @@ -30,14 +32,43 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | + +## `SELECT` examples + +Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.videointelligence.long_running_operations +WHERE locationsId = '{{ locationsId }}' +AND operationsId = '{{ operationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified long_running_operation resource. + +```sql +DELETE FROM google.videointelligence.long_running_operations +WHERE locationsId = '{{ locationsId }}' +AND operationsId = '{{ operationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/videointelligence/operations/index.md b/docs/google-docs/providers/google/videointelligence/operations/index.md index 80b73ca607..1af5ca0393 100644 --- a/docs/google-docs/providers/google/videointelligence/operations/index.md +++ b/docs/google-docs/providers/google/videointelligence/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - videointelligence - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview
@@ -30,16 +32,43 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.videointelligence.operations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified operation resource. + +```sql +DELETE FROM google.videointelligence.operations +WHERE locationsId = '{{ locationsId }}' +AND operationsId = '{{ operationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/videointelligence/videos/index.md b/docs/google-docs/providers/google/videointelligence/videos/index.md index 49ae62397c..361ffff6e3 100644 --- a/docs/google-docs/providers/google/videointelligence/videos/index.md +++ b/docs/google-docs/providers/google/videointelligence/videos/index.md @@ -1,3 +1,4 @@ + --- title: videos hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - videos - videointelligence - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an video resource or lists videos in a region ## Overview
@@ -28,8 +30,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Performs asynchronous video annotation. Progress and results can be retrieved through the `google.longrunning.Operations` interface. `Operation.metadata` contains `AnnotateVideoProgress` (progress). `Operation.response` contains `AnnotateVideoResponse` (results). | diff --git a/docs/google-docs/providers/google/vision/files/index.md b/docs/google-docs/providers/google/vision/files/index.md index cffb773015..d4b3d1230e 100644 --- a/docs/google-docs/providers/google/vision/files/index.md +++ b/docs/google-docs/providers/google/vision/files/index.md @@ -1,3 +1,4 @@ + --- title: files hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - files - vision - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an file resource or lists files in a region ## Overview @@ -28,12 +30,14 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| -| | `EXEC` | | Service that performs image detection and annotation for a batch of files. Now only "application/pdf", "image/tiff" and "image/gif" are supported. This service will extract at most 5 (customers can specify which 5 in AnnotateFileRequest.pages) frames (gif) or pages (pdf or tiff) from each file provided and perform detection and annotation for each image extracted. | -| | `EXEC` | | Run asynchronous image detection and annotation for a list of generic files, such as PDF files, which may contain multiple pages and multiple images per page. Progress and results can be retrieved through the `google.longrunning.Operations` interface. `Operation.metadata` contains `OperationMetadata` (metadata). `Operation.response` contains `AsyncBatchAnnotateFilesResponse` (results). | +| | `EXEC` | | Service that performs image detection and annotation for a batch of files. Now only "application/pdf", "image/tiff" and "image/gif" are supported. This service will extract at most 5 (customers can specify which 5 in AnnotateFileRequest.pages) frames (gif) or pages (pdf or tiff) from each file provided and perform detection and annotation for each image extracted. | +| | `EXEC` | | Run asynchronous image detection and annotation for a list of generic files, such as PDF files, which may contain multiple pages and multiple images per page. Progress and results can be retrieved through the `google.longrunning.Operations` interface. `Operation.metadata` contains `OperationMetadata` (metadata). `Operation.response` contains `AsyncBatchAnnotateFilesResponse` (results). | | | `EXEC` | | Service that performs image detection and annotation for a batch of files. Now only "application/pdf", "image/tiff" and "image/gif" are supported. This service will extract at most 5 (customers can specify which 5 in AnnotateFileRequest.pages) frames (gif) or pages (pdf or tiff) from each file provided and perform detection and annotation for each image extracted. | | | `EXEC` | | Run asynchronous image detection and annotation for a list of generic files, such as PDF files, which may contain multiple pages and multiple images per page. Progress and results can be retrieved through the `google.longrunning.Operations` interface. `Operation.metadata` contains `OperationMetadata` (metadata). `Operation.response` contains `AsyncBatchAnnotateFilesResponse` (results). | | | `EXEC` | | Service that performs image detection and annotation for a batch of files. Now only "application/pdf", "image/tiff" and "image/gif" are supported. This service will extract at most 5 (customers can specify which 5 in AnnotateFileRequest.pages) frames (gif) or pages (pdf or tiff) from each file provided and perform detection and annotation for each image extracted. | diff --git a/docs/google-docs/providers/google/vision/images/index.md b/docs/google-docs/providers/google/vision/images/index.md index 21674ddd9a..90affea0e5 100644 --- a/docs/google-docs/providers/google/vision/images/index.md +++ b/docs/google-docs/providers/google/vision/images/index.md @@ -1,3 +1,4 @@ + --- title: images hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - images - vision - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an image resource or lists images in a region ## Overview @@ -28,12 +30,14 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| -| | `EXEC` | | Run image detection and annotation for a batch of images. | -| | `EXEC` | | Run asynchronous image detection and annotation for a list of images. Progress and results can be retrieved through the `google.longrunning.Operations` interface. `Operation.metadata` contains `OperationMetadata` (metadata). `Operation.response` contains `AsyncBatchAnnotateImagesResponse` (results). This service will write image annotation outputs to json files in customer GCS bucket, each json file containing BatchAnnotateImagesResponse proto. | +| | `EXEC` | | Run image detection and annotation for a batch of images. | +| | `EXEC` | | Run asynchronous image detection and annotation for a list of images. Progress and results can be retrieved through the `google.longrunning.Operations` interface. `Operation.metadata` contains `OperationMetadata` (metadata). `Operation.response` contains `AsyncBatchAnnotateImagesResponse` (results). This service will write image annotation outputs to json files in customer GCS bucket, each json file containing BatchAnnotateImagesResponse proto. | | | `EXEC` | | Run image detection and annotation for a batch of images. | | | `EXEC` | | Run asynchronous image detection and annotation for a list of images. Progress and results can be retrieved through the `google.longrunning.Operations` interface. `Operation.metadata` contains `OperationMetadata` (metadata). `Operation.response` contains `AsyncBatchAnnotateImagesResponse` (results). This service will write image annotation outputs to json files in customer GCS bucket, each json file containing BatchAnnotateImagesResponse proto. | | | `EXEC` | | Run image detection and annotation for a batch of images. | diff --git a/docs/google-docs/providers/google/vision/index.md b/docs/google-docs/providers/google/vision/index.md index 65aca73d52..9ed8273049 100644 --- a/docs/google-docs/providers/google/vision/index.md +++ b/docs/google-docs/providers/google/vision/index.md @@ -9,45 +9,34 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Integrates Google Vision features, including image labeling, face, logo, and landmark detection, optical character recognition (OCR), and detection of explicit content, into applications. - +The vision service documentation. + :::info Service Summary
total resources: 7
-total selectable resources: 4
-total methods: 43
::: -## Overview - - - - - - -
Namegoogle.vision
TypeService
TitleCloud Vision API
DescriptionIntegrates Google Vision features, including image labeling, face, logo, and landmark detection, optical character recognition (OCR), and detection of explicit content, into applications.
Idvision:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/vision/operations/index.md b/docs/google-docs/providers/google/vision/operations/index.md index a1372b8183..3b5e92a011 100644 --- a/docs/google-docs/providers/google/vision/operations/index.md +++ b/docs/google-docs/providers/google/vision/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - vision - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview @@ -30,19 +32,43 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | -| | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | +| | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.vision.operations +WHERE = '{{ }}'; +``` + +## `DELETE` example + +Deletes the specified operation resource. + +```sql +DELETE FROM google.vision.operations +WHERE operationsId = '{{ operationsId }}'; +``` diff --git a/docs/google-docs/providers/google/vision/product_sets/index.md b/docs/google-docs/providers/google/vision/product_sets/index.md index 635cee3a76..bcfa7ba9c3 100644 --- a/docs/google-docs/providers/google/vision/product_sets/index.md +++ b/docs/google-docs/providers/google/vision/product_sets/index.md @@ -1,3 +1,4 @@ + --- title: product_sets hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - product_sets - vision - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an product_set resource or lists product_sets in a region ## Overview
@@ -34,6 +36,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The user-provided name for this ProductSet. Must not be empty. Must be at most 4096 characters long. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `string` | Output only. The time at which this ProductSet was last indexed. Query results will reflect all updates before this time. If this ProductSet has never been indexed, this timestamp is the default value "1970-01-01T00:00:00Z". This field is ignored when creating a ProductSet. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -42,5 +45,99 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates and returns a new ProductSet resource. Possible errors: * Returns INVALID_ARGUMENT if display_name is missing, or is longer than 4096 characters. | | | `DELETE` | | Permanently deletes a ProductSet. Products and ReferenceImages in the ProductSet are not deleted. The actual image files are not deleted from Google Cloud Storage. | | | `UPDATE` | | Makes changes to a ProductSet resource. Only display_name can be updated currently. Possible errors: * Returns NOT_FOUND if the ProductSet does not exist. * Returns INVALID_ARGUMENT if display_name is present in update_mask but missing from the request or longer than 4096 characters. | -| | `EXEC` | | Lists ProductSets in an unspecified order. Possible errors: * Returns INVALID_ARGUMENT if page_size is greater than 100, or less than 1. | | | `EXEC` | | Asynchronous API that imports a list of reference images to specified product sets based on a list of image information. The google.longrunning.Operation API can be used to keep track of the progress and results of the request. `Operation.metadata` contains `BatchOperationMetadata`. (progress) `Operation.response` contains `ImportProductSetsResponse`. (results) The input source of this method is a csv file on Google Cloud Storage. For the format of the csv file please see ImportProductSetsGcsSource.csv_file_uri. | + +## `SELECT` examples + +Lists ProductSets in an unspecified order. Possible errors: * Returns INVALID_ARGUMENT if page_size is greater than 100, or less than 1. + +```sql +SELECT +name, +displayName, +indexError, +indexTime +FROM google.vision.product_sets +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new product_sets resource. + + + + +```sql +/*+ create */ +INSERT INTO google.vision.product_sets ( +locationsId, +projectsId, +name, +displayName, +indexTime, +indexError +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ displayName }}', +'{{ indexTime }}', +'{{ indexError }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: indexTime + value: '{{ indexTime }}' + - name: indexError + value: '{{ indexError }}' + +``` + + + +## `UPDATE` example + +Updates a product_set only if the necessary resources are available. + +```sql +UPDATE google.vision.product_sets +SET +name = '{{ name }}', +displayName = '{{ displayName }}', +indexTime = '{{ indexTime }}', +indexError = '{{ indexError }}' +WHERE +locationsId = '{{ locationsId }}' +AND productSetsId = '{{ productSetsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified product_set resource. + +```sql +DELETE FROM google.vision.product_sets +WHERE locationsId = '{{ locationsId }}' +AND productSetsId = '{{ productSetsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/vision/product_sets_product/index.md b/docs/google-docs/providers/google/vision/product_sets_product/index.md index 65badd8b16..6f575fe07d 100644 --- a/docs/google-docs/providers/google/vision/product_sets_product/index.md +++ b/docs/google-docs/providers/google/vision/product_sets_product/index.md @@ -1,3 +1,4 @@ + --- title: product_sets_product hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - product_sets_product - vision - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an product_sets_product resource or lists product_sets_product in a region ## Overview
@@ -28,9 +30,64 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| -| | `EXEC` | | Adds a Product to the specified ProductSet. If the Product is already present, no change is made. One Product can be added to at most 100 ProductSets. Possible errors: * Returns NOT_FOUND if the Product or the ProductSet doesn't exist. | -| | `EXEC` | | Removes a Product from the specified ProductSet. | +| | `INSERT` | | Adds a Product to the specified ProductSet. If the Product is already present, no change is made. One Product can be added to at most 100 ProductSets. Possible errors: * Returns NOT_FOUND if the Product or the ProductSet doesn't exist. | +| | `DELETE` | | Removes a Product from the specified ProductSet. | + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new product_sets_product resource. + + + + +```sql +/*+ create */ +INSERT INTO google.vision.product_sets_product ( +locationsId, +productSetsId, +projectsId, +product +) +SELECT +'{{ locationsId }}', +'{{ productSetsId }}', +'{{ projectsId }}', +'{{ product }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: product + value: '{{ product }}' + +``` + + + +## `DELETE` example + +Deletes the specified product_sets_product resource. + +```sql +DELETE FROM google.vision.product_sets_product +WHERE locationsId = '{{ locationsId }}' +AND productSetsId = '{{ productSetsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/vision/products/index.md b/docs/google-docs/providers/google/vision/products/index.md index 8700834a31..3ef93f493a 100644 --- a/docs/google-docs/providers/google/vision/products/index.md +++ b/docs/google-docs/providers/google/vision/products/index.md @@ -1,3 +1,4 @@ + --- title: products hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - products - vision - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an product resource or lists products in a region ## Overview @@ -35,6 +37,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The user-provided name for this Product. Must not be empty. Must be at most 4096 characters long. | | | `string` | Immutable. The category for the product identified by the reference image. This should be one of "homegoods-v2", "apparel-v2", "toys-v2", "packagedgoods-v1" or "general-v1". The legacy categories "homegoods", "apparel", and "toys" are still supported, but these should not be used for new products. | | | `array` | Key-value pairs that can be attached to a product. At query time, constraints can be specified based on the product_labels. Note that integer values can be provided as strings, e.g. "1199". Only strings with integer values can match a range-based restriction which is to be supported soon. Multiple values can be assigned to the same key. One product may have up to 500 product_labels. Notice that the total number of distinct product_labels over all products in one ProductSet cannot exceed 1M, otherwise the product search pipeline will refuse to work for that ProductSet. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -44,6 +47,105 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates and returns a new product resource. Possible errors: * Returns INVALID_ARGUMENT if display_name is missing or longer than 4096 characters. * Returns INVALID_ARGUMENT if description is longer than 4096 characters. * Returns INVALID_ARGUMENT if product_category is missing or invalid. | | | `DELETE` | | Permanently deletes a product and its reference images. Metadata of the product and all its images will be deleted right away, but search queries against ProductSets containing the product may still work until all related caches are refreshed. | | | `UPDATE` | | Makes changes to a Product resource. Only the `display_name`, `description`, and `labels` fields can be updated right now. If labels are updated, the change will not be reflected in queries until the next index time. Possible errors: * Returns NOT_FOUND if the Product does not exist. * Returns INVALID_ARGUMENT if display_name is present in update_mask but is missing from the request or longer than 4096 characters. * Returns INVALID_ARGUMENT if description is present in update_mask but is longer than 4096 characters. * Returns INVALID_ARGUMENT if product_category is present in update_mask. | -| | `EXEC` | | Lists the Products in a ProductSet, in an unspecified order. If the ProductSet does not exist, the products field of the response will be empty. Possible errors: * Returns INVALID_ARGUMENT if page_size is greater than 100 or less than 1. | -| | `EXEC` | | Lists products in an unspecified order. Possible errors: * Returns INVALID_ARGUMENT if page_size is greater than 100 or less than 1. | | | `EXEC` | | Asynchronous API to delete all Products in a ProductSet or all Products that are in no ProductSet. If a Product is a member of the specified ProductSet in addition to other ProductSets, the Product will still be deleted. It is recommended to not delete the specified ProductSet until after this operation has completed. It is also recommended to not add any of the Products involved in the batch delete to a new ProductSet while this operation is running because those Products may still end up deleted. It's not possible to undo the PurgeProducts operation. Therefore, it is recommended to keep the csv files used in ImportProductSets (if that was how you originally built the Product Set) before starting PurgeProducts, in case you need to re-import the data after deletion. If the plan is to purge all of the Products from a ProductSet and then re-use the empty ProductSet to re-import new Products into the empty ProductSet, you must wait until the PurgeProducts operation has finished for that ProductSet. The google.longrunning.Operation API can be used to keep track of the progress and results of the request. `Operation.metadata` contains `BatchOperationMetadata`. (progress) | + +## `SELECT` examples + +Lists products in an unspecified order. Possible errors: * Returns INVALID_ARGUMENT if page_size is greater than 100 or less than 1. + +```sql +SELECT +name, +description, +displayName, +productCategory, +productLabels +FROM google.vision.products +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new products resource. + + + + +```sql +/*+ create */ +INSERT INTO google.vision.products ( +locationsId, +projectsId, +name, +displayName, +description, +productCategory, +productLabels +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ displayName }}', +'{{ description }}', +'{{ productCategory }}', +'{{ productLabels }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: description + value: '{{ description }}' + - name: productCategory + value: '{{ productCategory }}' + - name: productLabels + value: '{{ productLabels }}' + +``` + + + +## `UPDATE` example + +Updates a product only if the necessary resources are available. + +```sql +UPDATE google.vision.products +SET +name = '{{ name }}', +displayName = '{{ displayName }}', +description = '{{ description }}', +productCategory = '{{ productCategory }}', +productLabels = '{{ productLabels }}' +WHERE +locationsId = '{{ locationsId }}' +AND productsId = '{{ productsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified product resource. + +```sql +DELETE FROM google.vision.products +WHERE locationsId = '{{ locationsId }}' +AND productsId = '{{ productsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/vision/reference_images/index.md b/docs/google-docs/providers/google/vision/reference_images/index.md index 7ff0d29fcb..9669dc4857 100644 --- a/docs/google-docs/providers/google/vision/reference_images/index.md +++ b/docs/google-docs/providers/google/vision/reference_images/index.md @@ -1,3 +1,4 @@ + --- title: reference_images hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - reference_images - vision - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an reference_image resource or lists reference_images in a region ## Overview
@@ -33,6 +35,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | The resource name of the reference image. Format is: `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID`. This field is ignored when creating a reference image. | | | `array` | Optional. Bounding polygons around the areas of interest in the reference image. If this field is empty, the system will try to detect regions of interest. At most 10 bounding polygons will be used. The provided shape is converted into a non-rotated rectangle. Once converted, the small edge of the rectangle must be greater than or equal to 300 pixels. The aspect ratio must be 1:4 or less (i.e. 1:3 is ok; 1:5 is not). | | | `string` | Required. The Google Cloud Storage URI of the reference image. The URI must start with `gs://`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -40,4 +43,80 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists reference images. Possible errors: * Returns NOT_FOUND if the parent product does not exist. * Returns INVALID_ARGUMENT if the page_size is greater than 100, or less than 1. | | | `INSERT` | | Creates and returns a new ReferenceImage resource. The `bounding_poly` field is optional. If `bounding_poly` is not specified, the system will try to detect regions of interest in the image that are compatible with the product_category on the parent product. If it is specified, detection is ALWAYS skipped. The system converts polygons into non-rotated rectangles. Note that the pipeline will resize the image if the image resolution is too large to process (above 50MP). Possible errors: * Returns INVALID_ARGUMENT if the image_uri is missing or longer than 4096 characters. * Returns INVALID_ARGUMENT if the product does not exist. * Returns INVALID_ARGUMENT if bounding_poly is not provided, and nothing compatible with the parent product's product_category is detected. * Returns INVALID_ARGUMENT if bounding_poly contains more than 10 polygons. | | | `DELETE` | | Permanently deletes a reference image. The image metadata will be deleted right away, but search queries against ProductSets containing the image may still work until all related caches are refreshed. The actual image files are not deleted from Google Cloud Storage. | -| | `EXEC` | | Lists reference images. Possible errors: * Returns NOT_FOUND if the parent product does not exist. * Returns INVALID_ARGUMENT if the page_size is greater than 100, or less than 1. | + +## `SELECT` examples + +Lists reference images. Possible errors: * Returns NOT_FOUND if the parent product does not exist. * Returns INVALID_ARGUMENT if the page_size is greater than 100, or less than 1. + +```sql +SELECT +name, +boundingPolys, +uri +FROM google.vision.reference_images +WHERE locationsId = '{{ locationsId }}' +AND productsId = '{{ productsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new reference_images resource. + + + + +```sql +/*+ create */ +INSERT INTO google.vision.reference_images ( +locationsId, +productsId, +projectsId, +name, +uri, +boundingPolys +) +SELECT +'{{ locationsId }}', +'{{ productsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ uri }}', +'{{ boundingPolys }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: uri + value: '{{ uri }}' + - name: boundingPolys + value: '{{ boundingPolys }}' + +``` + + + +## `DELETE` example + +Deletes the specified reference_image resource. + +```sql +DELETE FROM google.vision.reference_images +WHERE locationsId = '{{ locationsId }}' +AND productsId = '{{ productsId }}' +AND projectsId = '{{ projectsId }}' +AND referenceImagesId = '{{ referenceImagesId }}'; +``` diff --git a/docs/google-docs/providers/google/vmmigration/clone_jobs/index.md b/docs/google-docs/providers/google/vmmigration/clone_jobs/index.md index 9c081cc8e4..453b46d13f 100644 --- a/docs/google-docs/providers/google/vmmigration/clone_jobs/index.md +++ b/docs/google-docs/providers/google/vmmigration/clone_jobs/index.md @@ -1,3 +1,4 @@ + --- title: clone_jobs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - clone_jobs - vmmigration - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an clone_job resource or lists clone_jobs in a region ## Overview
@@ -39,11 +41,109 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. State of the clone job. | | | `string` | Output only. The time the state was last updated. | | | `array` | Output only. The clone steps list representing its progress. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets details of a single CloneJob. | | | `SELECT` | | Lists the CloneJobs of a migrating VM. Only 25 most recent CloneJobs are listed. | | | `INSERT` | | Initiates a Clone of a specific migrating VM. | -| | `EXEC` | | Lists the CloneJobs of a migrating VM. Only 25 most recent CloneJobs are listed. | | | `EXEC` | | Initiates the cancellation of a running clone job. | + +## `SELECT` examples + +Lists the CloneJobs of a migrating VM. Only 25 most recent CloneJobs are listed. + +```sql +SELECT +name, +computeEngineDisksTargetDetails, +computeEngineTargetDetails, +createTime, +endTime, +error, +state, +stateTime, +steps +FROM google.vmmigration.clone_jobs +WHERE locationsId = '{{ locationsId }}' +AND migratingVmsId = '{{ migratingVmsId }}' +AND projectsId = '{{ projectsId }}' +AND sourcesId = '{{ sourcesId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new clone_jobs resource. + + + + +```sql +/*+ create */ +INSERT INTO google.vmmigration.clone_jobs ( +locationsId, +migratingVmsId, +projectsId, +sourcesId, +computeEngineTargetDetails, +computeEngineDisksTargetDetails, +createTime, +endTime, +name, +state, +stateTime, +error, +steps +) +SELECT +'{{ locationsId }}', +'{{ migratingVmsId }}', +'{{ projectsId }}', +'{{ sourcesId }}', +'{{ computeEngineTargetDetails }}', +'{{ computeEngineDisksTargetDetails }}', +'{{ createTime }}', +'{{ endTime }}', +'{{ name }}', +'{{ state }}', +'{{ stateTime }}', +'{{ error }}', +'{{ steps }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: computeEngineTargetDetails + value: '{{ computeEngineTargetDetails }}' + - name: computeEngineDisksTargetDetails + value: '{{ computeEngineDisksTargetDetails }}' + - name: createTime + value: '{{ createTime }}' + - name: endTime + value: '{{ endTime }}' + - name: name + value: '{{ name }}' + - name: state + value: '{{ state }}' + - name: stateTime + value: '{{ stateTime }}' + - name: error + value: '{{ error }}' + - name: steps + value: '{{ steps }}' + +``` + + diff --git a/docs/google-docs/providers/google/vmmigration/cutover_jobs/index.md b/docs/google-docs/providers/google/vmmigration/cutover_jobs/index.md index 57a0d06087..d126516980 100644 --- a/docs/google-docs/providers/google/vmmigration/cutover_jobs/index.md +++ b/docs/google-docs/providers/google/vmmigration/cutover_jobs/index.md @@ -1,3 +1,4 @@ + --- title: cutover_jobs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - cutover_jobs - vmmigration - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an cutover_job resource or lists cutover_jobs in a region ## Overview
@@ -41,11 +43,119 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. A message providing possible extra details about the current state. | | | `string` | Output only. The time the state was last updated. | | | `array` | Output only. The cutover steps list representing its progress. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets details of a single CutoverJob. | | | `SELECT` | | Lists the CutoverJobs of a migrating VM. Only 25 most recent CutoverJobs are listed. | | | `INSERT` | | Initiates a Cutover of a specific migrating VM. The returned LRO is completed when the cutover job resource is created and the job is initiated. | -| | `EXEC` | | Lists the CutoverJobs of a migrating VM. Only 25 most recent CutoverJobs are listed. | | | `EXEC` | | Initiates the cancellation of a running cutover job. | + +## `SELECT` examples + +Lists the CutoverJobs of a migrating VM. Only 25 most recent CutoverJobs are listed. + +```sql +SELECT +name, +computeEngineDisksTargetDetails, +computeEngineTargetDetails, +createTime, +endTime, +error, +progressPercent, +state, +stateMessage, +stateTime, +steps +FROM google.vmmigration.cutover_jobs +WHERE locationsId = '{{ locationsId }}' +AND migratingVmsId = '{{ migratingVmsId }}' +AND projectsId = '{{ projectsId }}' +AND sourcesId = '{{ sourcesId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new cutover_jobs resource. + + + + +```sql +/*+ create */ +INSERT INTO google.vmmigration.cutover_jobs ( +locationsId, +migratingVmsId, +projectsId, +sourcesId, +computeEngineTargetDetails, +computeEngineDisksTargetDetails, +createTime, +endTime, +name, +state, +stateTime, +progressPercent, +error, +stateMessage, +steps +) +SELECT +'{{ locationsId }}', +'{{ migratingVmsId }}', +'{{ projectsId }}', +'{{ sourcesId }}', +'{{ computeEngineTargetDetails }}', +'{{ computeEngineDisksTargetDetails }}', +'{{ createTime }}', +'{{ endTime }}', +'{{ name }}', +'{{ state }}', +'{{ stateTime }}', +'{{ progressPercent }}', +'{{ error }}', +'{{ stateMessage }}', +'{{ steps }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: computeEngineTargetDetails + value: '{{ computeEngineTargetDetails }}' + - name: computeEngineDisksTargetDetails + value: '{{ computeEngineDisksTargetDetails }}' + - name: createTime + value: '{{ createTime }}' + - name: endTime + value: '{{ endTime }}' + - name: name + value: '{{ name }}' + - name: state + value: '{{ state }}' + - name: stateTime + value: '{{ stateTime }}' + - name: progressPercent + value: '{{ progressPercent }}' + - name: error + value: '{{ error }}' + - name: stateMessage + value: '{{ stateMessage }}' + - name: steps + value: '{{ steps }}' + +``` + + diff --git a/docs/google-docs/providers/google/vmmigration/datacenter_connectors/index.md b/docs/google-docs/providers/google/vmmigration/datacenter_connectors/index.md index eb23465e9f..a1718a18ca 100644 --- a/docs/google-docs/providers/google/vmmigration/datacenter_connectors/index.md +++ b/docs/google-docs/providers/google/vmmigration/datacenter_connectors/index.md @@ -1,3 +1,4 @@ + --- title: datacenter_connectors hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - datacenter_connectors - vmmigration - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an datacenter_connector resource or lists datacenter_connectors in a region ## Overview
@@ -44,6 +46,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The last time the connector was updated with an API call. | | | `object` | UpgradeStatus contains information about upgradeAppliance operation. | | | `string` | The version running in the DatacenterConnector. This is supplied by the OVA connector during the registration process and can not be modified. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -51,5 +54,136 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists DatacenterConnectors in a given Source. | | | `INSERT` | | Creates a new DatacenterConnector in a given Source. | | | `DELETE` | | Deletes a single DatacenterConnector. | -| | `EXEC` | | Lists DatacenterConnectors in a given Source. | | | `EXEC` | | Upgrades the appliance relate to this DatacenterConnector to the in-place updateable version. | + +## `SELECT` examples + +Lists DatacenterConnectors in a given Source. + +```sql +SELECT +name, +applianceInfrastructureVersion, +applianceSoftwareVersion, +availableVersions, +bucket, +createTime, +error, +registrationId, +serviceAccount, +state, +stateTime, +updateTime, +upgradeStatus, +version +FROM google.vmmigration.datacenter_connectors +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND sourcesId = '{{ sourcesId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new datacenter_connectors resource. + + + + +```sql +/*+ create */ +INSERT INTO google.vmmigration.datacenter_connectors ( +locationsId, +projectsId, +sourcesId, +createTime, +updateTime, +name, +registrationId, +serviceAccount, +version, +bucket, +state, +stateTime, +error, +applianceInfrastructureVersion, +applianceSoftwareVersion, +availableVersions, +upgradeStatus +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ sourcesId }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ name }}', +'{{ registrationId }}', +'{{ serviceAccount }}', +'{{ version }}', +'{{ bucket }}', +'{{ state }}', +'{{ stateTime }}', +'{{ error }}', +'{{ applianceInfrastructureVersion }}', +'{{ applianceSoftwareVersion }}', +'{{ availableVersions }}', +'{{ upgradeStatus }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: name + value: '{{ name }}' + - name: registrationId + value: '{{ registrationId }}' + - name: serviceAccount + value: '{{ serviceAccount }}' + - name: version + value: '{{ version }}' + - name: bucket + value: '{{ bucket }}' + - name: state + value: '{{ state }}' + - name: stateTime + value: '{{ stateTime }}' + - name: error + value: '{{ error }}' + - name: applianceInfrastructureVersion + value: '{{ applianceInfrastructureVersion }}' + - name: applianceSoftwareVersion + value: '{{ applianceSoftwareVersion }}' + - name: availableVersions + value: '{{ availableVersions }}' + - name: upgradeStatus + value: '{{ upgradeStatus }}' + +``` + + + +## `DELETE` example + +Deletes the specified datacenter_connector resource. + +```sql +DELETE FROM google.vmmigration.datacenter_connectors +WHERE datacenterConnectorsId = '{{ datacenterConnectorsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND sourcesId = '{{ sourcesId }}'; +``` diff --git a/docs/google-docs/providers/google/vmmigration/groups/index.md b/docs/google-docs/providers/google/vmmigration/groups/index.md index 37651aa745..27c5729bfd 100644 --- a/docs/google-docs/providers/google/vmmigration/groups/index.md +++ b/docs/google-docs/providers/google/vmmigration/groups/index.md @@ -1,3 +1,4 @@ + --- title: groups hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - groups - vmmigration - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an group resource or lists groups in a region ## Overview
@@ -36,6 +38,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Display name is a user defined name for this group which can be updated. | | | `string` | Immutable. The target type of this group. | | | `string` | Output only. The update time timestamp. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -44,4 +47,110 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new Group in a given project and location. | | | `DELETE` | | Deletes a single Group. | | | `UPDATE` | | Updates the parameters of a single Group. | -| | `EXEC` | | Lists Groups in a given project and location. | + +## `SELECT` examples + +Lists Groups in a given project and location. + +```sql +SELECT +name, +description, +createTime, +displayName, +migrationTargetType, +updateTime +FROM google.vmmigration.groups +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new groups resource. + + + + +```sql +/*+ create */ +INSERT INTO google.vmmigration.groups ( +locationsId, +projectsId, +name, +createTime, +updateTime, +description, +displayName, +migrationTargetType +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ description }}', +'{{ displayName }}', +'{{ migrationTargetType }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: description + value: '{{ description }}' + - name: displayName + value: '{{ displayName }}' + - name: migrationTargetType + value: '{{ migrationTargetType }}' + +``` + + + +## `UPDATE` example + +Updates a group only if the necessary resources are available. + +```sql +UPDATE google.vmmigration.groups +SET +name = '{{ name }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +description = '{{ description }}', +displayName = '{{ displayName }}', +migrationTargetType = '{{ migrationTargetType }}' +WHERE +groupsId = '{{ groupsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified group resource. + +```sql +DELETE FROM google.vmmigration.groups +WHERE groupsId = '{{ groupsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/vmmigration/groups_group_migration/index.md b/docs/google-docs/providers/google/vmmigration/groups_group_migration/index.md index 435f457a5c..1645b548de 100644 --- a/docs/google-docs/providers/google/vmmigration/groups_group_migration/index.md +++ b/docs/google-docs/providers/google/vmmigration/groups_group_migration/index.md @@ -1,3 +1,4 @@ + --- title: groups_group_migration hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - groups_group_migration - vmmigration - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an groups_group_migration resource or lists groups_group_migration in a region ## Overview
@@ -28,9 +30,64 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| -| | `EXEC` | | Adds a MigratingVm to a Group. | -| | `EXEC` | | Removes a MigratingVm from a Group. | +| | `INSERT` | | Adds a MigratingVm to a Group. | +| | `DELETE` | | Removes a MigratingVm from a Group. | + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new groups_group_migration resource. + + + + +```sql +/*+ create */ +INSERT INTO google.vmmigration.groups_group_migration ( +groupsId, +locationsId, +projectsId, +migratingVm +) +SELECT +'{{ groupsId }}', +'{{ locationsId }}', +'{{ projectsId }}', +'{{ migratingVm }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: migratingVm + value: '{{ migratingVm }}' + +``` + + + +## `DELETE` example + +Deletes the specified groups_group_migration resource. + +```sql +DELETE FROM google.vmmigration.groups_group_migration +WHERE groupsId = '{{ groupsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/vmmigration/image_import_jobs/index.md b/docs/google-docs/providers/google/vmmigration/image_import_jobs/index.md index 2e0b46bc1d..6f8e5fec46 100644 --- a/docs/google-docs/providers/google/vmmigration/image_import_jobs/index.md +++ b/docs/google-docs/providers/google/vmmigration/image_import_jobs/index.md @@ -1,3 +1,4 @@ + --- title: image_import_jobs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - image_import_jobs - vmmigration - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an image_import_job resource or lists image_import_jobs in a region ## Overview @@ -37,13 +39,37 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | The target details of the image resource that will be created by the import job. | | | `string` | Output only. The time the image import was ended. | | | `array` | Output only. Provides details on the error that led to the image import state in case of an error. | +| | `object` | The target details of the machine image resource that will be created by the image import job. | | | `string` | Output only. The state of the image import. | | | `array` | Output only. The image import steps list representing its progress. | | | `array` | Output only. Warnings that occurred during the image import. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets details of a single ImageImportJob. | | | `SELECT` | | Lists ImageImportJobs in a given project. | -| | `EXEC` | | Lists ImageImportJobs in a given project. | | | `EXEC` | | Initiates the cancellation of a running clone job. | + +## `SELECT` examples + +Lists ImageImportJobs in a given project. + +```sql +SELECT +name, +cloudStorageUri, +createTime, +createdResources, +diskImageTargetDetails, +endTime, +errors, +machineImageTargetDetails, +state, +steps, +warnings +FROM google.vmmigration.image_import_jobs +WHERE imageImportsId = '{{ imageImportsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/vmmigration/image_imports/index.md b/docs/google-docs/providers/google/vmmigration/image_imports/index.md index 2fa0246df6..125eaa230e 100644 --- a/docs/google-docs/providers/google/vmmigration/image_imports/index.md +++ b/docs/google-docs/providers/google/vmmigration/image_imports/index.md @@ -1,3 +1,4 @@ + --- title: image_imports hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - image_imports - vmmigration - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an image_import resource or lists image_imports in a region ## Overview
@@ -35,7 +37,9 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The time the image import was created. | | | `object` | The target details of the image resource that will be created by the import job. | | | `object` | Encryption message describes the details of the applied encryption. | +| | `object` | The target details of the machine image resource that will be created by the image import job. | | | `array` | Output only. The result of the most recent runs for this ImageImport. All jobs for this ImageImport can be listed via ListImageImportJobs. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -43,4 +47,96 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists ImageImports in a given project. | | | `INSERT` | | Creates a new ImageImport in a given project. | | | `DELETE` | | Deletes a single ImageImport. | -| | `EXEC` | | Lists ImageImports in a given project. | + +## `SELECT` examples + +Lists ImageImports in a given project. + +```sql +SELECT +name, +cloudStorageUri, +createTime, +diskImageTargetDefaults, +encryption, +machineImageTargetDefaults, +recentImageImportJobs +FROM google.vmmigration.image_imports +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new image_imports resource. + + + + +```sql +/*+ create */ +INSERT INTO google.vmmigration.image_imports ( +locationsId, +projectsId, +cloudStorageUri, +diskImageTargetDefaults, +machineImageTargetDefaults, +name, +createTime, +recentImageImportJobs, +encryption +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ cloudStorageUri }}', +'{{ diskImageTargetDefaults }}', +'{{ machineImageTargetDefaults }}', +'{{ name }}', +'{{ createTime }}', +'{{ recentImageImportJobs }}', +'{{ encryption }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: cloudStorageUri + value: '{{ cloudStorageUri }}' + - name: diskImageTargetDefaults + value: '{{ diskImageTargetDefaults }}' + - name: machineImageTargetDefaults + value: '{{ machineImageTargetDefaults }}' + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: recentImageImportJobs + value: '{{ recentImageImportJobs }}' + - name: encryption + value: '{{ encryption }}' + +``` + + + +## `DELETE` example + +Deletes the specified image_import resource. + +```sql +DELETE FROM google.vmmigration.image_imports +WHERE imageImportsId = '{{ imageImportsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/vmmigration/index.md b/docs/google-docs/providers/google/vmmigration/index.md index 60866ab4dd..8680e22891 100644 --- a/docs/google-docs/providers/google/vmmigration/index.md +++ b/docs/google-docs/providers/google/vmmigration/index.md @@ -9,34 +9,23 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Use the Migrate to Virtual Machines API to programmatically migrate workloads. - +The vmmigration service documentation. + :::info Service Summary
total resources: 15
-total selectable resources: 13
-total methods: 72
::: -## Overview -
- - - - - -
Namegoogle.vmmigration
TypeService
TitleVM Migration API
DescriptionUse the Migrate to Virtual Machines API to programmatically migrate workloads.
Idvmmigration:v24.06.00236
- ## Resources
@@ -47,7 +36,7 @@ Use the Migrate to Virtual Machines API to programmatically migrate workloads. groups_group_migration
image_import_jobs
image_imports
-locations
+locations
migrating_vms
@@ -56,6 +45,6 @@ Use the Migrate to Virtual Machines API to programmatically migrate workloads. sources
sources_inventory
target_projects
-utilization_reports
-
+utilization_reports
+ \ No newline at end of file diff --git a/docs/google-docs/providers/google/vmmigration/locations/index.md b/docs/google-docs/providers/google/vmmigration/locations/index.md index ad10db1edd..6b4027a2c1 100644 --- a/docs/google-docs/providers/google/vmmigration/locations/index.md +++ b/docs/google-docs/providers/google/vmmigration/locations/index.md @@ -1,3 +1,4 @@ + --- title: locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - locations - vmmigration - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an location resource or lists locations in a region ## Overview @@ -32,12 +34,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` | | | `string` | The friendly name for this location, typically a nearby city name. For example, "Tokyo". | -| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | +| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | | | `string` | The canonical id for this location. For example: `"us-east1"`. | | | `object` | Service-specific metadata. For example the available capacity at the given location. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about a location. | | | `SELECT` | | Lists information about the supported locations for this service. | -| | `EXEC` | | Lists information about the supported locations for this service. | + +## `SELECT` examples + +Lists information about the supported locations for this service. + +```sql +SELECT +name, +displayName, +labels, +locationId, +metadata +FROM google.vmmigration.locations +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/vmmigration/migrating_vms/index.md b/docs/google-docs/providers/google/vmmigration/migrating_vms/index.md index b653446377..b505357c53 100644 --- a/docs/google-docs/providers/google/vmmigration/migrating_vms/index.md +++ b/docs/google-docs/providers/google/vmmigration/migrating_vms/index.md @@ -1,3 +1,4 @@ + --- title: migrating_vms hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - migrating_vms - vmmigration - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an migrating_vm resource or lists migrating_vms in a region ## Overview
@@ -53,6 +55,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The last time the migrating VM state was updated. | | | `string` | Output only. The last time the migrating VM resource was updated. | | | `object` | Represent the source Vmware VM details. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -61,8 +64,221 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new MigratingVm in a given Source. | | | `DELETE` | | Deletes a single MigratingVm. | | | `UPDATE` | | Updates the parameters of a single MigratingVm. | -| | `EXEC` | | Lists MigratingVms in a given Source. | | | `EXEC` | | Marks a migration as completed, deleting migration resources that are no longer being used. Only applicable after cutover is done. | | | `EXEC` | | Pauses a migration for a VM. If cycle tasks are running they will be cancelled, preserving source task data. Further replication cycles will not be triggered while the VM is paused. | | | `EXEC` | | Resumes a migration for a VM. When called on a paused migration, will start the process of uploading data and creating snapshots; when called on a completed cut-over migration, will update the migration to active state and start the process of uploading data and creating snapshots. | | | `EXEC` | | Starts migration for a VM. Starts the process of uploading data and creating snapshots, in replication cycles scheduled by the policy. | + +## `SELECT` examples + +Lists MigratingVms in a given Source. + +```sql +SELECT +name, +description, +awsSourceVmDetails, +azureSourceVmDetails, +computeEngineDisksTargetDefaults, +computeEngineTargetDefaults, +createTime, +currentSyncInfo, +cutoverForecast, +displayName, +error, +group, +labels, +lastReplicationCycle, +lastSync, +policy, +recentCloneJobs, +recentCutoverJobs, +sourceVmId, +state, +stateTime, +updateTime, +vmwareSourceVmDetails +FROM google.vmmigration.migrating_vms +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND sourcesId = '{{ sourcesId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new migrating_vms resource. + + + + +```sql +/*+ create */ +INSERT INTO google.vmmigration.migrating_vms ( +locationsId, +projectsId, +sourcesId, +computeEngineTargetDefaults, +computeEngineDisksTargetDefaults, +vmwareSourceVmDetails, +awsSourceVmDetails, +azureSourceVmDetails, +name, +sourceVmId, +displayName, +description, +policy, +createTime, +updateTime, +lastSync, +state, +stateTime, +currentSyncInfo, +lastReplicationCycle, +group, +labels, +recentCloneJobs, +error, +recentCutoverJobs, +cutoverForecast +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ sourcesId }}', +'{{ computeEngineTargetDefaults }}', +'{{ computeEngineDisksTargetDefaults }}', +'{{ vmwareSourceVmDetails }}', +'{{ awsSourceVmDetails }}', +'{{ azureSourceVmDetails }}', +'{{ name }}', +'{{ sourceVmId }}', +'{{ displayName }}', +'{{ description }}', +'{{ policy }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ lastSync }}', +'{{ state }}', +'{{ stateTime }}', +'{{ currentSyncInfo }}', +'{{ lastReplicationCycle }}', +'{{ group }}', +'{{ labels }}', +'{{ recentCloneJobs }}', +'{{ error }}', +'{{ recentCutoverJobs }}', +'{{ cutoverForecast }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: computeEngineTargetDefaults + value: '{{ computeEngineTargetDefaults }}' + - name: computeEngineDisksTargetDefaults + value: '{{ computeEngineDisksTargetDefaults }}' + - name: vmwareSourceVmDetails + value: '{{ vmwareSourceVmDetails }}' + - name: awsSourceVmDetails + value: '{{ awsSourceVmDetails }}' + - name: azureSourceVmDetails + value: '{{ azureSourceVmDetails }}' + - name: name + value: '{{ name }}' + - name: sourceVmId + value: '{{ sourceVmId }}' + - name: displayName + value: '{{ displayName }}' + - name: description + value: '{{ description }}' + - name: policy + value: '{{ policy }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: lastSync + value: '{{ lastSync }}' + - name: state + value: '{{ state }}' + - name: stateTime + value: '{{ stateTime }}' + - name: currentSyncInfo + value: '{{ currentSyncInfo }}' + - name: lastReplicationCycle + value: '{{ lastReplicationCycle }}' + - name: group + value: '{{ group }}' + - name: labels + value: '{{ labels }}' + - name: recentCloneJobs + value: '{{ recentCloneJobs }}' + - name: error + value: '{{ error }}' + - name: recentCutoverJobs + value: '{{ recentCutoverJobs }}' + - name: cutoverForecast + value: '{{ cutoverForecast }}' + +``` + + + +## `UPDATE` example + +Updates a migrating_vm only if the necessary resources are available. + +```sql +UPDATE google.vmmigration.migrating_vms +SET +computeEngineTargetDefaults = '{{ computeEngineTargetDefaults }}', +computeEngineDisksTargetDefaults = '{{ computeEngineDisksTargetDefaults }}', +vmwareSourceVmDetails = '{{ vmwareSourceVmDetails }}', +awsSourceVmDetails = '{{ awsSourceVmDetails }}', +azureSourceVmDetails = '{{ azureSourceVmDetails }}', +name = '{{ name }}', +sourceVmId = '{{ sourceVmId }}', +displayName = '{{ displayName }}', +description = '{{ description }}', +policy = '{{ policy }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +lastSync = '{{ lastSync }}', +state = '{{ state }}', +stateTime = '{{ stateTime }}', +currentSyncInfo = '{{ currentSyncInfo }}', +lastReplicationCycle = '{{ lastReplicationCycle }}', +group = '{{ group }}', +labels = '{{ labels }}', +recentCloneJobs = '{{ recentCloneJobs }}', +error = '{{ error }}', +recentCutoverJobs = '{{ recentCutoverJobs }}', +cutoverForecast = '{{ cutoverForecast }}' +WHERE +locationsId = '{{ locationsId }}' +AND migratingVmsId = '{{ migratingVmsId }}' +AND projectsId = '{{ projectsId }}' +AND sourcesId = '{{ sourcesId }}'; +``` + +## `DELETE` example + +Deletes the specified migrating_vm resource. + +```sql +DELETE FROM google.vmmigration.migrating_vms +WHERE locationsId = '{{ locationsId }}' +AND migratingVmsId = '{{ migratingVmsId }}' +AND projectsId = '{{ projectsId }}' +AND sourcesId = '{{ sourcesId }}'; +``` diff --git a/docs/google-docs/providers/google/vmmigration/operations/index.md b/docs/google-docs/providers/google/vmmigration/operations/index.md index c6f5dc1655..7af19d5dd8 100644 --- a/docs/google-docs/providers/google/vmmigration/operations/index.md +++ b/docs/google-docs/providers/google/vmmigration/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - vmmigration - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview
@@ -30,16 +32,43 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.vmmigration.operations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified operation resource. + +```sql +DELETE FROM google.vmmigration.operations +WHERE locationsId = '{{ locationsId }}' +AND operationsId = '{{ operationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/vmmigration/replication_cycles/index.md b/docs/google-docs/providers/google/vmmigration/replication_cycles/index.md index 20b97ab1c6..6af57da6dd 100644 --- a/docs/google-docs/providers/google/vmmigration/replication_cycles/index.md +++ b/docs/google-docs/providers/google/vmmigration/replication_cycles/index.md @@ -1,3 +1,4 @@ + --- title: replication_cycles hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - replication_cycles - vmmigration - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an replication_cycle resource or lists replication_cycles in a region ## Overview
@@ -40,9 +42,32 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `array` | The cycle's steps list representing its progress. | | | `string` | The accumulated duration the replication cycle was paused. | | | `array` | Output only. Warnings that occurred during the cycle. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets details of a single ReplicationCycle. | | | `SELECT` | | Lists ReplicationCycles in a given MigratingVM. | -| | `EXEC` | | Lists ReplicationCycles in a given MigratingVM. | + +## `SELECT` examples + +Lists ReplicationCycles in a given MigratingVM. + +```sql +SELECT +name, +cycleNumber, +endTime, +error, +progressPercent, +startTime, +state, +steps, +totalPauseDuration, +warnings +FROM google.vmmigration.replication_cycles +WHERE locationsId = '{{ locationsId }}' +AND migratingVmsId = '{{ migratingVmsId }}' +AND projectsId = '{{ projectsId }}' +AND sourcesId = '{{ sourcesId }}'; +``` diff --git a/docs/google-docs/providers/google/vmmigration/sources/index.md b/docs/google-docs/providers/google/vmmigration/sources/index.md index 4e44c6439f..0eb8c22725 100644 --- a/docs/google-docs/providers/google/vmmigration/sources/index.md +++ b/docs/google-docs/providers/google/vmmigration/sources/index.md @@ -1,3 +1,4 @@ + --- title: sources hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - sources - vmmigration - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an source resource or lists sources in a region ## Overview
@@ -39,6 +41,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | The labels of the source. | | | `string` | Output only. The update time timestamp. | | | `object` | VmwareSourceDetails message describes a specific source details for the vmware source type. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -47,4 +50,128 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new Source in a given project and location. | | | `DELETE` | | Deletes a single Source. | | | `UPDATE` | | Updates the parameters of a single Source. | -| | `EXEC` | | Lists Sources in a given project and location. | + +## `SELECT` examples + +Lists Sources in a given project and location. + +```sql +SELECT +name, +description, +aws, +azure, +createTime, +encryption, +labels, +updateTime, +vmware +FROM google.vmmigration.sources +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new sources resource. + + + + +```sql +/*+ create */ +INSERT INTO google.vmmigration.sources ( +locationsId, +projectsId, +vmware, +aws, +azure, +name, +createTime, +updateTime, +labels, +description, +encryption +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ vmware }}', +'{{ aws }}', +'{{ azure }}', +'{{ name }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ labels }}', +'{{ description }}', +'{{ encryption }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: vmware + value: '{{ vmware }}' + - name: aws + value: '{{ aws }}' + - name: azure + value: '{{ azure }}' + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: labels + value: '{{ labels }}' + - name: description + value: '{{ description }}' + - name: encryption + value: '{{ encryption }}' + +``` + + + +## `UPDATE` example + +Updates a source only if the necessary resources are available. + +```sql +UPDATE google.vmmigration.sources +SET +vmware = '{{ vmware }}', +aws = '{{ aws }}', +azure = '{{ azure }}', +name = '{{ name }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +labels = '{{ labels }}', +description = '{{ description }}', +encryption = '{{ encryption }}' +WHERE +locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND sourcesId = '{{ sourcesId }}'; +``` + +## `DELETE` example + +Deletes the specified source resource. + +```sql +DELETE FROM google.vmmigration.sources +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND sourcesId = '{{ sourcesId }}'; +``` diff --git a/docs/google-docs/providers/google/vmmigration/sources_inventory/index.md b/docs/google-docs/providers/google/vmmigration/sources_inventory/index.md index 9c45286074..e18d1a04be 100644 --- a/docs/google-docs/providers/google/vmmigration/sources_inventory/index.md +++ b/docs/google-docs/providers/google/vmmigration/sources_inventory/index.md @@ -1,3 +1,4 @@ + --- title: sources_inventory hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - sources_inventory - vmmigration - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an sources_inventory resource or lists sources_inventory in a region ## Overview
@@ -28,8 +30,32 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `object` | AWSVmsDetails describes VMs in AWS. | +| | `object` | AzureVmsDetails describes VMs in Azure. | +| | `string` | Output only. A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. | +| | `string` | Output only. The timestamp when the source was last queried (if the result is from the cache). | +| | `object` | VmwareVmsDetails describes VMs in vCenter. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | List remote source's inventory of VMs. The remote source is the onprem vCenter (remote in the sense it's not in Compute Engine). The inventory describes the list of existing VMs in that source. Note that this operation lists the VMs on the remote source, as opposed to listing the MigratingVms resources in the vmmigration service. | + +## `SELECT` examples + +List remote source's inventory of VMs. The remote source is the onprem vCenter (remote in the sense it's not in Compute Engine). The inventory describes the list of existing VMs in that source. Note that this operation lists the VMs on the remote source, as opposed to listing the MigratingVms resources in the vmmigration service. + +```sql +SELECT +awsVms, +azureVms, +nextPageToken, +updateTime, +vmwareVms +FROM google.vmmigration.sources_inventory +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND sourcesId = '{{ sourcesId }}'; +``` diff --git a/docs/google-docs/providers/google/vmmigration/target_projects/index.md b/docs/google-docs/providers/google/vmmigration/target_projects/index.md index 40ddffe2c4..b2961c1a4d 100644 --- a/docs/google-docs/providers/google/vmmigration/target_projects/index.md +++ b/docs/google-docs/providers/google/vmmigration/target_projects/index.md @@ -1,3 +1,4 @@ + --- title: target_projects hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - target_projects - vmmigration - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an target_project resource or lists target_projects in a region ## Overview @@ -35,6 +37,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The time this target project resource was created (not related to when the Compute Engine project it points to was created). | | | `string` | Required. The target project ID (number) or project name. | | | `string` | Output only. The last time the target project resource was updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -43,4 +46,104 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new TargetProject in a given project. NOTE: TargetProject is a global resource; hence the only supported value for location is `global`. | | | `DELETE` | | Deletes a single TargetProject. NOTE: TargetProject is a global resource; hence the only supported value for location is `global`. | | | `UPDATE` | | Updates the parameters of a single TargetProject. NOTE: TargetProject is a global resource; hence the only supported value for location is `global`. | -| | `EXEC` | | Lists TargetProjects in a given project. NOTE: TargetProject is a global resource; hence the only supported value for location is `global`. | + +## `SELECT` examples + +Lists TargetProjects in a given project. NOTE: TargetProject is a global resource; hence the only supported value for location is `global`. + +```sql +SELECT +name, +description, +createTime, +project, +updateTime +FROM google.vmmigration.target_projects +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new target_projects resource. + + + + +```sql +/*+ create */ +INSERT INTO google.vmmigration.target_projects ( +locationsId, +projectsId, +name, +project, +description, +createTime, +updateTime +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ project }}', +'{{ description }}', +'{{ createTime }}', +'{{ updateTime }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: project + value: '{{ project }}' + - name: description + value: '{{ description }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + +``` + + + +## `UPDATE` example + +Updates a target_project only if the necessary resources are available. + +```sql +UPDATE google.vmmigration.target_projects +SET +name = '{{ name }}', +project = '{{ project }}', +description = '{{ description }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}' +WHERE +locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND targetProjectsId = '{{ targetProjectsId }}'; +``` + +## `DELETE` example + +Deletes the specified target_project resource. + +```sql +DELETE FROM google.vmmigration.target_projects +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND targetProjectsId = '{{ targetProjectsId }}'; +``` diff --git a/docs/google-docs/providers/google/vmmigration/utilization_reports/index.md b/docs/google-docs/providers/google/vmmigration/utilization_reports/index.md index 49415b09dd..a99c41bef7 100644 --- a/docs/google-docs/providers/google/vmmigration/utilization_reports/index.md +++ b/docs/google-docs/providers/google/vmmigration/utilization_reports/index.md @@ -1,3 +1,4 @@ + --- title: utilization_reports hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - utilization_reports - vmmigration - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an utilization_report resource or lists utilization_reports in a region ## Overview
@@ -40,6 +42,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Time frame of the report. | | | `integer` | Output only. Total number of VMs included in the report. | | | `array` | List of utilization information per VM. When sent as part of the request, the "vm_id" field is used in order to specify which VMs to include in the report. In that case all other fields are ignored. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -47,4 +50,115 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists Utilization Reports of the given Source. | | | `INSERT` | | Creates a new UtilizationReport. | | | `DELETE` | | Deletes a single Utilization Report. | -| | `EXEC` | | Lists Utilization Reports of the given Source. | + +## `SELECT` examples + +Lists Utilization Reports of the given Source. + +```sql +SELECT +name, +createTime, +displayName, +error, +frameEndTime, +state, +stateTime, +timeFrame, +vmCount, +vms +FROM google.vmmigration.utilization_reports +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND sourcesId = '{{ sourcesId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new utilization_reports resource. + + + + +```sql +/*+ create */ +INSERT INTO google.vmmigration.utilization_reports ( +locationsId, +projectsId, +sourcesId, +name, +displayName, +state, +stateTime, +error, +createTime, +timeFrame, +frameEndTime, +vmCount, +vms +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ sourcesId }}', +'{{ name }}', +'{{ displayName }}', +'{{ state }}', +'{{ stateTime }}', +'{{ error }}', +'{{ createTime }}', +'{{ timeFrame }}', +'{{ frameEndTime }}', +'{{ vmCount }}', +'{{ vms }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: state + value: '{{ state }}' + - name: stateTime + value: '{{ stateTime }}' + - name: error + value: '{{ error }}' + - name: createTime + value: '{{ createTime }}' + - name: timeFrame + value: '{{ timeFrame }}' + - name: frameEndTime + value: '{{ frameEndTime }}' + - name: vmCount + value: '{{ vmCount }}' + - name: vms + value: '{{ vms }}' + +``` + + + +## `DELETE` example + +Deletes the specified utilization_report resource. + +```sql +DELETE FROM google.vmmigration.utilization_reports +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND sourcesId = '{{ sourcesId }}' +AND utilizationReportsId = '{{ utilizationReportsId }}'; +``` diff --git a/docs/google-docs/providers/google/vmwareengine/clusters/index.md b/docs/google-docs/providers/google/vmwareengine/clusters/index.md index bb56b2f44a..79646c1c94 100644 --- a/docs/google-docs/providers/google/vmwareengine/clusters/index.md +++ b/docs/google-docs/providers/google/vmwareengine/clusters/index.md @@ -1,3 +1,4 @@ + --- title: clusters hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - clusters - vmwareengine - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an cluster resource or lists clusters in a region ## Overview
@@ -31,6 +33,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | Name | Datatype | Description | |:-----|:---------|:------------| | | `string` | Output only. The resource name of this cluster. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/clusters/my-cluster` | +| | `object` | Autoscaling settings define the rules used by VMware Engine to automatically scale-out and scale-in the clusters in a private cloud. | | | `string` | Output only. Creation time of this resource. | | | `boolean` | Output only. True if the cluster is a management cluster; false otherwise. There can only be one management cluster in a private cloud and it has to be the first one. | | | `object` | Required. The map of cluster node types in this cluster, where the key is canonical identifier of the node type (corresponds to the `NodeType`). | @@ -38,6 +41,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Configuration of a stretched cluster. | | | `string` | Output only. System-generated unique identifier for the resource. | | | `string` | Output only. Last update time of this resource. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -46,4 +50,133 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new cluster in a given private cloud. Creating a new cluster provides additional nodes for use in the parent private cloud and requires sufficient [node quota](https://cloud.google.com/vmware-engine/quotas). | | | `DELETE` | | Deletes a `Cluster` resource. To avoid unintended data loss, migrate or gracefully shut down any workloads running on the cluster before deletion. You cannot delete the management cluster of a private cloud using this method. | | | `UPDATE` | | Modifies a `Cluster` resource. Only fields specified in `updateMask` are applied. During operation processing, the resource is temporarily in the `ACTIVE` state before the operation fully completes. For that period of time, you can't update the resource. Use the operation status to determine when the processing fully completes. | -| | `EXEC` | | Lists `Cluster` resources in a given private cloud. | + +## `SELECT` examples + +Lists `Cluster` resources in a given private cloud. + +```sql +SELECT +name, +autoscalingSettings, +createTime, +management, +nodeTypeConfigs, +state, +stretchedClusterConfig, +uid, +updateTime +FROM google.vmwareengine.clusters +WHERE locationsId = '{{ locationsId }}' +AND privateCloudsId = '{{ privateCloudsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new clusters resource. + + + + +```sql +/*+ create */ +INSERT INTO google.vmwareengine.clusters ( +locationsId, +privateCloudsId, +projectsId, +name, +createTime, +updateTime, +state, +management, +autoscalingSettings, +uid, +nodeTypeConfigs, +stretchedClusterConfig +) +SELECT +'{{ locationsId }}', +'{{ privateCloudsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ state }}', +true|false, +'{{ autoscalingSettings }}', +'{{ uid }}', +'{{ nodeTypeConfigs }}', +'{{ stretchedClusterConfig }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: state + value: '{{ state }}' + - name: management + value: '{{ management }}' + - name: autoscalingSettings + value: '{{ autoscalingSettings }}' + - name: uid + value: '{{ uid }}' + - name: nodeTypeConfigs + value: '{{ nodeTypeConfigs }}' + - name: stretchedClusterConfig + value: '{{ stretchedClusterConfig }}' + +``` + + + +## `UPDATE` example + +Updates a cluster only if the necessary resources are available. + +```sql +UPDATE google.vmwareengine.clusters +SET +name = '{{ name }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +state = '{{ state }}', +management = true|false, +autoscalingSettings = '{{ autoscalingSettings }}', +uid = '{{ uid }}', +nodeTypeConfigs = '{{ nodeTypeConfigs }}', +stretchedClusterConfig = '{{ stretchedClusterConfig }}' +WHERE +clustersId = '{{ clustersId }}' +AND locationsId = '{{ locationsId }}' +AND privateCloudsId = '{{ privateCloudsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified cluster resource. + +```sql +DELETE FROM google.vmwareengine.clusters +WHERE clustersId = '{{ clustersId }}' +AND locationsId = '{{ locationsId }}' +AND privateCloudsId = '{{ privateCloudsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/vmwareengine/clusters_iam_policies/index.md b/docs/google-docs/providers/google/vmwareengine/clusters_iam_policies/index.md index 833faf38ba..03c894b300 100644 --- a/docs/google-docs/providers/google/vmwareengine/clusters_iam_policies/index.md +++ b/docs/google-docs/providers/google/vmwareengine/clusters_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: clusters_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - clusters_iam_policies - vmwareengine - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an clusters_iam_policy resource or lists clusters_iam_policies in a region ## Overview
@@ -30,13 +32,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.vmwareengine.clusters_iam_policies +WHERE clustersId = '{{ clustersId }}' +AND locationsId = '{{ locationsId }}' +AND privateCloudsId = '{{ privateCloudsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/vmwareengine/dns_bind_permission/index.md b/docs/google-docs/providers/google/vmwareengine/dns_bind_permission/index.md index a3e242eba7..0f5f2265fa 100644 --- a/docs/google-docs/providers/google/vmwareengine/dns_bind_permission/index.md +++ b/docs/google-docs/providers/google/vmwareengine/dns_bind_permission/index.md @@ -1,3 +1,4 @@ + --- title: dns_bind_permission hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - dns_bind_permission - vmwareengine - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an dns_bind_permission resource or lists dns_bind_permission in a region ## Overview
@@ -32,9 +34,23 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Required. Output only. The name of the resource which stores the users/service accounts having the permission to bind to the corresponding intranet VPC of the consumer project. DnsBindPermission is a global resource and location can only be global. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/global/dnsBindPermission` | | | `array` | Output only. Users/Service accounts which have access for binding on the intranet VPC project corresponding to the consumer project. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets all the principals having bind permission on the intranet VPC associated with the consumer project granted by the Grant API. DnsBindPermission is a global resource and location can only be global. | | | `EXEC` | | Grants the bind permission to the customer provided principal(user / service account) to bind their DNS zone with the intranet VPC associated with the project. DnsBindPermission is a global resource and location can only be global. | | | `EXEC` | | Revokes the bind permission from the customer provided principal(user / service account) on the intranet VPC associated with the consumer project. DnsBindPermission is a global resource and location can only be global. | + +## `SELECT` examples + +Gets all the principals having bind permission on the intranet VPC associated with the consumer project granted by the Grant API. DnsBindPermission is a global resource and location can only be global. + +```sql +SELECT +name, +principals +FROM google.vmwareengine.dns_bind_permission +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/vmwareengine/external_access_rules/index.md b/docs/google-docs/providers/google/vmwareengine/external_access_rules/index.md index 9e89242c62..7998d38722 100644 --- a/docs/google-docs/providers/google/vmwareengine/external_access_rules/index.md +++ b/docs/google-docs/providers/google/vmwareengine/external_access_rules/index.md @@ -1,3 +1,4 @@ + --- title: external_access_rules hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - external_access_rules - vmwareengine - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an external_access_rule resource or lists external_access_rules in a region ## Overview
@@ -43,6 +45,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The state of the resource. | | | `string` | Output only. System-generated unique identifier for the resource. | | | `string` | Output only. Last update time of this resource. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -51,4 +54,157 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new external access rule in a given network policy. | | | `DELETE` | | Deletes a single external access rule. | | | `UPDATE` | | Updates the parameters of a single external access rule. Only fields specified in `update_mask` are applied. | -| | `EXEC` | | Lists `ExternalAccessRule` resources in the specified network policy. | + +## `SELECT` examples + +Lists `ExternalAccessRule` resources in the specified network policy. + +```sql +SELECT +name, +description, +action, +createTime, +destinationIpRanges, +destinationPorts, +ipProtocol, +priority, +sourceIpRanges, +sourcePorts, +state, +uid, +updateTime +FROM google.vmwareengine.external_access_rules +WHERE locationsId = '{{ locationsId }}' +AND networkPoliciesId = '{{ networkPoliciesId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new external_access_rules resource. + + + + +```sql +/*+ create */ +INSERT INTO google.vmwareengine.external_access_rules ( +locationsId, +networkPoliciesId, +projectsId, +name, +createTime, +updateTime, +description, +priority, +action, +ipProtocol, +sourceIpRanges, +sourcePorts, +destinationIpRanges, +destinationPorts, +state, +uid +) +SELECT +'{{ locationsId }}', +'{{ networkPoliciesId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ description }}', +'{{ priority }}', +'{{ action }}', +'{{ ipProtocol }}', +'{{ sourceIpRanges }}', +'{{ sourcePorts }}', +'{{ destinationIpRanges }}', +'{{ destinationPorts }}', +'{{ state }}', +'{{ uid }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: description + value: '{{ description }}' + - name: priority + value: '{{ priority }}' + - name: action + value: '{{ action }}' + - name: ipProtocol + value: '{{ ipProtocol }}' + - name: sourceIpRanges + value: '{{ sourceIpRanges }}' + - name: sourcePorts + value: '{{ sourcePorts }}' + - name: destinationIpRanges + value: '{{ destinationIpRanges }}' + - name: destinationPorts + value: '{{ destinationPorts }}' + - name: state + value: '{{ state }}' + - name: uid + value: '{{ uid }}' + +``` + + + +## `UPDATE` example + +Updates a external_access_rule only if the necessary resources are available. + +```sql +UPDATE google.vmwareengine.external_access_rules +SET +name = '{{ name }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +description = '{{ description }}', +priority = '{{ priority }}', +action = '{{ action }}', +ipProtocol = '{{ ipProtocol }}', +sourceIpRanges = '{{ sourceIpRanges }}', +sourcePorts = '{{ sourcePorts }}', +destinationIpRanges = '{{ destinationIpRanges }}', +destinationPorts = '{{ destinationPorts }}', +state = '{{ state }}', +uid = '{{ uid }}' +WHERE +externalAccessRulesId = '{{ externalAccessRulesId }}' +AND locationsId = '{{ locationsId }}' +AND networkPoliciesId = '{{ networkPoliciesId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified external_access_rule resource. + +```sql +DELETE FROM google.vmwareengine.external_access_rules +WHERE externalAccessRulesId = '{{ externalAccessRulesId }}' +AND locationsId = '{{ locationsId }}' +AND networkPoliciesId = '{{ networkPoliciesId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/vmwareengine/external_addresses/index.md b/docs/google-docs/providers/google/vmwareengine/external_addresses/index.md index f163a4e37b..e5138666d5 100644 --- a/docs/google-docs/providers/google/vmwareengine/external_addresses/index.md +++ b/docs/google-docs/providers/google/vmwareengine/external_addresses/index.md @@ -1,3 +1,4 @@ + --- title: external_addresses hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - external_addresses - vmwareengine - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an external_address resource or lists external_addresses in a region ## Overview
@@ -38,6 +40,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The state of the resource. | | | `string` | Output only. System-generated unique identifier for the resource. | | | `string` | Output only. Last update time of this resource. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -46,4 +49,127 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new `ExternalAddress` resource in a given private cloud. The network policy that corresponds to the private cloud must have the external IP address network service enabled (`NetworkPolicy.external_ip`). | | | `DELETE` | | Deletes a single external IP address. When you delete an external IP address, connectivity between the external IP address and the corresponding internal IP address is lost. | | | `UPDATE` | | Updates the parameters of a single external IP address. Only fields specified in `update_mask` are applied. During operation processing, the resource is temporarily in the `ACTIVE` state before the operation fully completes. For that period of time, you can't update the resource. Use the operation status to determine when the processing fully completes. | -| | `EXEC` | | Lists external IP addresses assigned to VMware workload VMs in a given private cloud. | + +## `SELECT` examples + +Lists external IP addresses assigned to VMware workload VMs in a given private cloud. + +```sql +SELECT +name, +description, +createTime, +externalIp, +internalIp, +state, +uid, +updateTime +FROM google.vmwareengine.external_addresses +WHERE locationsId = '{{ locationsId }}' +AND privateCloudsId = '{{ privateCloudsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new external_addresses resource. + + + + +```sql +/*+ create */ +INSERT INTO google.vmwareengine.external_addresses ( +locationsId, +privateCloudsId, +projectsId, +name, +createTime, +updateTime, +internalIp, +externalIp, +state, +uid, +description +) +SELECT +'{{ locationsId }}', +'{{ privateCloudsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ internalIp }}', +'{{ externalIp }}', +'{{ state }}', +'{{ uid }}', +'{{ description }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: internalIp + value: '{{ internalIp }}' + - name: externalIp + value: '{{ externalIp }}' + - name: state + value: '{{ state }}' + - name: uid + value: '{{ uid }}' + - name: description + value: '{{ description }}' + +``` + + + +## `UPDATE` example + +Updates a external_address only if the necessary resources are available. + +```sql +UPDATE google.vmwareengine.external_addresses +SET +name = '{{ name }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +internalIp = '{{ internalIp }}', +externalIp = '{{ externalIp }}', +state = '{{ state }}', +uid = '{{ uid }}', +description = '{{ description }}' +WHERE +externalAddressesId = '{{ externalAddressesId }}' +AND locationsId = '{{ locationsId }}' +AND privateCloudsId = '{{ privateCloudsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified external_address resource. + +```sql +DELETE FROM google.vmwareengine.external_addresses +WHERE externalAddressesId = '{{ externalAddressesId }}' +AND locationsId = '{{ locationsId }}' +AND privateCloudsId = '{{ privateCloudsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/vmwareengine/hcx_activation_keys/index.md b/docs/google-docs/providers/google/vmwareengine/hcx_activation_keys/index.md index 60fedd55a1..39a6066a92 100644 --- a/docs/google-docs/providers/google/vmwareengine/hcx_activation_keys/index.md +++ b/docs/google-docs/providers/google/vmwareengine/hcx_activation_keys/index.md @@ -1,3 +1,4 @@ + --- title: hcx_activation_keys hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - hcx_activation_keys - vmwareengine - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an hcx_activation_key resource or lists hcx_activation_keys in a region ## Overview
@@ -35,10 +37,85 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Creation time of HCX activation key. | | | `string` | Output only. State of HCX activation key. | | | `string` | Output only. System-generated unique identifier for the resource. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Retrieves a `HcxActivationKey` resource by its resource name. | | | `SELECT` | | Lists `HcxActivationKey` resources in a given private cloud. | | | `INSERT` | | Creates a new HCX activation key in a given private cloud. | -| | `EXEC` | | Lists `HcxActivationKey` resources in a given private cloud. | + +## `SELECT` examples + +Lists `HcxActivationKey` resources in a given private cloud. + +```sql +SELECT +name, +activationKey, +createTime, +state, +uid +FROM google.vmwareengine.hcx_activation_keys +WHERE locationsId = '{{ locationsId }}' +AND privateCloudsId = '{{ privateCloudsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new hcx_activation_keys resource. + + + + +```sql +/*+ create */ +INSERT INTO google.vmwareengine.hcx_activation_keys ( +locationsId, +privateCloudsId, +projectsId, +name, +createTime, +state, +activationKey, +uid +) +SELECT +'{{ locationsId }}', +'{{ privateCloudsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ createTime }}', +'{{ state }}', +'{{ activationKey }}', +'{{ uid }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: state + value: '{{ state }}' + - name: activationKey + value: '{{ activationKey }}' + - name: uid + value: '{{ uid }}' + +``` + + diff --git a/docs/google-docs/providers/google/vmwareengine/hcx_activation_keys_iam_policies/index.md b/docs/google-docs/providers/google/vmwareengine/hcx_activation_keys_iam_policies/index.md index 5a5f07e2de..522abce761 100644 --- a/docs/google-docs/providers/google/vmwareengine/hcx_activation_keys_iam_policies/index.md +++ b/docs/google-docs/providers/google/vmwareengine/hcx_activation_keys_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: hcx_activation_keys_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - hcx_activation_keys_iam_policies - vmwareengine - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an hcx_activation_keys_iam_policy resource or lists hcx_activation_keys_iam_policies in a region ## Overview
@@ -30,13 +32,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.vmwareengine.hcx_activation_keys_iam_policies +WHERE hcxActivationKeysId = '{{ hcxActivationKeysId }}' +AND locationsId = '{{ locationsId }}' +AND privateCloudsId = '{{ privateCloudsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/vmwareengine/index.md b/docs/google-docs/providers/google/vmwareengine/index.md index 763ee06d1b..40d65b8754 100644 --- a/docs/google-docs/providers/google/vmwareengine/index.md +++ b/docs/google-docs/providers/google/vmwareengine/index.md @@ -9,34 +9,23 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -The Google VMware Engine API lets you programmatically manage VMware environments. - +The vmwareengine service documentation. + :::info Service Summary
total resources: 23
-total selectable resources: 22
-total methods: 107
::: -## Overview -
- - - - - -
Namegoogle.vmwareengine
TypeService
TitleVMware Engine API
DescriptionThe Google VMware Engine API lets you programmatically manage VMware environments.
Idvmwareengine:v24.06.00236
- ## Resources
@@ -51,7 +40,7 @@ The Google VMware Engine API lets you programmatically manage VMware environment logging_servers
management_dns_zone_bindings
network_peerings
-network_policies
+network_policies
network_policies_external_addresses
@@ -64,6 +53,6 @@ The Google VMware Engine API lets you programmatically manage VMware environment private_clouds_iam_policies
private_connections
subnets
-vmware_engine_networks
-
+vmware_engine_networks
+ \ No newline at end of file diff --git a/docs/google-docs/providers/google/vmwareengine/locations/index.md b/docs/google-docs/providers/google/vmwareengine/locations/index.md index 591ebcaa40..f4132548a2 100644 --- a/docs/google-docs/providers/google/vmwareengine/locations/index.md +++ b/docs/google-docs/providers/google/vmwareengine/locations/index.md @@ -1,3 +1,4 @@ + --- title: locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - locations - vmwareengine - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an location resource or lists locations in a region ## Overview @@ -32,12 +34,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` | | | `string` | The friendly name for this location, typically a nearby city name. For example, "Tokyo". | -| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | +| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | | | `string` | The canonical id for this location. For example: `"us-east1"`. | | | `object` | Service-specific metadata. For example the available capacity at the given location. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about a location. | | | `SELECT` | | Lists information about the supported locations for this service. | -| | `EXEC` | | Lists information about the supported locations for this service. | + +## `SELECT` examples + +Lists information about the supported locations for this service. + +```sql +SELECT +name, +displayName, +labels, +locationId, +metadata +FROM google.vmwareengine.locations +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/vmwareengine/logging_servers/index.md b/docs/google-docs/providers/google/vmwareengine/logging_servers/index.md index 96c8c16e43..5f428ec043 100644 --- a/docs/google-docs/providers/google/vmwareengine/logging_servers/index.md +++ b/docs/google-docs/providers/google/vmwareengine/logging_servers/index.md @@ -1,3 +1,4 @@ + --- title: logging_servers hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - logging_servers - vmwareengine - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an logging_server resource or lists logging_servers in a region ## Overview
@@ -38,6 +40,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Required. The type of component that produces logs that will be forwarded to this logging server. | | | `string` | Output only. System-generated unique identifier for the resource. | | | `string` | Output only. Last update time of this resource. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -46,4 +49,127 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Create a new logging server for a given private cloud. | | | `DELETE` | | Deletes a single logging server. | | | `UPDATE` | | Updates the parameters of a single logging server. Only fields specified in `update_mask` are applied. | -| | `EXEC` | | Lists logging servers configured for a given private cloud. | + +## `SELECT` examples + +Lists logging servers configured for a given private cloud. + +```sql +SELECT +name, +createTime, +hostname, +port, +protocol, +sourceType, +uid, +updateTime +FROM google.vmwareengine.logging_servers +WHERE locationsId = '{{ locationsId }}' +AND privateCloudsId = '{{ privateCloudsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new logging_servers resource. + + + + +```sql +/*+ create */ +INSERT INTO google.vmwareengine.logging_servers ( +locationsId, +privateCloudsId, +projectsId, +name, +createTime, +updateTime, +hostname, +port, +protocol, +sourceType, +uid +) +SELECT +'{{ locationsId }}', +'{{ privateCloudsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ hostname }}', +'{{ port }}', +'{{ protocol }}', +'{{ sourceType }}', +'{{ uid }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: hostname + value: '{{ hostname }}' + - name: port + value: '{{ port }}' + - name: protocol + value: '{{ protocol }}' + - name: sourceType + value: '{{ sourceType }}' + - name: uid + value: '{{ uid }}' + +``` + + + +## `UPDATE` example + +Updates a logging_server only if the necessary resources are available. + +```sql +UPDATE google.vmwareengine.logging_servers +SET +name = '{{ name }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +hostname = '{{ hostname }}', +port = '{{ port }}', +protocol = '{{ protocol }}', +sourceType = '{{ sourceType }}', +uid = '{{ uid }}' +WHERE +locationsId = '{{ locationsId }}' +AND loggingServersId = '{{ loggingServersId }}' +AND privateCloudsId = '{{ privateCloudsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified logging_server resource. + +```sql +DELETE FROM google.vmwareengine.logging_servers +WHERE locationsId = '{{ locationsId }}' +AND loggingServersId = '{{ loggingServersId }}' +AND privateCloudsId = '{{ privateCloudsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/vmwareengine/management_dns_zone_bindings/index.md b/docs/google-docs/providers/google/vmwareengine/management_dns_zone_bindings/index.md index a5e3c2c4e9..ed22c931f0 100644 --- a/docs/google-docs/providers/google/vmwareengine/management_dns_zone_bindings/index.md +++ b/docs/google-docs/providers/google/vmwareengine/management_dns_zone_bindings/index.md @@ -1,3 +1,4 @@ + --- title: management_dns_zone_bindings hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - management_dns_zone_bindings - vmwareengine - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an management_dns_zone_binding resource or lists management_dns_zone_bindings in a region ## Overview
@@ -36,8 +38,9 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The state of the resource. | | | `string` | Output only. System-generated unique identifier for the resource. | | | `string` | Output only. Last update time of this resource. | -| | `string` | Network to bind is a VMware Engine network. Specify the name in the following form for VMware engine network: `projects/{project}/locations/global/vmwareEngineNetworks/{vmware_engine_network_id}`. `{project}` can either be a project number or a project ID. | -| | `string` | Network to bind is a standard consumer VPC. Specify the name in the following form for consumer VPC network: `projects/{project}/global/networks/{network_id}`. `{project}` can either be a project number or a project ID. | +| | `string` | Network to bind is a VMware Engine network. Specify the name in the following form for VMware engine network: `projects/{project}/locations/global/vmwareEngineNetworks/{vmware_engine_network_id}`. `{project}` can either be a project number or a project ID. | +| | `string` | Network to bind is a standard consumer VPC. Specify the name in the following form for consumer VPC network: `projects/{project}/global/networks/{network_id}`. `{project}` can either be a project number or a project ID. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -46,5 +49,128 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new `ManagementDnsZoneBinding` resource in a private cloud. This RPC creates the DNS binding and the resource that represents the DNS binding of the consumer VPC network to the management DNS zone. A management DNS zone is the Cloud DNS cross-project binding zone that VMware Engine creates for each private cloud. It contains FQDNs and corresponding IP addresses for the private cloud's ESXi hosts and management VM appliances like vCenter and NSX Manager. | | | `DELETE` | | Deletes a `ManagementDnsZoneBinding` resource. When a management DNS zone binding is deleted, the corresponding consumer VPC network is no longer bound to the management DNS zone. | | | `UPDATE` | | Updates a `ManagementDnsZoneBinding` resource. Only fields specified in `update_mask` are applied. | -| | `EXEC` | | Lists Consumer VPCs bound to Management DNS Zone of a given private cloud. | | | `EXEC` | | Retries to create a `ManagementDnsZoneBinding` resource that is in failed state. | + +## `SELECT` examples + +Lists Consumer VPCs bound to Management DNS Zone of a given private cloud. + +```sql +SELECT +name, +description, +createTime, +state, +uid, +updateTime, +vmwareEngineNetwork, +vpcNetwork +FROM google.vmwareengine.management_dns_zone_bindings +WHERE locationsId = '{{ locationsId }}' +AND privateCloudsId = '{{ privateCloudsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new management_dns_zone_bindings resource. + + + + +```sql +/*+ create */ +INSERT INTO google.vmwareengine.management_dns_zone_bindings ( +locationsId, +privateCloudsId, +projectsId, +name, +createTime, +updateTime, +state, +description, +vpcNetwork, +vmwareEngineNetwork, +uid +) +SELECT +'{{ locationsId }}', +'{{ privateCloudsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ state }}', +'{{ description }}', +'{{ vpcNetwork }}', +'{{ vmwareEngineNetwork }}', +'{{ uid }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: state + value: '{{ state }}' + - name: description + value: '{{ description }}' + - name: vpcNetwork + value: '{{ vpcNetwork }}' + - name: vmwareEngineNetwork + value: '{{ vmwareEngineNetwork }}' + - name: uid + value: '{{ uid }}' + +``` + + + +## `UPDATE` example + +Updates a management_dns_zone_binding only if the necessary resources are available. + +```sql +UPDATE google.vmwareengine.management_dns_zone_bindings +SET +name = '{{ name }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +state = '{{ state }}', +description = '{{ description }}', +vpcNetwork = '{{ vpcNetwork }}', +vmwareEngineNetwork = '{{ vmwareEngineNetwork }}', +uid = '{{ uid }}' +WHERE +locationsId = '{{ locationsId }}' +AND managementDnsZoneBindingsId = '{{ managementDnsZoneBindingsId }}' +AND privateCloudsId = '{{ privateCloudsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified management_dns_zone_binding resource. + +```sql +DELETE FROM google.vmwareengine.management_dns_zone_bindings +WHERE locationsId = '{{ locationsId }}' +AND managementDnsZoneBindingsId = '{{ managementDnsZoneBindingsId }}' +AND privateCloudsId = '{{ privateCloudsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/vmwareengine/network_peerings/index.md b/docs/google-docs/providers/google/vmwareengine/network_peerings/index.md index 9339868cb3..8835e42713 100644 --- a/docs/google-docs/providers/google/vmwareengine/network_peerings/index.md +++ b/docs/google-docs/providers/google/vmwareengine/network_peerings/index.md @@ -1,3 +1,4 @@ + --- title: network_peerings hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - network_peerings - vmwareengine - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an network_peering resource or lists network_peerings in a region ## Overview
@@ -39,13 +41,14 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `boolean` | Optional. True if custom routes are imported from the peered network; false otherwise. The default value is true. | | | `boolean` | Optional. True if all subnet routes with public IP address range are imported; false otherwise. The default value is true. IPv4 special-use ranges (https://en.wikipedia.org/wiki/IPv4#Special_addresses) are always imported to peers and are not controlled by this field. | | | `integer` | Optional. Maximum transmission unit (MTU) in bytes. The default value is `1500`. If a value of `0` is provided for this field, VMware Engine uses the default value instead. | -| | `string` | Required. The relative resource name of the network to peer with a standard VMware Engine network. The provided network can be a consumer VPC network or another standard VMware Engine network. If the `peer_network_type` is VMWARE_ENGINE_NETWORK, specify the name in the form: `projects/{project}/locations/global/vmwareEngineNetworks/{vmware_engine_network_id}`. Otherwise specify the name in the form: `projects/{project}/global/networks/{network_id}`, where `{project}` can either be a project number or a project ID. | +| | `string` | Required. The relative resource name of the network to peer with a standard VMware Engine network. The provided network can be a consumer VPC network or another standard VMware Engine network. If the `peer_network_type` is VMWARE_ENGINE_NETWORK, specify the name in the form: `projects/{project}/locations/global/vmwareEngineNetworks/{vmware_engine_network_id}`. Otherwise specify the name in the form: `projects/{project}/global/networks/{network_id}`, where `{project}` can either be a project number or a project ID. | | | `string` | Required. The type of the network to peer with the VMware Engine network. | | | `string` | Output only. State of the network peering. This field has a value of 'ACTIVE' when there's a matching configuration in the peer network. New values may be added to this enum when appropriate. | | | `string` | Output only. Output Only. Details about the current state of the network peering. | | | `string` | Output only. System-generated unique identifier for the resource. | | | `string` | Output only. Last update time of this resource. | -| | `string` | Required. The relative resource name of the VMware Engine network. Specify the name in the following form: `projects/{project}/locations/{location}/vmwareEngineNetworks/{vmware_engine_network_id}` where `{project}` can either be a project number or a project ID. | +| | `string` | Required. The relative resource name of the VMware Engine network. Specify the name in the following form: `projects/{project}/locations/{location}/vmwareEngineNetworks/{vmware_engine_network_id}` where `{project}` can either be a project number or a project ID. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -54,4 +57,170 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new network peering between the peer network and VMware Engine network provided in a `NetworkPeering` resource. NetworkPeering is a global resource and location can only be global. | | | `DELETE` | | Deletes a `NetworkPeering` resource. When a network peering is deleted for a VMware Engine network, the peer network becomes inaccessible to that VMware Engine network. NetworkPeering is a global resource and location can only be global. | | | `UPDATE` | | Modifies a `NetworkPeering` resource. Only the `description` field can be updated. Only fields specified in `updateMask` are applied. NetworkPeering is a global resource and location can only be global. | -| | `EXEC` | | Lists `NetworkPeering` resources in a given project. NetworkPeering is a global resource and location can only be global. | + +## `SELECT` examples + +Lists `NetworkPeering` resources in a given project. NetworkPeering is a global resource and location can only be global. + +```sql +SELECT +name, +description, +createTime, +exchangeSubnetRoutes, +exportCustomRoutes, +exportCustomRoutesWithPublicIp, +importCustomRoutes, +importCustomRoutesWithPublicIp, +peerMtu, +peerNetwork, +peerNetworkType, +state, +stateDetails, +uid, +updateTime, +vmwareEngineNetwork +FROM google.vmwareengine.network_peerings +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new network_peerings resource. + + + + +```sql +/*+ create */ +INSERT INTO google.vmwareengine.network_peerings ( +locationsId, +projectsId, +name, +createTime, +updateTime, +peerNetwork, +exportCustomRoutes, +importCustomRoutes, +exchangeSubnetRoutes, +exportCustomRoutesWithPublicIp, +importCustomRoutesWithPublicIp, +state, +stateDetails, +peerMtu, +peerNetworkType, +uid, +vmwareEngineNetwork, +description +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ peerNetwork }}', +true|false, +true|false, +true|false, +true|false, +true|false, +'{{ state }}', +'{{ stateDetails }}', +'{{ peerMtu }}', +'{{ peerNetworkType }}', +'{{ uid }}', +'{{ vmwareEngineNetwork }}', +'{{ description }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: peerNetwork + value: '{{ peerNetwork }}' + - name: exportCustomRoutes + value: '{{ exportCustomRoutes }}' + - name: importCustomRoutes + value: '{{ importCustomRoutes }}' + - name: exchangeSubnetRoutes + value: '{{ exchangeSubnetRoutes }}' + - name: exportCustomRoutesWithPublicIp + value: '{{ exportCustomRoutesWithPublicIp }}' + - name: importCustomRoutesWithPublicIp + value: '{{ importCustomRoutesWithPublicIp }}' + - name: state + value: '{{ state }}' + - name: stateDetails + value: '{{ stateDetails }}' + - name: peerMtu + value: '{{ peerMtu }}' + - name: peerNetworkType + value: '{{ peerNetworkType }}' + - name: uid + value: '{{ uid }}' + - name: vmwareEngineNetwork + value: '{{ vmwareEngineNetwork }}' + - name: description + value: '{{ description }}' + +``` + + + +## `UPDATE` example + +Updates a network_peering only if the necessary resources are available. + +```sql +UPDATE google.vmwareengine.network_peerings +SET +name = '{{ name }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +peerNetwork = '{{ peerNetwork }}', +exportCustomRoutes = true|false, +importCustomRoutes = true|false, +exchangeSubnetRoutes = true|false, +exportCustomRoutesWithPublicIp = true|false, +importCustomRoutesWithPublicIp = true|false, +state = '{{ state }}', +stateDetails = '{{ stateDetails }}', +peerMtu = '{{ peerMtu }}', +peerNetworkType = '{{ peerNetworkType }}', +uid = '{{ uid }}', +vmwareEngineNetwork = '{{ vmwareEngineNetwork }}', +description = '{{ description }}' +WHERE +locationsId = '{{ locationsId }}' +AND networkPeeringsId = '{{ networkPeeringsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified network_peering resource. + +```sql +DELETE FROM google.vmwareengine.network_peerings +WHERE locationsId = '{{ locationsId }}' +AND networkPeeringsId = '{{ networkPeeringsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/vmwareengine/network_policies/index.md b/docs/google-docs/providers/google/vmwareengine/network_policies/index.md index c99c8ffdbb..133271f77b 100644 --- a/docs/google-docs/providers/google/vmwareengine/network_policies/index.md +++ b/docs/google-docs/providers/google/vmwareengine/network_policies/index.md @@ -1,3 +1,4 @@ + --- title: network_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - network_policies - vmwareengine - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an network_policy resource or lists network_policies in a region ## Overview
@@ -38,8 +40,9 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Represents a network service that is managed by a `NetworkPolicy` resource. A network service provides a way to control an aspect of external access to VMware workloads. For example, whether the VMware workloads in the private clouds governed by a network policy can access or be accessed from the internet. | | | `string` | Output only. System-generated unique identifier for the resource. | | | `string` | Output only. Last update time of this resource. | -| | `string` | Optional. The relative resource name of the VMware Engine network. Specify the name in the following form: `projects/{project}/locations/{location}/vmwareEngineNetworks/{vmware_engine_network_id}` where `{project}` can either be a project number or a project ID. | -| | `string` | Output only. The canonical name of the VMware Engine network in the form: `projects/{project_number}/locations/{location}/vmwareEngineNetworks/{vmware_engine_network_id}` | +| | `string` | Optional. The relative resource name of the VMware Engine network. Specify the name in the following form: `projects/{project}/locations/{location}/vmwareEngineNetworks/{vmware_engine_network_id}` where `{project}` can either be a project number or a project ID. | +| | `string` | Output only. The canonical name of the VMware Engine network in the form: `projects/{project_number}/locations/{location}/vmwareEngineNetworks/{vmware_engine_network_id}` | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -48,4 +51,134 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new network policy in a given VMware Engine network of a project and location (region). A new network policy cannot be created if another network policy already exists in the same scope. | | | `DELETE` | | Deletes a `NetworkPolicy` resource. A network policy cannot be deleted when `NetworkService.state` is set to `RECONCILING` for either its external IP or internet access service. | | | `UPDATE` | | Modifies a `NetworkPolicy` resource. Only the following fields can be updated: `internet_access`, `external_ip`, `edge_services_cidr`. Only fields specified in `updateMask` are applied. When updating a network policy, the external IP network service can only be disabled if there are no external IP addresses present in the scope of the policy. Also, a `NetworkService` cannot be updated when `NetworkService.state` is set to `RECONCILING`. During operation processing, the resource is temporarily in the `ACTIVE` state before the operation fully completes. For that period of time, you can't update the resource. Use the operation status to determine when the processing fully completes. | -| | `EXEC` | | Lists `NetworkPolicy` resources in a specified project and location. | + +## `SELECT` examples + +Lists `NetworkPolicy` resources in a specified project and location. + +```sql +SELECT +name, +description, +createTime, +edgeServicesCidr, +externalIp, +internetAccess, +uid, +updateTime, +vmwareEngineNetwork, +vmwareEngineNetworkCanonical +FROM google.vmwareengine.network_policies +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new network_policies resource. + + + + +```sql +/*+ create */ +INSERT INTO google.vmwareengine.network_policies ( +locationsId, +projectsId, +name, +createTime, +updateTime, +internetAccess, +externalIp, +edgeServicesCidr, +uid, +vmwareEngineNetwork, +description, +vmwareEngineNetworkCanonical +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ internetAccess }}', +'{{ externalIp }}', +'{{ edgeServicesCidr }}', +'{{ uid }}', +'{{ vmwareEngineNetwork }}', +'{{ description }}', +'{{ vmwareEngineNetworkCanonical }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: internetAccess + value: '{{ internetAccess }}' + - name: externalIp + value: '{{ externalIp }}' + - name: edgeServicesCidr + value: '{{ edgeServicesCidr }}' + - name: uid + value: '{{ uid }}' + - name: vmwareEngineNetwork + value: '{{ vmwareEngineNetwork }}' + - name: description + value: '{{ description }}' + - name: vmwareEngineNetworkCanonical + value: '{{ vmwareEngineNetworkCanonical }}' + +``` + + + +## `UPDATE` example + +Updates a network_policy only if the necessary resources are available. + +```sql +UPDATE google.vmwareengine.network_policies +SET +name = '{{ name }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +internetAccess = '{{ internetAccess }}', +externalIp = '{{ externalIp }}', +edgeServicesCidr = '{{ edgeServicesCidr }}', +uid = '{{ uid }}', +vmwareEngineNetwork = '{{ vmwareEngineNetwork }}', +description = '{{ description }}', +vmwareEngineNetworkCanonical = '{{ vmwareEngineNetworkCanonical }}' +WHERE +locationsId = '{{ locationsId }}' +AND networkPoliciesId = '{{ networkPoliciesId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified network_policy resource. + +```sql +DELETE FROM google.vmwareengine.network_policies +WHERE locationsId = '{{ locationsId }}' +AND networkPoliciesId = '{{ networkPoliciesId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/vmwareengine/network_policies_external_addresses/index.md b/docs/google-docs/providers/google/vmwareengine/network_policies_external_addresses/index.md index ca212bbb79..60e39cec38 100644 --- a/docs/google-docs/providers/google/vmwareengine/network_policies_external_addresses/index.md +++ b/docs/google-docs/providers/google/vmwareengine/network_policies_external_addresses/index.md @@ -1,3 +1,4 @@ + --- title: network_policies_external_addresses hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - network_policies_external_addresses - vmwareengine - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an network_policies_external_address resource or lists network_policies_external_addresses in a region ## Overview
@@ -28,8 +30,26 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `array` | A list of external IP addresses assigned to VMware workload VMs within the scope of the given network policy. | +| | `string` | A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists external IP addresses assigned to VMware workload VMs within the scope of the given network policy. | + +## `SELECT` examples + +Lists external IP addresses assigned to VMware workload VMs within the scope of the given network policy. + +```sql +SELECT +externalAddresses, +nextPageToken +FROM google.vmwareengine.network_policies_external_addresses +WHERE locationsId = '{{ locationsId }}' +AND networkPoliciesId = '{{ networkPoliciesId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/vmwareengine/node_types/index.md b/docs/google-docs/providers/google/vmwareengine/node_types/index.md index 93a16bf901..2ebeb7fa79 100644 --- a/docs/google-docs/providers/google/vmwareengine/node_types/index.md +++ b/docs/google-docs/providers/google/vmwareengine/node_types/index.md @@ -1,3 +1,4 @@ + --- title: node_types hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - node_types - vmwareengine - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an node_type resource or lists node_types in a region ## Overview @@ -41,9 +43,31 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The canonical identifier of the node type (corresponds to the `NodeType`). For example: standard-72. | | | `integer` | Output only. The total number of CPU cores in a single node. | | | `integer` | Output only. The total number of virtual CPUs in a single node. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets details of a single `NodeType`. | | | `SELECT` | | Lists node types | -| | `EXEC` | | Lists node types | + +## `SELECT` examples + +Lists node types + +```sql +SELECT +name, +availableCustomCoreCounts, +capabilities, +diskSizeGb, +displayName, +families, +kind, +memoryGb, +nodeTypeId, +totalCoreCount, +virtualCpuCount +FROM google.vmwareengine.node_types +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/vmwareengine/nodes/index.md b/docs/google-docs/providers/google/vmwareengine/nodes/index.md index b200c510d3..f8cbed0c0d 100644 --- a/docs/google-docs/providers/google/vmwareengine/nodes/index.md +++ b/docs/google-docs/providers/google/vmwareengine/nodes/index.md @@ -1,3 +1,4 @@ + --- title: nodes hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - nodes - vmwareengine - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an node resource or lists nodes in a region ## Overview
@@ -37,9 +39,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The canonical identifier of the node type (corresponds to the `NodeType`). For example: standard-72. | | | `string` | Output only. The state of the appliance. | | | `string` | Output only. The version number of the VMware ESXi management component in this cluster. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets details of a single node. | | | `SELECT` | | Lists nodes in a given cluster. | -| | `EXEC` | | Lists nodes in a given cluster. | + +## `SELECT` examples + +Lists nodes in a given cluster. + +```sql +SELECT +name, +customCoreCount, +fqdn, +internalIp, +nodeTypeId, +state, +version +FROM google.vmwareengine.nodes +WHERE clustersId = '{{ clustersId }}' +AND locationsId = '{{ locationsId }}' +AND privateCloudsId = '{{ privateCloudsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/vmwareengine/operations/index.md b/docs/google-docs/providers/google/vmwareengine/operations/index.md index 6ffd8e071e..e53b4bff17 100644 --- a/docs/google-docs/providers/google/vmwareengine/operations/index.md +++ b/docs/google-docs/providers/google/vmwareengine/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - vmwareengine - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview
@@ -30,15 +32,42 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.vmwareengine.operations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified operation resource. + +```sql +DELETE FROM google.vmwareengine.operations +WHERE locationsId = '{{ locationsId }}' +AND operationsId = '{{ operationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/vmwareengine/peering_routes/index.md b/docs/google-docs/providers/google/vmwareengine/peering_routes/index.md index 6390c9ecfc..23c15878d0 100644 --- a/docs/google-docs/providers/google/vmwareengine/peering_routes/index.md +++ b/docs/google-docs/providers/google/vmwareengine/peering_routes/index.md @@ -1,3 +1,4 @@ + --- title: peering_routes hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - peering_routes - vmwareengine - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an peering_route resource or lists peering_routes in a region ## Overview
@@ -36,8 +38,26 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Region containing the next hop of the peering route. This field only applies to dynamic routes in the peer VPC network. | | | `string` | Output only. The priority of the peering route. | | | `string` | Output only. Type of the route in the peer VPC network. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists the private connection routes exchanged over a peering connection. | + +## `SELECT` examples + +Lists the private connection routes exchanged over a peering connection. + +```sql +SELECT +destRange, +direction, +imported, +nextHopRegion, +priority, +type +FROM google.vmwareengine.peering_routes +WHERE locationsId = '{{ locationsId }}' +AND privateConnectionsId = '{{ privateConnectionsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/vmwareengine/private_clouds/index.md b/docs/google-docs/providers/google/vmwareengine/private_clouds/index.md index a0b468bdb3..554ee97c21 100644 --- a/docs/google-docs/providers/google/vmwareengine/private_clouds/index.md +++ b/docs/google-docs/providers/google/vmwareengine/private_clouds/index.md @@ -1,3 +1,4 @@ + --- title: private_clouds hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - private_clouds - vmwareengine - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an private_cloud resource or lists private_clouds in a region ## Overview
@@ -44,6 +46,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. System-generated unique identifier for the resource. | | | `string` | Output only. Last update time of this resource. | | | `object` | Details about a vCenter Server management appliance. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -52,9 +55,163 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new `PrivateCloud` resource in a given project and location. Private clouds of type `STANDARD` and `TIME_LIMITED` are zonal resources, `STRETCHED` private clouds are regional. Creating a private cloud also creates a [management cluster](https://cloud.google.com/vmware-engine/docs/concepts-vmware-components) for that private cloud. | | | `DELETE` | | Schedules a `PrivateCloud` resource for deletion. A `PrivateCloud` resource scheduled for deletion has `PrivateCloud.state` set to `DELETED` and `expireTime` set to the time when deletion is final and can no longer be reversed. The delete operation is marked as done as soon as the `PrivateCloud` is successfully scheduled for deletion (this also applies when `delayHours` is set to zero), and the operation is not kept in pending state until `PrivateCloud` is purged. `PrivateCloud` can be restored using `UndeletePrivateCloud` method before the `expireTime` elapses. When `expireTime` is reached, deletion is final and all private cloud resources are irreversibly removed and billing stops. During the final removal process, `PrivateCloud.state` is set to `PURGING`. `PrivateCloud` can be polled using standard `GET` method for the whole period of deletion and purging. It will not be returned only when it is completely purged. | | | `UPDATE` | | Modifies a `PrivateCloud` resource. Only the following fields can be updated: `description`. Only fields specified in `updateMask` are applied. During operation processing, the resource is temporarily in the `ACTIVE` state before the operation fully completes. For that period of time, you can't update the resource. Use the operation status to determine when the processing fully completes. | -| | `EXEC` | | Lists `PrivateCloud` resources in a given project and location. | | | `EXEC` | | Resets credentials of the NSX appliance. | | | `EXEC` | | Resets credentials of the Vcenter appliance. | | | `EXEC` | | Gets details of credentials for NSX appliance. | | | `EXEC` | | Gets details of credentials for Vcenter appliance. | | | `EXEC` | | Restores a private cloud that was previously scheduled for deletion by `DeletePrivateCloud`. A `PrivateCloud` resource scheduled for deletion has `PrivateCloud.state` set to `DELETED` and `PrivateCloud.expireTime` set to the time when deletion can no longer be reversed. | + +## `SELECT` examples + +Lists `PrivateCloud` resources in a given project and location. + +```sql +SELECT +name, +description, +createTime, +deleteTime, +expireTime, +hcx, +managementCluster, +networkConfig, +nsx, +state, +type, +uid, +updateTime, +vcenter +FROM google.vmwareengine.private_clouds +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new private_clouds resource. + + + + +```sql +/*+ create */ +INSERT INTO google.vmwareengine.private_clouds ( +locationsId, +projectsId, +name, +createTime, +updateTime, +deleteTime, +expireTime, +state, +networkConfig, +managementCluster, +description, +hcx, +nsx, +vcenter, +uid, +type +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ deleteTime }}', +'{{ expireTime }}', +'{{ state }}', +'{{ networkConfig }}', +'{{ managementCluster }}', +'{{ description }}', +'{{ hcx }}', +'{{ nsx }}', +'{{ vcenter }}', +'{{ uid }}', +'{{ type }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: deleteTime + value: '{{ deleteTime }}' + - name: expireTime + value: '{{ expireTime }}' + - name: state + value: '{{ state }}' + - name: networkConfig + value: '{{ networkConfig }}' + - name: managementCluster + value: '{{ managementCluster }}' + - name: description + value: '{{ description }}' + - name: hcx + value: '{{ hcx }}' + - name: nsx + value: '{{ nsx }}' + - name: vcenter + value: '{{ vcenter }}' + - name: uid + value: '{{ uid }}' + - name: type + value: '{{ type }}' + +``` + + + +## `UPDATE` example + +Updates a private_cloud only if the necessary resources are available. + +```sql +UPDATE google.vmwareengine.private_clouds +SET +name = '{{ name }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +deleteTime = '{{ deleteTime }}', +expireTime = '{{ expireTime }}', +state = '{{ state }}', +networkConfig = '{{ networkConfig }}', +managementCluster = '{{ managementCluster }}', +description = '{{ description }}', +hcx = '{{ hcx }}', +nsx = '{{ nsx }}', +vcenter = '{{ vcenter }}', +uid = '{{ uid }}', +type = '{{ type }}' +WHERE +locationsId = '{{ locationsId }}' +AND privateCloudsId = '{{ privateCloudsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified private_cloud resource. + +```sql +DELETE FROM google.vmwareengine.private_clouds +WHERE locationsId = '{{ locationsId }}' +AND privateCloudsId = '{{ privateCloudsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/vmwareengine/private_clouds_dns_forwarding/index.md b/docs/google-docs/providers/google/vmwareengine/private_clouds_dns_forwarding/index.md index 2537e8e6e7..3b11d40780 100644 --- a/docs/google-docs/providers/google/vmwareengine/private_clouds_dns_forwarding/index.md +++ b/docs/google-docs/providers/google/vmwareengine/private_clouds_dns_forwarding/index.md @@ -1,3 +1,4 @@ + --- title: private_clouds_dns_forwarding hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - private_clouds_dns_forwarding - vmwareengine - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an private_clouds_dns_forwarding resource or lists private_clouds_dns_forwarding in a region ## Overview
@@ -34,8 +36,42 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Creation time of this resource. | | | `array` | Required. List of domain mappings to configure | | | `string` | Output only. Last update time of this resource. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets details of the `DnsForwarding` config. | -| | `EXEC` | | Updates the parameters of the `DnsForwarding` config, like associated domains. Only fields specified in `update_mask` are applied. | +| | `UPDATE` | | Updates the parameters of the `DnsForwarding` config, like associated domains. Only fields specified in `update_mask` are applied. | + +## `SELECT` examples + +Gets details of the `DnsForwarding` config. + +```sql +SELECT +name, +createTime, +forwardingRules, +updateTime +FROM google.vmwareengine.private_clouds_dns_forwarding +WHERE locationsId = '{{ locationsId }}' +AND privateCloudsId = '{{ privateCloudsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `UPDATE` example + +Updates a private_clouds_dns_forwarding only if the necessary resources are available. + +```sql +UPDATE google.vmwareengine.private_clouds_dns_forwarding +SET +name = '{{ name }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +forwardingRules = '{{ forwardingRules }}' +WHERE +locationsId = '{{ locationsId }}' +AND privateCloudsId = '{{ privateCloudsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/vmwareengine/private_clouds_iam_policies/index.md b/docs/google-docs/providers/google/vmwareengine/private_clouds_iam_policies/index.md index a8bd248c58..b40374f77a 100644 --- a/docs/google-docs/providers/google/vmwareengine/private_clouds_iam_policies/index.md +++ b/docs/google-docs/providers/google/vmwareengine/private_clouds_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: private_clouds_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - private_clouds_iam_policies - vmwareengine - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an private_clouds_iam_policy resource or lists private_clouds_iam_policies in a region ## Overview
@@ -30,13 +32,28 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.vmwareengine.private_clouds_iam_policies +WHERE locationsId = '{{ locationsId }}' +AND privateCloudsId = '{{ privateCloudsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/vmwareengine/private_connections/index.md b/docs/google-docs/providers/google/vmwareengine/private_connections/index.md index 7c786cbfc3..f8234984f6 100644 --- a/docs/google-docs/providers/google/vmwareengine/private_connections/index.md +++ b/docs/google-docs/providers/google/vmwareengine/private_connections/index.md @@ -1,3 +1,4 @@ + --- title: private_connections hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - private_connections - vmwareengine - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an private_connection resource or lists private_connections in a region ## Overview
@@ -36,13 +38,14 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. VPC network peering id between given network VPC and VMwareEngineNetwork. | | | `string` | Output only. Peering state between service network and VMware Engine network. | | | `string` | Optional. Routing Mode. Default value is set to GLOBAL. For type = PRIVATE_SERVICE_ACCESS, this field can be set to GLOBAL or REGIONAL, for other types only GLOBAL is supported. | -| | `string` | Required. Service network to create private connection. Specify the name in the following form: `projects/{project}/global/networks/{network_id}` For type = PRIVATE_SERVICE_ACCESS, this field represents servicenetworking VPC, e.g. projects/project-tp/global/networks/servicenetworking. For type = NETAPP_CLOUD_VOLUME, this field represents NetApp service VPC, e.g. projects/project-tp/global/networks/netapp-tenant-vpc. For type = DELL_POWERSCALE, this field represent Dell service VPC, e.g. projects/project-tp/global/networks/dell-tenant-vpc. For type= THIRD_PARTY_SERVICE, this field could represent a consumer VPC or any other producer VPC to which the VMware Engine Network needs to be connected, e.g. projects/project/global/networks/vpc. | +| | `string` | Required. Service network to create private connection. Specify the name in the following form: `projects/{project}/global/networks/{network_id}` For type = PRIVATE_SERVICE_ACCESS, this field represents servicenetworking VPC, e.g. projects/project-tp/global/networks/servicenetworking. For type = NETAPP_CLOUD_VOLUME, this field represents NetApp service VPC, e.g. projects/project-tp/global/networks/netapp-tenant-vpc. For type = DELL_POWERSCALE, this field represent Dell service VPC, e.g. projects/project-tp/global/networks/dell-tenant-vpc. For type= THIRD_PARTY_SERVICE, this field could represent a consumer VPC or any other producer VPC to which the VMware Engine Network needs to be connected, e.g. projects/project/global/networks/vpc. | | | `string` | Output only. State of the private connection. | | | `string` | Required. Private connection type. | | | `string` | Output only. System-generated unique identifier for the resource. | | | `string` | Output only. Last update time of this resource. | -| | `string` | Required. The relative resource name of Legacy VMware Engine network. Specify the name in the following form: `projects/{project}/locations/{location}/vmwareEngineNetworks/{vmware_engine_network_id}` where `{project}`, `{location}` will be same as specified in private connection resource name and `{vmware_engine_network_id}` will be in the form of `{location}`-default e.g. projects/project/locations/us-central1/vmwareEngineNetworks/us-central1-default. | -| | `string` | Output only. The canonical name of the VMware Engine network in the form: `projects/{project_number}/locations/{location}/vmwareEngineNetworks/{vmware_engine_network_id}` | +| | `string` | Required. The relative resource name of Legacy VMware Engine network. Specify the name in the following form: `projects/{project}/locations/{location}/vmwareEngineNetworks/{vmware_engine_network_id}` where `{project}`, `{location}` will be same as specified in private connection resource name and `{vmware_engine_network_id}` will be in the form of `{location}`-default e.g. projects/project/locations/us-central1/vmwareEngineNetworks/us-central1-default. | +| | `string` | Output only. The canonical name of the VMware Engine network in the form: `projects/{project_number}/locations/{location}/vmwareEngineNetworks/{vmware_engine_network_id}` | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -51,4 +54,152 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new private connection that can be used for accessing private Clouds. | | | `DELETE` | | Deletes a `PrivateConnection` resource. When a private connection is deleted for a VMware Engine network, the connected network becomes inaccessible to that VMware Engine network. | | | `UPDATE` | | Modifies a `PrivateConnection` resource. Only `description` and `routing_mode` fields can be updated. Only fields specified in `updateMask` are applied. | -| | `EXEC` | | Lists `PrivateConnection` resources in a given project and location. | + +## `SELECT` examples + +Lists `PrivateConnection` resources in a given project and location. + +```sql +SELECT +name, +description, +createTime, +peeringId, +peeringState, +routingMode, +serviceNetwork, +state, +type, +uid, +updateTime, +vmwareEngineNetwork, +vmwareEngineNetworkCanonical +FROM google.vmwareengine.private_connections +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new private_connections resource. + + + + +```sql +/*+ create */ +INSERT INTO google.vmwareengine.private_connections ( +locationsId, +projectsId, +name, +createTime, +updateTime, +description, +state, +vmwareEngineNetwork, +vmwareEngineNetworkCanonical, +type, +peeringId, +routingMode, +uid, +serviceNetwork, +peeringState +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ description }}', +'{{ state }}', +'{{ vmwareEngineNetwork }}', +'{{ vmwareEngineNetworkCanonical }}', +'{{ type }}', +'{{ peeringId }}', +'{{ routingMode }}', +'{{ uid }}', +'{{ serviceNetwork }}', +'{{ peeringState }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: description + value: '{{ description }}' + - name: state + value: '{{ state }}' + - name: vmwareEngineNetwork + value: '{{ vmwareEngineNetwork }}' + - name: vmwareEngineNetworkCanonical + value: '{{ vmwareEngineNetworkCanonical }}' + - name: type + value: '{{ type }}' + - name: peeringId + value: '{{ peeringId }}' + - name: routingMode + value: '{{ routingMode }}' + - name: uid + value: '{{ uid }}' + - name: serviceNetwork + value: '{{ serviceNetwork }}' + - name: peeringState + value: '{{ peeringState }}' + +``` + + + +## `UPDATE` example + +Updates a private_connection only if the necessary resources are available. + +```sql +UPDATE google.vmwareengine.private_connections +SET +name = '{{ name }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +description = '{{ description }}', +state = '{{ state }}', +vmwareEngineNetwork = '{{ vmwareEngineNetwork }}', +vmwareEngineNetworkCanonical = '{{ vmwareEngineNetworkCanonical }}', +type = '{{ type }}', +peeringId = '{{ peeringId }}', +routingMode = '{{ routingMode }}', +uid = '{{ uid }}', +serviceNetwork = '{{ serviceNetwork }}', +peeringState = '{{ peeringState }}' +WHERE +locationsId = '{{ locationsId }}' +AND privateConnectionsId = '{{ privateConnectionsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified private_connection resource. + +```sql +DELETE FROM google.vmwareengine.private_connections +WHERE locationsId = '{{ locationsId }}' +AND privateConnectionsId = '{{ privateConnectionsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/vmwareengine/subnets/index.md b/docs/google-docs/providers/google/vmwareengine/subnets/index.md index 7b3cd79b62..d8fe2730e7 100644 --- a/docs/google-docs/providers/google/vmwareengine/subnets/index.md +++ b/docs/google-docs/providers/google/vmwareengine/subnets/index.md @@ -1,3 +1,4 @@ + --- title: subnets hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - subnets - vmwareengine - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an subnet resource or lists subnets in a region ## Overview
@@ -36,10 +38,48 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The state of the resource. | | | `string` | Output only. The type of the subnet. For example "management" or "userDefined". | | | `integer` | Output only. VLAN ID of the VLAN on which the subnet is configured | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets details of a single subnet. | | | `SELECT` | | Lists subnets in a given private cloud. | | | `UPDATE` | | Updates the parameters of a single subnet. Only fields specified in `update_mask` are applied. *Note*: This API is synchronous and always returns a successful `google.longrunning.Operation` (LRO). The returned LRO will only have `done` and `response` fields. | -| | `EXEC` | | Lists subnets in a given private cloud. | + +## `SELECT` examples + +Lists subnets in a given private cloud. + +```sql +SELECT +name, +gatewayIp, +ipCidrRange, +state, +type, +vlanId +FROM google.vmwareengine.subnets +WHERE locationsId = '{{ locationsId }}' +AND privateCloudsId = '{{ privateCloudsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `UPDATE` example + +Updates a subnet only if the necessary resources are available. + +```sql +UPDATE google.vmwareengine.subnets +SET +name = '{{ name }}', +ipCidrRange = '{{ ipCidrRange }}', +gatewayIp = '{{ gatewayIp }}', +type = '{{ type }}', +state = '{{ state }}', +vlanId = '{{ vlanId }}' +WHERE +locationsId = '{{ locationsId }}' +AND privateCloudsId = '{{ privateCloudsId }}' +AND projectsId = '{{ projectsId }}' +AND subnetsId = '{{ subnetsId }}'; +``` diff --git a/docs/google-docs/providers/google/vmwareengine/vmware_engine_networks/index.md b/docs/google-docs/providers/google/vmwareengine/vmware_engine_networks/index.md index 890ee84a89..98cd5637db 100644 --- a/docs/google-docs/providers/google/vmwareengine/vmware_engine_networks/index.md +++ b/docs/google-docs/providers/google/vmwareengine/vmware_engine_networks/index.md @@ -1,3 +1,4 @@ + --- title: vmware_engine_networks hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - vmware_engine_networks - vmwareengine - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an vmware_engine_network resource or lists vmware_engine_networks in a region ## Overview
@@ -39,6 +41,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. System-generated unique identifier for the resource. | | | `string` | Output only. Last update time of this resource. | | | `array` | Output only. VMware Engine service VPC networks that provide connectivity from a private cloud to customer projects, the internet, and other Google Cloud services. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -47,4 +50,128 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new VMware Engine network that can be used by a private cloud. | | | `DELETE` | | Deletes a `VmwareEngineNetwork` resource. You can only delete a VMware Engine network after all resources that refer to it are deleted. For example, a private cloud, a network peering, and a network policy can all refer to the same VMware Engine network. | | | `UPDATE` | | Modifies a VMware Engine network resource. Only the following fields can be updated: `description`. Only fields specified in `updateMask` are applied. | -| | `EXEC` | | Lists `VmwareEngineNetwork` resources in a given project and location. | + +## `SELECT` examples + +Lists `VmwareEngineNetwork` resources in a given project and location. + +```sql +SELECT +name, +description, +createTime, +etag, +state, +type, +uid, +updateTime, +vpcNetworks +FROM google.vmwareengine.vmware_engine_networks +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new vmware_engine_networks resource. + + + + +```sql +/*+ create */ +INSERT INTO google.vmwareengine.vmware_engine_networks ( +locationsId, +projectsId, +name, +createTime, +updateTime, +description, +vpcNetworks, +state, +type, +uid, +etag +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ description }}', +'{{ vpcNetworks }}', +'{{ state }}', +'{{ type }}', +'{{ uid }}', +'{{ etag }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: description + value: '{{ description }}' + - name: vpcNetworks + value: '{{ vpcNetworks }}' + - name: state + value: '{{ state }}' + - name: type + value: '{{ type }}' + - name: uid + value: '{{ uid }}' + - name: etag + value: '{{ etag }}' + +``` + + + +## `UPDATE` example + +Updates a vmware_engine_network only if the necessary resources are available. + +```sql +UPDATE google.vmwareengine.vmware_engine_networks +SET +name = '{{ name }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +description = '{{ description }}', +vpcNetworks = '{{ vpcNetworks }}', +state = '{{ state }}', +type = '{{ type }}', +uid = '{{ uid }}', +etag = '{{ etag }}' +WHERE +locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND vmwareEngineNetworksId = '{{ vmwareEngineNetworksId }}'; +``` + +## `DELETE` example + +Deletes the specified vmware_engine_network resource. + +```sql +DELETE FROM google.vmwareengine.vmware_engine_networks +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND vmwareEngineNetworksId = '{{ vmwareEngineNetworksId }}'; +``` diff --git a/docs/google-docs/providers/google/vpcaccess/connectors/index.md b/docs/google-docs/providers/google/vpcaccess/connectors/index.md index d577b306be..c3ed84f9c7 100644 --- a/docs/google-docs/providers/google/vpcaccess/connectors/index.md +++ b/docs/google-docs/providers/google/vpcaccess/connectors/index.md @@ -1,3 +1,4 @@ + --- title: connectors hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - connectors - vpcaccess - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an connector resource or lists connectors in a region ## Overview
@@ -32,15 +34,16 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | The resource name in the format `projects/*/locations/*/connectors/*`. | | | `array` | Output only. List of projects using the connector. | -| | `string` | The range of internal addresses that follows RFC 4632 notation. Example: `10.132.0.0/28`. | +| | `string` | Optional. The range of internal addresses that follows RFC 4632 notation. Example: `10.132.0.0/28`. | | | `string` | Machine type of VM Instance underlying connector. Default is e2-micro | | | `integer` | Maximum value of instances in autoscaling group underlying the connector. | | | `integer` | Maximum throughput of the connector in Mbps. Refers to the expected throughput when using an `e2-micro` machine type. Value must be a multiple of 100 from 300 through 1000. Must be higher than the value specified by --min-throughput. If both max-throughput and max-instances are provided, max-instances takes precedence over max-throughput. The use of `max-throughput` is discouraged in favor of `max-instances`. | | | `integer` | Minimum value of instances in autoscaling group underlying the connector. | | | `integer` | Minimum throughput of the connector in Mbps. Refers to the expected throughput when using an `e2-micro` machine type. Value must be a multiple of 100 from 200 through 900. Must be lower than the value specified by --max-throughput. If both min-throughput and min-instances are provided, min-instances takes precedence over min-throughput. The use of `min-throughput` is discouraged in favor of `min-instances`. | -| | `string` | Name of a VPC network. | +| | `string` | Optional. Name of a VPC network. | | | `string` | Output only. State of the VPC access connector. | | | `object` | The subnet in which to house the connector | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -49,4 +52,140 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a Serverless VPC Access connector, returns an operation. | | | `DELETE` | | Deletes a Serverless VPC Access connector. Returns NOT_FOUND if the resource does not exist. | | | `UPDATE` | | Updates a Serverless VPC Access connector, returns an operation. | -| | `EXEC` | | Lists Serverless VPC Access connectors. | + +## `SELECT` examples + +Lists Serverless VPC Access connectors. + +```sql +SELECT +name, +connectedProjects, +ipCidrRange, +machineType, +maxInstances, +maxThroughput, +minInstances, +minThroughput, +network, +state, +subnet +FROM google.vpcaccess.connectors +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new connectors resource. + + + + +```sql +/*+ create */ +INSERT INTO google.vpcaccess.connectors ( +locationsId, +projectsId, +name, +network, +ipCidrRange, +state, +minThroughput, +maxThroughput, +connectedProjects, +subnet, +machineType, +minInstances, +maxInstances +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ network }}', +'{{ ipCidrRange }}', +'{{ state }}', +'{{ minThroughput }}', +'{{ maxThroughput }}', +'{{ connectedProjects }}', +'{{ subnet }}', +'{{ machineType }}', +'{{ minInstances }}', +'{{ maxInstances }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: network + value: '{{ network }}' + - name: ipCidrRange + value: '{{ ipCidrRange }}' + - name: state + value: '{{ state }}' + - name: minThroughput + value: '{{ minThroughput }}' + - name: maxThroughput + value: '{{ maxThroughput }}' + - name: connectedProjects + value: '{{ connectedProjects }}' + - name: subnet + value: '{{ subnet }}' + - name: machineType + value: '{{ machineType }}' + - name: minInstances + value: '{{ minInstances }}' + - name: maxInstances + value: '{{ maxInstances }}' + +``` + + + +## `UPDATE` example + +Updates a connector only if the necessary resources are available. + +```sql +UPDATE google.vpcaccess.connectors +SET +name = '{{ name }}', +network = '{{ network }}', +ipCidrRange = '{{ ipCidrRange }}', +state = '{{ state }}', +minThroughput = '{{ minThroughput }}', +maxThroughput = '{{ maxThroughput }}', +connectedProjects = '{{ connectedProjects }}', +subnet = '{{ subnet }}', +machineType = '{{ machineType }}', +minInstances = '{{ minInstances }}', +maxInstances = '{{ maxInstances }}' +WHERE +connectorsId = '{{ connectorsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified connector resource. + +```sql +DELETE FROM google.vpcaccess.connectors +WHERE connectorsId = '{{ connectorsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/vpcaccess/index.md b/docs/google-docs/providers/google/vpcaccess/index.md index 17b37a5a48..08e52f8769 100644 --- a/docs/google-docs/providers/google/vpcaccess/index.md +++ b/docs/google-docs/providers/google/vpcaccess/index.md @@ -9,41 +9,30 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -API for managing VPC access connectors. - +The vpcaccess service documentation. + :::info Service Summary
total resources: 3
-total selectable resources: 3
-total methods: 11
::: -## Overview -
- - - - - -
Namegoogle.vpcaccess
TypeService
TitleServerless VPC Access API
DescriptionAPI for managing VPC access connectors.
Idvpcaccess:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/vpcaccess/locations/index.md b/docs/google-docs/providers/google/vpcaccess/locations/index.md index 036b1b5ad1..341ded4b91 100644 --- a/docs/google-docs/providers/google/vpcaccess/locations/index.md +++ b/docs/google-docs/providers/google/vpcaccess/locations/index.md @@ -1,3 +1,4 @@ + --- title: locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - locations - vpcaccess - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an location resource or lists locations in a region ## Overview @@ -32,11 +34,26 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` | | | `string` | The friendly name for this location, typically a nearby city name. For example, "Tokyo". | -| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | +| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | | | `string` | The canonical id for this location. For example: `"us-east1"`. | | | `object` | Service-specific metadata. For example the available capacity at the given location. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists information about the supported locations for this service. | + +## `SELECT` examples + +Lists information about the supported locations for this service. + +```sql +SELECT +name, +displayName, +labels, +locationId, +metadata +FROM google.vpcaccess.locations +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/vpcaccess/operations/index.md b/docs/google-docs/providers/google/vpcaccess/operations/index.md index 14eab09240..1bb2d89810 100644 --- a/docs/google-docs/providers/google/vpcaccess/operations/index.md +++ b/docs/google-docs/providers/google/vpcaccess/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - vpcaccess - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview
@@ -30,14 +32,30 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.vpcaccess.operations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/webrisk/hashes/index.md b/docs/google-docs/providers/google/webrisk/hashes/index.md index fc3c57170d..e5bd6c08b4 100644 --- a/docs/google-docs/providers/google/webrisk/hashes/index.md +++ b/docs/google-docs/providers/google/webrisk/hashes/index.md @@ -1,3 +1,4 @@ + --- title: hashes hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - hashes - webrisk - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an hash resource or lists hashes in a region ## Overview
@@ -28,8 +30,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Gets the full hashes that match the requested hash prefix. This is used after a hash prefix is looked up in a threatList and there is a match. The client side threatList only holds partial hashes so the client must query this method to determine if there is a full hash match of a threat. | diff --git a/docs/google-docs/providers/google/webrisk/index.md b/docs/google-docs/providers/google/webrisk/index.md index a9d997fa78..ad913232ac 100644 --- a/docs/google-docs/providers/google/webrisk/index.md +++ b/docs/google-docs/providers/google/webrisk/index.md @@ -9,43 +9,32 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- - - +The webrisk service documentation. + :::info Service Summary
total resources: 5
-total selectable resources: 1
-total methods: 9
::: -## Overview - - - - - - -
Namegoogle.webrisk
TypeService
TitleWeb Risk API
Description
Idwebrisk:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/webrisk/operations/index.md b/docs/google-docs/providers/google/webrisk/operations/index.md index de12ee7c8f..93041853a5 100644 --- a/docs/google-docs/providers/google/webrisk/operations/index.md +++ b/docs/google-docs/providers/google/webrisk/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - webrisk - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview @@ -30,16 +32,41 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Matches the `/v1/{project-name}/operations/{operation-id}` pattern. | +| | `string` | Matches the `/v1/{project-name}/operations/{operation-id}` pattern. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Contains a `SubmitUriMetadata` object. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.webrisk.operations +WHERE projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified operation resource. + +```sql +DELETE FROM google.webrisk.operations +WHERE operationsId = '{{ operationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/webrisk/submissions/index.md b/docs/google-docs/providers/google/webrisk/submissions/index.md index d6bf84661c..4b97050f32 100644 --- a/docs/google-docs/providers/google/webrisk/submissions/index.md +++ b/docs/google-docs/providers/google/webrisk/submissions/index.md @@ -1,3 +1,4 @@ + --- title: submissions hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - submissions - webrisk - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an submission resource or lists submissions in a region ## Overview
@@ -28,8 +30,48 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `INSERT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `INSERT` | | Creates a Submission of a URI suspected of containing phishing content to be reviewed. If the result verifies the existence of malicious phishing content, the site will be added to the [Google's Social Engineering lists](https://support.google.com/webmasters/answer/6350487/) in order to protect users that could get exposed to this threat in the future. Only allowlisted projects can use this method during Early Access. Please reach out to Sales or your customer engineer to obtain access. | + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new submissions resource. + + + + +```sql +/*+ create */ +INSERT INTO google.webrisk.submissions ( +projectsId, +uri +) +SELECT +'{{ projectsId }}', +'{{ uri }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: uri + value: '{{ uri }}' + +``` + + diff --git a/docs/google-docs/providers/google/webrisk/threat_lists/index.md b/docs/google-docs/providers/google/webrisk/threat_lists/index.md index d2f1d1f93c..52ad894d73 100644 --- a/docs/google-docs/providers/google/webrisk/threat_lists/index.md +++ b/docs/google-docs/providers/google/webrisk/threat_lists/index.md @@ -1,3 +1,4 @@ + --- title: threat_lists hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - threat_lists - webrisk - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an threat_list resource or lists threat_lists in a region ## Overview @@ -28,8 +30,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Gets the most recent threat list diffs. These diffs should be applied to a local database of hashes to keep it up-to-date. If the local database is empty or excessively out-of-date, a complete snapshot of the database will be returned. This Method only updates a single ThreatList at a time. To update multiple ThreatList databases, this method needs to be called once for each list. | diff --git a/docs/google-docs/providers/google/webrisk/uris/index.md b/docs/google-docs/providers/google/webrisk/uris/index.md index 16840c2976..b58ba72ab0 100644 --- a/docs/google-docs/providers/google/webrisk/uris/index.md +++ b/docs/google-docs/providers/google/webrisk/uris/index.md @@ -1,3 +1,4 @@ + --- title: uris hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - uris - webrisk - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an uris resource or lists uris in a region ## Overview @@ -28,8 +30,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | This method is used to check whether a URI is on a given threatList. Multiple threatLists may be searched in a single query. The response will list all requested threatLists the URI was found to match. If the URI is not found on any of the requested ThreatList an empty response will be returned. | diff --git a/docs/google-docs/providers/google/websecurityscanner/crawled_urls/index.md b/docs/google-docs/providers/google/websecurityscanner/crawled_urls/index.md index bda89b7bf2..fc3d07d91a 100644 --- a/docs/google-docs/providers/google/websecurityscanner/crawled_urls/index.md +++ b/docs/google-docs/providers/google/websecurityscanner/crawled_urls/index.md @@ -1,3 +1,4 @@ + --- title: crawled_urls hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - crawled_urls - websecurityscanner - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an crawled_url resource or lists crawled_urls in a region ## Overview @@ -33,8 +35,23 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The body of the request that was used to visit the URL. | | | `string` | Output only. The http method of the request that was used to visit the URL, in uppercase. | | | `string` | Output only. The URL that was crawled. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | List CrawledUrls under a given ScanRun. | + +## `SELECT` examples + +List CrawledUrls under a given ScanRun. + +```sql +SELECT +body, +httpMethod, +url +FROM google.websecurityscanner.crawled_urls +WHERE projectsId = '{{ projectsId }}' +AND scanConfigsId = '{{ scanConfigsId }}' +AND scanRunsId = '{{ scanRunsId }}'; +``` diff --git a/docs/google-docs/providers/google/websecurityscanner/finding_type_stats/index.md b/docs/google-docs/providers/google/websecurityscanner/finding_type_stats/index.md index 3ed0928e08..4c05ca22c8 100644 --- a/docs/google-docs/providers/google/websecurityscanner/finding_type_stats/index.md +++ b/docs/google-docs/providers/google/websecurityscanner/finding_type_stats/index.md @@ -1,3 +1,4 @@ + --- title: finding_type_stats hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - finding_type_stats - websecurityscanner - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an finding_type_stat resource or lists finding_type_stats in a region ## Overview
@@ -28,7 +30,24 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields +| Name | Datatype | Description | +|:-----|:---------|:------------| +| | `array` | The list of FindingTypeStats returned. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | List all FindingTypeStats under a given ScanRun. | + +## `SELECT` examples + +List all FindingTypeStats under a given ScanRun. + +```sql +SELECT +findingTypeStats +FROM google.websecurityscanner.finding_type_stats +WHERE projectsId = '{{ projectsId }}' +AND scanConfigsId = '{{ scanConfigsId }}' +AND scanRunsId = '{{ scanRunsId }}'; +``` diff --git a/docs/google-docs/providers/google/websecurityscanner/findings/index.md b/docs/google-docs/providers/google/websecurityscanner/findings/index.md index 49d9503dbe..580c3a2636 100644 --- a/docs/google-docs/providers/google/websecurityscanner/findings/index.md +++ b/docs/google-docs/providers/google/websecurityscanner/findings/index.md @@ -1,3 +1,4 @@ + --- title: findings hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - findings - websecurityscanner - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an finding resource or lists findings in a region ## Overview @@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. The resource name of the Finding. The name follows the format of 'projects/{projectId}/scanConfigs/{scanConfigId}/scanruns/{scanRunId}/findings/{findingId}'. The finding IDs are generated by the system. | +| | `string` | Output only. The resource name of the Finding. The name follows the format of 'projects/{projectId}/scanConfigs/{scanConfigId}/scanruns/{scanRunId}/findings/{findingId}'. The finding IDs are generated by the system. | | | `string` | Output only. The description of the vulnerability. | | | `string` | Output only. The body of the request that triggered the vulnerability. | | | `string` | Output only. The URL where the browser lands when the vulnerability is detected. | @@ -48,9 +50,39 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Information about vulnerable request parameters. | | | `object` | Information reported for an XSS. | | | `object` | Information reported for an XXE. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets a Finding. | | | `SELECT` | | List Findings under a given ScanRun. | -| | `EXEC` | | List Findings under a given ScanRun. | + +## `SELECT` examples + +List Findings under a given ScanRun. + +```sql +SELECT +name, +description, +body, +finalUrl, +findingType, +form, +frameUrl, +fuzzedUrl, +httpMethod, +outdatedLibrary, +reproductionUrl, +severity, +trackingId, +violatingResource, +vulnerableHeaders, +vulnerableParameters, +xss, +xxe +FROM google.websecurityscanner.findings +WHERE projectsId = '{{ projectsId }}' +AND scanConfigsId = '{{ scanConfigsId }}' +AND scanRunsId = '{{ scanRunsId }}'; +``` diff --git a/docs/google-docs/providers/google/websecurityscanner/index.md b/docs/google-docs/providers/google/websecurityscanner/index.md index b7e0ed30d1..bfc89251af 100644 --- a/docs/google-docs/providers/google/websecurityscanner/index.md +++ b/docs/google-docs/providers/google/websecurityscanner/index.md @@ -9,43 +9,32 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Scans your Compute and App Engine apps for common web vulnerabilities. - +The websecurityscanner service documentation. + :::info Service Summary
total resources: 5
-total selectable resources: 5
-total methods: 17
::: -## Overview -
- - - - - -
Namegoogle.websecurityscanner
TypeService
TitleWeb Security Scanner API
DescriptionScans your Compute and App Engine apps for common web vulnerabilities.
Idwebsecurityscanner:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/websecurityscanner/scan_configs/index.md b/docs/google-docs/providers/google/websecurityscanner/scan_configs/index.md index 6808989a8f..46a6bf7055 100644 --- a/docs/google-docs/providers/google/websecurityscanner/scan_configs/index.md +++ b/docs/google-docs/providers/google/websecurityscanner/scan_configs/index.md @@ -1,3 +1,4 @@ + --- title: scan_configs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - scan_configs - websecurityscanner - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an scan_config resource or lists scan_configs in a region ## Overview @@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The resource name of the ScanConfig. The name follows the format of 'projects/{projectId}/scanConfigs/{scanConfigId}'. The ScanConfig IDs are generated by the system. | +| | `string` | The resource name of the ScanConfig. The name follows the format of 'projects/{projectId}/scanConfigs/{scanConfigId}'. The ScanConfig IDs are generated by the system. | | | `object` | Scan authentication configuration. | | | `array` | The excluded URL patterns as described in https://cloud.google.com/security-command-center/docs/how-to-use-web-security-scanner#excluding_urls | | | `string` | Required. The user provided display name of the ScanConfig. | @@ -43,6 +45,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `array` | Required. The starting URLs from which the scanner finds site pages. | | | `boolean` | Whether the scan configuration has enabled static IP address scan feature. If enabled, the scanner will access applications from static IP addresses. | | | `string` | The user agent used during scanning. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -51,5 +54,148 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new ScanConfig. | | | `DELETE` | | Deletes an existing ScanConfig and its child resources. | | | `UPDATE` | | Updates a ScanConfig. This method support partial update of a ScanConfig. | -| | `EXEC` | | Lists ScanConfigs under a given project. | | | `EXEC` | | Start a ScanRun according to the given ScanConfig. | + +## `SELECT` examples + +Lists ScanConfigs under a given project. + +```sql +SELECT +name, +authentication, +blacklistPatterns, +displayName, +exportToSecurityCommandCenter, +ignoreHttpStatusErrors, +managedScan, +maxQps, +riskLevel, +schedule, +startingUrls, +staticIpScan, +userAgent +FROM google.websecurityscanner.scan_configs +WHERE projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new scan_configs resource. + + + + +```sql +/*+ create */ +INSERT INTO google.websecurityscanner.scan_configs ( +projectsId, +staticIpScan, +displayName, +userAgent, +riskLevel, +blacklistPatterns, +exportToSecurityCommandCenter, +schedule, +startingUrls, +maxQps, +managedScan, +ignoreHttpStatusErrors, +name, +authentication +) +SELECT +'{{ projectsId }}', +true|false, +'{{ displayName }}', +'{{ userAgent }}', +'{{ riskLevel }}', +'{{ blacklistPatterns }}', +'{{ exportToSecurityCommandCenter }}', +'{{ schedule }}', +'{{ startingUrls }}', +'{{ maxQps }}', +true|false, +true|false, +'{{ name }}', +'{{ authentication }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: staticIpScan + value: '{{ staticIpScan }}' + - name: displayName + value: '{{ displayName }}' + - name: userAgent + value: '{{ userAgent }}' + - name: riskLevel + value: '{{ riskLevel }}' + - name: blacklistPatterns + value: '{{ blacklistPatterns }}' + - name: exportToSecurityCommandCenter + value: '{{ exportToSecurityCommandCenter }}' + - name: schedule + value: '{{ schedule }}' + - name: startingUrls + value: '{{ startingUrls }}' + - name: maxQps + value: '{{ maxQps }}' + - name: managedScan + value: '{{ managedScan }}' + - name: ignoreHttpStatusErrors + value: '{{ ignoreHttpStatusErrors }}' + - name: name + value: '{{ name }}' + - name: authentication + value: '{{ authentication }}' + +``` + + + +## `UPDATE` example + +Updates a scan_config only if the necessary resources are available. + +```sql +UPDATE google.websecurityscanner.scan_configs +SET +staticIpScan = true|false, +displayName = '{{ displayName }}', +userAgent = '{{ userAgent }}', +riskLevel = '{{ riskLevel }}', +blacklistPatterns = '{{ blacklistPatterns }}', +exportToSecurityCommandCenter = '{{ exportToSecurityCommandCenter }}', +schedule = '{{ schedule }}', +startingUrls = '{{ startingUrls }}', +maxQps = '{{ maxQps }}', +managedScan = true|false, +ignoreHttpStatusErrors = true|false, +name = '{{ name }}', +authentication = '{{ authentication }}' +WHERE +projectsId = '{{ projectsId }}' +AND scanConfigsId = '{{ scanConfigsId }}'; +``` + +## `DELETE` example + +Deletes the specified scan_config resource. + +```sql +DELETE FROM google.websecurityscanner.scan_configs +WHERE projectsId = '{{ projectsId }}' +AND scanConfigsId = '{{ scanConfigsId }}'; +``` diff --git a/docs/google-docs/providers/google/websecurityscanner/scan_runs/index.md b/docs/google-docs/providers/google/websecurityscanner/scan_runs/index.md index 593776c0c7..649ca52099 100644 --- a/docs/google-docs/providers/google/websecurityscanner/scan_runs/index.md +++ b/docs/google-docs/providers/google/websecurityscanner/scan_runs/index.md @@ -1,3 +1,4 @@ + --- title: scan_runs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - scan_runs - websecurityscanner - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an scan_run resource or lists scan_runs in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. The resource name of the ScanRun. The name follows the format of 'projects/{projectId}/scanConfigs/{scanConfigId}/scanRuns/{scanRunId}'. The ScanRun IDs are generated by the system. | +| | `string` | Output only. The resource name of the ScanRun. The name follows the format of 'projects/{projectId}/scanConfigs/{scanConfigId}/scanRuns/{scanRunId}'. The ScanRun IDs are generated by the system. | | | `string` | Output only. The time at which the ScanRun reached termination state - that the ScanRun is either finished or stopped by user. | | | `object` | Output only. Defines an error trace message for a ScanRun. | | | `string` | Output only. The execution state of the ScanRun. | @@ -41,10 +43,32 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. The number of URLs crawled during this ScanRun. If the scan is in progress, the value represents the number of URLs crawled up to now. | | | `string` | Output only. The number of URLs tested during this ScanRun. If the scan is in progress, the value represents the number of URLs tested up to now. The number of URLs tested is usually larger than the number URLS crawled because typically a crawled URL is tested with multiple test payloads. | | | `array` | Output only. A list of warnings, if such are encountered during this scan run. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets a ScanRun. | | | `SELECT` | | Lists ScanRuns under a given ScanConfig, in descending order of ScanRun stop time. | -| | `EXEC` | | Lists ScanRuns under a given ScanConfig, in descending order of ScanRun stop time. | | | `EXEC` | | Stops a ScanRun. The stopped ScanRun is returned. | + +## `SELECT` examples + +Lists ScanRuns under a given ScanConfig, in descending order of ScanRun stop time. + +```sql +SELECT +name, +endTime, +errorTrace, +executionState, +hasVulnerabilities, +progressPercent, +resultState, +startTime, +urlsCrawledCount, +urlsTestedCount, +warningTraces +FROM google.websecurityscanner.scan_runs +WHERE projectsId = '{{ projectsId }}' +AND scanConfigsId = '{{ scanConfigsId }}'; +``` diff --git a/docs/google-docs/providers/google/workflowexecutions/callbacks/index.md b/docs/google-docs/providers/google/workflowexecutions/callbacks/index.md index ee453378fe..8993885d6e 100644 --- a/docs/google-docs/providers/google/workflowexecutions/callbacks/index.md +++ b/docs/google-docs/providers/google/workflowexecutions/callbacks/index.md @@ -1,3 +1,4 @@ + --- title: callbacks hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - callbacks - workflowexecutions - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an callback resource or lists callbacks in a region ## Overview
@@ -30,12 +32,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. The resource name of the callback. Format: projects/{project}/locations/{location}/workflows/{workflow}/executions/{execution}/callback/{callback} | +| | `string` | Output only. The resource name of the callback. Format: projects/{project}/locations/{location}/workflows/{workflow}/executions/{execution}/callback/{callback} | | | `array` | Output only. The payloads received by the callback that have not been processed by a waiting execution step. | | | `string` | Output only. The method accepted by the callback. For example: GET, POST, PUT. | | | `string` | Output only. Number of execution steps waiting on this callback. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Returns a list of active callbacks that belong to the execution with the given name. The returned callbacks are ordered by callback ID. | + +## `SELECT` examples + +Returns a list of active callbacks that belong to the execution with the given name. The returned callbacks are ordered by callback ID. + +```sql +SELECT +name, +availablePayloads, +method, +waiters +FROM google.workflowexecutions.callbacks +WHERE executionsId = '{{ executionsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND workflowsId = '{{ workflowsId }}'; +``` diff --git a/docs/google-docs/providers/google/workflowexecutions/executions/index.md b/docs/google-docs/providers/google/workflowexecutions/executions/index.md index d3de665b21..897b35dea9 100644 --- a/docs/google-docs/providers/google/workflowexecutions/executions/index.md +++ b/docs/google-docs/providers/google/workflowexecutions/executions/index.md @@ -1,3 +1,4 @@ + --- title: executions hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - executions - workflowexecutions - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an execution resource or lists executions in a region ## Overview
@@ -30,14 +32,15 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. The resource name of the execution. Format: projects/{project}/locations/{location}/workflows/{workflow}/executions/{execution} | -| | `string` | Input parameters of the execution represented as a JSON string. The size limit is 32KB. *Note*: If you are using the REST API directly to run your workflow, you must escape any JSON string value of `argument`. Example: `'{"argument":"{\"firstName\":\"FIRST\",\"lastName\":\"LAST\"}"}'` | +| | `string` | Output only. The resource name of the execution. Format: projects/{project}/locations/{location}/workflows/{workflow}/executions/{execution} | +| | `string` | Input parameters of the execution represented as a JSON string. The size limit is 32KB. *Note*: If you are using the REST API directly to run your workflow, you must escape any JSON string value of `argument`. Example: `'{"argument":"{\"firstName\":\"FIRST\",\"lastName\":\"LAST\"}"}'` | | | `string` | The call logging level associated to this execution. | | | `string` | Output only. Marks the creation of the execution. | | | `boolean` | Optional. If set to true, the execution will not be backlogged when the concurrency quota is exhausted. The backlog execution starts when the concurrency quota becomes available. | | | `string` | Output only. Measures the duration of the execution. | | | `string` | Output only. Marks the end of execution, successful or not. | | | `object` | Error describes why the execution was abnormally terminated. | +| | `string` | Optional. Describes the level of the execution history feature to apply to this execution. If not specified, the level of the execution history feature will be determined by its workflow's execution history level. If the value is different from its workflow's value, it will override the workflow's execution history level for this exeuction. | | | `object` | Labels associated with this execution. Labels can contain at most 64 entries. Keys and values can be no longer than 63 characters and can only contain lowercase letters, numeric characters, underscores, and dashes. Label keys must start with a letter. International characters are allowed. By default, labels are inherited from the workflow but are overridden by any labels associated with the execution. | | | `string` | Output only. Output of the execution represented as a JSON string. The value can only be present if the execution's state is `SUCCEEDED`. | | | `string` | Output only. Marks the beginning of execution. | @@ -45,12 +48,142 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | Describes an error related to the current state of the Execution resource. | | | `object` | Represents the current status of this execution. | | | `string` | Output only. Revision of the workflow this execution is using. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Returns an execution of the given name. | | | `SELECT` | | Returns a list of executions which belong to the workflow with the given name. The method returns executions of all workflow revisions. Returned executions are ordered by their start time (newest first). | | | `INSERT` | | Creates a new execution using the latest revision of the given workflow. For more information, see Execute a workflow. | -| | `EXEC` | | Returns a list of executions which belong to the workflow with the given name. The method returns executions of all workflow revisions. Returned executions are ordered by their start time (newest first). | | | `EXEC` | | Cancels an execution of the given name. | | | `EXEC` | | Returns all metadata stored about an execution, excluding most data that is already accessible using other API methods. | + +## `SELECT` examples + +Returns a list of executions which belong to the workflow with the given name. The method returns executions of all workflow revisions. Returned executions are ordered by their start time (newest first). + +```sql +SELECT +name, +argument, +callLogLevel, +createTime, +disableConcurrencyQuotaOverflowBuffering, +duration, +endTime, +error, +executionHistoryLevel, +labels, +result, +startTime, +state, +stateError, +status, +workflowRevisionId +FROM google.workflowexecutions.executions +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND workflowsId = '{{ workflowsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new executions resource. + + + + +```sql +/*+ create */ +INSERT INTO google.workflowexecutions.executions ( +locationsId, +projectsId, +workflowsId, +name, +createTime, +startTime, +endTime, +duration, +state, +argument, +result, +error, +workflowRevisionId, +callLogLevel, +status, +labels, +stateError, +disableConcurrencyQuotaOverflowBuffering, +executionHistoryLevel +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ workflowsId }}', +'{{ name }}', +'{{ createTime }}', +'{{ startTime }}', +'{{ endTime }}', +'{{ duration }}', +'{{ state }}', +'{{ argument }}', +'{{ result }}', +'{{ error }}', +'{{ workflowRevisionId }}', +'{{ callLogLevel }}', +'{{ status }}', +'{{ labels }}', +'{{ stateError }}', +true|false, +'{{ executionHistoryLevel }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: createTime + value: '{{ createTime }}' + - name: startTime + value: '{{ startTime }}' + - name: endTime + value: '{{ endTime }}' + - name: duration + value: '{{ duration }}' + - name: state + value: '{{ state }}' + - name: argument + value: '{{ argument }}' + - name: result + value: '{{ result }}' + - name: error + value: '{{ error }}' + - name: workflowRevisionId + value: '{{ workflowRevisionId }}' + - name: callLogLevel + value: '{{ callLogLevel }}' + - name: status + value: '{{ status }}' + - name: labels + value: '{{ labels }}' + - name: stateError + value: '{{ stateError }}' + - name: disableConcurrencyQuotaOverflowBuffering + value: '{{ disableConcurrencyQuotaOverflowBuffering }}' + - name: executionHistoryLevel + value: '{{ executionHistoryLevel }}' + +``` + + diff --git a/docs/google-docs/providers/google/workflowexecutions/executions_execution_history/index.md b/docs/google-docs/providers/google/workflowexecutions/executions_execution_history/index.md new file mode 100644 index 0000000000..009f3d220b --- /dev/null +++ b/docs/google-docs/providers/google/workflowexecutions/executions_execution_history/index.md @@ -0,0 +1,51 @@ + +--- +title: executions_execution_history +hide_title: false +hide_table_of_contents: false +keywords: + - executions_execution_history + - workflowexecutions + - google + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +custom_edit_url: null +image: /img/providers/google/stackql-google-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes or gets an executions_execution_history resource or lists executions_execution_history in a region + +## Overview +
+ + + +
Nameexecutions_execution_history
TypeResource
Id
+ +## Fields +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + +## Methods +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `DELETE` | | Deletes all step entries for an execution. | + +## `DELETE` example + +Deletes the specified executions_execution_history resource. + +```sql +DELETE FROM google.workflowexecutions.executions_execution_history +WHERE executionsId = '{{ executionsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND workflowsId = '{{ workflowsId }}'; +``` diff --git a/docs/google-docs/providers/google/workflowexecutions/index.md b/docs/google-docs/providers/google/workflowexecutions/index.md index 0d0679a841..77430fe1f9 100644 --- a/docs/google-docs/providers/google/workflowexecutions/index.md +++ b/docs/google-docs/providers/google/workflowexecutions/index.md @@ -9,42 +9,32 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Execute workflows created with Workflows API. - +The workflowexecutions service documentation. + :::info Service Summary
-total resources: 4
-total selectable resources: 3
-total methods: 12
+total resources: 5
::: -## Overview - - - - - - -
Namegoogle.workflowexecutions
TypeService
TitleWorkflow Executions API
DescriptionExecute workflows created with Workflows API.
Idworkflowexecutions:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/workflowexecutions/step_entries/index.md b/docs/google-docs/providers/google/workflowexecutions/step_entries/index.md index d8c0911c36..4adedb47f1 100644 --- a/docs/google-docs/providers/google/workflowexecutions/step_entries/index.md +++ b/docs/google-docs/providers/google/workflowexecutions/step_entries/index.md @@ -1,3 +1,4 @@ + --- title: step_entries hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - step_entries - workflowexecutions - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an step_entry resource or lists step_entries in a region ## Overview @@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | Output only. The full resource name of the step entry. Each step entry has a unique entry ID, which is a monotonically increasing counter. Step entry names have the format: `projects/{project}/locations/{location}/workflows/{workflow}/executions/{execution}/stepEntries/{step_entry}`. | +| | `string` | Output only. The full resource name of the step entry. Each step entry has a unique entry ID, which is a monotonically increasing counter. Step entry names have the format: `projects/{project}/locations/{location}/workflows/{workflow}/executions/{execution}/stepEntries/{step_entry}`. | | | `string` | Output only. The creation time of the step entry. | | | `string` | Output only. The numeric ID of this step entry, used for navigation. | | | `object` | Exception describes why the step entry failed. | @@ -41,9 +43,35 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `object` | StepEntryMetadata contains metadata information about this step. | | | `string` | Output only. The type of the step this step entry belongs to. | | | `string` | Output only. The most recently updated time of the step entry. | +| | `object` | VariableData contains the variable data for this step. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets a step entry. | | | `SELECT` | | Lists step entries for the corresponding workflow execution. Returned entries are ordered by their create_time. | -| | `EXEC` | | Lists step entries for the corresponding workflow execution. Returned entries are ordered by their create_time. | + +## `SELECT` examples + +Lists step entries for the corresponding workflow execution. Returned entries are ordered by their create_time. + +```sql +SELECT +name, +createTime, +entryId, +exception, +navigationInfo, +routine, +state, +step, +stepEntryMetadata, +stepType, +updateTime, +variableData +FROM google.workflowexecutions.step_entries +WHERE executionsId = '{{ executionsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND workflowsId = '{{ workflowsId }}'; +``` diff --git a/docs/google-docs/providers/google/workflowexecutions/workflows/index.md b/docs/google-docs/providers/google/workflowexecutions/workflows/index.md index 80321d7202..792b5b373e 100644 --- a/docs/google-docs/providers/google/workflowexecutions/workflows/index.md +++ b/docs/google-docs/providers/google/workflowexecutions/workflows/index.md @@ -1,3 +1,4 @@ + --- title: workflows hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - workflows - workflowexecutions - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an workflow resource or lists workflows in a region ## Overview
@@ -28,8 +30,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Triggers a new execution using the latest revision of the given workflow by a Pub/Sub push notification. | diff --git a/docs/google-docs/providers/google/workflows/index.md b/docs/google-docs/providers/google/workflows/index.md index e8d0320ccf..cff8b79c32 100644 --- a/docs/google-docs/providers/google/workflows/index.md +++ b/docs/google-docs/providers/google/workflows/index.md @@ -9,42 +9,31 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Manage workflow definitions. To execute workflows and manage executions, see the Workflows Executions API. - +The workflows service documentation. + :::info Service Summary
total resources: 4
-total selectable resources: 4
-total methods: 15
::: -## Overview - - - - - - -
Namegoogle.workflows
TypeService
TitleWorkflows API
DescriptionManage workflow definitions. To execute workflows and manage executions, see the Workflows Executions API.
Idworkflows:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/workflows/locations/index.md b/docs/google-docs/providers/google/workflows/locations/index.md index 628548d522..58ea327885 100644 --- a/docs/google-docs/providers/google/workflows/locations/index.md +++ b/docs/google-docs/providers/google/workflows/locations/index.md @@ -1,3 +1,4 @@ + --- title: locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - locations - workflows - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an location resource or lists locations in a region ## Overview @@ -32,12 +34,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` | | | `string` | The friendly name for this location, typically a nearby city name. For example, "Tokyo". | -| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | +| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | | | `string` | The canonical id for this location. For example: `"us-east1"`. | | | `object` | Service-specific metadata. For example the available capacity at the given location. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about a location. | | | `SELECT` | | Lists information about the supported locations for this service. | -| | `EXEC` | | Lists information about the supported locations for this service. | + +## `SELECT` examples + +Lists information about the supported locations for this service. + +```sql +SELECT +name, +displayName, +labels, +locationId, +metadata +FROM google.workflows.locations +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/workflows/operations/index.md b/docs/google-docs/providers/google/workflows/operations/index.md index b83c2b3a96..dba7d65826 100644 --- a/docs/google-docs/providers/google/workflows/operations/index.md +++ b/docs/google-docs/providers/google/workflows/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - workflows - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview
@@ -30,15 +32,42 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.workflows.operations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified operation resource. + +```sql +DELETE FROM google.workflows.operations +WHERE locationsId = '{{ locationsId }}' +AND operationsId = '{{ operationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/workflows/workflows/index.md b/docs/google-docs/providers/google/workflows/workflows/index.md index 4473431947..6fc1124df5 100644 --- a/docs/google-docs/providers/google/workflows/workflows/index.md +++ b/docs/google-docs/providers/google/workflows/workflows/index.md @@ -1,3 +1,4 @@ + --- title: workflows hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - workflows - workflows - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an workflow resource or lists workflows in a region ## Overview
@@ -30,23 +32,25 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The resource name of the workflow. Format: projects/{project}/locations/{location}/workflows/{workflow}. This is a workflow-wide field and is not tied to a specific revision. | +| | `string` | The resource name of the workflow. Format: projects/{project}/locations/{location}/workflows/{workflow}. This is a workflow-wide field and is not tied to a specific revision. | | | `string` | Description of the workflow provided by the user. Must be at most 1000 Unicode characters long. This is a workflow-wide field and is not tied to a specific revision. | -| | `array` | Output only. A list of all KMS crypto keys used to encrypt or decrpt the data associated with the workflow. | -| | `array` | Output only. A list of all KMS crypto keys versions used to encrypt or decrpt the data associated with the workflow. | +| | `array` | Output only. A list of all KMS crypto keys used to encrypt or decrypt the data associated with the workflow. | +| | `array` | Output only. A list of all KMS crypto key versions used to encrypt or decrypt the data associated with the workflow. | | | `string` | Optional. Describes the level of platform logging to apply to calls and call responses during executions of this workflow. If both the workflow and the execution specify a logging level, the execution level takes precedence. | | | `string` | Output only. The timestamp for when the workflow was created. This is a workflow-wide field and is not tied to a specific revision. | -| | `string` | Optional. The resource name of a KMS crypto key used to encrypt or decrypt the data associated with the workflow. Format: projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{cryptoKey} Using `-` as a wildcard for the `{project}` or not providing one at all will infer the project from the account. If not provided, data associated with the workflow will not be CMEK-encrypted. | -| | `string` | Output only. The resource name of a KMS crypto key version used to encrypt or decrypt the data associated with the workflow. Format: projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{cryptoKey}/cryptoKeyVersions/{cryptoKeyVersion} | +| | `string` | Optional. The resource name of a KMS crypto key used to encrypt or decrypt the data associated with the workflow. Format: projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{cryptoKey} Using `-` as a wildcard for the `{project}` or not providing one at all will infer the project from the account. If not provided, data associated with the workflow will not be CMEK-encrypted. | +| | `string` | Output only. The resource name of a KMS crypto key version used to encrypt or decrypt the data associated with the workflow. Format: projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{cryptoKey}/cryptoKeyVersions/{cryptoKeyVersion} | +| | `string` | Optional. Describes the level of the execution history feature to apply to this workflow. | | | `object` | Labels associated with this workflow. Labels can contain at most 64 entries. Keys and values can be no longer than 63 characters and can only contain lowercase letters, numeric characters, underscores, and dashes. Label keys must start with a letter. International characters are allowed. This is a workflow-wide field and is not tied to a specific revision. | | | `string` | Output only. The timestamp for the latest revision of the workflow's creation. | | | `string` | Output only. The revision of the workflow. A new revision of a workflow is created as a result of updating the following properties of a workflow: - Service account - Workflow code to be executed The format is "000001-a4d", where the first six characters define the zero-padded revision ordinal number. They are followed by a hyphen and three hexadecimal random characters. | -| | `string` | The service account associated with the latest workflow version. This service account represents the identity of the workflow and determines what permissions the workflow has. Format: projects/{project}/serviceAccounts/{account} or {account} Using `-` as a wildcard for the `{project}` or not providing one at all will infer the project from the account. The `{account}` value can be the `email` address or the `unique_id` of the service account. If not provided, workflow will use the project's default service account. Modifying this field for an existing workflow results in a new workflow revision. | +| | `string` | The service account associated with the latest workflow version. This service account represents the identity of the workflow and determines what permissions the workflow has. Format: projects/{project}/serviceAccounts/{account} or {account} Using `-` as a wildcard for the `{project}` or not providing one at all will infer the project from the account. The `{account}` value can be the `email` address or the `unique_id` of the service account. If not provided, workflow will use the project's default service account. Modifying this field for an existing workflow results in a new workflow revision. | | | `string` | Workflow code to be executed. The size limit is 128KB. | | | `string` | Output only. State of the workflow deployment. | | | `object` | Describes an error related to the current state of the workflow. | | | `string` | Output only. The timestamp for when the workflow was last updated. This is a workflow-wide field and is not tied to a specific revision. | | | `object` | Optional. User-defined environment variables associated with this workflow revision. This map has a maximum length of 20. Each string can take up to 4KiB. Keys cannot be empty strings and cannot start with "GOOGLE" or "WORKFLOWS". | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -55,4 +59,182 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new workflow. If a workflow with the specified name already exists in the specified project and location, the long running operation returns a ALREADY_EXISTS error. | | | `DELETE` | | Deletes a workflow with the specified name. This method also cancels and deletes all running executions of the workflow. | | | `UPDATE` | | Updates an existing workflow. Running this method has no impact on already running executions of the workflow. A new revision of the workflow might be created as a result of a successful update operation. In that case, the new revision is used in new workflow executions. | -| | `EXEC` | | Lists workflows in a given project and location. The default order is not specified. | + +## `SELECT` examples + +Lists workflows in a given project and location. The default order is not specified. + +```sql +SELECT +name, +description, +allKmsKeys, +allKmsKeysVersions, +callLogLevel, +createTime, +cryptoKeyName, +cryptoKeyVersion, +executionHistoryLevel, +labels, +revisionCreateTime, +revisionId, +serviceAccount, +sourceContents, +state, +stateError, +updateTime, +userEnvVars +FROM google.workflows.workflows +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new workflows resource. + + + + +```sql +/*+ create */ +INSERT INTO google.workflows.workflows ( +locationsId, +projectsId, +name, +description, +state, +revisionId, +createTime, +updateTime, +revisionCreateTime, +labels, +serviceAccount, +sourceContents, +cryptoKeyName, +stateError, +callLogLevel, +userEnvVars, +executionHistoryLevel, +allKmsKeys, +allKmsKeysVersions, +cryptoKeyVersion +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ description }}', +'{{ state }}', +'{{ revisionId }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ revisionCreateTime }}', +'{{ labels }}', +'{{ serviceAccount }}', +'{{ sourceContents }}', +'{{ cryptoKeyName }}', +'{{ stateError }}', +'{{ callLogLevel }}', +'{{ userEnvVars }}', +'{{ executionHistoryLevel }}', +'{{ allKmsKeys }}', +'{{ allKmsKeysVersions }}', +'{{ cryptoKeyVersion }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: state + value: '{{ state }}' + - name: revisionId + value: '{{ revisionId }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: revisionCreateTime + value: '{{ revisionCreateTime }}' + - name: labels + value: '{{ labels }}' + - name: serviceAccount + value: '{{ serviceAccount }}' + - name: sourceContents + value: '{{ sourceContents }}' + - name: cryptoKeyName + value: '{{ cryptoKeyName }}' + - name: stateError + value: '{{ stateError }}' + - name: callLogLevel + value: '{{ callLogLevel }}' + - name: userEnvVars + value: '{{ userEnvVars }}' + - name: executionHistoryLevel + value: '{{ executionHistoryLevel }}' + - name: allKmsKeys + value: '{{ allKmsKeys }}' + - name: allKmsKeysVersions + value: '{{ allKmsKeysVersions }}' + - name: cryptoKeyVersion + value: '{{ cryptoKeyVersion }}' + +``` + + + +## `UPDATE` example + +Updates a workflow only if the necessary resources are available. + +```sql +UPDATE google.workflows.workflows +SET +name = '{{ name }}', +description = '{{ description }}', +state = '{{ state }}', +revisionId = '{{ revisionId }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +revisionCreateTime = '{{ revisionCreateTime }}', +labels = '{{ labels }}', +serviceAccount = '{{ serviceAccount }}', +sourceContents = '{{ sourceContents }}', +cryptoKeyName = '{{ cryptoKeyName }}', +stateError = '{{ stateError }}', +callLogLevel = '{{ callLogLevel }}', +userEnvVars = '{{ userEnvVars }}', +executionHistoryLevel = '{{ executionHistoryLevel }}', +allKmsKeys = '{{ allKmsKeys }}', +allKmsKeysVersions = '{{ allKmsKeysVersions }}', +cryptoKeyVersion = '{{ cryptoKeyVersion }}' +WHERE +locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND workflowsId = '{{ workflowsId }}'; +``` + +## `DELETE` example + +Deletes the specified workflow resource. + +```sql +DELETE FROM google.workflows.workflows +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND workflowsId = '{{ workflowsId }}'; +``` diff --git a/docs/google-docs/providers/google/workflows/workflows_revisions/index.md b/docs/google-docs/providers/google/workflows/workflows_revisions/index.md index 549239f0ef..7610bb17e6 100644 --- a/docs/google-docs/providers/google/workflows/workflows_revisions/index.md +++ b/docs/google-docs/providers/google/workflows/workflows_revisions/index.md @@ -1,3 +1,4 @@ + --- title: workflows_revisions hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - workflows_revisions - workflows - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an workflows_revision resource or lists workflows_revisions in a region ## Overview
@@ -30,25 +32,56 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The resource name of the workflow. Format: projects/{project}/locations/{location}/workflows/{workflow}. This is a workflow-wide field and is not tied to a specific revision. | +| | `string` | The resource name of the workflow. Format: projects/{project}/locations/{location}/workflows/{workflow}. This is a workflow-wide field and is not tied to a specific revision. | | | `string` | Description of the workflow provided by the user. Must be at most 1000 Unicode characters long. This is a workflow-wide field and is not tied to a specific revision. | -| | `array` | Output only. A list of all KMS crypto keys used to encrypt or decrpt the data associated with the workflow. | -| | `array` | Output only. A list of all KMS crypto keys versions used to encrypt or decrpt the data associated with the workflow. | +| | `array` | Output only. A list of all KMS crypto keys used to encrypt or decrypt the data associated with the workflow. | +| | `array` | Output only. A list of all KMS crypto key versions used to encrypt or decrypt the data associated with the workflow. | | | `string` | Optional. Describes the level of platform logging to apply to calls and call responses during executions of this workflow. If both the workflow and the execution specify a logging level, the execution level takes precedence. | | | `string` | Output only. The timestamp for when the workflow was created. This is a workflow-wide field and is not tied to a specific revision. | -| | `string` | Optional. The resource name of a KMS crypto key used to encrypt or decrypt the data associated with the workflow. Format: projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{cryptoKey} Using `-` as a wildcard for the `{project}` or not providing one at all will infer the project from the account. If not provided, data associated with the workflow will not be CMEK-encrypted. | -| | `string` | Output only. The resource name of a KMS crypto key version used to encrypt or decrypt the data associated with the workflow. Format: projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{cryptoKey}/cryptoKeyVersions/{cryptoKeyVersion} | +| | `string` | Optional. The resource name of a KMS crypto key used to encrypt or decrypt the data associated with the workflow. Format: projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{cryptoKey} Using `-` as a wildcard for the `{project}` or not providing one at all will infer the project from the account. If not provided, data associated with the workflow will not be CMEK-encrypted. | +| | `string` | Output only. The resource name of a KMS crypto key version used to encrypt or decrypt the data associated with the workflow. Format: projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{cryptoKey}/cryptoKeyVersions/{cryptoKeyVersion} | +| | `string` | Optional. Describes the level of the execution history feature to apply to this workflow. | | | `object` | Labels associated with this workflow. Labels can contain at most 64 entries. Keys and values can be no longer than 63 characters and can only contain lowercase letters, numeric characters, underscores, and dashes. Label keys must start with a letter. International characters are allowed. This is a workflow-wide field and is not tied to a specific revision. | | | `string` | Output only. The timestamp for the latest revision of the workflow's creation. | | | `string` | Output only. The revision of the workflow. A new revision of a workflow is created as a result of updating the following properties of a workflow: - Service account - Workflow code to be executed The format is "000001-a4d", where the first six characters define the zero-padded revision ordinal number. They are followed by a hyphen and three hexadecimal random characters. | -| | `string` | The service account associated with the latest workflow version. This service account represents the identity of the workflow and determines what permissions the workflow has. Format: projects/{project}/serviceAccounts/{account} or {account} Using `-` as a wildcard for the `{project}` or not providing one at all will infer the project from the account. The `{account}` value can be the `email` address or the `unique_id` of the service account. If not provided, workflow will use the project's default service account. Modifying this field for an existing workflow results in a new workflow revision. | +| | `string` | The service account associated with the latest workflow version. This service account represents the identity of the workflow and determines what permissions the workflow has. Format: projects/{project}/serviceAccounts/{account} or {account} Using `-` as a wildcard for the `{project}` or not providing one at all will infer the project from the account. The `{account}` value can be the `email` address or the `unique_id` of the service account. If not provided, workflow will use the project's default service account. Modifying this field for an existing workflow results in a new workflow revision. | | | `string` | Workflow code to be executed. The size limit is 128KB. | | | `string` | Output only. State of the workflow deployment. | | | `object` | Describes an error related to the current state of the workflow. | | | `string` | Output only. The timestamp for when the workflow was last updated. This is a workflow-wide field and is not tied to a specific revision. | | | `object` | Optional. User-defined environment variables associated with this workflow revision. This map has a maximum length of 20. Each string can take up to 4KiB. Keys cannot be empty strings and cannot start with "GOOGLE" or "WORKFLOWS". | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists revisions for a given workflow. | + +## `SELECT` examples + +Lists revisions for a given workflow. + +```sql +SELECT +name, +description, +allKmsKeys, +allKmsKeysVersions, +callLogLevel, +createTime, +cryptoKeyName, +cryptoKeyVersion, +executionHistoryLevel, +labels, +revisionCreateTime, +revisionId, +serviceAccount, +sourceContents, +state, +stateError, +updateTime, +userEnvVars +FROM google.workflows.workflows_revisions +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND workflowsId = '{{ workflowsId }}'; +``` diff --git a/docs/google-docs/providers/google/workloadmanager/evaluations/index.md b/docs/google-docs/providers/google/workloadmanager/evaluations/index.md index 57991cb467..6d9c479650 100644 --- a/docs/google-docs/providers/google/workloadmanager/evaluations/index.md +++ b/docs/google-docs/providers/google/workloadmanager/evaluations/index.md @@ -1,3 +1,4 @@ + --- title: evaluations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - evaluations - workloadmanager - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an evaluation resource or lists evaluations in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | name of resource names have the form 'projects/{project_id}/locations/{location_id}/evaluations/{evaluation_id}' | +| | `string` | name of resource names have the form 'projects/{project_id}/locations/{location_id}/evaluations/{evaluation_id}' | | | `string` | Description of the Evaluation | | | `object` | Message describing big query destination | | | `string` | Output only. [Output only] Create time stamp | @@ -42,6 +44,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `array` | Output only. [Output only] The updated rule ids if exist. | | | `string` | crontab format schedule for scheduled evaluation, currently only support the following schedule: "0 */1 * * *", "0 */6 * * *", "0 */12 * * *", "0 0 */1 * *", "0 0 */7 * *", | | | `string` | Output only. [Output only] Update time stamp | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -49,4 +52,121 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `SELECT` | | Lists Evaluations in a given project and location. | | | `INSERT` | | Creates a new Evaluation in a given project and location. | | | `DELETE` | | Deletes a single Evaluation. | -| | `EXEC` | | Lists Evaluations in a given project and location. | + +## `SELECT` examples + +Lists Evaluations in a given project and location. + +```sql +SELECT +name, +description, +bigQueryDestination, +createTime, +customRulesBucket, +labels, +resourceFilter, +resourceStatus, +ruleNames, +ruleVersions, +schedule, +updateTime +FROM google.workloadmanager.evaluations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new evaluations resource. + + + + +```sql +/*+ create */ +INSERT INTO google.workloadmanager.evaluations ( +locationsId, +projectsId, +name, +description, +resourceFilter, +ruleNames, +ruleVersions, +resourceStatus, +createTime, +updateTime, +labels, +schedule, +customRulesBucket, +bigQueryDestination +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ description }}', +'{{ resourceFilter }}', +'{{ ruleNames }}', +'{{ ruleVersions }}', +'{{ resourceStatus }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ labels }}', +'{{ schedule }}', +'{{ customRulesBucket }}', +'{{ bigQueryDestination }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: description + value: '{{ description }}' + - name: resourceFilter + value: '{{ resourceFilter }}' + - name: ruleNames + value: '{{ ruleNames }}' + - name: ruleVersions + value: '{{ ruleVersions }}' + - name: resourceStatus + value: '{{ resourceStatus }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: labels + value: '{{ labels }}' + - name: schedule + value: '{{ schedule }}' + - name: customRulesBucket + value: '{{ customRulesBucket }}' + - name: bigQueryDestination + value: '{{ bigQueryDestination }}' + +``` + + + +## `DELETE` example + +Deletes the specified evaluation resource. + +```sql +DELETE FROM google.workloadmanager.evaluations +WHERE evaluationsId = '{{ evaluationsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/workloadmanager/executions/index.md b/docs/google-docs/providers/google/workloadmanager/executions/index.md index eab665db75..200435da80 100644 --- a/docs/google-docs/providers/google/workloadmanager/executions/index.md +++ b/docs/google-docs/providers/google/workloadmanager/executions/index.md @@ -1,3 +1,4 @@ + --- title: executions hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - executions - workloadmanager - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an execution resource or lists executions in a region ## Overview
@@ -30,7 +32,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The name of execution resource. The format is projects/{project}/locations/{location}/evaluations/{evaluation}/executions/{execution} | +| | `string` | The name of execution resource. The format is projects/{project}/locations/{location}/evaluations/{evaluation}/executions/{execution} | | | `string` | Output only. [Output only] End time stamp | | | `string` | Output only. [Output only] Evaluation ID | | | `array` | Optional. External data sources | @@ -39,11 +41,44 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | type represent whether the execution executed directly by user or scheduled according evaluation.schedule field. | | | `string` | Output only. [Output only] Start time stamp | | | `string` | Output only. [Output only] State | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets details of a single Execution. | | | `SELECT` | | Lists Executions in a given project and location. | | | `DELETE` | | Deletes a single Execution. | -| | `EXEC` | | Lists Executions in a given project and location. | | | `EXEC` | | Creates a new Execution in a given project and location. | + +## `SELECT` examples + +Lists Executions in a given project and location. + +```sql +SELECT +name, +endTime, +evaluationId, +externalDataSources, +inventoryTime, +labels, +runType, +startTime, +state +FROM google.workloadmanager.executions +WHERE evaluationsId = '{{ evaluationsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified execution resource. + +```sql +DELETE FROM google.workloadmanager.executions +WHERE evaluationsId = '{{ evaluationsId }}' +AND executionsId = '{{ executionsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/workloadmanager/index.md b/docs/google-docs/providers/google/workloadmanager/index.md index 4a1b9d35f3..f51e025d22 100644 --- a/docs/google-docs/providers/google/workloadmanager/index.md +++ b/docs/google-docs/providers/google/workloadmanager/index.md @@ -9,46 +9,35 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Workload Manager is a service that provides tooling for enterprise workloads to automate the deployment and validation of your workloads against best practices and recommendations. - +The workloadmanager service documentation. + :::info Service Summary
total resources: 8
-total selectable resources: 7
-total methods: 25
::: -## Overview -
- - - - - -
Namegoogle.workloadmanager
TypeService
TitleWorkload Manager API
DescriptionWorkload Manager is a service that provides tooling for enterprise workloads to automate the deployment and validation of your workloads against best practices and recommendations.
Idworkloadmanager:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/workloadmanager/insights/index.md b/docs/google-docs/providers/google/workloadmanager/insights/index.md index ab81c1df4e..be34d3dac9 100644 --- a/docs/google-docs/providers/google/workloadmanager/insights/index.md +++ b/docs/google-docs/providers/google/workloadmanager/insights/index.md @@ -1,3 +1,4 @@ + --- title: insights hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - insights - workloadmanager - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an insight resource or lists insights in a region ## Overview @@ -28,8 +30,10 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode';
## Fields -`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource and then invoke a supported method using the `EXEC` command +`SELECT` not supported for this resource, use `SHOW METHODS` to view available operations for the resource. + + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `EXEC` | | Write the data insights to workload manager data warehouse. | diff --git a/docs/google-docs/providers/google/workloadmanager/locations/index.md b/docs/google-docs/providers/google/workloadmanager/locations/index.md index 7692d6d503..673cc09dc3 100644 --- a/docs/google-docs/providers/google/workloadmanager/locations/index.md +++ b/docs/google-docs/providers/google/workloadmanager/locations/index.md @@ -1,3 +1,4 @@ + --- title: locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - locations - workloadmanager - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an location resource or lists locations in a region ## Overview @@ -32,12 +34,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` | | | `string` | The friendly name for this location, typically a nearby city name. For example, "Tokyo". | -| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | +| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | | | `string` | The canonical id for this location. For example: `"us-east1"`. | | | `object` | Service-specific metadata. For example the available capacity at the given location. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about a location. | | | `SELECT` | | Lists information about the supported locations for this service. | -| | `EXEC` | | Lists information about the supported locations for this service. | + +## `SELECT` examples + +Lists information about the supported locations for this service. + +```sql +SELECT +name, +displayName, +labels, +locationId, +metadata +FROM google.workloadmanager.locations +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/workloadmanager/operations/index.md b/docs/google-docs/providers/google/workloadmanager/operations/index.md index e73afcd434..1debe945d3 100644 --- a/docs/google-docs/providers/google/workloadmanager/operations/index.md +++ b/docs/google-docs/providers/google/workloadmanager/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - workloadmanager - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview
@@ -30,16 +32,43 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.workloadmanager.operations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified operation resource. + +```sql +DELETE FROM google.workloadmanager.operations +WHERE locationsId = '{{ locationsId }}' +AND operationsId = '{{ operationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/workloadmanager/results/index.md b/docs/google-docs/providers/google/workloadmanager/results/index.md index 5cfcb007cf..4cb0306f3f 100644 --- a/docs/google-docs/providers/google/workloadmanager/results/index.md +++ b/docs/google-docs/providers/google/workloadmanager/results/index.md @@ -1,3 +1,4 @@ + --- title: results hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - results - workloadmanager - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an result resource or lists results in a region ## Overview
@@ -30,14 +32,35 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | the document url of the rule | +| | `array` | The commands to remediate the violation. | +| | `string` | The URL for the documentation of the rule. | | | `object` | Message represent resource in execution result | -| | `string` | the rule which violate in execution | -| | `string` | severity of violation | -| | `object` | Message describing the violdation in execution result | -| | `string` | the violation message of an execution | +| | `string` | The rule that is violated in an evaluation. | +| | `string` | The severity of violation. | +| | `object` | Message describing the violation in an evaluation result. | +| | `string` | The violation message of an execution. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists the result of a single evaluation. | + +## `SELECT` examples + +Lists the result of a single evaluation. + +```sql +SELECT +commands, +documentationUrl, +resource, +rule, +severity, +violationDetails, +violationMessage +FROM google.workloadmanager.results +WHERE evaluationsId = '{{ evaluationsId }}' +AND executionsId = '{{ executionsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/workloadmanager/rules/index.md b/docs/google-docs/providers/google/workloadmanager/rules/index.md index b91354737f..d4e0d92d73 100644 --- a/docs/google-docs/providers/google/workloadmanager/rules/index.md +++ b/docs/google-docs/providers/google/workloadmanager/rules/index.md @@ -1,3 +1,4 @@ + --- title: rules hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - rules - workloadmanager - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an rule resource or lists rules in a region ## Overview
@@ -41,8 +43,30 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | the severity of the rule | | | `array` | List of user-defined tags | | | `string` | the docuement url for the rule | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Lists rules in a given project. | + +## `SELECT` examples + +Lists rules in a given project. + +```sql +SELECT +name, +description, +displayName, +errorMessage, +primaryCategory, +remediation, +revisionId, +secondaryCategory, +severity, +tags, +uri +FROM google.workloadmanager.rules +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/workloadmanager/scanned_resources/index.md b/docs/google-docs/providers/google/workloadmanager/scanned_resources/index.md index 761b0b1004..4b020e7960 100644 --- a/docs/google-docs/providers/google/workloadmanager/scanned_resources/index.md +++ b/docs/google-docs/providers/google/workloadmanager/scanned_resources/index.md @@ -1,3 +1,4 @@ + --- title: scanned_resources hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - scanned_resources - workloadmanager - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an scanned_resource resource or lists scanned_resources in a region ## Overview
@@ -32,8 +34,23 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | resource name | | | `string` | resource type | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | List all scanned resources for a single Execution. | + +## `SELECT` examples + +List all scanned resources for a single Execution. + +```sql +SELECT +resource, +type +FROM google.workloadmanager.scanned_resources +WHERE evaluationsId = '{{ evaluationsId }}' +AND executionsId = '{{ executionsId }}' +AND locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/workstations/index.md b/docs/google-docs/providers/google/workstations/index.md index db10245d25..2a138d47cb 100644 --- a/docs/google-docs/providers/google/workstations/index.md +++ b/docs/google-docs/providers/google/workstations/index.md @@ -9,34 +9,23 @@ keywords: - infrastructure-as-code - configuration-as-data - cloud inventory -description: Query, deploy and manage Google Cloud Platform (GCP) infrastructure and resources using SQL +description: Query, deploy and manage google resources using SQL custom_edit_url: null image: /img/providers/google/stackql-google-provider-featured-image.png --- -Allows administrators to create managed developer environments in the cloud. - +The workstations service documentation. + :::info Service Summary
total resources: 9
-total selectable resources: 9
-total methods: 41
::: -## Overview -
- - - - - -
Namegoogle.workstations
TypeService
TitleCloud Workstations API
DescriptionAllows administrators to create managed developer environments in the cloud.
Idworkstations:v24.06.00236
- ## Resources + \ No newline at end of file diff --git a/docs/google-docs/providers/google/workstations/locations/index.md b/docs/google-docs/providers/google/workstations/locations/index.md index 28a22f348e..3acaf6051c 100644 --- a/docs/google-docs/providers/google/workstations/locations/index.md +++ b/docs/google-docs/providers/google/workstations/locations/index.md @@ -1,3 +1,4 @@ + --- title: locations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - locations - workstations - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an location resource or lists locations in a region ## Overview @@ -32,12 +34,27 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; |:-----|:---------|:------------| | | `string` | Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` | | | `string` | The friendly name for this location, typically a nearby city name. For example, "Tokyo". | -| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | +| | `object` | Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} | | | `string` | The canonical id for this location. For example: `"us-east1"`. | | | `object` | Service-specific metadata. For example the available capacity at the given location. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets information about a location. | | | `SELECT` | | Lists information about the supported locations for this service. | -| | `EXEC` | | Lists information about the supported locations for this service. | + +## `SELECT` examples + +Lists information about the supported locations for this service. + +```sql +SELECT +name, +displayName, +labels, +locationId, +metadata +FROM google.workstations.locations +WHERE projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/workstations/operations/index.md b/docs/google-docs/providers/google/workstations/operations/index.md index 350c8a3619..3b81848b96 100644 --- a/docs/google-docs/providers/google/workstations/operations/index.md +++ b/docs/google-docs/providers/google/workstations/operations/index.md @@ -1,3 +1,4 @@ + --- title: operations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - operations - workstations - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an operation resource or lists operations in a region ## Overview
@@ -30,16 +32,43 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | +| | `string` | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. | | | `boolean` | If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. | | | `object` | The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). | | | `object` | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. | | | `object` | The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | | | `SELECT` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `DELETE` | | Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. | -| | `EXEC` | | Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. | | | `EXEC` | | Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. | + +## `SELECT` examples + +Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + +```sql +SELECT +name, +done, +error, +metadata, +response +FROM google.workstations.operations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `DELETE` example + +Deletes the specified operation resource. + +```sql +DELETE FROM google.workstations.operations +WHERE locationsId = '{{ locationsId }}' +AND operationsId = '{{ operationsId }}' +AND projectsId = '{{ projectsId }}'; +``` diff --git a/docs/google-docs/providers/google/workstations/workstation_clusters/index.md b/docs/google-docs/providers/google/workstations/workstation_clusters/index.md index 30b01cc61a..b08f868c2b 100644 --- a/docs/google-docs/providers/google/workstations/workstation_clusters/index.md +++ b/docs/google-docs/providers/google/workstations/workstation_clusters/index.md @@ -1,3 +1,4 @@ + --- title: workstation_clusters hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - workstation_clusters - workstations - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an workstation_cluster resource or lists workstation_clusters in a region ## Overview
@@ -47,6 +49,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Immutable. Name of the Compute Engine subnetwork in which instances associated with this workstation cluster will be created. Must be part of the subnetwork specified for this workstation cluster. | | | `string` | Output only. A system-assigned unique identifier for this workstation cluster. | | | `string` | Output only. Time when this workstation cluster was most recently updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -55,4 +58,176 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new workstation cluster. | | | `DELETE` | | Deletes the specified workstation cluster. | | | `UPDATE` | | Updates an existing workstation cluster. | -| | `EXEC` | | Returns all workstation clusters in the specified location. | + +## `SELECT` examples + +Returns all workstation clusters in the specified location. + +```sql +SELECT +name, +annotations, +conditions, +controlPlaneIp, +createTime, +degraded, +deleteTime, +displayName, +domainConfig, +etag, +labels, +network, +privateClusterConfig, +reconciling, +subnetwork, +uid, +updateTime +FROM google.workstations.workstation_clusters +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new workstation_clusters resource. + + + + +```sql +/*+ create */ +INSERT INTO google.workstations.workstation_clusters ( +locationsId, +projectsId, +name, +displayName, +uid, +reconciling, +annotations, +labels, +createTime, +updateTime, +deleteTime, +etag, +network, +subnetwork, +controlPlaneIp, +privateClusterConfig, +domainConfig, +degraded, +conditions +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ name }}', +'{{ displayName }}', +'{{ uid }}', +true|false, +'{{ annotations }}', +'{{ labels }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ deleteTime }}', +'{{ etag }}', +'{{ network }}', +'{{ subnetwork }}', +'{{ controlPlaneIp }}', +'{{ privateClusterConfig }}', +'{{ domainConfig }}', +true|false, +'{{ conditions }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: uid + value: '{{ uid }}' + - name: reconciling + value: '{{ reconciling }}' + - name: annotations + value: '{{ annotations }}' + - name: labels + value: '{{ labels }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: deleteTime + value: '{{ deleteTime }}' + - name: etag + value: '{{ etag }}' + - name: network + value: '{{ network }}' + - name: subnetwork + value: '{{ subnetwork }}' + - name: controlPlaneIp + value: '{{ controlPlaneIp }}' + - name: privateClusterConfig + value: '{{ privateClusterConfig }}' + - name: domainConfig + value: '{{ domainConfig }}' + - name: degraded + value: '{{ degraded }}' + - name: conditions + value: '{{ conditions }}' + +``` + + + +## `UPDATE` example + +Updates a workstation_cluster only if the necessary resources are available. + +```sql +UPDATE google.workstations.workstation_clusters +SET +name = '{{ name }}', +displayName = '{{ displayName }}', +uid = '{{ uid }}', +reconciling = true|false, +annotations = '{{ annotations }}', +labels = '{{ labels }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +deleteTime = '{{ deleteTime }}', +etag = '{{ etag }}', +network = '{{ network }}', +subnetwork = '{{ subnetwork }}', +controlPlaneIp = '{{ controlPlaneIp }}', +privateClusterConfig = '{{ privateClusterConfig }}', +domainConfig = '{{ domainConfig }}', +degraded = true|false, +conditions = '{{ conditions }}' +WHERE +locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND workstationClustersId = '{{ workstationClustersId }}'; +``` + +## `DELETE` example + +Deletes the specified workstation_cluster resource. + +```sql +DELETE FROM google.workstations.workstation_clusters +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND workstationClustersId = '{{ workstationClustersId }}'; +``` diff --git a/docs/google-docs/providers/google/workstations/workstation_configs/index.md b/docs/google-docs/providers/google/workstations/workstation_configs/index.md index 2d09147281..9d3dcaedfe 100644 --- a/docs/google-docs/providers/google/workstations/workstation_configs/index.md +++ b/docs/google-docs/providers/google/workstations/workstation_configs/index.md @@ -1,3 +1,4 @@ + --- title: workstation_configs hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - workstation_configs - workstations - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an workstation_config resource or lists workstation_configs in a region ## Overview
@@ -31,6 +33,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | Name | Datatype | Description | |:-----|:---------|:------------| | | `string` | Identifier. Full name of this workstation configuration. | +| | `array` | Optional. A list of PortRanges specifying single ports or ranges of ports that are externally accessible in the workstation. Allowed ports must be one of 22, 80, or within range 1024-65535. If not specified defaults to ports 22, 80, and ports 1024-65535. | | | `object` | Optional. Client-specified annotations. | | | `array` | Output only. Status conditions describing the current resource state. | | | `object` | A Docker container. | @@ -39,13 +42,15 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Time when this workstation configuration was soft-deleted. | | | `boolean` | Optional. Disables support for plain TCP connections in the workstation. By default the service supports TCP connections through a websocket relay. Setting this option to true disables that relay, which prevents the usage of services that require plain TCP connections, such as SSH. When enabled, all communication must occur over HTTPS or WSS. | | | `string` | Optional. Human-readable name for this workstation configuration. | -| | `boolean` | Optional. Whether to enable Linux `auditd` logging on the workstation. When enabled, a service account must also be specified that has `logging.buckets.write` permission on the project. Operating system audit logging is distinct from [Cloud Audit Logs](https://cloud.google.com/workstations/docs/audit-logging). | +| | `boolean` | Optional. Whether to enable Linux `auditd` logging on the workstation. When enabled, a service_account must also be specified that has `roles/logging.logWriter` and `roles/monitoring.metricWriter` on the project. Operating system audit logging is distinct from [Cloud Audit Logs](https://cloud.google.com/workstations/docs/audit-logging) and [Container output logging](http://cloud/workstations/docs/container-output-logging#overview). Operating system audit logs are available in the [Cloud Logging](https://cloud.google.com/logging/docs) console by querying: resource.type="gce_instance" log_name:"/logs/linux-auditd" | | | `object` | A customer-managed encryption key (CMEK) for the Compute Engine resources of the associated workstation configuration. Specify the name of your Cloud KMS encryption key and the default service account. We recommend that you use a separate service account and follow [Cloud KMS best practices](https://cloud.google.com/kms/docs/separation-of-duties). | | | `array` | Optional. Ephemeral directories which won't persist across workstation sessions. | | | `string` | Optional. Checksum computed by the server. May be sent on update and delete requests to make sure that the client has an up-to-date value before proceeding. | +| | `boolean` | Optional. Grant creator of a workstation `roles/workstations.policyAdmin` role along with `roles/workstations.user` role on the workstation created by them. This allows workstation users to share access to either their entire workstation, or individual ports. Defaults to false. | | | `object` | Runtime host for a workstation. | | | `string` | Optional. Number of seconds to wait before automatically stopping a workstation after it last received user traffic. A value of `"0s"` indicates that Cloud Workstations VMs created with this configuration should never time out due to idleness. Provide [duration](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#duration) terminated by `s` for seconds—for example, `"7200s"` (2 hours). The default is `"1200s"` (20 minutes). | | | `object` | Optional. [Labels](https://cloud.google.com/workstations/docs/label-resources) that are applied to the workstation configuration and that are also propagated to the underlying Compute Engine resources. | +| | `integer` | Optional. Maximum number of workstations under this config a user can have `workstations.workstation.use` permission on. Only enforced on CreateWorkstation API calls on the user issuing the API request. Can be overridden by: - granting a user workstations.workstationConfigs.exemptMaxUsableWorkstationLimit permission, or - having a user with that permission create a workstation and granting another user `workstations.workstation.use` permission on that workstation. If not specified defaults to 0 which indicates unlimited. | | | `array` | Optional. Directories to persist across workstation sessions. | | | `array` | Optional. Readiness checks to perform when starting a workstation using this workstation configuration. Mark a workstation as running only after all specified readiness checks return 200 status codes. | | | `boolean` | Output only. Indicates whether this workstation configuration is currently being updated to match its intended state. | @@ -53,6 +58,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Optional. Number of seconds that a workstation can run until it is automatically shut down. We recommend that workstations be shut down daily to reduce costs and so that security updates can be applied upon restart. The idle_timeout and running_timeout fields are independent of each other. Note that the running_timeout field shuts down VMs after the specified time, regardless of whether or not the VMs are idle. Provide duration terminated by `s` for seconds—for example, `"54000s"` (15 hours). Defaults to `"43200s"` (12 hours). A value of `"0s"` indicates that workstations using this configuration should never time out. If encryption_key is set, it must be greater than `"0s"` and less than `"86400s"` (24 hours). Warning: A value of `"0s"` indicates that Cloud Workstations VMs created with this configuration have no maximum running time. This is strongly discouraged because you incur costs and will not pick up security updates. | | | `string` | Output only. A system-assigned unique identifier for this workstation configuration. | | | `string` | Output only. Time when this workstation configuration was most recently updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -61,4 +67,235 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new workstation configuration. | | | `DELETE` | | Deletes the specified workstation configuration. | | | `UPDATE` | | Updates an existing workstation configuration. | -| | `EXEC` | | Returns all workstation configurations in the specified cluster. | + +## `SELECT` examples + +Returns all workstation configurations in the specified cluster. + +```sql +SELECT +name, +allowedPorts, +annotations, +conditions, +container, +createTime, +degraded, +deleteTime, +disableTcpConnections, +displayName, +enableAuditAgent, +encryptionKey, +ephemeralDirectories, +etag, +grantWorkstationAdminRoleOnCreate, +host, +idleTimeout, +labels, +maxUsableWorkstations, +persistentDirectories, +readinessChecks, +reconciling, +replicaZones, +runningTimeout, +uid, +updateTime +FROM google.workstations.workstation_configs +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND workstationClustersId = '{{ workstationClustersId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new workstation_configs resource. + + + + +```sql +/*+ create */ +INSERT INTO google.workstations.workstation_configs ( +locationsId, +projectsId, +workstationClustersId, +name, +displayName, +uid, +reconciling, +annotations, +labels, +createTime, +updateTime, +deleteTime, +etag, +idleTimeout, +runningTimeout, +maxUsableWorkstations, +host, +persistentDirectories, +ephemeralDirectories, +container, +encryptionKey, +readinessChecks, +replicaZones, +degraded, +conditions, +enableAuditAgent, +disableTcpConnections, +allowedPorts, +grantWorkstationAdminRoleOnCreate +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ workstationClustersId }}', +'{{ name }}', +'{{ displayName }}', +'{{ uid }}', +true|false, +'{{ annotations }}', +'{{ labels }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ deleteTime }}', +'{{ etag }}', +'{{ idleTimeout }}', +'{{ runningTimeout }}', +'{{ maxUsableWorkstations }}', +'{{ host }}', +'{{ persistentDirectories }}', +'{{ ephemeralDirectories }}', +'{{ container }}', +'{{ encryptionKey }}', +'{{ readinessChecks }}', +'{{ replicaZones }}', +true|false, +'{{ conditions }}', +true|false, +true|false, +'{{ allowedPorts }}', +true|false +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: uid + value: '{{ uid }}' + - name: reconciling + value: '{{ reconciling }}' + - name: annotations + value: '{{ annotations }}' + - name: labels + value: '{{ labels }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: deleteTime + value: '{{ deleteTime }}' + - name: etag + value: '{{ etag }}' + - name: idleTimeout + value: '{{ idleTimeout }}' + - name: runningTimeout + value: '{{ runningTimeout }}' + - name: maxUsableWorkstations + value: '{{ maxUsableWorkstations }}' + - name: host + value: '{{ host }}' + - name: persistentDirectories + value: '{{ persistentDirectories }}' + - name: ephemeralDirectories + value: '{{ ephemeralDirectories }}' + - name: container + value: '{{ container }}' + - name: encryptionKey + value: '{{ encryptionKey }}' + - name: readinessChecks + value: '{{ readinessChecks }}' + - name: replicaZones + value: '{{ replicaZones }}' + - name: degraded + value: '{{ degraded }}' + - name: conditions + value: '{{ conditions }}' + - name: enableAuditAgent + value: '{{ enableAuditAgent }}' + - name: disableTcpConnections + value: '{{ disableTcpConnections }}' + - name: allowedPorts + value: '{{ allowedPorts }}' + - name: grantWorkstationAdminRoleOnCreate + value: '{{ grantWorkstationAdminRoleOnCreate }}' + +``` + + + +## `UPDATE` example + +Updates a workstation_config only if the necessary resources are available. + +```sql +UPDATE google.workstations.workstation_configs +SET +name = '{{ name }}', +displayName = '{{ displayName }}', +uid = '{{ uid }}', +reconciling = true|false, +annotations = '{{ annotations }}', +labels = '{{ labels }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +deleteTime = '{{ deleteTime }}', +etag = '{{ etag }}', +idleTimeout = '{{ idleTimeout }}', +runningTimeout = '{{ runningTimeout }}', +maxUsableWorkstations = '{{ maxUsableWorkstations }}', +host = '{{ host }}', +persistentDirectories = '{{ persistentDirectories }}', +ephemeralDirectories = '{{ ephemeralDirectories }}', +container = '{{ container }}', +encryptionKey = '{{ encryptionKey }}', +readinessChecks = '{{ readinessChecks }}', +replicaZones = '{{ replicaZones }}', +degraded = true|false, +conditions = '{{ conditions }}', +enableAuditAgent = true|false, +disableTcpConnections = true|false, +allowedPorts = '{{ allowedPorts }}', +grantWorkstationAdminRoleOnCreate = true|false +WHERE +locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND workstationClustersId = '{{ workstationClustersId }}' +AND workstationConfigsId = '{{ workstationConfigsId }}'; +``` + +## `DELETE` example + +Deletes the specified workstation_config resource. + +```sql +DELETE FROM google.workstations.workstation_configs +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND workstationClustersId = '{{ workstationClustersId }}' +AND workstationConfigsId = '{{ workstationConfigsId }}'; +``` diff --git a/docs/google-docs/providers/google/workstations/workstation_configs_iam_policies/index.md b/docs/google-docs/providers/google/workstations/workstation_configs_iam_policies/index.md index e5b283a117..f77c25f53c 100644 --- a/docs/google-docs/providers/google/workstations/workstation_configs_iam_policies/index.md +++ b/docs/google-docs/providers/google/workstations/workstation_configs_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: workstation_configs_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - workstation_configs_iam_policies - workstations - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an workstation_configs_iam_policy resource or lists workstation_configs_iam_policies in a region ## Overview
@@ -30,13 +32,29 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.workstations.workstation_configs_iam_policies +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND workstationClustersId = '{{ workstationClustersId }}' +AND workstationConfigsId = '{{ workstationConfigsId }}'; +``` diff --git a/docs/google-docs/providers/google/workstations/workstation_configs_usable/index.md b/docs/google-docs/providers/google/workstations/workstation_configs_usable/index.md index 3173ff4e89..8f0f0a1b31 100644 --- a/docs/google-docs/providers/google/workstations/workstation_configs_usable/index.md +++ b/docs/google-docs/providers/google/workstations/workstation_configs_usable/index.md @@ -1,3 +1,4 @@ + --- title: workstation_configs_usable hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - workstation_configs_usable - workstations - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an workstation_configs_usable resource or lists workstation_configs_usable in a region ## Overview
@@ -31,6 +33,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | Name | Datatype | Description | |:-----|:---------|:------------| | | `string` | Identifier. Full name of this workstation configuration. | +| | `array` | Optional. A list of PortRanges specifying single ports or ranges of ports that are externally accessible in the workstation. Allowed ports must be one of 22, 80, or within range 1024-65535. If not specified defaults to ports 22, 80, and ports 1024-65535. | | | `object` | Optional. Client-specified annotations. | | | `array` | Output only. Status conditions describing the current resource state. | | | `object` | A Docker container. | @@ -39,13 +42,15 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Time when this workstation configuration was soft-deleted. | | | `boolean` | Optional. Disables support for plain TCP connections in the workstation. By default the service supports TCP connections through a websocket relay. Setting this option to true disables that relay, which prevents the usage of services that require plain TCP connections, such as SSH. When enabled, all communication must occur over HTTPS or WSS. | | | `string` | Optional. Human-readable name for this workstation configuration. | -| | `boolean` | Optional. Whether to enable Linux `auditd` logging on the workstation. When enabled, a service account must also be specified that has `logging.buckets.write` permission on the project. Operating system audit logging is distinct from [Cloud Audit Logs](https://cloud.google.com/workstations/docs/audit-logging). | +| | `boolean` | Optional. Whether to enable Linux `auditd` logging on the workstation. When enabled, a service_account must also be specified that has `roles/logging.logWriter` and `roles/monitoring.metricWriter` on the project. Operating system audit logging is distinct from [Cloud Audit Logs](https://cloud.google.com/workstations/docs/audit-logging) and [Container output logging](http://cloud/workstations/docs/container-output-logging#overview). Operating system audit logs are available in the [Cloud Logging](https://cloud.google.com/logging/docs) console by querying: resource.type="gce_instance" log_name:"/logs/linux-auditd" | | | `object` | A customer-managed encryption key (CMEK) for the Compute Engine resources of the associated workstation configuration. Specify the name of your Cloud KMS encryption key and the default service account. We recommend that you use a separate service account and follow [Cloud KMS best practices](https://cloud.google.com/kms/docs/separation-of-duties). | | | `array` | Optional. Ephemeral directories which won't persist across workstation sessions. | | | `string` | Optional. Checksum computed by the server. May be sent on update and delete requests to make sure that the client has an up-to-date value before proceeding. | +| | `boolean` | Optional. Grant creator of a workstation `roles/workstations.policyAdmin` role along with `roles/workstations.user` role on the workstation created by them. This allows workstation users to share access to either their entire workstation, or individual ports. Defaults to false. | | | `object` | Runtime host for a workstation. | | | `string` | Optional. Number of seconds to wait before automatically stopping a workstation after it last received user traffic. A value of `"0s"` indicates that Cloud Workstations VMs created with this configuration should never time out due to idleness. Provide [duration](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#duration) terminated by `s` for seconds—for example, `"7200s"` (2 hours). The default is `"1200s"` (20 minutes). | | | `object` | Optional. [Labels](https://cloud.google.com/workstations/docs/label-resources) that are applied to the workstation configuration and that are also propagated to the underlying Compute Engine resources. | +| | `integer` | Optional. Maximum number of workstations under this config a user can have `workstations.workstation.use` permission on. Only enforced on CreateWorkstation API calls on the user issuing the API request. Can be overridden by: - granting a user workstations.workstationConfigs.exemptMaxUsableWorkstationLimit permission, or - having a user with that permission create a workstation and granting another user `workstations.workstation.use` permission on that workstation. If not specified defaults to 0 which indicates unlimited. | | | `array` | Optional. Directories to persist across workstation sessions. | | | `array` | Optional. Readiness checks to perform when starting a workstation using this workstation configuration. Mark a workstation as running only after all specified readiness checks return 200 status codes. | | | `boolean` | Output only. Indicates whether this workstation configuration is currently being updated to match its intended state. | @@ -53,8 +58,46 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Optional. Number of seconds that a workstation can run until it is automatically shut down. We recommend that workstations be shut down daily to reduce costs and so that security updates can be applied upon restart. The idle_timeout and running_timeout fields are independent of each other. Note that the running_timeout field shuts down VMs after the specified time, regardless of whether or not the VMs are idle. Provide duration terminated by `s` for seconds—for example, `"54000s"` (15 hours). Defaults to `"43200s"` (12 hours). A value of `"0s"` indicates that workstations using this configuration should never time out. If encryption_key is set, it must be greater than `"0s"` and less than `"86400s"` (24 hours). Warning: A value of `"0s"` indicates that Cloud Workstations VMs created with this configuration have no maximum running time. This is strongly discouraged because you incur costs and will not pick up security updates. | | | `string` | Output only. A system-assigned unique identifier for this workstation configuration. | | | `string` | Output only. Time when this workstation configuration was most recently updated. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Returns all workstation configurations in the specified cluster on which the caller has the "workstations.workstation.create" permission. | + +## `SELECT` examples + +Returns all workstation configurations in the specified cluster on which the caller has the "workstations.workstation.create" permission. + +```sql +SELECT +name, +allowedPorts, +annotations, +conditions, +container, +createTime, +degraded, +deleteTime, +disableTcpConnections, +displayName, +enableAuditAgent, +encryptionKey, +ephemeralDirectories, +etag, +grantWorkstationAdminRoleOnCreate, +host, +idleTimeout, +labels, +maxUsableWorkstations, +persistentDirectories, +readinessChecks, +reconciling, +replicaZones, +runningTimeout, +uid, +updateTime +FROM google.workstations.workstation_configs_usable +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND workstationClustersId = '{{ workstationClustersId }}'; +``` diff --git a/docs/google-docs/providers/google/workstations/workstations/index.md b/docs/google-docs/providers/google/workstations/workstations/index.md index ef4e2fa5ed..b1a0e91a38 100644 --- a/docs/google-docs/providers/google/workstations/workstations/index.md +++ b/docs/google-docs/providers/google/workstations/workstations/index.md @@ -1,3 +1,4 @@ + --- title: workstations hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - workstations - workstations - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an workstation resource or lists workstations in a region ## Overview
@@ -37,7 +39,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Optional. Human-readable name for this workstation. | | | `object` | Optional. Environment variables passed to the workstation container's entrypoint. | | | `string` | Optional. Checksum computed by the server. May be sent on update and delete requests to make sure that the client has an up-to-date value before proceeding. | -| | `string` | Output only. Host to which clients can send HTTPS traffic that will be received by the workstation. Authorized traffic will be received to the workstation as HTTP on port 80. To send traffic to a different port, clients may prefix the host with the destination port in the format `{port}-{host}`. | +| | `string` | Output only. Host to which clients can send HTTPS traffic that will be received by the workstation. Authorized traffic will be received to the workstation as HTTP on port 80. To send traffic to a different port, clients may prefix the host with the destination port in the format `{port}-{host}`. | | | `string` | Output only. The name of the Google Cloud KMS encryption key used to encrypt this workstation. The KMS key can only be configured in the WorkstationConfig. The expected format is `projects/*/locations/*/keyRings/*/cryptoKeys/*`. | | | `object` | Optional. [Labels](https://cloud.google.com/workstations/docs/label-resources) that are applied to the workstation and that are also propagated to the underlying Compute Engine resources. | | | `boolean` | Output only. Indicates whether this workstation is currently being updated to match its intended state. | @@ -45,6 +47,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Current state of the workstation. | | | `string` | Output only. A system-assigned unique identifier for this workstation. | | | `string` | Output only. Time when this workstation was most recently updated. | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| @@ -53,7 +56,177 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `INSERT` | | Creates a new workstation. | | | `DELETE` | | Deletes the specified workstation. | | | `UPDATE` | | Updates an existing workstation. | -| | `EXEC` | | Returns all Workstations using the specified workstation configuration. | | | `EXEC` | | Returns a short-lived credential that can be used to send authenticated and authorized traffic to a workstation. | | | `EXEC` | | Starts running a workstation so that users can connect to it. | | | `EXEC` | | Stops running a workstation, reducing costs. | + +## `SELECT` examples + +Returns all Workstations using the specified workstation configuration. + +```sql +SELECT +name, +annotations, +createTime, +deleteTime, +displayName, +env, +etag, +host, +kmsKey, +labels, +reconciling, +startTime, +state, +uid, +updateTime +FROM google.workstations.workstations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND workstationClustersId = '{{ workstationClustersId }}' +AND workstationConfigsId = '{{ workstationConfigsId }}'; +``` + +## `INSERT` example + +Use the following StackQL query and manifest file to create a new workstations resource. + + + + +```sql +/*+ create */ +INSERT INTO google.workstations.workstations ( +locationsId, +projectsId, +workstationClustersId, +workstationConfigsId, +name, +displayName, +uid, +reconciling, +annotations, +labels, +createTime, +updateTime, +startTime, +deleteTime, +etag, +state, +host, +env, +kmsKey +) +SELECT +'{{ locationsId }}', +'{{ projectsId }}', +'{{ workstationClustersId }}', +'{{ workstationConfigsId }}', +'{{ name }}', +'{{ displayName }}', +'{{ uid }}', +true|false, +'{{ annotations }}', +'{{ labels }}', +'{{ createTime }}', +'{{ updateTime }}', +'{{ startTime }}', +'{{ deleteTime }}', +'{{ etag }}', +'{{ state }}', +'{{ host }}', +'{{ env }}', +'{{ kmsKey }}' +; +``` + + + +```yaml +resources: + - name: instance + props: + - name: name + value: '{{ name }}' + - name: displayName + value: '{{ displayName }}' + - name: uid + value: '{{ uid }}' + - name: reconciling + value: '{{ reconciling }}' + - name: annotations + value: '{{ annotations }}' + - name: labels + value: '{{ labels }}' + - name: createTime + value: '{{ createTime }}' + - name: updateTime + value: '{{ updateTime }}' + - name: startTime + value: '{{ startTime }}' + - name: deleteTime + value: '{{ deleteTime }}' + - name: etag + value: '{{ etag }}' + - name: state + value: '{{ state }}' + - name: host + value: '{{ host }}' + - name: env + value: '{{ env }}' + - name: kmsKey + value: '{{ kmsKey }}' + +``` + + + +## `UPDATE` example + +Updates a workstation only if the necessary resources are available. + +```sql +UPDATE google.workstations.workstations +SET +name = '{{ name }}', +displayName = '{{ displayName }}', +uid = '{{ uid }}', +reconciling = true|false, +annotations = '{{ annotations }}', +labels = '{{ labels }}', +createTime = '{{ createTime }}', +updateTime = '{{ updateTime }}', +startTime = '{{ startTime }}', +deleteTime = '{{ deleteTime }}', +etag = '{{ etag }}', +state = '{{ state }}', +host = '{{ host }}', +env = '{{ env }}', +kmsKey = '{{ kmsKey }}' +WHERE +locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND workstationClustersId = '{{ workstationClustersId }}' +AND workstationConfigsId = '{{ workstationConfigsId }}' +AND workstationsId = '{{ workstationsId }}'; +``` + +## `DELETE` example + +Deletes the specified workstation resource. + +```sql +DELETE FROM google.workstations.workstations +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND workstationClustersId = '{{ workstationClustersId }}' +AND workstationConfigsId = '{{ workstationConfigsId }}' +AND workstationsId = '{{ workstationsId }}'; +``` diff --git a/docs/google-docs/providers/google/workstations/workstations_iam_policies/index.md b/docs/google-docs/providers/google/workstations/workstations_iam_policies/index.md index e760679e35..a9f78259d7 100644 --- a/docs/google-docs/providers/google/workstations/workstations_iam_policies/index.md +++ b/docs/google-docs/providers/google/workstations/workstations_iam_policies/index.md @@ -1,3 +1,4 @@ + --- title: workstations_iam_policies hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - workstations_iam_policies - workstations - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an workstations_iam_policy resource or lists workstations_iam_policies in a region ## Overview
@@ -30,13 +32,30 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; ## Fields | Name | Datatype | Description | |:-----|:---------|:------------| -| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | -| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | +| | `object` | Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. | +| | `array` | Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. | | | `string` | Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). | + ## Methods | Name | Accessible by | Required Params | Description | |:-----|:--------------|:----------------|:------------| | | `SELECT` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | -| | `EXEC` | | Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. | | | `EXEC` | | Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. | | | `EXEC` | | Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. | + +## `SELECT` examples + +Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + +```sql +SELECT +condition, +members, +role +FROM google.workstations.workstations_iam_policies +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND workstationClustersId = '{{ workstationClustersId }}' +AND workstationConfigsId = '{{ workstationConfigsId }}' +AND workstationsId = '{{ workstationsId }}'; +``` diff --git a/docs/google-docs/providers/google/workstations/workstations_usable/index.md b/docs/google-docs/providers/google/workstations/workstations_usable/index.md index 9161ee4b0e..c0a0180b4f 100644 --- a/docs/google-docs/providers/google/workstations/workstations_usable/index.md +++ b/docs/google-docs/providers/google/workstations/workstations_usable/index.md @@ -1,3 +1,4 @@ + --- title: workstations_usable hide_title: false @@ -5,7 +6,7 @@ hide_table_of_contents: false keywords: - workstations_usable - workstations - - google + - google - stackql - infrastructure-as-code - configuration-as-data @@ -16,9 +17,10 @@ image: /img/providers/google/stackql-google-provider-featured-image.png --- import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; - - +Creates, updates, deletes or gets an workstations_usable resource or lists workstations_usable in a region ## Overview
@@ -37,7 +39,7 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Optional. Human-readable name for this workstation. | | | `object` | Optional. Environment variables passed to the workstation container's entrypoint. | | | `string` | Optional. Checksum computed by the server. May be sent on update and delete requests to make sure that the client has an up-to-date value before proceeding. | -| | `string` | Output only. Host to which clients can send HTTPS traffic that will be received by the workstation. Authorized traffic will be received to the workstation as HTTP on port 80. To send traffic to a different port, clients may prefix the host with the destination port in the format `{port}-{host}`. | +| | `string` | Output only. Host to which clients can send HTTPS traffic that will be received by the workstation. Authorized traffic will be received to the workstation as HTTP on port 80. To send traffic to a different port, clients may prefix the host with the destination port in the format `{port}-{host}`. | | | `string` | Output only. The name of the Google Cloud KMS encryption key used to encrypt this workstation. The KMS key can only be configured in the WorkstationConfig. The expected format is `projects/*/locations/*/keyRings/*/cryptoKeys/*`. | | | `object` | Optional. [Labels](https://cloud.google.com/workstations/docs/label-resources) that are applied to the workstation and that are also propagated to the underlying Compute Engine resources. | | | `boolean` | Output only. Indicates whether this workstation is currently being updated to match its intended state. | @@ -45,8 +47,36 @@ import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; | | `string` | Output only. Current state of the workstation. | | | `string` | Output only. A system-assigned unique identifier for this workstation. | | | `string` | Output only. Time when this workstation was most recently updated. | + ## Methods -| Name | Accessible by | Required Params | -|:-----|:--------------|:----------------| -| | `SELECT` | | -| | `EXEC` | | +| Name | Accessible by | Required Params | Description | +|:-----|:--------------|:----------------|:------------| +| | `SELECT` | | Returns all workstations using the specified workstation configuration on which the caller has the "workstations.workstations.use" permission. | + +## `SELECT` examples + +Returns all workstations using the specified workstation configuration on which the caller has the "workstations.workstations.use" permission. + +```sql +SELECT +name, +annotations, +createTime, +deleteTime, +displayName, +env, +etag, +host, +kmsKey, +labels, +reconciling, +startTime, +state, +uid, +updateTime +FROM google.workstations.workstations_usable +WHERE locationsId = '{{ locationsId }}' +AND projectsId = '{{ projectsId }}' +AND workstationClustersId = '{{ workstationClustersId }}' +AND workstationConfigsId = '{{ workstationConfigsId }}'; +```